What's new in TDM 2.12

From The DarkMod Wiki
Revision as of 02:53, 25 February 2024 by Nbohr1more (talk | contribs) (→‎Sound)
Jump to navigationJump to search
Version 2.12 of The Dark Mod has not been released yet.

See the roadmap on our bugtracker.



The Dark Mod 2.12

TDM 2.12 performance







Important CVARS

PLAYER


tdm_holdfrob_* --- set of variables that affect the reworked frob controls.

tdm_autosearch_bodies --- automatically take items attached to unconscious bodies on frob.

pm_headbob_mod, pm_lean_* --- allows to reduce some player movements.

HELPER


tdm_show_viewpos, screenshot_viewpos --- embedding viewpos into screenshot for better bug reports.

tdm_open_doors, tdm_close_doors --- cheats to make mission testing faster.

TROUBLESHOOTING


r_useLightPortalFlow, r_useLightPortalFlowCulling --- improved light-entity interaction culling. Most major effect on shadows. This cvar is responsible for causing light leaks with stencil shadows, please report all of them! (thread)

r_useNewRenderPasses --- selects from several renderer backend code paths. This is similar to the old r_useNewBackend cvar which has been deleted.

r_shadowMapSinglePass --- faster code path for filling shadow maps.

r_useEntityScissors, r_animationBounds --- improved bounds estimates for rendered entities.

r_postprocess_dither --- new dithering in tonemap postprocessing for less color banding.

r_shadowMapAlphaTested --- experimental mode for alpha-tested surfaces with shadow maps, where transparent areas of texture don't cast shadows.

s_realTimeDecoding --- selects code path for decoding sound samples.

tdm_subtitles_* --- many cvars for subtitle improvements (location cue, duration extension, debug text).


Graphics

  • Optimized generation of light-entity interactions in rendering frontend. Also greatly optimized shadow processing, especially for moving lights. Unfortunately, many existing missions are not compatible with these changes, so you might see light leaking through walls (mainly with stencil shadows). Please report all such cases, we'll apply workaround on case by case basis (thread).
  • The "old" and "new" rendering backends are finally merged into one. It is as nice to program as the new backend, and as old-fashioned and reliable as the old backend. Single-pass shadow maps enabled by default and now respect noselfshadow.
  • Materials with polygonoffset now interact with lights. So static decals can have bumpmap and specular lighting. Note however: dynamic decals still don't interact with lights.
  • Revised parallelSky lights and marked shadowing parallel lights as deprecated (thread).
  • PNG image format now behaves equally to other supported formats. In particular, it is not required to explicitly specify its extension, and it can be referenced directly in GUI code.
  • Added functions min/max to material expressions, which can be useful for clamping.
  • Fixed minor culling bugs on animated entities and enabled entity scissors by default.
  • Reduced color banding for fog with some dithering at tonemapping stage.
  • Fixed and revised underwater "double vision" effect (6300).
  • Finally our C++ code can compress and decompress all texture formats we use, meaning that we no longer depend on occasionally buggy/slow vendor implementations.


AI

  • Added automatic turrets, to be combined with security cameras (Thread).
  • Fixed some issues with moor AI (6345).


Mapping

  • Now light entities support noPortalFog spawnarg (6282).
  • Extended dmap diagnostics to info_portalSettings, improved editor descriptions (6224).
  • r_showportals 2 is easier to understand now
  • Added "forceShadowBehindOpaque" hack to workaround shadow leaks in old missions (5172).
  • Can set spawnarg "douse 0" on damageDef to not extinguish lights from splash damage.
  • Added setFrobMaster script event.
  • Added script-based stim type, which triggers only when stimEmit script event is called.
  • Added on/off script events to func_emitter entity.
  • Added setSmoke script event to change particle decl for a func_smoke.
  • Added hasInvItem script event to check if player has some item.
  • Added launchGuided script event to start guided projectiles.
  • Added getInterceptTime script event for shooting projectile and running target.
  • Added "bounce_sound_min|max_velocity" spawnargs to control projectile bounce sounds.
  • Added "postbounce_*" spawnargs to change projectile properties after bounce.
  • Added mission.cfg as a temporary way for mission to override non-archived cvars (5453).

Coding

  • Upgraded libpng and rebuilt third-party packages.
  • Fixed some uninitialized values, float overflows and NaNs across the code.
  • Now several script addons can coexist and work independently (thread).
  • Default value of com_maxfps increased from 144 to 300.
  • Improved idEntityPtr, fixed some warnings.
  • Simplified flee script event, supported fleeing from non-actor entity and fleeFromPoint.
  • CFrobLock now supports script events: Lock, Unlock, ToggleLock, IsLocked, IsPickable (6329).
  • Added cvar to modify all head bobbing settings (6310).


Assets

  • Added automatic turrets, to be combined with security cameras (Thread).
  • Added more covered furniture models (6289).
  • Added wall models from Seeking Lady Leicester (6293).
  • New and fixed versions of atdm:lamp_electric_square_3_lit_unattached (6315).
  • Fixed UV map on Stove models (6312).
  • Added forest models from The Valley abandoned mission.
  • Tweaked fogging of health potion.


Gameplay

  • Frob controls have been reworked completely. Previously players were annoyed by having to do three presses to extinguish a light. Also, some player didn't even know that bodies could be shouldered and were limited with dragging bodies. Now simply clicking the frob button performs the action player needs most of the time, and pressing-and-holding the same button performs alternative actions like dragging bodies and extinguishing candles (thread).
  • Several aspects of mantling has been improved: overhead mantling has become faster, mantling over low obstacles is allowed while carrying an item or a body. Also it is possible to switch weapon while being on rope/ladder or mantling. Pressing crouch button on rope/ladder now starts slide-down immediately.
  • Some aspects of gameplay can be further simplified. Auto-search bodies is for players who don't want to waste time searching for keys and purses on guard bodies. Lockpicking "Auto" difficulty now indeed trivializes lockpicking (thread).
  • Leaning animation has been improved with lower head tilt (thread).
  • More settings to reduce camera bobbing/rolling/shaking, which is good for players who feel motion sickness from default camera animations.
  • Added vine arrows and EFX reverb to training mission (4352).
  • Optimized and fixed some issues with Tears of Saint Lucia


GUIs

  • Subtitles have been added to all AI barks ( Courtesy of Geeps with a few additions by Datiswous and MirceaKitsune )
  • Further improvements of subtitles: revised location and font to avoid overlapping with other GUI elements, added directional cue, better slot allocation. Each subtitle is now displayed for at least one second even if the sound is very short.
  • Supported -durationExtend for inline subtitles (6262).
  • Fixed text & background alignment in mission lists (6337)
  • Support fonts aspect ratio correction (6283).
  • Added 30 FPS option to max FPS selection in settings menu.


Sound

  • Fixed bug that stereo sample plays for 2x duration due to length confusion.
  • Fixed WAV sounds playing in main menu, all sounds are streaming now (6330)
  • Fixed wench AI sounds (6284).
  • Player footstep sounds have been rebalanced. Metal and water sounds were especially painful previously.
  • Added EFX Reverb to the Training Mission


See also