Skip to content

Commit

Permalink
Quake4 bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
glKarin committed Apr 13, 2023
1 parent 099fd77 commit a2dc292
Show file tree
Hide file tree
Showing 21 changed files with 167 additions and 96 deletions.
13 changes: 11 additions & 2 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
## Change logs
**1.1.0harmattan27(natasha)** - **2023-04-05**
**1.1.0harmattan28(natasha)** - **2023-04-13**

----------------------------------------------------------------------------------
### Update

> 1.1.0harmattan28 (2023-04-13)
* Add bool cvar `harm_g_mutePlayerFootStep` to control mute player footstep sound(default on) in Quake 4.
* Fix some light's brightness depend on sound amplitude in Quake 4. e.g. in most levels like `airdefense2`, at some dark passages, it should has a repeat-flashing lighting.
* Remove Quake 4 helper dialog when start Quake 4, if want to extract resource files, open `Other` -> `Extract resource` in menu.
* (Bug)In Quake 4, if load some levels has noise with effects on, typed `bse_enable` to 0, and then typed `bse_enable` back to 1 in console, noise can resolved.

----------------------------------------------------------------------------------
### History

> 1.1.0harmattan27 (2023-04-05)
* Fixup some line effects in Quake 4. e.g. monster body disappear effect, lines net.
Expand All @@ -15,7 +25,6 @@
* Add `SABot`'s aas file pak of MP game maps in `Quake 4 helper dialog`.

----------------------------------------------------------------------------------
### History

> 1.1.0harmattan26 (2023-03-25)
Expand Down
13 changes: 11 additions & 2 deletions CHANGES.zh.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
## 更新日志
**1.1.0harmattan27(natasha)** - **2023-04-05**
**1.1.0harmattan28(natasha)** - **2023-04-13**

----------------------------------------------------------------------------------
### 更新

> 1.1.0harmattan28 (2023-04-13)
* 雷神之锤4新增布尔型cvar `harm_g_mutePlayerFootStep`去控制是否静音玩家脚步声(默认静音).
* 雷神之锤4修复亮度依赖声音幅度的光源. 例如在大多数关卡(比如`airdefense2`), 在一些黑暗的通道应该有重复闪烁的光源.
* 移除启动雷神之锤4时的帮助对话框, 如果需要解压游戏资源, 在菜单`Other` -> `Extract resource`.
* (Bug)雷神之锤4中, 如果开启特效, 载入关卡后有杂音, 在控制台输入`bse_enable`为0, 然后再输入`bse_enable`变回1, 杂音将会消失.

----------------------------------------------------------------------------------
### 历史

> 1.1.0harmattan27 (2023-04-05)
* 雷神之锤4修复一些线条特效. 比如怪物消失的特效, 线网.
Expand All @@ -15,7 +25,6 @@
* 雷神之锤4在`Quake 4 helper dialog`新增`SABot`的多人游戏地图的aas文件.

----------------------------------------------------------------------------------
### 历史

> 1.1.0harmattan26 (2023-03-25)
Expand Down
4 changes: 2 additions & 2 deletions DIII4A/idTech4Amm/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ android {
applicationId "com.karin.idTech4Amm"
minSdkVersion 14
targetSdkVersion 28
versionCode 11027
versionName '1.1.0harmattan27'
versionCode 11028
versionName '1.1.0harmattan28'
versionNameSuffix 'natasha'
}

Expand Down
4 changes: 2 additions & 2 deletions DIII4A/idTech4Amm/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.karin.idTech4Amm"
android:versionCode="11027"
android:versionName="1.1.0harmattan27"
android:versionCode="11028"
android:versionName="1.1.0harmattan28"
android:installLocation="preferExternal"
>

