idTech engine games For Android. An idTech games runtime libraries collection on Android
Latest version:
1.1.0harmattan56(natasha)
Latest update:
2024-08-23
Arch:
arm64 armv7-a
Platform:
Android 4.4+
License:
GPLv3
idTech4's feature
- 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 and translucent stencil shadow
- lighting model: Phong/Blinn-phong/PBR/Ambient(no-lighting)
- debug render tools support with programming render pipeline
- OpenGLES2.0/OpenGLES3.0
- OpenAL(soft) and EFX Reverb
- 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
Build DOOM3/Quake4/Prey(2006) mod for Android idTech4A++
DOOM 3 & RoE SDK
Quake 4 SDK
Prey(2006) SDK
Compare with other OpenGLES rendering version of DOOM3
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 | - |
Soft/Translucent stencil shadow | Yes (Soft stencil shadow only support on OpenGLES3.1+) |
- |
OpenGL ES version | 2.0 and 3.0+ (point light shadow mapping shader use cubemap on OpenGLES2.0, use texture array on OpenGLES3.0+) |
2.0(3.0+ compat) |
No lighting | Yes (And support switch in gaming by set harm_r_lightingModel to 0) |
Yes |
Debug render tools | Yes (need to set harm_r_renderToolsMultithread to 1 if with multi-threading) |
- |
PBR lighting model | Yes (using idtech4_pbr) |
- |
Support games
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 LibreCoop D3XP Perfected Doom 3 Perfected Doom 3:RoE |
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 |
<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">
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 |
Source code in apk | Yes | No |
harm_r_lightingModel
0 and remove r_noLight=2 in DOOM3/Quake4/Prey.bind "YOUR_KEY" "IMPULSE_51"
to your DoomConfig.cfg or autoexec.cfg).LibreCoop(RoE)
mod of DOOM3 support, game data directory named librecoopxp
. More view in LibreCoop(RoE).Perfected Doom 3
mod of DOOM3 support, game data directory named perfected
. More view in Perfected Doom 3.Perfected Doom 3 : Resurrection of Evil
mod of DOOM3 support, game data directory named perfected_roe
. More view in Perfected Doom 3 : Resurrection of Evil.harm_r_lightingModel
为0进渲染环境光, 移除r_noLight=2.bind "YOUR_KEY" "IMPULSE_51"
到DoomConfig.cfg或autoexec.cfg文件中).LibreCoop(RoE)
支持, 游戏数据文件夹命名为librecoopxp
. 详情 LibreCoop(RoE).Perfected Doom 3
支持, 游戏数据文件夹命名为perfected
. 详情 Perfected Doom 3.Perfected Doom 3 : Resurrection of Evil
支持, 游戏数据文件夹命名为perfected_roe
. 详情 Perfected Doom 3.CVar | Type | Default | Description | Flag | Range | Scope | Remark | Platform |
---|---|---|---|---|---|---|---|---|
harm_r_openglVersion | String | GLES3.0 | OpenGL version | INIT | GLES2, GLES3.0 | Engine/Renderer | setup with launcher on Android | Windows, Linux |
harm_r_multithread | Bool | 1 | Multithread backend | INIT | Engine/Renderer | setup with launcher on Android | Windows, Linux | |
harm_r_clearVertexBuffer | Integer | 2 | Clear vertex buffer on every frame | ARCHIVE, FIXED | 0, 1, 2 | Engine/Renderer | 0 = not clear(original); 1 = only free VBO memory; 2 = free VBO memory and delete VBO handle(only without multi-threading, else same as 1) |
All |
harm_r_maxAllocStackMemory | Integer | 524288 | Control allocate temporary memory when load model data | ARCHIVE | Engine/Renderer | For load large model, because stack memory is limited on OS. 0 = Always heap; Negative = Always stack; Positive = Max stack memory limit(If less than this byte value, call alloca in stack memory, else call malloc /calloc in heap memory) |
All | |
harm_r_shaderProgramDir | String | Setup external OpenGLES2 GLSL shader program directory path | ARCHIVE | Engine/Renderer | empty is glslprogs(default) | All | ||
harm_r_shaderProgramES3Dir | String | Setup external OpenGLES3 GLSL shader program directory path | ARCHIVE | Engine/Renderer | empty is glsl3progs(default) | All | ||
harm_r_shadowCarmackInverse | Bool | 0 | Stencil shadow using Carmack-Inverse | ARCHIVE | Engine/Renderer | All | ||
harm_r_lightingModel | Integer | 1 | Lighting model when draw interactions | ARCHIVE | 0, 1, 2, 3 | Engine/Renderer | 1 = Phong(default); 2 = Blinn-Phong; 3 = PBR; 0 = Ambient(no lighting) |
All |
harm_r_specularExponent | Float | 3.0 | Specular exponent in Phong interaction lighting model | ARCHIVE | >= 0.0 | Engine/Renderer | All | |
harm_r_specularExponentBlinnPhong | Float | 12.0 | Specular exponent in Blinn-Phong interaction lighting model | ARCHIVE | >= 0.0 | Engine/Renderer | All | |
harm_r_specularExponentPBR | Float | 5.0 | Specular exponent in PBR interaction lighting model | ARCHIVE | >= 0.0 | Engine/Renderer | All | |
harm_r_normalCorrectionPBR | Float | 1.0 | Vertex normal correction in PBR interaction lighting model | ARCHIVE | [0.0 - 1.0] | Engine/Renderer | 1 = pure using bump texture; 0 = pure using vertex normal; 0.0 - 1.0 = bump texture harm_r_normalCorrectionPBR + vertex normal (1 - harm_r_normalCorrectionPBR) |
All |
r_maxFps | Integer | 0 | Limit maximum FPS. | ARCHIVE | >= 0 | Engine/Renderer | 0 = unlimited | All |
r_screenshotFormat | Integer | 0 | Screenshot format | ARCHIVE | 0, 1, 2, 3, 4 | Engine/Renderer | 0 = TGA (default), 1 = BMP, 2 = PNG, 3 = JPG, 4 = DDS |
All |
r_screenshotJpgQuality | Integer | 75 | Screenshot quality for JPG images | ARCHIVE | [0 - 100] | Engine/Renderer | All | |
r_screenshotPngCompression | Integer | 3 | Compression level when using PNG screenshots | ARCHIVE | [0 - 9] | Engine/Renderer | All | |
r_useShadowMapping | Bool | 0 | use shadow mapping instead of stencil shadows | ARCHIVE | All | Engine/Renderer | All | |
harm_r_shadowMapAlpha | Float | 1.0 | shadow's alpha in shadow mapping | ARCHIVE | [0.0 - 1.0] | Engine/Renderer | All | |
harm_r_shadowMapJitterScale | Float | 2.5 | scale factor for jitter offset | ARCHIVE | Engine/Renderer | All | ||
r_forceShadowMapsOnAlphaTestedSurfaces | Bool | 0 | render performed material shadow in shadow mapping | ARCHIVE, ISSUE | Engine/Renderer | 0 = same shadowing as with stencil shadows, 1 = ignore noshadows for alpha tested materials |
All | |
harm_r_shadowMapLightType | Integer | 0 | debug light type mask in shadow mapping | DEBUG | 0, 1, 2, 3, 4, 5, 6, 7 | Engine/Renderer | 1 = parallel; 2 = point; 4 = spot |
All |
harm_r_shadowMapDepthBuffer | Integer | 0 | render depth to color or depth texture in OpenGLES2.0 | INIT, DEBUG | 0, 1, 2, 3, 4 | Engine/Renderer | 0 = Auto; 1 = depth texture; 2 = color texture's red; 3 = color texture's rgba |
All |
harm_r_shadowMapNonParallelLightUltra | Bool | 0 | non parallel light allow ultra quality shadow map texture | Engine/Renderer | max texture size is 2048x2048 | All | ||
harm_r_shadowMapLod | Integer | -1 | force using shadow map LOD | -1, 0, 1, 2, 3, 4 | Engine/Renderer | -1 = auto | All | |
r_shadowMapFrustumFOV | Float | 90 | oversize FOV for point light side matching | Engine/Renderer | All | |||
harm_r_stencilShadowTranslucent | Bool | 0 | enable translucent shadow in stencil shadow | ARCHIVE | Engine/Renderer | All | ||
harm_r_stencilShadowAlpha | Float | 1.0 | translucent shadow's alpha in stencil shadow | ARCHIVE | [0.0 - 1.0] | Engine/Renderer | All | |
harm_r_stencilShadowCombine | Bool | 0 | combine local and global stencil shadow | ARCHIVE, ISSUE | Engine/Renderer | All | ||
harm_r_stencilShadowSoft | Bool | 0 | enable soft stencil shadow | ARCHIVE | only OpenGLES3.1+ | Engine/Renderer | All | |
harm_r_stencilShadowSoftBias | Float | -1 | soft stencil shadow sampler BIAS | ARCHIVE | Engine/Renderer | -1 to automatic; 0 = disable; positive = value | All | |
harm_r_stencilShadowSoftCopyStencilBuffer | Bool | 0 | copy stencil buffer directly for soft stencil shadow | ARCHIVE | 0 = copy depth buffer and bind and renderer stencil buffer to texture directly 1 = copy stencil buffer to texture directly |
Engine/Renderer | All | |
harm_r_autoAspectRatio | Integer | 1 | automatic setup aspect ratio of view | ARCHIVE | 0, 1, 2 | Engine/Renderer | 0 = manual 1 = force setup r_aspectRatio to -1 2 = automatic setup r_aspectRatio to 0,1,2 by screen size |
Android |
harm_r_renderToolsMultithread | Bool | 0 | Enable render tools debug with GLES in multi-threading | Engine/Renderer | All | |||
r_useETC1 | Bool | 0 | use ETC1 compression | INIT | Engine/Renderer | All | ||
r_useETC1cache | Bool | 0 | use ETC1 compression | INIT | Engine/Renderer | All | ||
r_useDXT | Bool | 0 | use DXT compression if possible | INIT | Engine/Renderer | All | ||
r_useETC2 | Bool | 0 | use ETC2 compression instead of RGBA4444 | INIT | Engine/Renderer | Only for OpenGLES3.0+ | All | |
r_noLight | Bool | 0 | lighting disable hack | INIT | Engine/Renderer | 1 = disable lighting(not allow switch, must setup on command line) | All | |
harm_fs_gameLibPath | String | Setup game dynamic library | ARCHIVE | Engine/Framework | Android | |||
harm_fs_gameLibDir | String | Setup game dynamic library directory path | ARCHIVE | Engine/Framework | Android | |||
harm_com_consoleHistory | Integer | 2 | Save/load console history | ARCHIVE | 0, 1, 2 | Engine/Framework | 0 = disable; 1 = loading in engine initialization, and saving in engine shutdown; 2 = loading in engine initialization, and saving in every e executing |
All |
r_scaleMenusTo43 | Bool | 0 | Scale menus, fullscreen videos and PDA to 4:3 aspect ratio | ARCHIVE | Engine/GUI | All | ||
s_driver | String | AudioTrack | sound driver | ARCHIVE | AudioTrack, OpenSLES | Engine/Sound | sound if without OpenAL on Android | Android |
harm_s_OpenSLESBufferCount | Integer | 3 | Audio buffer count for OpenSLES | ARCHIVE | >= 3 | Engine/Sound | min is 3, only for if without OpenAL and use OpenSLES on Android | Android |
harm_s_useAmplitudeDataOpenAL | Bool | 0 | Use amplitude data on OpenAL | DISABLE, ISSUE | Engine/Sound | It cause large shake | All | |
harm_pm_fullBodyAwareness | Bool | 0 | Enables full-body awareness | ARCHIVE | Game/DOOM3 | All | ||
harm_pm_fullBodyAwarenessOffset | Vector3 String | 0 0 0 | Full-body awareness offset(<forward-offset> <side-offset> <up-offset>) | ARCHIVE | Game/DOOM3 | All | ||
harm_pm_fullBodyAwarenessHeadJoint | String | Head | Set head joint when without head model in full-body awareness | ARCHIVE | Game/DOOM3 | All | ||
harm_pm_fullBodyAwarenessFixed | Bool | 0 | Do not attach view position to head in full-body awareness | ARCHIVE | Game/DOOM3 | All | ||
harm_pm_fullBodyAwarenessHeadVisible | Bool | 0 | Do not suppress head in full-body awareness | ARCHIVE | Game/DOOM3 | All | ||
harm_pm_doubleJump | Bool | 0 | Enable double-jump | ARCHIVE | Game/DOOM3/Rivensin | All | ||
harm_pm_autoForceThirdPerson | Bool | 1 | Force set third person view after game level load end | ARCHIVE | Game/DOOM3/Rivensin | All | ||
harm_pm_preferCrouchViewHeight | Float | 32 | Set prefer crouch view height in Third-Person | ARCHIVE | >= 0 | Game/DOOM3/Rivensin | suggest 32 - 39, less or equals 0 to disable | All |
harm_pm_fullBodyAwareness | Bool | 0 | Enables full-body awareness | ARCHIVE | Game/Quake4 | All | ||
harm_pm_fullBodyAwarenessOffset | Vector3 String | 0 0 0 | Full-body awareness offset(<forward-offset> <side-offset> <up-offset>) | ARCHIVE | Game/Quake4 | All | ||
harm_pm_fullBodyAwarenessHeadJoint | String | head_channel | Set head joint when without head model in full-body awareness | ARCHIVE | Game/Quake4 | All | ||
harm_pm_fullBodyAwarenessFixed | Bool | 0 | Do not attach view position to head in full-body awareness | ARCHIVE | Game/Quake4 | All | ||
harm_pm_fullBodyAwarenessHeadVisible | Bool | 0 | Do not suppress head in full-body awareness | ARCHIVE | Game/Quake4 | All | ||
harm_g_autoGenAASFileInMPGame | Bool | 1 | For bot in Multiplayer-Game, if AAS file load fail and not exists, server can generate AAS file for Multiplayer-Game map automatic | ARCHIVE | Game/Quake4 | All | ||
harm_g_vehicleWalkerMoveNormalize | Bool | 1 | Re-normalize vehicle walker movement | ARCHIVE | Game/Quake4 | Only for smooth jotstick on DIII4A | Android | |
harm_gui_defaultFont | String | chain | Default font name | ARCHIVE | chain, lowpixel, marine, profont, r_strogg, strogg | Engine/Quake4/GUI | It will be available in next running | All |
harm_si_autoFillBots | Bool | 1 | Automatic fill bots after map loaded in multiplayer game | ARCHIVE | >=0 | Game/Quake4 | 0 = disable; other number = bot num | All |
harm_si_botLevel | Integer | 0 | Bot level | ARCHIVE | [0 - 8] | Game/Quake4 | 0 = auto; 1 - 8 = difficult level | All |
harm_g_mutePlayerFootStep | Bool | 0 | Mute player's footstep sound | ARCHIVE | Game/Quake4 | All | ||
harm_pm_fullBodyAwareness | Bool | 0 | Enables full-body awareness | ARCHIVE | Game/Prey | All | ||
harm_pm_fullBodyAwarenessOffset | Vector3 String | 0 0 0 | Full-body awareness offset(<forward-offset> <side-offset> <up-offset>) | ARCHIVE | Game/Prey | All | ||
harm_pm_fullBodyAwarenessHeadJoint | String | neck | Set head joint when without head model in full-body awareness | ARCHIVE | Game/Prey | All | ||
harm_pm_fullBodyAwarenessFixed | Bool | 0 | Do not attach view position to head in full-body awareness | ARCHIVE | Game/Prey | All | ||
harm_pm_fullBodyAwarenessHeadVisible | Bool | 0 | Do not suppress head in full-body awareness | ARCHIVE | Game/Prey | All | ||
harm_ui_translateAlienFont | String | fonts | Setup font name for automatic translate alien font text of GUI |
ARCHIVE | fonts, fonts/menu, "" | Engine/Prey/GUI | empty to disable | All |
harm_ui_translateAlienFontDistance | Float | 200 | Setup max distance of GUI to view origin for enable translate alien font text |
ARCHIVE | Engine/Prey/GUI | 0 = disable; -1 = always; positive: distance value |
All | |
harm_ui_subtitlesTextScale | Float | 0.32 | Subtitles's text scale | ARCHIVE | Engine/Prey/GUI | <= 0 to unset | All | |
harm_r_skipHHBeam | Bool | 0 | Skip beam model render | DEBUG | Engine/Prey/Renderer | All |
Command | Description | Usage | Scope | Remark | Platform |
---|---|---|---|---|---|
exportGLSLShaderSource | export GLSL shader source to filesystem | Engine/Renderer | Only export shaders of using OpenGLES2.0 or OpenGLES3.0 | All | |
printGLSLShaderSource | print internal GLSL shader source | Engine/Renderer | Only print shaders of using OpenGLES2.0 or OpenGLES3.0 | All | |
exportDevShaderSource | export internal original C-String GLSL shader source for developer | Engine/Renderer | Export all shaders of OpenGLES2.0 and OpenGLES3.0 | All | |
reloadGLSLprograms | reloads GLSL programs | Engine/Renderer | All | ||
convertImage | convert image format | Engine/Renderer | All | ||
r_multithread | print multi-threading state | Engine/Renderer | Only for tell user r_multithread is not a cvar | All | |
glConfig | print OpenGL config | Engine/Renderer | print glConfig variable | All | |
botRunAAS | compiles an AAS file for a map for Quake 4 multiplayer-game | Game/Quake4 | Only for generate bot aas file if map has not aas file | All | |
addBot | adds a new bot | Game/Quake4 | need SABotA9 files | All | |
removeBot | removes bot specified by id (0,15) | Game/Quake4 | need SABotA9 files | All | |
addbots | adds multiplayer bots batch | Game/Quake4 | need SABotA9 files | All | |
fillbots | fill bots | Game/Quake4 | need SABotA9 files | All | |
sabot | debug SaBot info | Game/Quake4 | need SABotA9 files | All |
- 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"
- 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(translucent shadow, force combine global shadow and self local shadow).
- _SOFT_STENCIL_SHADOW: soft shadow(OpenGLES3.1+), must defined
_STENCIL_SHADOW_IMPROVE
first.- _MINIZ: Using miniz instead of zlib, using minizip instead of DOOM3's UnZip(Disabled).
- _USING_STB_OGG: Using stb_vorbis instead of libogg and libvorbis(Disabled).
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._RAVEN
, _QUAKE4
is patches macros, find them in DIII4A
source code.raven
folder.
- _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
About
BSE
Because
BSE
not open-source, so I default supply aNULL
implement and a uncompleted but working implement with DOOM3 Particle/Fx system(using macros_RAVEN_FX
marked).About
BOT
Define macro
MOD_BOTS
will compile SABot a7(from DOOM3) mod source code for bot support in multiplayer-game.About
Full body awareness support
Define macro
_MOD_FULL_BODY_AWARENESS
will compile Full-body-awareness support.
_HUMANHEAD
, _PREY
is patches macros, find them in DIII4A
source code.humanhead
folder.
- _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
About
Full body awareness support
Define macro
_MOD_FULL_BODY_AWARENESS
will compile Full-body-awareness support.
__ANDROID__
.
- _OPENSLES: Add OpenSLES support for sound.
- REQUIRE ALSA, zlib, X11, EGL
- ./cmake_linux_build_doom3_quak4_prey.sh
- REQUIRE SDL2, cURL, zlib: vcpkg install SDL2 curl
- Setup your vcpkg.cmake path
- cmake_msvc_build_doom3_quak4_prey.bat
- Copy OpenAL32.dll from vcpkg package path to binary path: vcpkg install OpenAL-Soft
assets/source
folder in APK file.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.
pyyj
Open source licence
DOOM 3 GPLv3 curl The curl license freeyype The FreeType License / The GNU General Public License version 2 flac GNU Free Documentation License / GNU GENERAL PUBLIC LICENSE Version 2 / GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 / BSD-3-Clause license