FIX: Settings save

This commit is contained in:
InviseDivine
2026-03-13 17:09:39 +02:00
parent 6f7812293e
commit b0de432339
5 changed files with 39 additions and 4 deletions

View File

@@ -7,13 +7,19 @@ const char* OptionStrings::Graphics_Fancy = "gfx_fancygraphics";
const char* OptionStrings::Graphics_LowQuality = "gfx_lowquality"; const char* OptionStrings::Graphics_LowQuality = "gfx_lowquality";
const char* OptionStrings::Graphics_Vsync = "gfx_vsync"; 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_Sensitivity = "ctrl_sensitivity";
const char* OptionStrings::Controls_InvertMouse = "ctrl_invertmouse"; const char* OptionStrings::Controls_InvertMouse = "ctrl_invertmouse";
const char* OptionStrings::Controls_UseTouchScreen = "ctrl_usetouchscreen"; const char* OptionStrings::Controls_UseTouchScreen = "ctrl_usetouchscreen";
const char* OptionStrings::Controls_UseTouchJoypad = "ctrl_usetouchjoypad"; const char* OptionStrings::Controls_UseTouchJoypad = "ctrl_usetouchjoypad";
const char* OptionStrings::Controls_IsLefthanded = "ctrl_islefthanded"; 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::Controls_FeedbackVibration = "feedback_vibration";
const char* OptionStrings::Audio_Music = "audio_music";
const char* OptionStrings::Audio_Sound = "audio_sound";
const char* OptionStrings::Game_DifficultyLevel = "game_difficulty"; const char* OptionStrings::Game_DifficultyLevel = "game_difficulty";

View File

@@ -10,6 +10,9 @@ public:
static const char* Graphics_LowQuality; static const char* Graphics_LowQuality;
static const char* Graphics_GUIScale; static const char* Graphics_GUIScale;
static const char* Graphics_Vsync; static const char* Graphics_Vsync;
static const char* Graphics_SmoothLightning;
static const char* Graphics_Anaglyph;
static const char* Controls_Sensitivity; static const char* Controls_Sensitivity;
static const char* Controls_InvertMouse; static const char* Controls_InvertMouse;
static const char* Controls_UseTouchScreen; static const char* Controls_UseTouchScreen;
@@ -17,7 +20,12 @@ public:
static const char* Controls_IsLefthanded; static const char* Controls_IsLefthanded;
static const char* Controls_FeedbackVibration; static const char* Controls_FeedbackVibration;
static const char* Audio_Music;
static const char* Audio_Sound;
static const char* Game_DifficultyLevel; static const char* Game_DifficultyLevel;
}; };
#endif /*NET_MINECRAFT_CLIENT__OptionsStrings_H__*/ #endif /*NET_MINECRAFT_CLIENT__OptionsStrings_H__*/

View File

@@ -135,7 +135,7 @@ const Options::Option
Options::Option::ANAGLYPH (6, "options.anaglyph", false, true), Options::Option::ANAGLYPH (6, "options.anaglyph", false, true),
Options::Option::LIMIT_FRAMERATE (7, "options.limitFramerate",false, true), Options::Option::LIMIT_FRAMERATE (7, "options.limitFramerate",false, true),
Options::Option::DIFFICULTY (8, "options.difficulty", false, false), 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::AMBIENT_OCCLUSION (10, "options.ao", false, true),
Options::Option::GUI_SCALE (11, "options.guiScale", false, false), Options::Option::GUI_SCALE (11, "options.guiScale", false, false),
Options::Option::THIRD_PERSON (12, "options.thirdperson", false, true), Options::Option::THIRD_PERSON (12, "options.thirdperson", false, true),
@@ -238,13 +238,27 @@ void Options::update()
fancyGraphics = false; fancyGraphics = false;
} }
} }
if (key == OptionStrings::Graphics_SmoothLightning) {
bool isLow;
readBool(value, ambientOcclusion);
}
// Graphics extras // Graphics extras
if (key == OptionStrings::Graphics_Vsync) if (key == OptionStrings::Graphics_Vsync)
readBool(value, vsync); readBool(value, vsync);
if (key == OptionStrings::Graphics_Anaglyph)
readBool(value, anaglyph3d);
if (key == OptionStrings::Graphics_GUIScale) { if (key == OptionStrings::Graphics_GUIScale) {
int v; int v;
if (readInt(value, v)) guiScale = v % 5; 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 // Game
if (key == OptionStrings::Game_DifficultyLevel) { if (key == OptionStrings::Game_DifficultyLevel) {
readInt(value, difficulty); readInt(value, difficulty);
@@ -322,7 +336,13 @@ void Options::save()
addOptionToSaveOutput(stringVec, OptionStrings::Graphics_GUIScale, guiScale); addOptionToSaveOutput(stringVec, OptionStrings::Graphics_GUIScale, guiScale);
addOptionToSaveOutput(stringVec, OptionStrings::Game_DifficultyLevel, difficulty); addOptionToSaveOutput(stringVec, OptionStrings::Game_DifficultyLevel, difficulty);
addOptionToSaveOutput(stringVec, OptionStrings::Graphics_Fancy, fancyGraphics); addOptionToSaveOutput(stringVec, OptionStrings::Graphics_Fancy, fancyGraphics);
addOptionToSaveOutput(stringVec, OptionStrings::Graphics_SmoothLightning, ambientOcclusion);
addOptionToSaveOutput(stringVec, OptionStrings::Graphics_Anaglyph, anaglyph3d);
//addOptionToSaveOutput(stringVec, OptionStrings::VIEW_BOBBING, fancyGraphics); //addOptionToSaveOutput(stringVec, OptionStrings::VIEW_BOBBING, fancyGraphics);
// Audio
addOptionToSaveOutput(stringVec, OptionStrings::Audio_Music, music);
addOptionToSaveOutput(stringVec, OptionStrings::Audio_Sound, sound);
// //
// static const Option MUSIC; // static const Option MUSIC;

View File

@@ -275,6 +275,8 @@ public:
return limitFramerate; return limitFramerate;
if (item == &Option::VSYNC) if (item == &Option::VSYNC)
return vsync; return vsync;
if (item == &Option::GRAPHICS)
return fancyGraphics;
if (item == &Option::AMBIENT_OCCLUSION) if (item == &Option::AMBIENT_OCCLUSION)
return ambientOcclusion; return ambientOcclusion;
if (item == &Option::THIRD_PERSON) if (item == &Option::THIRD_PERSON)

View File

@@ -243,7 +243,6 @@ void OptionsScreen::generateOptionScreens() {
.addOptionItem(&Options::Option::VIEW_BOBBING, minecraft) .addOptionItem(&Options::Option::VIEW_BOBBING, minecraft)
.addOptionItem(&Options::Option::AMBIENT_OCCLUSION, minecraft) .addOptionItem(&Options::Option::AMBIENT_OCCLUSION, minecraft)
.addOptionItem(&Options::Option::ANAGLYPH, minecraft) .addOptionItem(&Options::Option::ANAGLYPH, minecraft)
.addOptionItem(&Options::Option::LIMIT_FRAMERATE, minecraft)
.addOptionItem(&Options::Option::VSYNC, minecraft) .addOptionItem(&Options::Option::VSYNC, minecraft)
.addOptionItem(&Options::Option::MUSIC, minecraft) .addOptionItem(&Options::Option::MUSIC, minecraft)
.addOptionItem(&Options::Option::SOUND, minecraft); .addOptionItem(&Options::Option::SOUND, minecraft);