Not supported
- MegaTexture
- Collision testing multi-threading
- All ARB/CG type shader source
- GUIs on model
- Some shaders
- [-] Environment lighting
- [-] Occlusion query
- [-] ASCII file parsing(if binary file missing)
- [-] Atmosphere rendering
- Cinematic and bik video
- ...
Bugs
- [-] Postprocess view effect
- Some vehicles AAS error
- BSE
- Fonts on GUIs
- OK in game command GUIs by mouse clicking
- Multiplayer game
- Formatter text
- ...
Changes
- All dds files decoding by software for OpenGLES
- Always using DOOM3's interaction shader
- Playing with bots only
- Using command map texture instead of terrain mega texture: megatextures.mtr megatextures_sdk.mtr
- Only support GLSL(100 es/300 es) shader source: renderprogs
Game SDK
IDA Hex-ray Decompiled
- idImage::ImageProgramStringToCompressedFileName
- R_LoadHalfSphereToCube
- idAASFileLocal::LinkReachability
- idAASFileLocal::FlagNoPushAreas
- idAASFileLocal::PointReachableAreaNum
- idAASFileLocal::BoundsReachableAreaNum_r
- idAASFileLocal::BoundsReachableAreaNum
- idAASFileLocal::PushPointIntoArea
- idAASFileLocal::TraceFloor
- idAASFileLocal::SplitFloorWinding
- idAASFileLocal::GetFloorEdgeSplitPoints
- idAASFileLocal::GetFloorDistance
- idAASFileLocal::BoundsBestReachableAreaNum
- idAASFileLocal::PointBestReachableAreaNum
- idAASFileLocal::Trace
- idAASFileLocal::BoundsReachableAreaNum_r
- idAASFileLocal::TraceHeight
- sdDeclAmbientCubeMap::ScaleCubeMapColor
- sdDeclAmbientCubeMap::BakeLight
- sdDeclAmbientCubeMap::BakeGradientMap
- sdDeclAmbientCubeMap::AmbientCubeMapImage
- sdDeclAmbientCubeMap::LightCubeMapImage
- sdDeclAmbientCubeMap::SpecularCubeMapImage
Raven BSE
GPL
Game resource
| Extension | Origin extension | Description | Class | Structure |
|---|---|---|---|---|
| aasb | aas_player/aas_vehicle | Area Awareness System | idAASFileLocal | aasb |
| cacheb | Global parser token cache | cacheb | ||
| clustb | Model clust for map terrain. e.g. tree, grass | clustb | ||
| cmb | cm | Map collision model | idCollisionModelManagerLocal | cmb |
| declb | def/gui... | Compressed Decl(All idDecl) | idDeclManagerLocal | declb |
| md5b | md5mesh | MD5Mesh v11 model(include LODs, GUI surfaces) | idRenderModelMD5 | md5b |
| mega | mega | Mega texture | mega | |
| modelb | lwo/ase | Static model | idRenderModelStatic | modelb |
| procb | proc | Processed map render model | idRenderWorldLocal | procb |
| CVar | Type | Default | Description | Flag | Range | Scope | Remark | Platform |
|---|---|---|---|---|---|---|---|---|
| harm_r_fontDefaultScale | Float | 0.27 | default font scale in GUIs | ARCHIVE | Engine/Renderer | All | ||
| harm_r_clearPostprocessBuffer | Bool | 0 | clear postprocess buffer image on every draw | ARCHIVE | Engine/Renderer | All | ||
| harm_r_printShaderSource | Bool | 0 | print external converted shader source | ARCHIVE | Engine/Renderer | All | ||
| harm_r_skipAreaAmbient | Bool | 0 | skip areas ambient rendering before draw interactions | Engine/Renderer | All | |||
| harm_r_builtinAreaAmbient | Bool | 0 | using built-in global illumination for area ambient rendering | Engine/Renderer | All | |||
| harm_r_areaAmbientScale | Float | 1.0 | area ambient scale | ARCHIVE | Engine/Renderer | All | ||
| harm_r_areaAmbientAlpha | Float | 1.0 | area ambient alpha | ARCHIVE | Engine/Renderer | All | ||
| harm_r_skipImposter | Bool | 0 | skip imposter rendering for static model | Engine/Renderer | All | |||
| harm_r_skipVisDistCheck | Bool | 0 | skip entity visible distance check | Engine/Renderer | All | |||
| harm_r_visDistCheckType | Integer | 0 | entity visible distance check type | 0 = bounds, 1 = origin, 2 = sphere | Engine/Renderer | All | ||
| harm_r_drawVisDistCheck | Bool | 0 | draw entity visible distance check | Engine/Renderer | All | |||
| harm_r_visDistLightFallOff | Float | 0.2 | light fade by view distance | ARCHIVE | Engine/Renderer | All | ||
| harm_r_visDistEntityFallOff | Float | 0.2 | entity fade by view distance | ARCHIVE | Engine/Renderer | All | ||
| harm_r_skipVisDistFade | Bool | 0 | skip visible distance fade | ARCHIVE | Engine/Renderer | All | ||
| harm_com_autoLogin | String | login username automatic when game start | ARCHIVE | Engine/Framework | All |
| Command | Description | Usage | Scope | Remark | Platform |
|---|---|---|---|---|---|
| loadRenderProgram | load external render program force | Engine/Renderer | All | ||
| listRenderPrograms | list loaded external render program | Engine/Renderer | All | ||
| reloadRenderPrograms | reload external render program | Engine/Renderer | All | ||
| imageProgramStringToCompressedFileName | print compressed image name from raw image program | Engine/Renderer | All | ||
| declbToText | convert declb to text files | Engine/Framework | All | ||
| exportDeclSource | export decl source text files | Engine/Framework | All | ||
| exportDeclExpandSource | export decl expand source text files | Engine/Framework | All | ||
| exportRenderPrograms | export all render programs | Engine/Framework | All |
CMake
cmake -DBUILD_ETQW=ON -DBUILD_D3=OFF -DBUILD_Q4=OFF -DBUILD_PREY=OFF -DTOOLS=OFF -DDEDICATED=OFF CMakeLists.txt
Defined macros
- _SPLASHDAMAGE: patches for engine
- _ETQW: patches for game
- _MODEL_OBJ: obj model support
Run
- Put
base/renderprogs,base/materialsinto gamebasefolder(etqwbaseon Android). - Execute
ETQW +set r_multithread 0 +set r_useShadowMapping 1 +set r_forceShadowMapsOnAlphaTestedSurfaces 1 +set si_pure 0 +set net_serverAllowServerMod 1 +set s_useOpenAL 1.