From 770751a92b7b5d78da69a3d01f5f812d8304ad83 Mon Sep 17 00:00:00 2001 From: xezon <4720891+xezon@users.noreply.github.com> Date: Wed, 24 Sep 2025 21:39:02 +0200 Subject: [PATCH 1/2] tweak(gamelod): Disable changing display settings when clicking the Default button in Options Menu --- .../GUI/GUICallbacks/Menus/OptionsMenu.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp b/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp index ae99c6735d..627633d0fe 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp @@ -966,6 +966,8 @@ static OptionPreferences *pref = NULL; static void setDefaults( void ) { + constexpr const Bool ModifyDisplaySettings = FALSE; + //------------------------------------------------------------------------------------------------- // provider type // GadgetCheckBoxSetChecked(checkAudioHardware, FALSE); @@ -982,6 +984,8 @@ static void setDefaults( void ) // send Delay GadgetCheckBoxSetChecked(checkSendDelay, FALSE); + if constexpr (ModifyDisplaySettings) + { //------------------------------------------------------------------------------------------------- // LOD if ((TheGameLogic->isInGame() == FALSE) || (TheGameLogic->isInShellGame() == TRUE)) @@ -1005,7 +1009,7 @@ static void setDefaults( void ) } GadgetComboBoxSetSelectedPos( comboBoxResolution, defaultResIndex ); //should be 800x600 (our lowest supported mode) } - + } //------------------------------------------------------------------------------------------------- // Mouse Mode @@ -1042,12 +1046,13 @@ static void setDefaults( void ) GadgetSliderGetMinMax(sliderGamma,&valMin, &valMax); GadgetSliderSetPosition(sliderGamma, ((valMax - valMin) / 2 + valMin)); - //------------------------------------------------------------------------------------------------- - // Texture resolution slider - // - + if constexpr (ModifyDisplaySettings) + { if ((TheGameLogic->isInGame() == FALSE) || (TheGameLogic->isInShellGame() == TRUE)) { + //------------------------------------------------------------------------------------------------- + // Texture resolution slider + // Int txtFact=TheGameLODManager->getRecommendedTextureReduction(); GadgetSliderSetPosition( sliderTextureResolution, 2-txtFact); @@ -1112,6 +1117,7 @@ static void setDefaults( void ) // GadgetCheckBoxSetChecked( checkProps, TheGlobalData->m_useTrees); } + } } static void saveOptions( void ) From 2020f38fe9c3133516c349195e2093d0ab5247b6 Mon Sep 17 00:00:00 2001 From: xezon <4720891+xezon@users.noreply.github.com> Date: Sun, 12 Oct 2025 11:07:21 +0200 Subject: [PATCH 2/2] Replicate in Generals --- .../GUI/GUICallbacks/Menus/OptionsMenu.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp b/Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp index 94395c0055..66914476a5 100644 --- a/Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp +++ b/Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp @@ -922,6 +922,8 @@ static OptionPreferences *pref = NULL; static void setDefaults( void ) { + constexpr const Bool ModifyDisplaySettings = FALSE; + //------------------------------------------------------------------------------------------------- // provider type // GadgetCheckBoxSetChecked(checkAudioHardware, FALSE); @@ -938,6 +940,8 @@ static void setDefaults( void ) // send Delay GadgetCheckBoxSetChecked(checkSendDelay, FALSE); + if constexpr (ModifyDisplaySettings) + { //------------------------------------------------------------------------------------------------- // LOD if ((TheGameLogic->isInGame() == FALSE) || (TheGameLogic->isInShellGame() == TRUE)) @@ -961,7 +965,7 @@ static void setDefaults( void ) } GadgetComboBoxSetSelectedPos( comboBoxResolution, defaultResIndex ); //should be 800x600 (our lowest supported mode) } - + } //------------------------------------------------------------------------------------------------- // Mouse Mode @@ -996,12 +1000,13 @@ static void setDefaults( void ) GadgetSliderGetMinMax(sliderGamma,&valMin, &valMax); GadgetSliderSetPosition(sliderGamma, ((valMax - valMin) / 2 + valMin)); - //------------------------------------------------------------------------------------------------- - // Texture resolution slider - // - + if constexpr (ModifyDisplaySettings) + { if ((TheGameLogic->isInGame() == FALSE) || (TheGameLogic->isInShellGame() == TRUE)) { + //------------------------------------------------------------------------------------------------- + // Texture resolution slider + // Int txtFact=TheGameLODManager->getRecommendedTextureReduction(); GadgetSliderSetPosition( sliderTextureResolution, 2-txtFact); @@ -1061,6 +1066,7 @@ static void setDefaults( void ) // GadgetCheckBoxSetChecked( checkProps, TheGlobalData->m_useTrees); } + } } static void saveOptions( void )