Latest version:
1.1.0harmattan53(natasha)
Latest update:
2024-07-17
Arch:
arm64 armv7-a
Platform:
Android 4.4+
License:
GPLv3
- Linux/Windows(MinGW/MSVC(without editor)) build
- multi-threading renderer
- png/dds texture image, jpeg/png/bmp/dds format of screenshot
- obj/dae format static model
- pure soft shadow with shadow-mapping
- soft shadow with stencil-shadow
- OpenGLES2.0/OpenGLES3.0
- OpenAL(soft) and EFX Reverb
- no-lighting rendering and no-lighting material
- translucent stencil shadow
- debug render tools support
- DOOM3(with full body awareness mod)
- Quake4(with bot mod, full body awareness mod) and Raven's idTech4 engine
- Prey(2006)(with full body awareness mod) and HumanHead's idTech4 engine
DOOM 3 & RoE SDK
Quake 4 SDK
Prey(2006) SDK
Feature | idTech4A++ | Other |
---|---|---|
Multi-threading | Support (but can't switch in gaming) |
d3es-multithread support (and support switch in gaming) |
New stage shader (heatHaze, heatHazeWithMask, heatHazeWithMaskAndVertex, colorProcess) |
Yes | - |
TexGen shader | Yes | - |
Shadow mapping for pure soft shadow | Yes | - |
Translucent stencil shadow | Yes | - |
Soft stencil shadow | Yes (Only OpenGLES3.1+) |
- |
OpenGL ES version | 2.0 and 3.0+ (shadow mapping shaders has different version) |
2.0(3.0+ compat) |
No lighting | Yes (And support switch in gaming) |
Yes |
Debug render tools | Yes (need to set harm_r_renderToolsMultithread to 1 if in multi-threading enabled) |
- |
Game | Engine | Version | OpenGL ES version | Mods |
---|---|---|---|---|
DOOM III | n0n3m4's dante | - | 2.0/3.0 | Resurrection of Evil The Lost Mission Classic DOOM3 Rivensin HardCorps Overthinked Doom^3 Sabot(a7x) HeXen:Edge of Chaos Fragging Free LibreCoop |
Quake IV | n0n3m4's dante | - | 2.0/3.0 | |
Prey(2006) | n0n3m4's dante | - | 2.0/3.0 | |
DOOM 3 BFG(Classic DOOM 1&2) | RBDOOM-3-BFG | 1.4.0 (The last OpenGL renderer version) |
3.0 | |
The Dark Mod | Dark Mod | 2.12 | 3.2 (require geometry shader support) |
|
Return to Castle Wolfenstein | iortcw | - | 1.1 | |
Quake III Arena | ioquake3 | - | 1.1 | Quake III Team Arena |
Quake II | Yamagi Quake II | - | 1.1/3.2 | ctf rogue xatrix zaero |
Quake I | Darkplaces | - | 2.0 | |
GZDOOM | GZDOOM 64bits | - | 3.2 |
Or download the latest APK from the Releases Section.
Tag with -free
only for F-Droid update.
Feature | Github | F-Droid |
---|---|---|
Ouya TV | Yes | No |
- Fix GZDOOM sound.
- Update screen resolution settings on launcher.
- 修复GZDOOM声音.
- 启动器更新屏幕分辨率设置.
- Putting PC Prey game data file to
preybase
folder and START directly.- Some problems solution: e.g. using cvar
harm_ui_translateAlienFont
to translate Alien text on GUI.- Exists bugs: e.g. some incorrect collision(using
noclip
), some GUIs not work(Music CD in RoadHouse).- If settings UI is not work, can edit
preyconfig.cfg
for binding extras key.
- bind "Your key of spirit walk" "_impulse54"
- bind "Your key of second mode attack of weapons" "_attackAlt"
- bind "Your key of toggle lighter" "_impulse16"
- bind "Your key of drop" "_impulse25"
For playing Quake 4(jmarshall 's Quake4Doom). Now can play all levels, but some levels has bugs.
- Putting PC Quake 4 game data file to
q4base
folder and START directly.- Suggest to extract Quake 4 patch resource to
q4base
game data folder first(in menuOther
->Extract resource
).
SABot a9 mod
multiplayer-game map aas files and bot scripts(for bots in multiplayer-game).
- Particle system: Now is not work(Quake4 using new advanced
BSE
particle system, it not open-source,jmarshall
has realized and added by decompilingETQW
's BSE binary file, also see 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.- Entity render: Some game entities render incorrect.
- Added SABot a7 mod support.
- Extract
q4base/sabot_a9.pk4
file in apk to Quake4 game data folder, it includes some defs, scripts and MP game map AAS file.- 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 tomaps/mp
folder(botaas32).- Set
harm_si_autoFillBots
to 1 for automatic fill bots when start MP game.- Execute
addbots
for add multiplayer bot.- Execute
fillbots
for auto fill multiplayer bots.
Game
Mod
Other
- _MULTITHREAD: Add multithread support for rendering.
- _USING_STB: Using stb header for jpeg/png/dds texture image and jpeg/png/bmp/dds screenshot support.
- _K_CLANG: If compiling by clang not GCC.
- _MODEL_OBJ: Add obj static model support.
- _MODEL_DAE: Add dae static model support.
- _SHADOW_MAPPING: Add Shadow mapping support.
- _OPENGLES3: Add OpenGLES3.0 support.
- _OPENAL _OPENAL_EFX _OPENAL_SOFT: Add OpenAL(soft) and EFX Reverb support.
- _NO_LIGHT: Add no lighting support.
- _STENCIL_SHADOW_IMPROVE: Add stencil shadow improve support(soft shadow(OpenGLES3.1+), translucent shadow, force combine global shadow and self local shadow).
If want to port Quake4
or Prey(2006)
to PC or other platform of based on DOOM3
engine open-source version, because DIII4A based on Android platform and OpenGLES, so has some differences with original version. But I mark some macros in source as patches at all changes, although must find these macros in source code and manual use these patches.
And for keeping original DOOM3 source file structures, for all new source files, I put them on a new folder, and in these folder has same directory structure with DOOM3(e.g. framework, renderer, idlib...).
- _RAVEN: for compile
core engine (DOOM3 source code)
andidlib (DOOM3 source code)
.- _QUAKE4: for compile
game (Q4SDK source code)
library.- Build core engine: define macro
_RAVEN
,_RAVEN_FX(OpenBSE if need, unnecessary)
- Build game library: define macro
_RAVEN
,_QUAKE4
Because BSE
not open-source, so I default supply a NULL
implement and a uncompleted but working implement with DOOM3 Particle/Fx system(using macros _RAVEN_FX
marked).
Define macro MOD_BOTS
will compile SABot a7(from DOOM3) mod source code for bot support in multiplayer-game.
Define macro _MOD_FULL_BODY_AWARENESS
will compile Full-body-awareness support.
- _HUMANHEAD: for compile
core engine (DOOM3 source code)
andidlib (DOOM3 source code)
.- _PREY: for compile
game (PreySDK source code)
library.- Build core engine: define macro
_HUMANHEAD
- Build game library: define macro
_HUMANHEAD
,_PREY
, and original SDK macrosHUMANHEAD
Define macro _MOD_FULL_BODY_AWARENESS
will compile Full-body-awareness support.
- _OPENSLES: Add OpenSLES support for sound.
- REQUIRE ALSA, zlib, X11, EGL
- ./cmake_linux_build.sh
- REQUIRE SDL2, zlib, cURL
- cmake_msvc_build.bat
- Source in
assets/source
folder in APK file. - Using
exportGLSLShaderSource
command can export GLSL shaders.
master
:
- /idTech4Amm: frontend source
- /Q3E /Q3E/src/main/jni/doom3: game source
- /CHECK_FOR_UPDATE.json: Check for update config JSON
free
:
- For F-Droid pure free version.
package
:
- /screenshot: screenshot pictures
- /source: Reference source
- /pak: Game resource
n0n3m4_original_old_version
:
- Original old
n0n3m4
version source.
- Baidu网盘: https://pan.baidu.com/s/1hXvKmrajAACfcCj9_ThZ_w 提取码:
pyyj
- Baidu贴吧: BEYONDK2000
- F-Droid(different signature)