Difference between revisions of "What's new in TDM 2.08"

From The DarkMod Wiki
Jump to navigationJump to search
(5 intermediate revisions by the same user not shown)
Line 22: Line 22:
 
<br>Many new mapper friendly updates for Rain, Fog, Patrolling AI, and visportals have been added.
 
<br>Many new mapper friendly updates for Rain, Fog, Patrolling AI, and visportals have been added.
 
<br>
 
<br>
<br>For the eye-candy crowd, a new SSAO option has been added!</font>
+
<br>For the eye-candy crowd, new Bloom, 64-bit color mode, and SSAO options have been added!</font>
 
<br>
 
<br>
 
<br>
 
<br>
Line 40: Line 40:
 
* '''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_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_ssao_*''': several cvars with this prefix can be used to tweak SSAO implementation. Although ideally you shouldn't have to touch them.
* '''r_usePersistentMapping''', '''r_useMultiDraw''', '''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.
+
* '''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.
  
  
Line 50: Line 52:
 
: Should slightly increase FPS in many cases, but can cause all sort of problems.  
 
: 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:
 
Swimming variation:
Line 82: Line 84:
  
 
* Shaders are now all GLSL OpenGL 3.x Core Context compliant
 
* 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. <br>TDM will no longer cause issues with Desktop brightness.
 
* Brightness and Gamma operations are now done via shaders. <br>TDM will no longer cause issues with Desktop brightness.
* Legacy Bloom has been replaced with integrated Tone Mapping and Gamma Correction
+
* 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)
 
* "Borderless window" mode integrates a bit better with OS than "fullscreen" mode (Windows-only)
 
* Fixed several bugs with non-default Render Scale
 
* Fixed several bugs with non-default Render Scale
Line 100: Line 104:
 
* Spectrum spawnargs restrict light interaction depending on spectrum values of lights and entities
 
* 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
 
* 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
 
<br>
 
<br>
 
<br>
 
<br>
Line 155: Line 161:
 
* New Beastmen characters (Kingsal)
 
* New Beastmen characters (Kingsal)
 
* New zombie characters (Springheel)
 
* New zombie characters (Springheel)
 +
* New "Standalone" Werebeast (Diego, Springheel, Obsttorte &  Destined )
 
* New environmental models (Springheel & Epifire)
 
* New environmental models (Springheel & Epifire)
 
* Many more Dragofer models incorporated (Dragofer)
 
* Many more Dragofer models incorporated (Dragofer)
Line 169: Line 176:
 
* New Inventory menu theme
 
* New Inventory menu theme
 
* SSAO Setting
 
* SSAO Setting
* Removed legacy Ambient and Bloom settings
+
* Removed legacy Ambient and Interaction settings
 +
* Updated Bloom settings
 
* Max FPS setting
 
* Max FPS setting
 
* Optional new console font
 
* Optional new console font

Revision as of 03:15, 22 May 2020

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

See the roadmap on our bugtracker.



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

Old

  • 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.


New:

  • 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.


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


  • 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



Graphics


AMBIENT OBSCURANCE SSAO IN 2.08!!

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.



Mapping

  • 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



Sound


  • 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



Coding


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)



Assets


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)



GUIs


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



Gameplay


  • 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



Translation

  • Turkish Translation (Outsider One)




See also