What's new in TDM 2.10: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
Line 37: Line 37:


'''r_volumetricSamples''', '''r_volumetricDither''' --- quality settings of the new volumetric lights.<br><br>
'''r_volumetricSamples''', '''r_volumetricDither''' --- quality settings of the new volumetric lights.<br><br>
'''tdm_show_menu_tooltips''' --- can disable tooptips in the main menu.<br>
'''tdm_show_menu_tooltips''' --- can disable tooptips in the main menu.<br><br>
'''r_frobOutlinePreset''' --- a command to switch between different preset styles of frob-highlight outlines. It modifies various outline-related cvars, setting them to predefined values.  
'''r_frobOutlinePreset''' --- a command to switch between different preset styles of frob-highlight outlines. It modifies various outline-related cvars, setting them to predefined values.  
<br>You can later adjust them individually.<br>
<br>You can later adjust them individually.<br>

Revision as of 23:41, 3 February 2022

Version 2.10 of The Dark Mod has not been released yet.

See the roadmap on our bugtracker.

The Dark Mod 2.10 Load Time Improvement Release

TDM 2.10 addresses one of the oldest complaints about the project "Load Times".

A lot of effort was put into optimizing loading times.

  • It includes: better integration of decompression, multi-threading, immutable texture storage, handwritten normal map compression and mipmap generation, removing artificial delays.
  • As the result, we even had to modify loading screens of some missions, because allocated 10% of loading time was no longer enough for a player to read the hint


Generic performance improvements were done too

  • Most importantly, we fixed performance regressions since 2.07: rendering static geometry (5598) and soft stencil shadows with anti-aliasing.
  • This hardly makes a difference, but it is nice to know that TDM can now use AVX instructions on Linux builds too.


Volumetric lights can now be used on projected lights ( also known as "God Rays" )

  • Unlike adding fake translucent geometry, the real volumetric lights automatically match their source light, including light volume geometry, projection & falloff texture, and even shadows.


We made some changes to window / input systems.

  • Most importantly, Linux build now relies on GLFW library to create window and handle keyboard / mouse, so a lot of the issues with OS integration on Linux should go away.
  • On the Windows side, some minor changes were made to fullscreen/borderless modes.


New implementation of object dragging / manipulation

  • Afraid to grab a candle near a sleeping guard? Hopefully, you will make less noise while moving objects in 2.10. And if you hold the creep button, the moved item will not make any noise at all.
  • Also, dragging unconscious bodies should feel better now. Rats slighty spoiled the joy of this improvement (rats often do), but hopefully it is fixed now
  • Finally, now you can control how far a rock flies by holding throw button for a different amount of time.


Tooltips are now shown in the main menu.

  • Players will now have more detail about what settings do to sound, game-play, graphics, and performance


Tweaked starting new mission in the main menu

  • The old way of "installing" and starting missions was quite confusing for newcomers.
  • So we reorganized the main menu a bit, and now it is hopefully more intuitive.




Important CVARS

GENERIC

r_volumetricSamples, r_volumetricDither --- quality settings of the new volumetric lights.

tdm_show_menu_tooltips --- can disable tooptips in the main menu.

r_frobOutlinePreset --- a command to switch between different preset styles of frob-highlight outlines. It modifies various outline-related cvars, setting them to predefined values.
You can later adjust them individually.
r_newFrob, r_frob* --- a bunch of cvars for tweaking the new frob-highlight outline. Here are the main ones:

  • r_newFrob controls surfaces highlighting
  • r_frobOutlinePreset controls outline around highlighted objects


con_fontSize, con_fontColor --- allows to adjust font of game console, e.g. make it smaller so see more text on one page.


Graphics

  • The Entity limit has been virtually eliminated. With over 65K entities available, mappers will easily hit hardware limits before running out.
  • Volumetric Lights are here! ( also known as "God Rays" ) Now transparent textures and objects both cast shadows in the dusty \ foggy air!
  • RGTC Normal Map compression ( also known as ATI 3Dc ) is now complete! Both on-the-fly and pre-compressed loading works as well as keywords to force compression off
  • Blurred reflective Tea Tray
  • Reflective puddle material fixes
  • Some fog particles set to "sort last" so they properly render over water and windows


AI

  • Significant improvements to Security Camera behaviors
  • Sotha's "Automaton AI" from the Ulysses mission have been integrated
  • Improvements to the Fire Elemental


Mapping

  • The Dmap "map compiler" has been significantly optimized! Compile times are the lowest they have ever been! Dmap is also more precise!
  • Dmap now has a diagnostic tool to identify "Location bugs". Now it will be easier to find broken locations
  • Spotlights are now reverted to 2.07 behavior and have been enhanced with clamping rendering to the volume
  • A new "Secrets" system has been created to easily design rewards for finding mission secret items or areas
  • PNG loading support has been added


Coding

  • Mission loading time has been significantly lowered!!!
  • Improved performance!!!
  • Linux window management has been significantly improved.


Now you can alt-tab to the desktop without causing the camera to be locked in place when you return to TDM
Windows Full-screen and Borderless support have also been improved

  • New script events have been added to the repertoire for use by mappers:
   a) sys.VecRotate( vector vec, vector angles ) rotates a vector by a set of angles, allowing to match vectors such as offsets to an entity's current orientation.
   b) entity.getEntityFlag( string flag ) allows to find out properties about entities such as "notarget" (for the player entity) or "invisible".
   c) $player1.getCalibratedLightgemValue() retrieves the current value of the lightgem, using the same weighting as AIs do.
   d) entity.setSolid( boolean state ) allows to change the solidity of an entity at runtime. Note that it's still experimental.
   e) sys.getLocationPoint( vector point ) returns the location of a point in space.
   f) sys.pointIsInBounds( vector point, vector mins, vector maxs ) evaluates whether a point lies within a volume specified by 2 corner points.
   g) sys.getTraceSurfType() returns the type of surface the most recent trace has hit, such as "snow", if any.
  • GUI backend code has been refactored to be more stable
  • OpenGL changes to fix issues with older AMD graphic cards \ drivers
  • "Clear" in idLib now works according to the intended design
  • A generic hash table has been added to optimize lookup times
  • Additional Improvements
 a) Supported "set XXX on head" spawnarg on AIs.
 b) Some LOD improvements, e.g. for lights.
 c) Hot reload supports more of the popular spawnargs (i.e. without respawn).
 d) In-game downloader can update the currently installed mission.
  • The Tracy profiler has been integrated for better performance analysis
  • The missions database has been moved to an SVN backend so that missions can be updated from one end-point and so that missions can be reverted if anything goes wrong during updates


Assets

  • Sotha's Automaton AI model
  • Wellingoncrab's wooden furniture
  • Additional models and prefabs for security camera setup
  • Most paintings now have torn skins
  • Improved success \ fail lockpick GUI images
  • Improved player damage GUI overlay image
  • Improved splash texture
  • Some missing normal maps for stone blocks textures added
  • Unlit windows


GUIs

  • New mission install and start worflow!
  • Subtitles support
  • Tooltips for menu items
  • EFX reverb volume slider
  • Official support for mission gui customization ( rather than overriding the main menu gui )


Gameplay

  • Improved object manipulation and dragging
  • Holding the throw button longer makes objects fly further
  • New X-Ray vision feature
  • Security camera has a follow the AI \ Player feature


Sound

  • New EFX Reverb strength support


See also