From b0de432339f8b72266b296e97ae8b3f2dbb2f5db Mon Sep 17 00:00:00 2001 From: InviseDivine Date: Fri, 13 Mar 2026 17:09:39 +0200 Subject: [PATCH 1/2] FIX: Settings save --- src/client/OptionStrings.cpp | 10 ++++++++-- src/client/OptionStrings.h | 8 ++++++++ src/client/Options.cpp | 22 +++++++++++++++++++++- src/client/Options.h | 2 ++ src/client/gui/screens/OptionsScreen.cpp | 1 - 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/client/OptionStrings.cpp b/src/client/OptionStrings.cpp index 2a68643..0faf8f4 100755 --- a/src/client/OptionStrings.cpp +++ b/src/client/OptionStrings.cpp @@ -6,14 +6,20 @@ const char* OptionStrings::Multiplayer_ServerVisible = "mp_server_visible_defa const char* OptionStrings::Graphics_Fancy = "gfx_fancygraphics"; const char* OptionStrings::Graphics_LowQuality = "gfx_lowquality"; const char* OptionStrings::Graphics_Vsync = "gfx_vsync"; -const char* OptionStrings::Graphics_GUIScale = "gfx_guiscale"; +const char* OptionStrings::Graphics_GUIScale = "gfx_guiscale"; +const char* OptionStrings::Graphics_SmoothLightning = "gfx_smoothlightning"; +const char* OptionStrings::Graphics_Anaglyph = "gfx_anaglyph"; const char* OptionStrings::Controls_Sensitivity = "ctrl_sensitivity"; const char* OptionStrings::Controls_InvertMouse = "ctrl_invertmouse"; const char* OptionStrings::Controls_UseTouchScreen = "ctrl_usetouchscreen"; const char* OptionStrings::Controls_UseTouchJoypad = "ctrl_usetouchjoypad"; const char* OptionStrings::Controls_IsLefthanded = "ctrl_islefthanded"; +// why it isnt ctrl_feedback_vibration? i dont want touch it because compatibility with older versions const char* OptionStrings::Controls_FeedbackVibration = "feedback_vibration"; -const char* OptionStrings::Game_DifficultyLevel = "game_difficulty"; +const char* OptionStrings::Audio_Music = "audio_music"; +const char* OptionStrings::Audio_Sound = "audio_sound"; + +const char* OptionStrings::Game_DifficultyLevel = "game_difficulty"; diff --git a/src/client/OptionStrings.h b/src/client/OptionStrings.h index 0065dc6..8f6c14d 100755 --- a/src/client/OptionStrings.h +++ b/src/client/OptionStrings.h @@ -10,6 +10,9 @@ public: static const char* Graphics_LowQuality; static const char* Graphics_GUIScale; static const char* Graphics_Vsync; + static const char* Graphics_SmoothLightning; + static const char* Graphics_Anaglyph; + static const char* Controls_Sensitivity; static const char* Controls_InvertMouse; static const char* Controls_UseTouchScreen; @@ -17,7 +20,12 @@ public: static const char* Controls_IsLefthanded; static const char* Controls_FeedbackVibration; + static const char* Audio_Music; + static const char* Audio_Sound; + + static const char* Game_DifficultyLevel; + }; #endif /*NET_MINECRAFT_CLIENT__OptionsStrings_H__*/ diff --git a/src/client/Options.cpp b/src/client/Options.cpp index 682feb4..be1b3e6 100755 --- a/src/client/Options.cpp +++ b/src/client/Options.cpp @@ -135,7 +135,7 @@ const Options::Option Options::Option::ANAGLYPH (6, "options.anaglyph", false, true), Options::Option::LIMIT_FRAMERATE (7, "options.limitFramerate",false, true), Options::Option::DIFFICULTY (8, "options.difficulty", false, false), - Options::Option::GRAPHICS (9, "options.graphics", false, false), + Options::Option::GRAPHICS (9, "options.graphics", false, true), Options::Option::AMBIENT_OCCLUSION (10, "options.ao", false, true), Options::Option::GUI_SCALE (11, "options.guiScale", false, false), Options::Option::THIRD_PERSON (12, "options.thirdperson", false, true), @@ -238,13 +238,27 @@ void Options::update() fancyGraphics = false; } } + if (key == OptionStrings::Graphics_SmoothLightning) { + bool isLow; + readBool(value, ambientOcclusion); + } + // Graphics extras if (key == OptionStrings::Graphics_Vsync) readBool(value, vsync); + if (key == OptionStrings::Graphics_Anaglyph) + readBool(value, anaglyph3d); if (key == OptionStrings::Graphics_GUIScale) { int v; if (readInt(value, v)) guiScale = v % 5; } + + // Audio + if (key == OptionStrings::Audio_Music) + readFloat(value, music); + if (key == OptionStrings::Audio_Sound) + readFloat(value, sound); + // Game if (key == OptionStrings::Game_DifficultyLevel) { readInt(value, difficulty); @@ -322,7 +336,13 @@ void Options::save() addOptionToSaveOutput(stringVec, OptionStrings::Graphics_GUIScale, guiScale); addOptionToSaveOutput(stringVec, OptionStrings::Game_DifficultyLevel, difficulty); addOptionToSaveOutput(stringVec, OptionStrings::Graphics_Fancy, fancyGraphics); + addOptionToSaveOutput(stringVec, OptionStrings::Graphics_SmoothLightning, ambientOcclusion); + addOptionToSaveOutput(stringVec, OptionStrings::Graphics_Anaglyph, anaglyph3d); + //addOptionToSaveOutput(stringVec, OptionStrings::VIEW_BOBBING, fancyGraphics); + // Audio + addOptionToSaveOutput(stringVec, OptionStrings::Audio_Music, music); + addOptionToSaveOutput(stringVec, OptionStrings::Audio_Sound, sound); // // static const Option MUSIC; diff --git a/src/client/Options.h b/src/client/Options.h index 5332880..db71d80 100755 --- a/src/client/Options.h +++ b/src/client/Options.h @@ -275,6 +275,8 @@ public: return limitFramerate; if (item == &Option::VSYNC) return vsync; + if (item == &Option::GRAPHICS) + return fancyGraphics; if (item == &Option::AMBIENT_OCCLUSION) return ambientOcclusion; if (item == &Option::THIRD_PERSON) diff --git a/src/client/gui/screens/OptionsScreen.cpp b/src/client/gui/screens/OptionsScreen.cpp index 0a4ca89..f652767 100755 --- a/src/client/gui/screens/OptionsScreen.cpp +++ b/src/client/gui/screens/OptionsScreen.cpp @@ -243,7 +243,6 @@ void OptionsScreen::generateOptionScreens() { .addOptionItem(&Options::Option::VIEW_BOBBING, minecraft) .addOptionItem(&Options::Option::AMBIENT_OCCLUSION, minecraft) .addOptionItem(&Options::Option::ANAGLYPH, minecraft) - .addOptionItem(&Options::Option::LIMIT_FRAMERATE, minecraft) .addOptionItem(&Options::Option::VSYNC, minecraft) .addOptionItem(&Options::Option::MUSIC, minecraft) .addOptionItem(&Options::Option::SOUND, minecraft); From 969d6b3ee7f69494c04473da7f93dd54a3108afc Mon Sep 17 00:00:00 2001 From: InviseDivine Date: Fri, 13 Mar 2026 17:12:55 +0200 Subject: [PATCH 2/2] Forgot about view bobick --- src/client/OptionStrings.cpp | 3 ++- src/client/OptionStrings.h | 1 + src/client/Options.cpp | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/client/OptionStrings.cpp b/src/client/OptionStrings.cpp index 0faf8f4..9851771 100755 --- a/src/client/OptionStrings.cpp +++ b/src/client/OptionStrings.cpp @@ -8,7 +8,8 @@ const char* OptionStrings::Graphics_LowQuality = "gfx_lowquality"; const char* OptionStrings::Graphics_Vsync = "gfx_vsync"; const char* OptionStrings::Graphics_GUIScale = "gfx_guiscale"; const char* OptionStrings::Graphics_SmoothLightning = "gfx_smoothlightning"; -const char* OptionStrings::Graphics_Anaglyph = "gfx_anaglyph"; +const char* OptionStrings::Graphics_Anaglyph = "gfx_anaglyph"; +const char* OptionStrings::Graphics_ViewBobbing = "gfx_viewbobbing"; const char* OptionStrings::Controls_Sensitivity = "ctrl_sensitivity"; const char* OptionStrings::Controls_InvertMouse = "ctrl_invertmouse"; diff --git a/src/client/OptionStrings.h b/src/client/OptionStrings.h index 8f6c14d..0778312 100755 --- a/src/client/OptionStrings.h +++ b/src/client/OptionStrings.h @@ -12,6 +12,7 @@ public: static const char* Graphics_Vsync; static const char* Graphics_SmoothLightning; static const char* Graphics_Anaglyph; + static const char* Graphics_ViewBobbing; static const char* Controls_Sensitivity; static const char* Controls_InvertMouse; diff --git a/src/client/Options.cpp b/src/client/Options.cpp index be1b3e6..5fa6951 100755 --- a/src/client/Options.cpp +++ b/src/client/Options.cpp @@ -248,6 +248,8 @@ void Options::update() readBool(value, vsync); if (key == OptionStrings::Graphics_Anaglyph) readBool(value, anaglyph3d); + if (key == OptionStrings::Graphics_ViewBobbing) + readBool(value, bobView); if (key == OptionStrings::Graphics_GUIScale) { int v; if (readInt(value, v)) guiScale = v % 5; @@ -338,6 +340,7 @@ void Options::save() addOptionToSaveOutput(stringVec, OptionStrings::Graphics_Fancy, fancyGraphics); addOptionToSaveOutput(stringVec, OptionStrings::Graphics_SmoothLightning, ambientOcclusion); addOptionToSaveOutput(stringVec, OptionStrings::Graphics_Anaglyph, anaglyph3d); + addOptionToSaveOutput(stringVec, OptionStrings::Graphics_ViewBobbing, bobView); //addOptionToSaveOutput(stringVec, OptionStrings::VIEW_BOBBING, fancyGraphics); // Audio