What's new in TDM 2.13

From The DarkMod Wiki
Jump to navigationJump to search
Version 2.13 of The Dark Mod has been released on 2025-03-23.

See the changelog on our bugtracker. Source Revision 10946



The Dark Mod 2.13 Enhanced AI and GUI Edition!



A major focus for The Dark Mod 2.13 development cycle was improving how AI see bodies, loot, and other non-player objects.
While our lightgem system is possibly one of the most effective ways to calculate player visibility, it would not be practical
to give all in-game objects, ragdolls, etc their own lightgem calculations. As such, we have historically used a simplified and less
accurate design to determine visibility of non-player items. With 2.13 we reach near parity to the accuracy of the lightgem due to
an improved stochastic sampling system for all objects that an AI can possibly see. ( Thanks stgatilov )

Now that the AI are more perceptive, why not dull them down again? That is exactly what Amadeus decided and he worked tirelessly on figuring
how to make the "drunken" AI work more reliably and easier to implement for mission authors. Now we have both more and less perceptive AI!

The long requested Parallax Map feature is now available in TDM! While it was possible to offer this before Doom 3 source was released,
it is quite an expensive effect. With POM integrated into TDM it is now optimized enough for production use. WellingtonCrab has already
created a large set of POM textures ready for inclusion in TDM 2.13 missions!

Finally, the TDM community restarted it's perennial debate about how mission names should be displayed and sorted in the mission list.
Previously, there was a compromise where the missions would display naturally but would be sorted ignoring "the" and "a" in the title.
This was the status quo for quite some time but players have emerged to request that we revert to "Mission Name, The" in the GUI.
Daft Mugi solved this by creating a toggle that allows either sorting style. He also made the whole debate pretty much moot by implementing
a search window so you can easily find the desired mission by typing all or part of it's name! Mission management is has never been smoother!


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







Important CVARS

PLAYER


g_lightQuotientAlgo 0 ( revert to the old AI vision system )

g_showLightQuotient and g_les* --- can be used for debugging of the new system.


TROUBLESHOOTING


jobs_numThreadsRealtime 2 ( force 2 threads )

r_subviewMaxDepth 1 ( no subview recursion )

r_skipParallax 1 ( disable POM effect )

r_envmapBumpyBehavior 0 ( revert to old environment map behavior )

s_overrideParmsMode --- selects the behavior of zero value in sound emitter parameters (0 for the old behavior, 1 for the new one).

r_materialNewParse --- how are material stages grouped into interaction groups (0 for the old behavior, 1 for the new one).

s_levelLoadParallel 0 --- disables parallel loading of sound samples.

image_downSizeAll 0 --- Applies to all texture types ( diffuse, bump, specular ). 0 = Full texture quality, anything above 0 counts as the texture dimensions ( eg. 256 = 256-by-256 )


Graphics

  • Parallax Occlusion Mapping support ( See thread )
  • Environment mapped textures with bumpmaps now properly respond to stage keywords ( See thread )
  • Nested subviews (mirrors, remotes, sky, etc.) now work properly (6434).
  • Fixed rendering of volumetric light and particles in X-ray views and mirrors (6538).
  • Shadow Map specific features are enabled by default in "Maps" mode ( alpha tested shadows, etc)
  • Minor change in shadow map acne / blur radius computation (6571).
  • Refactored the "HeatHaze" shaders so that one shader can produce multiple variations via parameters
  • Disabled texture compression for light images: falloff and IBL cubemaps.
  • Fixed light culling bug on elongated models with non-identity rotation (6557).


AI

  • AI now have a more accurate vision system ( see thread )
  • Major improvements in drunk AIs: setting "drunk" spawnarg is enough now; new sounds, animation improvements, greetings, etc. (6507).
  • Fixed drunk women AI (5047).


Mapping

  • Added improved editor images for textures/darkmod/metal/detailed materials (6575)
  • Added editor spawnarg for "parallelsky" (6496)
  • Added "particle collision-ready" weather materials (6545)
  • Added min/max builtin functions to game scripts.
  • Added script events about gravity, health, in-air movement.
  • Added script events setUserBy, setFrobActionScript.
  • Added "distance_follower_reached", "distance_follower_catchup_distance" and "distance_follower_stop_running" spawnargs allowing mappers to customize AI follower distances (6552)
  • Added "def_vocal_set_drunk" spawnarg to allow mappers to specify which drunk vocal set an AI should use (6507).
  • Added "idle_bark_interval_max_drunk" "idle_bark_interval_min_drunk" spawnargs allowing mappers to customize drunk bark intervals (6507).
  • Added "snd_greeting_generic_drunk" spawnarg for drunk AI (6507)
  • Added cm_allocator debug cvar (6505).
  • Added r_lockView debug rendering cvar ( thread ).
  • Added proper dmap error message if map file contains an entity before worldspawn.
  • Fixed dmap making almost axis-aligned visportals buggy (6480)


