Skip to content

Commit

Permalink
1.1.0harmattan39 release
Browse files Browse the repository at this point in the history
  • Loading branch information
glKarin committed Apr 9, 2024
1 parent 0398df3 commit ca173b3
Show file tree
Hide file tree
Showing 12 changed files with 127 additions and 26 deletions.
2 changes: 1 addition & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* Add `Quake II` support, game data directory named `baseq2`. More view in [Quake II](https://store.steampowered.com/app/2320/Quake_II/).
* Add `Quake III Arena` support, game data directory named `baseq3`; Add `Quake III Team Arena` support, game data directory named `missionpack`. More view in [Quake III Arena](https://store.steampowered.com/app/2200/Quake_III_Arena/).
* Add `Return to Castle Wolfenstein` support, game data directory named `main`. More view in [Return to Castle Wolfenstein](https://www.moddb.com/games/return-to-castle-wolfenstein).
* Add `The dark mod` 2.11 support, game data directory named `darkmod`. More view in [The Dark Mod](https://www.thedarkmod.com).
* Add `The Dark Mod` 2.11 support, game data directory named `darkmod`. More view in [The Dark Mod](https://www.thedarkmod.com).
* Add a on-screen button theme.

----------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion CHANGES.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
* 新增`雷神之锤2`支持, 游戏数据文件夹命名为`baseq2`. 详情[Quake II](https://store.steampowered.com/app/2320/Quake_II/).
* 新增`雷神之锤3竞技场`支持, 游戏数据文件夹命名为`baseq3`; 新增`雷神之锤3团队竞技场`支持, 游戏数据文件夹命名为`missionpack`. 详情[Quake III Arena](https://store.steampowered.com/app/2200/Quake_III_Arena/).
* 新增`重返德军总部`支持, 游戏数据文件夹命名为`main`. 详情[Return to Castle Wolfenstein](https://www.moddb.com/games/return-to-castle-wolfenstein).
* 新增`The dark mod`v2.11支持, 游戏数据文件夹命名为`darkmod`. 详情[The Dark Mod](https://www.thedarkmod.com).
* 新增`The Dark Mod`v2.11支持, 游戏数据文件夹命名为`darkmod`. 详情[The Dark Mod](https://www.thedarkmod.com).
* 新增一个虚拟按键主题.

----------------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion CHECK_FOR_UPDATE.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
"update":"2024-04-10",
"version":"1.1.0harmattan39",
"apk_url":"https://github.com/glKarin/com.n0n3m4.diii4a/releases/download/v1.1.0harmattan39/idTech4A++_1.1.0harmattan39.apk",
"changes":" * Support perforated surface shadow in shadow mapping.\n * Add `LibreCoop` mod of DOOM3 support, game data directory named `librecoop`.\n * Add `Quake II` support, game data directory named `baseq2`.\n * Add `Quake III Arena` support, game data directory named `baseq3`; Add `Quake III Team Arena` support, game data directory named `missionpack`.\n * Add `Return to Castle Wolfenstein` support, game data directory named `main`.\n * Add `The dark mod` 2.11 support, game data directory named `darkmod`.\n * Add a on-screen button theme."
"changes":" * Support perforated surface shadow in shadow mapping.\n * Add `LibreCoop` mod of DOOM3 support, game data directory named `librecoop`.\n * Add `Quake II` support, game data directory named `baseq2`.\n * Add `Quake III Arena` support, game data directory named `baseq3`; Add `Quake III Team Arena` support, game data directory named `missionpack`.\n * Add `Return to Castle Wolfenstein` support, game data directory named `main`.\n * Add `The Dark Mod` 2.11 support, game data directory named `darkmod`.\n * Add a on-screen button theme."
}
16 changes: 16 additions & 0 deletions Q3E/src/main/java/com/n0n3m4/q3e/karin/KFDManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,22 @@ private KFDManager(Context context)
SetContext(context);
}

public String[] GetSearchPaths()
{
return m_searchPaths.toArray(new String[0]);
}

public String[] GetSearchPathFolders()
{
List<String> list = new ArrayList<>();
for (String sp : m_searchPaths)
{
if(!sp.endsWith(Q3EGlobals.IDTECH4AMM_PAK_SUFFIX))
list.add(sp);
}
return list.toArray(new String[0]);
}

public static KFDManager Instance(Context context)
{
if(null == _instance)
Expand Down
8 changes: 4 additions & 4 deletions Q3E/src/main/jni/doom3/neo/renderer/tr_local.h
Original file line number Diff line number Diff line change
Expand Up @@ -1978,15 +1978,15 @@ struct idAllocAutoHeap {
void * Alloc(size_t size) {
Free();
data = calloc(size, 1);
common->Printf("[Harmattan]: %p alloca on heap memory %p(%lu bytes)\n", this, data, size);
common->Printf("[Harmattan]: %p alloca on heap memory %p(%zu bytes)\n", this, data, size);
return data;
}

void * Alloc16(size_t size) {
Free();
data = calloc(size + 15, 1);
void *ptr = ((void *)(((intptr_t)data + 15) & ~15));
common->Printf("[Harmattan]: %p alloca16 on heap memory %p(%lu bytes) <- %p(%lu bytes)\n", this, ptr, size, data, size + 15);
common->Printf("[Harmattan]: %p alloca16 on heap memory %p(%zu bytes) <- %p(%zu bytes)\n", this, ptr, size, data, size + 15);
return ptr;
}

Expand Down Expand Up @@ -2020,13 +2020,13 @@ struct idAllocAutoHeap {
idAllocAutoHeap _allocAutoHeap##x; \
T *varname = (T *) (HARM_MAX_STACK_ALLOC_SIZE == 0 || (HARM_MAX_STACK_ALLOC_SIZE > 0 && (alloc_size) >= HARM_MAX_STACK_ALLOC_SIZE) ? _allocAutoHeap##x.Alloc16(alloc_size) : _alloca16(alloc_size)); \
if(_allocAutoHeap##x.IsAlloc()) \
common->Printf("[Harmattan]: Alloca on heap memory %s %p(%lu bytes)\n", #varname, varname, (size_t)alloc_size);
common->Printf("[Harmattan]: Alloca on heap memory %s %p(%zu bytes)\n", #varname, varname, (size_t)alloc_size);

#define _DROID_ALLOC16(T, alloc_size, varname, x) \
idAllocAutoHeap _allocAutoHeap##x; \
varname = (T *) (HARM_MAX_STACK_ALLOC_SIZE == 0 || (HARM_MAX_STACK_ALLOC_SIZE > 0 && (alloc_size) >= HARM_MAX_STACK_ALLOC_SIZE) ? _allocAutoHeap##x.Alloc16(alloc_size) : _alloca16(alloc_size)); \
if(_allocAutoHeap##x.IsAlloc()) \
common->Printf("[Harmattan]: Alloca on heap memory %s %p(%lu bytes)\n", #varname, varname, (size_t)alloc_size);
common->Printf("[Harmattan]: Alloca on heap memory %s %p(%zu bytes)\n", #varname, varname, (size_t)alloc_size);

// free memory when not call alloca()
#define _DROID_FREE(varname, x)/* \
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ GPLv3
* Quake2(Yamagi Quake II) and mods: ctf; rogue; xatrix; zaero
* Quake III Arena/Quake III Team Arena(ioquake3)
* Return to Castle Wolfenstein(iortcw)
* The Dark Mod

[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
Expand All @@ -52,7 +53,7 @@ Tag with `-free` only for F-Droid update.
* Add `Quake II` support, game data directory named `baseq2`. More view in [Quake II](https://store.steampowered.com/app/2320/Quake_II/).
* Add `Quake III Arena` support, game data directory named `baseq3`; Add `Quake III Team Arena` support, game data directory named `missionpack`. More view in [Quake III Arena](https://store.steampowered.com/app/2200/Quake_III_Arena/).
* Add `Return to Castle Wolfenstein` support, game data directory named `main`. More view in [Return to Castle Wolfenstein](https://www.moddb.com/games/return-to-castle-wolfenstein).
* Add `The dark mod` 2.11 support, game data directory named `darkmod`. More view in [The Dark Mod](https://www.thedarkmod.com).
* Add `The Dark Mod` 2.11 support, game data directory named `darkmod`. More view in [The Dark Mod](https://www.thedarkmod.com).
* Add a on-screen button theme.

----------------------------------------------------------------------------------
Expand Down Expand Up @@ -81,7 +82,12 @@ Tag with `-free` only for F-Droid update.
> 2. *Entity render*: Some game entities render incorrect.
###### Bot mod
> 1. added SABot a7 mod support, but need `SABot a9 mod` 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(aas32).
> 1. Added SABot a7 mod support.
> 2. Extract `q4base/sabot_a9.pk4` file in apk to Quake4 game data folder, it includes some defs, scripts and MP game map AAS file.
> 3. 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(botaas32).
> 4. Set `harm_si_autoFillBots` to 1 for automatic fill bots when start MP game.
> 5. Execute `addbots` for add multiplayer bot.
> 6. Execute `fillbots` for auto fill multiplayer bots.
----------------------------------------------------------------------------------
### Screenshot
Expand Down
10 changes: 8 additions & 2 deletions README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ GPLv3
* 雷神之锤2(Yamagi Quake II) 和mods: ctf; rogue; xatrix; zaero
* 雷神之锤3竞技场/雷神之锤3团队竞技场(ioquake3)
* 重返德军总部(iortcw)
* The Dark Mod

[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
Expand All @@ -52,7 +53,7 @@ height="80">](https://f-droid.org/packages/com.karin.idTech4Amm/)
* 新增`雷神之锤2`支持, 游戏数据文件夹命名为`baseq2`. 详情[Quake II](https://store.steampowered.com/app/2320/Quake_II/).
* 新增`雷神之锤3竞技场`支持, 游戏数据文件夹命名为`baseq3`; 新增`雷神之锤3团队竞技场`支持, 游戏数据文件夹命名为`missionpack`. 详情[Quake III Arena](https://store.steampowered.com/app/2200/Quake_III_Arena/).
* 新增`重返德军总部`支持, 游戏数据文件夹命名为`main`. 详情[Return to Castle Wolfenstein](https://www.moddb.com/games/return-to-castle-wolfenstein).
* 新增`The dark mod`v2.11支持, 游戏数据文件夹命名为`darkmod`. 详情[The Dark Mod](https://www.thedarkmod.com).
* 新增`The Dark Mod`v2.11支持, 游戏数据文件夹命名为`darkmod`. 详情[The Dark Mod](https://www.thedarkmod.com).
* 新增一个虚拟按键主题.

----------------------------------------------------------------------------------
Expand Down Expand Up @@ -82,7 +83,12 @@ height="80">](https://f-droid.org/packages/com.karin.idTech4Amm/)
> 2. *物体渲染*: 存在一些物体错误的渲染结果.
###### Bot mod:
> 1. 并且可以添加bot(添加SABot a7 mod支持, 但是需要先添加`SABot a9 mod`文件和多人游戏地图的AAS文件, 目前可以设置`harm_g_autoGenAASFileInMPGame`为1自动在多人游戏地图载入(如果没有一个有效的该地图的AAS文件)后生成一个不怎么好的AAS文件, 也可以把你自己用其他方式生成的AAS文件放到游戏数据目录的`maps/mp`文件夹(aas32)).
> 1. 添加SABot a7 mod支持.
> 2. 解压apk中的`q4base/sabot_a9.pk4`文件到雷神之锤4游戏文件目录, 其中包含一些配置文件, 脚本文件和多人游戏地图的AAS文件.
> 3. 设置`harm_g_autoGenAASFileInMPGame`为1自动在多人游戏地图载入(如果没有一个有效的该地图的AAS文件)后生成一个不怎么好的AAS文件, 也可以把你自己用其他方式生成的AAS文件放到游戏数据目录的`maps/mp`文件夹(botaas32)).
> 4. 设置`harm_si_autoFillBots`自动添加bot当开始多人游戏.
> 5. 执行`addbots`添加bot.
> 6. 执行`fillbots`自动填满bot.
----------------------------------------------------------------------------------
### 截图
Expand Down
50 changes: 50 additions & 0 deletions cpsrc.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
@echo off

set SRC_PATH=F:\qobj\droid\DIII4A
set DST_PATH=F:\data\DIII4A

if exist "%DST_PATH%" (
echo Remove %DST_PATH%
del /S/Q %DST_PATH%
rmdir /S/Q %DST_PATH%
) else (
echo Not found %DST_PATH%
)

echo Create %DST_PATH%
mkdir %DST_PATH%
mkdir %DST_PATH%\idTech4amm
mkdir %DST_PATH%\Q3E

echo Copying %DST_PATH% to %SRC_PATH%
xcopy /E/I/Y/Q %SRC_PATH%\idTech4amm\src %DST_PATH%\idTech4amm\src
xcopy /Y/Q %SRC_PATH%\idTech4amm\build.gradle %DST_PATH%\idTech4amm\
xcopy /Y/Q %SRC_PATH%\idTech4amm\lint.xml %DST_PATH%\idTech4amm\
del /S/Q %DST_PATH%\idTech4amm\src\main\assets

xcopy /E/I/Y/Q %SRC_PATH%\Q3E\src %DST_PATH%\Q3E\src
xcopy /Y/Q %SRC_PATH%\Q3E\build.gradle %DST_PATH%\Q3E\
del /S/Q %DST_PATH%\Q3E\src\main\assets
del /S/Q %DST_PATH%\Q3E\src\main\jni\duke4
rmdir /S/Q %DST_PATH%\Q3E\src\main\jni\duke4

xcopy /Y/Q %SRC_PATH%\.gitignore %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\build.gradle %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\CHANGES.md %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\CHANGES.zh.md %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\CHECK_FOR_UPDATE.json %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\CMakeLists.txt %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\gradle.properties %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\gradlew %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\gradlew.bat %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\idtech4amm.keystore %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\LICENSE %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\local.properties %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\README.md %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\README.zh.md %DST_PATH%\
xcopy /Y/Q %SRC_PATH%\settings.gradle %DST_PATH%\

echo done!
start "" %DST_PATH%

pause
Binary file modified idTech4Amm/src/main/assets/source/DIII4A.source.tgz
Binary file not shown.
Loading

0 comments on commit ca173b3

Please sign in to comment.