Expand Down
Binary file modified DIII4A/idTech4Amm/src/main/assets/source/DIII4A.source.tgz
Binary file not shown.
Binary file modified DIII4A/idTech4Amm/src/main/assets/source/doom3_droid.source.tgz
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -172,16 +172,15 @@ public static CharSequence GetHelpText()
" *. If not sound when start new game and load `roadhouse` map, try to press `ESC` key back to main menu and then press `ESC` key to back game, then sound can be played.",
null,
"For playing Quake 4(Thanks for `" + GenLinkText("https://github.com/jmarshall23", "jmarshall") + "`'s `" + GenLinkText("https://github.com/jmarshall23/Quake4Doom", "Quake4Doom") + "`): ",
" 1. Putting PC Quake 4 game data file to `q4base` folder.",
" 2. Click `START` to open Quake 4 map level dialog in game launcher.",
" 3. Extract Quake 4 patch resource to `q4base` game data folder if need.",
" 1. Putting PC Quake 4 game data file to `q4base` folder and START directly.",
" 2. Extract Quake 4 patch resource to `q4base` game data folder if need(in menu `Other` -> `Extract resource`).",
" (a). Quake 3 bot files(If you want to add bots in Multiplayer-Game, using command `addbot <bot_file>` or `fillbots` after enter map in console, or set `harm_si_autoFillBots` to 1 for automatic fill bots).",
" (b). `SABot` MP game map aas files(for bots in MP game).",
" 4. Then start game directly or choose map level, all levels is working.",
" 3. Then start game directly or choose map level, all levels is working.",
" *. Player's gun-lighting default is opened(can using bool cvar `harm_g_flashlightOn` to control).",
" *. If running crash on arm32 or low-memory device, trying to check `Use ETC1 compression` or `Disable lighting` for decreasing memory usage.",
" *. Exists bugs: e.g. some GUIs interface, script error on some levels",
" *. Effect system: Quake4 using new advanced `BSE` particle system, it not open-source(`jmarshall` has realized and added by decompiling `ETQW`'s BSE binary file, also see `" + GenLinkText("https://github.com/jmarshall23/Quake4BSE", "jmarshall23/Quake4BSE") + "`, but it not work yet.). Now implementing a OpenBSE with DOOM3 original FX/Particle system, some effects can played, but has incorrect render.",
" *. Effect system: Quake4 using new advanced `BSE` particle system, it not open-source(`jmarshall` has realized and added by decompiling `ETQW`'s BSE binary file, also see `" + GenLinkText("https://github.com/jmarshall23/Quake4BSE", "jmarshall23/Quake4BSE") + "`, but it not work yet.). Now implementing a OpenBSE with DOOM3 original FX/Particle system, some effects can played, but has incorrect render(If load some levels has noise with effects on, typed `bse_enable` to 0, and then typed `bse_enable` back to 1 in console, noise can resolved.).",
" *. Multiplayer-Game: It is working well with bots(`jmarshall` added Q3-bot engine, but need bots decl file and Multiplayer-Game map AAS file, now set cvar `harm_g_autoGenAASFileInMPGame` to 1 for generating a bad AAS file when loading map in Multiplayer-Game and not valid AAS file in current map, you can also put your MP map's AAS file to `maps/mp` folder).",
null,
"Multi-threading and some GLSL shader using `" + GenLinkText("https://github.com/emileb/d3es-multithread", "emileb/d3es-multithread") + "`.",
Expand Down Expand Up @@ -269,10 +268,16 @@ public static CharSequence GetAboutText(Context context)
"Release: " + Constants.CONST_RELEASE + " (R" + Constants.CONST_UPDATE_RELEASE + ")",
null,
"Rename from `DIII4A++`, base on original `n0n3m4`'s `DIII4A`.",
"idTech4 engine's games support on Android, e.g. `DOOM 3`, `DOOM 3 RoE`, `Quake 4`, Prey(2006), and some mods.",
"Source in `assets/source` folder in APK file. `doom3_droid.source.tgz` is DOOM3 source. `diii4a.source.tgz` is android frontend source.",
"idTech4 engine's games support on Android.",
"e.g. `DOOM 3`, `DOOM 3 RoE`, `Quake 4`, Prey(2006), and some mods.",
null,
"Source in `assets/source` folder in APK file. `doom3_droid.source.tgz` is DOOM3 source. `DIII4A.source.tgz` is launcher frontend source.",
"OpenGL shader source is in `assets/gl2progs.zip`.",
"Or view in github `" + GenLinkText(Constants.CONST_MAIN_PAGE, null) + "`, all new changes on `" + GenLinkText(Constants.CONST_MAIN_PAGE, "master") + "` branch.",
null,
"Homepage: ",
"Github: " + GenLinkText(Constants.CONST_MAIN_PAGE, null),
"XDA: " + GenLinkText(Constants.CONST_DEVELOPER_XDA, "karin_zhao"),
"Tieba: " + GenLinkText(Constants.CONST_TIEBA, null),
null,
"Special thanks: ",
GenLinkText("https://4pda.ru/forum/index.php?showuser=7653620", "Sir Cat") + "@" + GenLinkText("https://4pda.ru/forum/index.php?showtopic=929753", "4PDA forum"),
Expand All @@ -292,6 +297,16 @@ public static CharSequence GetChangesText()
final ChangeLog[] CHANGES = {
ChangeLog.Create(Constants.CONST_RELEASE, Constants.CONST_UPDATE_RELEASE, Constants.CONST_CHANGES),

ChangeLog.Create("2023-04-05", 27,
"Fixup some line effects in Quake 4. e.g. monster body disappear effect, lines net.",
"Fixup radio icon in player HUD right-top corner in Quake 4.",
"Fixup dialog interactive in Quake 4. e.g. dialog of creating MP game server.",
"Fixup MP game loading GUI and MP game main menu in Quake 4.",
"Add integer cvar named `harm_si_autoFillBots` for automatic fill bots after map loaded in MP game in Quake 4(0 to disable). `fillbots` command support append bot num argument.",
"Add automatic set bot's team in MP team game, random bot model, and fixup some bot's bugs in Quake 4.",
"Add `SABot`'s aas file pak of MP game maps in `Quake 4 helper dialog`."
),

ChangeLog.Create("2023-03-25", 26,
"Using SurfaceView for rendering, remove GLSurfaceView(Testing).",
"Using DOOM3's Fx/Particle system implement Quake4's BSE incompletely for effects in Quake 4. The effects are bad now. Using set `bse_enabled` to 0 for disable effects.",
Expand Down Expand Up @@ -670,6 +685,7 @@ public static CharSequence GetCvarText()
Cvar.Create("harm_si_autoFillBots", "bool", "0", "Automatic fill bots after map loaded in multiplayer game(0: disable; other number: bot num)."),
Cvar.Create("addbot", "string", "", "adds a multiplayer bot(support `tab` complete, exam. addbot bot_name1 bot_name2 ...)."),
Cvar.Create("fillbots", "integer", "", "fill bots(empty argument to fill max bots num, exam. fillbots 8)."),
Cvar.Create("harm_g_mutePlayerFootStep", "bool", "1", "Mute player's footstep sound."),
};
final Cvar[] PREY_CVARS = {
Cvar.Create("harm_g_translateAlienFont", "string", "fonts", "Setup font name for automatic translate `alien` font text of GUI(empty to disable).",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,23 @@ public final class Constants
public static final String CONST_PREFERENCE_APP_CRASH_INFO = "_APP_CRASH_INFO";
public static final String CONST_PREFERENCE_EXCEPTION_DEBUG = "_EXCEPTION_DEBUG";

public static final int CONST_UPDATE_RELEASE = 27;
public static final String CONST_RELEASE = "2023-04-05";
public static final int CONST_UPDATE_RELEASE = 28;
public static final String CONST_RELEASE = "2023-04-13";
public static final String CONST_EMAIL = "beyondk2000@gmail.com";
public static final String CONST_DEV = "Karin";
public static final String CONST_CODE = "Harmattan";
public static final String CONST_APP_NAME = "idTech4A++"; // "DIII4A++";
public static final String CONST_NAME = "DOOM III/Quake 4/Prey(2006) for Android(Harmattan Edition)";
public static final String CONST_MAIN_PAGE = "https://github.com/glKarin/com.n0n3m4.diii4a";
public static final String CONST_TIEBA = "https://tieba.baidu.com/p/6825594793";
public static final String CONST_DEVELOPER = "https://github.com/glKarin";
public static final String CONST_DEVELOPER_XDA = "https://forum.xda-developers.com/member.php?u=10584229";
public static final String CONST_CHECK_FOR_UPDATE_URL = "https://raw.githubusercontent.com/glKarin/com.n0n3m4.diii4a/package/CHECK_FOR_UPDATE.json";
public static final String[] CONST_CHANGES = {
"Fixup some line effects in Quake 4. e.g. monster body disappear effect, lines net.",
"Fixup radio icon in player HUD right-top corner in Quake 4.",
"Fixup dialog interactive in Quake 4. e.g. dialog of creating MP game server.",
"Fixup MP game loading GUI and MP game main menu in Quake 4.",
"Add integer cvar named `harm_si_autoFillBots` for automatic fill bots after map loaded in MP game in Quake 4(0 to disable). `fillbots` command support append bot num argument.",
"Add automatic set bot's team in MP team game, random bot model, and fixup some bot's bugs in Quake 4.",
"Add `SABot`'s aas file pak of MP game maps in `Quake 4 helper dialog`.",
"Add bool cvar `harm_g_mutePlayerFootStep` to control mute player footstep sound(default on) in Quake 4.",
"Fix some light's brightness depend on sound amplitude in Quake 4. e.g. in most levels like `airdefense2`, at some dark passages, it should has a repeat-flashing lighting.",
"Remove Quake 4 helper dialog when start Quake 4, if want to extract resource files, open `Other` -> `Extract resource` in menu.",
"(Bug)In Quake 4, if load some levels has noise with effects on, typed `bse_enable` to 0, and then typed `bse_enable` back to 1 in console, noise can resolved.",
};
public static final String CONST_PACKAGE = "com.karin.idTech4Amm";

Expand All @@ -48,7 +46,7 @@ public static final class PreferenceKey {
public static final String VOLUME_UP_KEY = "harm_volume_up_key";
public static final String VOLUME_DOWN_KEY = "harm_volume_down_key";
public static final String HIDE_AD_BAR = "harm_hide_ad_bar";
public static final String OPEN_QUAKE4_HELPER = "harm_open_quake4_helper";
//public static final String OPEN_QUAKE4_HELPER = "harm_open_quake4_helper";
public static final String CONTROLS_CONFIG_POSITION_UNIT = "harm_controls_config_position_unit";
public static final String COVER_EDGES = "harm_cover_edges";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1279,12 +1279,13 @@ public void start(View vw)
Toast.makeText(this, "Can't start game!\nRead/Write external storage permission is not granted!", Toast.LENGTH_LONG).show();
if(res != ContextUtility.CHECK_PERMISSION_RESULT_GRANTED)
return;

/*
if(Q3EUtils.q3ei.isQ4 && PreferenceManager.getDefaultSharedPreferences(this).getBoolean(Constants.PreferenceKey.OPEN_QUAKE4_HELPER, true))
{
OpenQuake4LevelDialog();
return;
}
*/
finish();
startActivity(new Intent(this,Q3EMain.class));
}
Expand Down Expand Up @@ -1419,8 +1420,8 @@ public boolean onOptionsItemSelected(MenuItem item)
case R.id.main_menu_cvar_list:
OpenCvarListDetail();
return true;
case R.id.main_menu_extract_quake4_resource:
OpenQuake4ResourceDialog();
case R.id.main_menu_extract_resource:
OpenResourceFileDialog();
return true;

case R.id.main_menu_save_settings:
Expand Down Expand Up @@ -2129,7 +2130,7 @@ public void onShow(DialogInterface d) {
dialog.getButton(DialogInterface.BUTTON_NEUTRAL).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
OpenQuake4ResourceDialog();
OpenResourceFileDialog();
}
});
}
Expand All @@ -2142,7 +2143,7 @@ public void onClick(View v) {
private static final int Q4_RESOURCE_MP_GAME_MAP_AAS = 1 << 2;
private static final int Q4_RESOURCE_ALL = ~(1 << 31);

private void OpenQuake4ResourceDialog()
private void OpenResourceFileDialog()
{
// D3-format fonts don't need on longer
final int[] Types = {
Expand All @@ -2152,7 +2153,7 @@ private void OpenQuake4ResourceDialog()
};
final String[] Names = {
// "Font(D3 format)",
"Bot(Q3 support in MP game)",
"Bot(Q3 bot support in MP game)",
"MP game map aas files",
};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
Expand Down
Binary file modified DIII4A/idTech4Amm/src/main/jniLibs/arm64-v8a/libdante_raven.so
Binary file not shown.
Binary file modified DIII4A/idTech4Amm/src/main/jniLibs/arm64-v8a/libq4game.so
Binary file not shown.
Binary file modified DIII4A/idTech4Amm/src/main/jniLibs/armeabi-v7a/libdante_raven.so
Binary file not shown.
Binary file modified DIII4A/idTech4Amm/src/main/jniLibs/armeabi-v7a/libq4game.so
Binary file not shown.
8 changes: 4 additions & 4 deletions DIII4A/idTech4Amm/src/main/res/menu/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@
android:title="Other"
android:showAsAction="never">
<menu>
<item
android:id="@+id/main_menu_extract_resource"
android:title="Extract resource"
android:showAsAction="never"/>
<item
android:id="@+id/main_menu_cvar_list"
android:title="Special Cvar list"
Expand All @@ -76,10 +80,6 @@
android:id="@+id/main_menu_runtime_log"
android:title="Last runtime log"
android:showAsAction="never"/>
<item
android:id="@+id/main_menu_extract_quake4_resource"
android:title="Extract Quake 4 resource"
android:showAsAction="never"/>
<item
android:id="@+id/main_menu_debug"
android:title="DEBUG"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,13 @@
android:defaultValue="false"
android:summary="Hide bottom ad bar in launcher"
/>
<CheckBoxPreference
<!--<CheckBoxPreference
android:title="Open Quake 4 helper dialog"
android:key="harm_open_quake4_helper"
android:persistent="true"
android:defaultValue="true"
android:summary="Open helper dialog when start Quake 4"
/>
/>-->
<EditTextPreference
android:title="On-screen buttons position unit"
android:key="harm_controls_config_position_unit"
Expand Down
Loading

0 comments on commit a2dc292

Please sign in to comment.