What's new in TDM 2.14

From The DarkMod Wiki
Jump to navigationJump to search
Version 2.14 of The Dark Mod has been released on 2026-03-20.

See the changelog on our bugtracker. Source Revision 17505



The Dark Mod 2.14 Stability Release



A major focus for The Dark Mod 2.14 development cycle was fixing lingering issues seen with some of the larger 2.13 changes.
The new AI visibility feature in 2.13 was found to have a few issues with performance and object awareness that were not seen in 2.13 beta testing
so many players reverted settings to the 2.12 mode. Now the feature is working better than ever with improved performance!

A few longstanding major bugs were finally solved!
Frequent saving on large missions no longer results in AI getting stuck in walls or obstructions.
The entity "suicide" script meant to cleanup unused objects has been fixed or removed from AI and Weapon animation cycles where it was causing random crashes.
Item Inventory icons no longer randomly show as stacked on top of each other in the HUD

We have improved our tone-mapping shaders to have a more modern ACES style approach with less blowout at the upper illumination ranges.
Tone-mapping is now only applied to the 3D engine so the menus remain legible regardless of what extremity the user configures in the game.
( We had this fix in 2.08 but it was reverted due to other bugs \ issues that it caused. Welcome back! )

Non-Elite AI can be knocked out after a flashbomb blinds them!

The LOD menu has been given a new FULL option which disables all distance optimizations including ones not controlled by the LOD system.
This is a pretty punishing setting on some missions but is offered for players who want a no compromises visual option if they have the hardware.
It also serves as a debug option for visual anomalies are not LOD related and it fixes the brief portalsky bug when exiting underwater while swimming

Guard animations have been improved to better handle transition states. Also a new "Old Man" AI has been added!

Menu GUI's can now render a snapshot of the last in-game 3D screen. This is used to great effect in the new mission "Displacement"

More Dhewm3 code has been ported into TDM and the Dhewm3 project maintainer has been actively involved in TDM development.
Of note (other than some code stability changes), MD3 and MD5 animations fixes and improvements have been incorporated.

Projected Decals are now light interactive! Footprints, blood splats, projectile holes, all can have normalmaps and lighting interactions!

You can now enable SSAO in subviews such as mirrors / camera views so they will look more accurate. ( r_ssao_insubview )

OPTIMIZATIONS
Further optimization to the parallel model rendering code have been introduced. Now the operations broken into chunks and load-balanced better.
More demanding missions like "Scroll of Remembrance" should run better for most players now.
Mirror and Remote Render surfaces can now have lower resolution rendering ( this optimization was broken some time after 2.05 )
Portal distance closure now follows the LOD menu distance settings


See our Feature Discuss Threads for more details about substantial changes.







Important CVARS

PLAYER


r_ssao_insubview ( can enable ambient occlusion in subviews (mirrors, remotes, etc.) )

tdm_frob_item_selects_item ( allows to not select an item immediately after player picks it up. )

r_decalInteractive ( whether projected decals are lit with light interactions. Set to 0 to disable all interactions with lights for decals, to restore behavior of 2.13.)


TROUBLESHOOTING


MAJOR

g_lightQuotientAlgo ( which light estimate system is used by AI. It has been changed from "1" (hybrid) to "2" (only use the new system). If you suspect you have some problems with light evaluation by AI, can try to set it back to 1 or 0.)

r_decalInteractive ( whether projected decals are lit with light interactions. Set to 0 to disable all interactions with lights for decals, to restore behavior of 2.13. )

g_newSmokeParticles ( whether use the new system for emitting smoke particles. Set to 0 to switch the old smoke emitting code.)


MINOR

r_useParallelAddModels ( controls internal parallelization in renderer frontend, also known as "Frontend Acceleration" in the main menu. If you want to disable the new dynamic scheduling, then you can change it from "2" to "1". A related cvar for tweaking is r_parallelAddModelsChunk. )

r_copyRenderUseScissor, r_remoteLimitResolutionByScreenSize ( control new subview optimizations. )

r_useCachedDecalModels ( control optimization in interactible decals implementation. )



Graphics

  • New ACES Style Tone-Mapping with less blowout. Tone-mapping is no longer applied to menu GUIs.
  • New FULL LOD mode, with all distance based optimizations disabled
  • Mirrors and Remote Renders can be rendered with lower resolution for performance
  • Projected Decals are light interactive now
  • Func Portals now respect LOD distance settings
  • SSAO can be applied to subviews
  • Fixed Linux crash when material with custom GLSL shader is loaded during gameplay
  • Fixed shadow culling bug with volumetric lights
  • Fixed shadow maps bug when light only lights noselfshadow and translucent surfaces.
  • Fixed overbright surfaces in fog in some module models



AI

  • AI ( non-elite ) can be knocked out after a flashbomb
  • AI no longer get stuck in map geometry due to frequent saving
  • AI should now notice absence and blood markers again
  • Fixed backface shadows for parallel lights in AI light estimate system



Mapping

  • Now the engine defines macros TDM_VERSION/TDM_REVISION/TDM_VERSION_FULL in game scripts and GUI scripts. This adds more flexibility in making a mission compatible with several versions of the game despite occasional breaking changes
  • The smoke particle generation system was reimplemented, fixing several discrepancies with particle generation for particle models and particle deform. In particular, it is now possible to use proper cycling, although this needs use_cycles spawnarg
  • Dmap should no longer leave some files from the previous compilation, which used to cause confusion previously
  • Removed collision from func_cameraTarget
  • Increased radius of AAS visualization tool.
  • Added editor description for efx_preset spawnarg.
  • Now it is possible to use larger mesh models... at least static ones.


Coding

  • ParallelAddModels now has a chunking feature and load balances work better
  • MD3 and MD5 Animation fixes and improvements ( MD5 skin scale effect, MD3 Shadows ) from the Dhewm3 project
  • Crash fixes and code hardening ported from Dhewm3
  • Fixed major issues in using OBJ meshes from Blender.
  • Fixed promoting mission override into user value for some cvars
  • Cvars from mission.cfg converted into mission overrides, even outside gameplay
  • Fixed crash from having many localization packs
  • Fixed too many decals spawned by brittle fracture sometimes
  • Fixed saving/loading the special liquid model.
  • Added sys.unsetcvar script event
  • Some stim/response timer now uses game time instead of CPU clocks.



Assets

See:

https://forums.thedarkmod.com/index.php?/topic/23080-214-new-and-updated-assets/




GUIs

  • The last game frame can now be used in menu guis
  • Inventory icons no longer encounter random stacking visuals in the HUD
  • Tone-mapping no longer affects menus
  • Various campaign fixes: GUI of wrong mission being shown, next mission not starting if some menu screens were disabled, shortsword name in tdm_campaign.def



Sound

  • Fixed dynamically started looping sounds with leadin, including main menu ones
  • OpenAL build recipe adjusted for CMake 4
  • Proper sounds will be played on certain frames where idle animations replacement were used.


Translation

  • Font improvements for Cyrillic and Romanian character support
  • Font visuals and formatting been improved


See also