From f47a46abd21cb802aa556af9893b03782268e823 Mon Sep 17 00:00:00 2001 From: Stephen Saunders Date: Mon, 5 Feb 2024 14:21:58 -0500 Subject: [PATCH] Fix Render Mode and CRT Filter settings to be sticky between game launches --- neo/d3xp/menus/MenuScreen.h | 4 +++- .../menus/MenuScreen_Shell_SystemOptions.cpp | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/neo/d3xp/menus/MenuScreen.h b/neo/d3xp/menus/MenuScreen.h index 7cc58154..89536d31 100755 --- a/neo/d3xp/menus/MenuScreen.h +++ b/neo/d3xp/menus/MenuScreen.h @@ -1407,9 +1407,11 @@ public: float originalVolume; // RB begin //int originalShadowMapping; // TODO use for quality of shadowmaps? + int originalRenderMode; + float originalAmbientBrightness; int originalSSAO; int originalPostProcessing; - float originalAmbientBrightness; + int originalCRTPostFX; // RB end idList modeList; diff --git a/neo/d3xp/menus/MenuScreen_Shell_SystemOptions.cpp b/neo/d3xp/menus/MenuScreen_Shell_SystemOptions.cpp index 7321e312..672bfb16 100755 --- a/neo/d3xp/menus/MenuScreen_Shell_SystemOptions.cpp +++ b/neo/d3xp/menus/MenuScreen_Shell_SystemOptions.cpp @@ -435,9 +435,11 @@ void idMenuScreen_Shell_SystemOptions::idMenuDataSource_SystemSettings::LoadData originalVolume = s_volume_dB.GetFloat(); // RB begin //originalShadowMapping = r_useShadowMapping.GetInteger(); - originalSSAO = r_useSSAO.GetInteger(); + originalRenderMode = r_renderMode.GetInteger(); originalAmbientBrightness = r_forceAmbient.GetFloat(); + originalSSAO = r_useSSAO.GetInteger(); originalPostProcessing = r_useFilmicPostFX.GetInteger(); + originalCRTPostFX = r_useCRTPostFX.GetInteger(); // RB end const int fullscreen = r_fullscreen.GetInteger(); @@ -890,6 +892,16 @@ bool idMenuScreen_Shell_SystemOptions::idMenuDataSource_SystemSettings::IsDataCh // return true; //} + if( originalRenderMode != r_renderMode.GetInteger() ) + { + return true; + } + + if( originalAmbientBrightness != r_forceAmbient.GetFloat() ) + { + return true; + } + if( originalSSAO != r_useSSAO.GetInteger() ) { return true; @@ -900,7 +912,7 @@ bool idMenuScreen_Shell_SystemOptions::idMenuDataSource_SystemSettings::IsDataCh return true; } - if( originalAmbientBrightness != r_forceAmbient.GetFloat() ) + if( originalCRTPostFX != r_useCRTPostFX.GetInteger() ) { return true; }