Coding

  • Auto-detect number of parallel threads to use in jobs system (6503)
  • Vsync now properly works on Linux
  • FPS limit code has been improved
  • Level loading is further accelerated with better utilization of multicore CPUs and parallel loading of sound samples.
  • CVAR system has been made fully thread safe
  • Missions can now safely override CVAR values via config or script operations
  • The system for third-party dependencies has been moved to Conan 2 and extended. Now the CI server regularly builds TDM and its dependencies completely from source code.
  • Deleted a lot of old rendering code under useNewRenderPasses + some cleanup (6271).
  • Core missions are now stored uncompressed in assets SVN (6498).
  • Optimization: don't render interaction groups with black diffuse & specular.


Assets

  • Added several parallax materials, as well as their non-parallax equivalents
  • Added 17 modular industrial pipe models from Polyhaven
  • Added combined lampion light entity
  • Added several factory_machines models (6537)
  • Added textures/darkmod/decals/distant_cityscape_01_tiling material (6487)
  • Added missing normalmap to stainglass_saint_03 (6521)
  • Added missing textures for rough_boards_scratched material (4157)
  • Added ornate wood/panels/mary_panel texture
  • Added ornate stone/sculpted/girard_relief texture
  • Added colored versions of gen3 environment cubemaps for metallic materials.
  • Added new environment cubemaps: sparkles, studio, blurry.
  • Added skybox materials clouds3 and clouds_4_small + prefabs.
  • Added new smoking animation.
  • Added praying animation.
  • Fixed several issues with largesquare01 window textures (6579)
  • Fixed broken material for stove_open02.lwo (6580)
  • Fixed floating decals for ext_timber01_window01.lwo (5782)
  • Fixed gaps in mesh and UV for generator_big.lwo and warehouse_front_doorframe.lwo (6581)
  • Fixed broken UV for longbanner_ragged.lwo (6573)
  • Fixed issues with newspaper01.lwo (6568)
  • Fixed normal map of ornament_relief_mold_eaglelshield (6585).
  • Fixed handle_curved02_latch prefab, deleted pull_handle (6286).
  • Improved "scepter" material ( thread ).



Gameplay and Interaction

  • Updated Training Mission with Vine Arrow tutorial, graphics enhancements, and EFX Reverb
  • Added entityDef archery_target01 with hit detection, it is now used in Training Mission.
  • Added gas mine playertool
  • Added slowfall potion
  • Added invisibility potion by Kingsal
  • Fixed frob interaction with candle holder that's initially extinguished (6577).
  • Improved lightgem calculations while leaning ( post ).


GUIs

  • Massive improvements in mission select & download menus, added search (6339 6570 6449).
  • Loading progress bar has been re-implemented to reflect all the loading optimizations of the past years.
  • Mission Notes ( readme data ) can now be scrolled
  • Mission Debriefing feature ( See thread )
  • Stone font improvements, in spacing, stray mark elimination, and character set coverage
  • Toughest-to-read characters in FM fonts Medusa, Treasure Map, Camberic improved
  • Reduced font size of mission list, which allows to see more missions and longer names
  • Texture Quality option for lowend players
  • Added menu options to disable volumetric lights and parallax mapping.
  • Added TDM version + engine revision in lower-left corner of main menu.
  • Increased size of secret message overlay GUI.
  • Fixed map immobilization not applied if opening map with inv use key.
  • Forbid adding missions to download when download is in progress (6368).
  • Changed install/uninstall mission to select/deselect in main menu.


Sound

  • EFX reverb presets can now be set on location entities using the efx_preset spawnarg, rather than requiring an .efx file (6273).
  • Fixed sleeping sounds for drunk AIs (6539), and other sounds for them too (6507).
  • Added improved footstep sounds for broken glass and ice material surfaces (6551).
  • Fixed water_medium_running soundshader (5384)
  • Subtitles volume estimation is much better now, subtitles for too quiet sounds are no longer shown.
  • Visual appearance of the subtitles font has been greatly improved.
  • Added two drunk AI vocalsets voiced by Goldwell and Bikerdude: Drunk Moor and Drunk Jack


Translation

  • Nolok added his Catalan translation to the menus


See also