What's new in TDM 2.12: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
No edit summary
 
(30 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- keywords whats new -->
<!-- keywords whats new -->
{{notreleasedyet|2.12}}
{{released|2.12|2024-03-03}}
See the [http://bugs.thedarkmod.com/roadmap_page.php roadmap] on our bugtracker.
See the [https://bugs.thedarkmod.com/changelog_page.php?version_id=108 changelog] on our bugtracker.
<!-- See the [https://bugs.thedarkmod.com/changelog_page.php?version_id=96 changelog] on our bugtracker. -->
<br>Source Revision 10651
<!-- {{released|2.12|XXXX-XX-XX}} -->


<br><br>
<br><br>
'''<font size="5">The Dark Mod 2.12 Performance Edition!</font>'''
'''<font size="5">The Dark Mod 2.12 Performance and Interaction Edition!</font>'''
<br>
<br>


<font size="3">  
<font size="3">  
<br>
<br>
A major focus for The Dark Mod 2.12 was to better handle light and shadow culling.
A major focus for The Dark Mod 2.12 development cycle was to better handle light and shadow culling.
<br>Mappers often have to carefully arrange visportals and adjust light radius values to ensure
<br>Mappers often have to carefully arrange visportals and adjust light radius values to ensure
that invisible lights are not stealing performance from the scene.
invisible lights are not stealing performance from a scene.
<br>Many times such optimization work looks nonsensical or requires mappers to rebuild their scene until
<br>Many times, such optimization work looks nonsensical and requires mappers to rebuild their scene until
they can make a sensible portal design.
they can make a sensible portal design.
<br>The new culling optimizations make TDM far more resilient to maps with poor portal design and bad lighting practices.
<br>The new culling optimizations make TDM far more resilient toward maps with poor portal design and bad lighting practices.
<br>With this new optimization in place, new mappers shouldn't need to reach out to veteran mappers for assistance with performance so often.
<br>With this new optimization in place, new mappers will have greater leeway when optimizing their missions.
<br>Even experienced mappers may see performance improvements because the culling algorithm can work on a more granular level than
<br>traditional optimization techniques.
<br>(Stgatilov did all the code work on this feature, with the team and community providing testing and feedback.)
<br>
<br>Another major focus for this development cycle was to improve player controls, movement, and gameplay settings.
<br>Concerning controls, new players were often unaware that bodies could be shouldered or that candles could be extinguished.
<br>To address that, the frob controls were redesigned to be more context sensitive. First, the more common actions were mapped to the primary frob action.
<br>Second, a new frob action, hold frob, was created for alternate actions.
<br>Concerning movement, certain view movements were uncomfortable to some players.
<br>To address that, the angles and speeds for leaning and mantling were adjusted to feel more natural and responsive.
<br>Also, menu settings for head bob and mantle roll were added.
<br>(Daft Mugi did the majority of coding on these changes, with the team and community providing testing and feedback.)
<br>
<br>A special thanks must go out to community member '''Geep'''!
<br>Over the course of 2.12 development, Geep has created Subtitles for nearly all AI barks
<br>along with developing testing tools and procedures for this gargantuan task!
<br>Geep also provided substantial feedback for our GUI and Subtitle design process and edited font data to improve text quality overall.
<br>
<br>stgatilov added some enhanced visual features to subtitles so you can determine which AI is speaking when there are multiple speakers
<br>Joebarnin identified a 2.11 bug that prevented arrows from colliding with AI and objects at certain angles and sent us a patch to fix it.
<br>Dragofer has added native support for Turrets to TDM 2.12, in addition to many asset and code-change submissions.
 
'''See our [https://forums.thedarkmod.com/index.php?/topic/22278-212-feature-discussion-threads/ Feature Discuss Threads] for more details about substantial changes.'''
 
 
</font>
</font>


Line 33: Line 57:
tdm_autosearch_bodies --- automatically take items attached to unconscious bodies on frob.
tdm_autosearch_bodies --- automatically take items attached to unconscious bodies on frob.


pm_headbob_mod, pm_lean_* --- allows to reduce some player movements.
pm_headbob_mod, pm_lean_* --- allows for the reduction of some player movements.


{{clear}}
{{clear}}
Line 40: Line 64:
<br>
<br>


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


tdm_open_doors, tdm_close_doors --- cheats to make mission testing faster.  
tdm_open_doors, tdm_close_doors --- cheats to make mission testing faster.  
Line 49: Line 73:
<br>
<br>


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_useLightPortalFlow, r_useLightPortalFlowCulling --- improved light-entity interaction culling. It has a major effect on shadows. This cvar is responsible for causing light leaks with stencil shadows, please report all of them! ([https://forums.thedarkmod.com/index.php?/topic/22241-new-shadow-leaks-in-212-dev-builds/ thread])


r_useNewRenderPasses --- selects from several renderer backend code paths. This is similar to the old r_useNewBackend cvar which has been deleted.
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_shadowMapSinglePass --- faster code path for filling shadow maps.


r_useEntityScissors, r_animationBounds --- improved bounds estimates for rendered entities.
r_useEntityScissors, r_animationBounds --- improved bounds estimates for rendered entities.
r_skipEntities, similar to "filter entities" in DarkRadiant


r_postprocess_dither --- new dithering in tonemap postprocessing for less color banding.
r_postprocess_dither --- new dithering in tonemap postprocessing for less color banding.
Line 70: Line 96:
== '''Graphics''' ==
== '''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).
* 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 a workaround on a case-by-case basis. [[New_light_leaks_in_2.12]]


* 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.
* 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 are 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.
* Materials with polygonoffset now interact with lights. So static decals can have bumpmap and specular lighting. Note, however, that dynamic decals still don't interact with lights.


* Revised parallelSky lights and marked shadowing parallel lights as deprecated (thread).
* Revised parallelSky lights and marked shadowing parallel lights as deprecated.


* 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.
* 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.
Line 86: Line 112:
* Reduced color banding for fog with some dithering at tonemapping stage.
* Reduced color banding for fog with some dithering at tonemapping stage.


* Fixed and revised underwater "double vision" effect (6300).
* Fixed and revised underwater "double vision" effect.


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


{{clear}}
{{clear}}
Line 96: Line 122:


* Added automatic turrets, to be combined with security cameras (Thread).
* Added automatic turrets, to be combined with security cameras (Thread).
* Fixed some issues with moor AI (6345).
* Fixed some issues with the moor AI (6345).
* Added canCloseDoors spawnarg on AI, which allows to block closing only (6460).
* Added the canCloseDoors spawnarg on AI, which allows mappers to block closing only (6460).


{{clear}}
{{clear}}
Line 104: Line 130:
== '''Mapping''' ==
== '''Mapping''' ==


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


{{clear}}
{{clear}}
Line 127: Line 154:


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


{{clear}}
{{clear}}
Line 144: Line 172:
* Added more covered furniture models (6289).
* Added more covered furniture models (6289).


* Added wall models from Seeking Lady Leicester (6293).
* Added wall models from the Seeking Lady Leicester FM (6293).


* New and fixed versions of atdm:lamp_electric_square_3_lit_unattached (6315).
* New and fixed versions of atdm:lamp_electric_square_3_lit_unattached (6315).
Line 158: Line 186:
* Fixed overbright skins for nature bushes (6478).
* Fixed overbright skins for nature bushes (6478).


* Fixed Grandfather_clock_victorian_01 model (6383).
* Fixed grandfather_clock_victorian_01 model (6383).


* Tweaked fogging of health potion.
* Tweaked fogging of health potion.
Line 165: Line 193:
<br>
<br>


== '''Gameplay''' ==
== '''Gameplay and Interaction''' ==
      
      
* 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).
* Frob controls have been reworked completely. Previously players were annoyed by having to do three presses to extinguish a light. Also, some players were not aware that bodies could be shouldered and were limited to only dragging bodies. Now simply clicking the frob button performs the action that players need most of the time, and pressing and holding the same button performs alternative actions, such as dragging bodies and extinguishing candles ([https://forums.thedarkmod.com/index.php?/topic/22198-feature-proposal-frob-to-use-world-item/ 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).
* Several aspects of mantling have been improved: overhead mantling has become faster, mantling over low obstacles is now allowed while carrying an item or a body. It is now also possible to switch weapons while being on a rope, ladder, or while mantling. Pressing the crouch button while on a rope or ladder now immediately starts a slide-down.


* Leaning animation has been improved with lower head tilt (thread).
* Some aspects of gameplay can be further simplified: The auto-search bodies setting is for players who don't want to waste time searching for keys and coin purses on AI bodies. Lockpicking "Auto" difficulty now simplifies lockpicking ([https://forums.thedarkmod.com/index.php?/topic/22249-212-auto-search-bodies/ thread]).


* More settings to reduce camera bobbing/rolling/shaking, which is good for players who feel motion sickness from default camera animations.
* The leaning animation has been improved with lower head tilt ([https://forums.thedarkmod.com/index.php?/topic/22211-feature-proposal-new-lean-for-tdm-212/ thread]).


* Added vine arrows to the Training Mission (4352).
* Added more settings to reduce camera bobbing/rolling/shaking, which is good for players who feel motion sickness from default camera animations.


* Optimized and fixed some issues with Tears of Saint Lucia
* Optimized and fixed some issues with the Tears of Saint Lucia FM.


{{clear}}
{{clear}}
Line 186: Line 212:
== '''GUIs''' ==
== '''GUIs''' ==


* '''Subtitles have been added to all AI barks ( Courtesy of Geeps with a few additions by Datiswous and MirceaKitsune )'''
* '''Subtitles have been added to all current AI barks!!! ( Courtesy of Geep, 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.
* Further improvements of subtitles: revised location and font to avoid overlapping with other GUI elements, added directional cue, and 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).
* Supported -durationExtend for inline subtitles (6262).


* Fixed text & background alignment in mission lists (6337)
* Fixed text and background alignment in mission lists (6337)


* Support fonts aspect ratio correction (6283).
* Support for fonts aspect ratio correction (6283).


* Added 30 FPS option to max FPS selection in settings menu.  
* Added 30 FPS option to max FPS selection in the settings menu.  


{{clear}}
{{clear}}
Line 204: Line 230:


* Fixed bug that stereo sample plays for 2x duration due to length confusion.
* 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 WAV sounds playing in the main menu; all sounds are streaming now (6330).
* Fixed wench AI sounds (6284).
* Fixed wench AI sounds (6284).
* Player footstep sounds have been rebalanced. Metal and water sounds were especially painful previously.
* Player footstep sounds have been rebalanced. Metal and water sounds were especially painful previously.
* Removed pause from looping sound machinery/machines/m3_loop (6384).
* Removed pause from looping sound machinery/machines/m3_loop (6384).
* Added EFX Reverb to the Training Mission


{{clear}}
{{clear}}


{{whatsnew|sort=212}}
{{whatsnew|sort=212}}

Latest revision as of 05:14, 28 March 2024

Version 2.12 of The Dark Mod has been released on 2024-03-03.

See the changelog on our bugtracker.
Source Revision 10651



The Dark Mod 2.12 Performance and Interaction Edition!


A major focus for The Dark Mod 2.12 development cycle was to better handle light and shadow culling.
Mappers often have to carefully arrange visportals and adjust light radius values to ensure invisible lights are not stealing performance from a scene.
Many times, such optimization work looks nonsensical and requires mappers to rebuild their scene until they can make a sensible portal design.
The new culling optimizations make TDM far more resilient toward maps with poor portal design and bad lighting practices.
With this new optimization in place, new mappers will have greater leeway when optimizing their missions.
Even experienced mappers may see performance improvements because the culling algorithm can work on a more granular level than
traditional optimization techniques.
(Stgatilov did all the code work on this feature, with the team and community providing testing and feedback.)

Another major focus for this development cycle was to improve player controls, movement, and gameplay settings.
Concerning controls, new players were often unaware that bodies could be shouldered or that candles could be extinguished.
To address that, the frob controls were redesigned to be more context sensitive. First, the more common actions were mapped to the primary frob action.
Second, a new frob action, hold frob, was created for alternate actions.
Concerning movement, certain view movements were uncomfortable to some players.
To address that, the angles and speeds for leaning and mantling were adjusted to feel more natural and responsive.
Also, menu settings for head bob and mantle roll were added.
(Daft Mugi did the majority of coding on these changes, with the team and community providing testing and feedback.)

A special thanks must go out to community member Geep!
Over the course of 2.12 development, Geep has created Subtitles for nearly all AI barks
along with developing testing tools and procedures for this gargantuan task!
Geep also provided substantial feedback for our GUI and Subtitle design process and edited font data to improve text quality overall.

stgatilov added some enhanced visual features to subtitles so you can determine which AI is speaking when there are multiple speakers
Joebarnin identified a 2.11 bug that prevented arrows from colliding with AI and objects at certain angles and sent us a patch to fix it.
Dragofer has added native support for Turrets to TDM 2.12, in addition to many asset and code-change submissions.

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








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 for the reduction of some player movements.

HELPER


tdm_show_viewpos, screenshot_viewpos --- embedding viewpos into screenshots 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. It has a 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_skipEntities, similar to "filter entities" in DarkRadiant

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 a workaround on a case-by-case basis. New_light_leaks_in_2.12
  • 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 are 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, that dynamic decals still don't interact with lights.
  • Revised parallelSky lights and marked shadowing parallel lights as deprecated.
  • 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.
  • 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 the moor AI (6345).
  • Added the canCloseDoors spawnarg on AI, which allows mappers to block closing only (6460).


Mapping

  • Light entities now support noPortalFog spawnarg (6282).
  • Added mission.cfg as a temporary way for a mission to override non-archived cvars (5453).
  • Extended dmap diagnostics to info_portalSettings, improved editor descriptions (6224).
  • r_showportals 2 is now easier to understand.
  • Added r_skipEntities cvar, similar to "filter entities" in DR.
  • Added editor spawnargs for volumetric light properties (6322).
  • Added "forceShadowBehindOpaque" (entity based ) hack to workaround shadow leaks in old missions (5172).
  • Added "forceAllShadowsBehindOpaque" ( worldspawn \ global ) 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 the func_emitter entity.
  • Added setSmoke script event to change particle decl for a func_smoke.
  • Added hasInvItem script event to check if the 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_*" spawnarg to change projectile properties after bounce.

Coding

  • Upgraded libpng and rebuilt third-party packages.
  • Fixed some uninitialized values, float overflows, and NaNs across the code.
  • Several script addons can now 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 a cvar to modify all head-bobbing settings (6310).
  • Area references are stored as Indexes rather than Pointer lists


Assets

  • Added automatic turrets, to be combined with security cameras (Thread).
  • Added more covered furniture models (6289).
  • Added wall models from the Seeking Lady Leicester FM (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.
  • Improved Merry Chest prefabs (6459).
  • Improved normal map of long banners (6355).
  • Fixed overbright skins for nature bushes (6478).
  • Fixed grandfather_clock_victorian_01 model (6383).
  • Tweaked fogging of health potion.


Gameplay and Interaction

  • Frob controls have been reworked completely. Previously players were annoyed by having to do three presses to extinguish a light. Also, some players were not aware that bodies could be shouldered and were limited to only dragging bodies. Now simply clicking the frob button performs the action that players need most of the time, and pressing and holding the same button performs alternative actions, such as dragging bodies and extinguishing candles (thread).
  • Several aspects of mantling have been improved: overhead mantling has become faster, mantling over low obstacles is now allowed while carrying an item or a body. It is now also possible to switch weapons while being on a rope, ladder, or while mantling. Pressing the crouch button while on a rope or ladder now immediately starts a slide-down.
  • Some aspects of gameplay can be further simplified: The auto-search bodies setting is for players who don't want to waste time searching for keys and coin purses on AI bodies. Lockpicking "Auto" difficulty now simplifies lockpicking (thread).
  • The leaning animation has been improved with lower head tilt (thread).
  • Added more settings to reduce camera bobbing/rolling/shaking, which is good for players who feel motion sickness from default camera animations.
  • Optimized and fixed some issues with the Tears of Saint Lucia FM.


GUIs

  • Subtitles have been added to all current AI barks!!! ( Courtesy of Geep, 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, and 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 and background alignment in mission lists (6337)
  • Support for fonts aspect ratio correction (6283).
  • Added 30 FPS option to max FPS selection in the settings menu.


Sound

  • Fixed bug that stereo sample plays for 2x duration due to length confusion.
  • Fixed WAV sounds playing in the 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.
  • Removed pause from looping sound machinery/machines/m3_loop (6384).


See also