What's new in TDM 2.08

From The DarkMod Wiki
Jump to navigationJump to search

See the changelog on our bugtracker.

Version 2.08 of The Dark Mod has been released on 2020-07-01.

The Dark Mod 2.08 New Baseline

TDM 2.08 casts off the problems with supporting old OpenGL versions by
modernizing all shaders to OpenGL 3.x Core Context compliant GLSL.

Long in development, many fixes related to Multi-Core, Uncapped FPS, and the 64-bit migration
are now available.

For Linux users, the project can now be compiled via cmake

Many new mapper friendly updates for Rain, Fog, Patrolling AI, and visportals have been added.

For the eye-candy crowd, new Bloom, 64-bit color mode, and SSAO options have been added!

Important CVARS


  • r_postprocess_gamma and r_postprocess_brightness: these cvars have replaced the old r_gamma and r_brightness. Also gamma now has default value "1.2".
  • r_interactionProgram and tdm_ambient_method: this are the current cvars controlling "interaction" and "ambient" programs. These settings were previously available in Advanced video settings, but they are no longer visible in menu. Only change this for some debugging/investigation purposes.
  • r_uniformTransforms: setting to 0 is known to fix severe graphical issues on Intel HD 3000; please leave this as default, and let developers know if your machine needs this to run TDM properly.


  • r_glCoreProfile: default value 2 forces "Core profile" OpenGL context, while value 0 says to create "Compatibility profile". Should have no visual impact. Only takes effect during engine initialization. Only change this is someone suspects that Core profile breaks something.
  • r_testSpecularFix: this controls whether specular color or diffuse collor is used to modulate specular light term. Should be used to see what was fixed or broken by the corresponding change. Set to -1 to make game switch back and forth between old and new behavior every second.
  • r_ssao_*: several cvars with this prefix can be used to tweak SSAO implementation. Although ideally you shouldn't have to touch them.
  • r_bloom*: several cvars with this prefix can be used to tweak Bloom implementation. Although ideally you shouldn't have to touch them.
  • r_tonemap: enable\disable tonemap and bloom effects (which depend on tone mapping).
  • r_usePersistentMapping, r_useBaseVertex: use new graphical features for potentially faster rendering. Should not touch these unless it is suspected that one of them causes a problem.
  • con_legacyfont: toggle between the new and old command console font

Experimental Graphics

  • image_useNormalCompression = 2: Initial support for RGTC compression. Similar to AMD 3Dc or D3D BC5.
Not fully working but fairly complete. Needs new GLSL based materials for water\glass or other complex ARB materials.
  • r_useParallelAddModels: an experimental cvar to further parallelize a considerable part of the renderer.
Should slightly increase FPS in many cases, but can cause all sort of problems.
  • r_useMultiDraw = 0 Do not enable, the code was reverted in 2.08 beta

Swimming variation:

  • pm_swimspeed_variation
  • pm_swimspeed_frequency


  • AI can now be directly instructed to stop patrolling (easy method)
  • AI no longer sleep or sit in strange places due to path obstructions
  • AI no longer instantly lose the player when the player moves to darkness above them



Cabalistic has finally added the much requested SSAO feature to TDM
Using a method called Scalable Ambient Obscurance, now areas with
flat ambient lighting come alive with new detail!

  • Shaders are now all GLSL OpenGL 3.x Core Context compliant
  • A new (improved) Bloom shader has been integrated
  • Brightness and Gamma operations are now done via shaders.
    TDM will no longer cause issues with Desktop brightness.
  • Legacy PostProcess has been replaced with integrated Tone Mapping and Gamma Correction
  • 64-bit color mode reduces banding in soft particles and fog effects
  • "Borderless window" mode integrates a bit better with OS than "fullscreen" mode (Windows-only)
  • Fixed several bugs with non-default Render Scale
  • Fixed bugs with handling water brushes, especially with complex shapes.
  • Fixed MD3 and liquid models. Animated water should work properly now.
  • Initial support for parallax corrected cubemap rendering


  • Static collision detection for rain particles
  • Better rain particles, old rain materials deprecated
  • New way to tweak rendering order of translucent surfaces: drawSortOffset spawnarg
  • Easy-to-use parallel light emanating from the sky
  • Spectrum spawnargs restrict light interaction depending on spectrum values of lights and entities
  • X-ray subview changes appearance (skin_xray) of specified entities when seen behind this surface
  • fogAlpha keywords allows mappers to specify whether alpha materials receive fog
  • "sort last" allows soft particles and other effects to render over heathaze or other postprocess shaders


  • New swim sounds
  • New mantle sounds
  • New Rope and Ladder slide sounds
  • Fixes to sound defs with dashes in the names
  • New arrow bounce sound fixes
  • AI "Help!" barks fixed


TDM 2.08 goes further with the process to modernize coding standards in TDM.

ALL legacy OpenGL functions have been replaced with modern techniques.
ARB Assembly shaders are gone and have been replaced by GLSL
C++ Library management and compiling have been improved. cmake compiling on Linux too!

Finally, performance optimizations have been applied to the rendering framework,
game code, and code base in general.

  • Precision fixes: dmap and collision-related gameplay are affected.
  • Fixed several bugs in visportals handling in dmap. This affects all existing maps, so please read Visportal Wiki
  • Fixed bug in stencil shadows computation, which was introduced in 2.07 (#5106).
It affects all parallel and projected lights when mapper runs dmap on a CPU with AVX.
It is strongly recommended to re-dmap all FMs dmapped with 2.07 if they contain such lights.
  • Added dmap warnings about rotation-hacked models, fixed culling issue (#4970).
  • Moved closer to Doom 3 BFG Vertex Buffer management (better multi-core stability)
  • Reduced state changes and draw calls
  • More reliable game modelling with "Uncap FPS" when FPS is low (fixes rope bug)


Many quality textures, models, and materials were added by both Team members and
community contributors over the 2.07 to 2.08 cycle.

  • New Beastmen characters (Kingsal)
  • New zombie characters (Springheel)
  • New "Standalone" Werebeast (Diego, Springheel, Obsttorte & Destined )
  • New environmental models (Springheel & Epifire)
  • Many more Dragofer models incorporated (Dragofer)
  • Atheran's covered furniture models have been fixed and added (Dragofer)


  • New Inventory menu theme
  • SSAO Setting
  • Removed legacy Ambient and Interaction settings
  • Updated Bloom settings
  • Max FPS setting
  • Optional new console font


  • Further mantling fixes for running and jumping
  • Swimming now has an undulating animation
  • Shouldering now has an animation
  • Ropes no longer become unstable with low FPS and uncapped FPS set and swinging has been improved
  • It is easier to drop and position ragdolls
  • Mantling no longer causes geometry clip bugs
  • Rope and Ladder slide operations are safer: While looking at the climbable press and hold crouch to slide down the climbable without taking damage
  • Now keybindings are saved into separate file DarkmodKeybinds.cfg
  • Linux can use more keys in keybinds
  • Keybinds are now stored in a separate file so you don't have to reconfigure them every time TDM is updated


  • Turkish Translation (Outsider One)

See also