What's new in TDM 2.08: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
No edit summary
(25 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<!-- keywords whats new -->
<!-- keywords whats new -->
{{notreleasedyet|2.08}}
See the [https://bugs.thedarkmod.com/changelog_page.php?version_id=86 changelog] on our bugtracker.
See the [http://bugs.thedarkmod.com/roadmap_page.php roadmap] on our bugtracker.
{{released|2.08|2020-07-01}}
<!-- See the [http://bugs.thedarkmod.com/changelog_page.php?version_id=71 changelog] on our bugtracker. -->
<!-- {{released|2.08|XXXX-XX-XX}} -->


<br>
<br>
Line 22: Line 20:
<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!
<br>For the eye-candy crowd, new Bloom, 64-bit color mode, and SSAO options have been added!</font>
<br>
<br>
<br>
<br>
Line 31: Line 29:


'''Old'''
'''Old'''
<br>
<br>
* '''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_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_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.  
* '''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.  
<br><font size="3">'''New'''</font>:
<br><font size="3">'''New'''</font>:
* '''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_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_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.
* '''g_rotationHack''': with default value 1, every func_static model with nonorthogonal rotation is forked on game start, and its rotation is embedded into the copied model.This is a very hacky workaround for the fact that rotation-hacked models are responsible for various bugs on existing maps. With value 0, nothing special is done, so rotation-hacked models behave as before. Note that you cannot change this cvar during playthrough: it only takes effect when a new game is started. Another effect of this cvar is that the engine forces mappers to set g_rotationHack 0 if they dmap something with rotation-hacked func_statics.
* '''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.




<pre>
'''Experimental Graphics'''
 
  Experimental Graphics


* image_useNormalCompression = 2: Initial support for RGTC compression. Similar to AMD 3Dc or D3D BC5.  
* 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.
    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.  
* 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.


    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
 
</pre>
 
 


Swimming variation:
Swimming variation:
Line 88: Line 78:


<font size="3">Cabalistic has finally added the much requested SSAO feature to TDM
<font size="3">Cabalistic has finally added the much requested SSAO feature to TDM
<br>Using a method called Scalable Ambient Obscurance now areas with flat ambient
<br>Using a method called Scalable Ambient Obscurance, now areas with  
<br>lighting come alive with new detail  
<br>flat ambient lighting come alive with new detail! </font>


* 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
* Fixed bugs with handling water brushes, especially with complex shapes.
* Fixed MD3 and liquid models. Animated water should work properly now.
* Initial support for parallax corrected cubemap rendering
<br>
<br>
{{clear}}
== '''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
* New way to tweak rendering order of translucent surfaces: drawSortOffset spawnarg
* Easy-to-use parallel light emanating from the sky
* Easy-to-use parallel light emanating from the sky
* 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
* Fixed bugs with handling water brushes, especially with complex shapes.
* fogAlpha keywords allows mappers to specify whether alpha materials receive fog
* Fixed MD3 and liquid models. Animated water should work properly now.
* "sort last" allows soft particles and other effects to render over heathaze or other postprocess shaders
<br>
<br>
<br>
<br>
Line 125: Line 128:
<br>
<br>
<font size="3">TDM 2.08 goes further with the process to modernize coding standards in TDM.
<font size="3">TDM 2.08 goes further with the process to modernize coding standards in TDM.
<br>ALL legacy OpenGL functions have been replaced with modern techniques.
<br><br>ALL legacy OpenGL functions have been replaced with modern techniques.
<br>ARB Assembly shaders are gone and have been replaced by GLSL
<br>ARB Assembly shaders are gone and have been replaced by GLSL
<br>C++ Library management and compiling have been improved. cmake compiling on Linux too!
<br>C++ Library management and compiling have been improved. cmake compiling on Linux too!
<br>Finally, performance optimizations have been applied to the rendering framework,  
<br><br>Finally, performance optimizations have been applied to the rendering framework,  
<br>game code, and code base in general.</font><br>
<br>game code, and code base in general.</font><br>
* Precision fixes: dmap and collision-related gameplay are affected.
<br> Fixed several bugs in visportals handling in dmap. This affects all existing maps, so please read [[Visportals#Engine_changes | Visportal Wiki]]
<br> Fixed bug in stencil shadows computation, which was introduced in 2.07 (#5106).
<br> It affects all parallel and projected lights when mapper runs dmap on a CPU with AVX.
<br> It is strongly recommended to re-dmap all FMs dmapped with 2.07 if they contain such lights.
<br> Added a very hacky workaround in engine for rotation-hacked func_static-s (#4970, controlled by g_rotationHack).
<br> Since it can be removed in future, dmap now actively complains about all entities with bad rotation.
<br> Improved precision of dmap and its mesh processing algorithms
<br>
<br>
<br>
<br>
* 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 [[Visportals#Engine_changes | 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)
* Moved closer to Doom 3 BFG Vertex Buffer management (better multi-core stability)
* Reduced state changes and draw calls
* Reduced state changes and draw calls
Line 160: Line 160:
* 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)
* Atheran's covered furniture models have been fixed and added (Dragofer)  
<br>
<br>
<br>
<br>
Line 173: Line 175:
* 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


<br>
<br>
Line 190: Line 194:
* It is easier to drop and position ragdolls
* It is easier to drop and position ragdolls
* Mantling no longer causes geometry clip bugs
* Mantling no longer causes geometry clip bugs
* Rope and Ladder slide operations are safer
* 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
* Now keybindings are saved into separate file DarkmodKeybinds.cfg
* Linux can use more keys in keybinds
* 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
<br>
<br>
<br>
<br>
Line 200: Line 205:
== '''Translation''' ==
== '''Translation''' ==


* Turkish Translation (Outsider One)


<br>
<br>

Revision as of 17:27, 1 July 2020

See the changelog on our bugtracker.

Version 2.08 of The Dark Mod has been released on 2020-07-01.



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.
  • Initial support for parallax corrected cubemap rendering



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