From ee1cad14932511b6c1037141e6e751f0b46f0609 Mon Sep 17 00:00:00 2001 From: Emmanuel AYME Date: Sun, 1 Mar 2026 19:04:15 +0100 Subject: [PATCH] Split camera distance into in and outdoor --- WickedSeed/dllmain.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/WickedSeed/dllmain.cpp b/WickedSeed/dllmain.cpp index 8975c6d..74ae9fb 100644 --- a/WickedSeed/dllmain.cpp +++ b/WickedSeed/dllmain.cpp @@ -35,7 +35,8 @@ static bool fix_enabled = false; static bool fov_fix_enabled = false; static bool camera_fix_enabled = false; static int worldFOVvalue = 0; -static float cameraDistancevalue = 1.f; +static float cameraOutdoorDistancevalue = 1.f; +static float cameraIndoorDistancevalue = 1.f; // Overlays popups static bool popup_Informations = false; @@ -58,7 +59,7 @@ static FixToggle individualFixes[] = { }; // Prepare array of sliders for ImGui -static SliderFix2 sliders[5]; +static SliderFix2 sliders[3]; // Load and unload game core dll functions /!\ necessary static void LoadFixDLL() { @@ -85,12 +86,14 @@ static void LoadFixDLL() { // Apply initial values loaded from settings if (SetValues) { SetValues(GameSetting::FOV, worldFOVvalue); - SetValues(GameSetting::CameraDistance, cameraDistancevalue); + SetValues(GameSetting::CameraDistance, cameraOutdoorDistancevalue); } sliders[0] = { "In game additional FOV", "##FOVValue", SliderType::Int, &worldFOVvalue, -20, 40, GameSetting::FOV, SetValues }; - sliders[1] = { "Camera distance (*)", "##CameraOffset", SliderType::Float, &cameraDistancevalue, 0, 2, GameSetting::CameraDistance, SetValues, "%.2f", - "Value is a multiplier." }; + sliders[1] = { "Outdoor camera distance (*)", "##CameraOutdoorOffset", SliderType::Float, &cameraOutdoorDistancevalue, 0, 2, GameSetting::CameraDistance, SetValues, "%.2f", + "Value is a multiplier.\nFinal computed camera value is in meters." }; + sliders[2] = { "Indoor Camera distance (*)", "##CameraIndoorOffset", SliderType::Float, &cameraIndoorDistancevalue, 0, 2, GameSetting::AITimeDilation, SetValues, "%.2f", + "Value is a multiplier.\nFinal computed camera value is in meters." }; } } @@ -107,7 +110,8 @@ static void SaveSettings() { pluginIniFile["2#Individual fix"]["Camera"] = camera_fix_enabled; pluginIniFile["3#Fixes tuning"].setComment("Individual fix fine tune"); pluginIniFile["3#Fixes tuning"]["World FOV"] = worldFOVvalue; - pluginIniFile["3#Fixes tuning"]["Camera distance"] = cameraDistancevalue; + pluginIniFile["3#Fixes tuning"]["Outdoor camera distance"] = cameraOutdoorDistancevalue; + pluginIniFile["3#Fixes tuning"]["Indoor camera distance"] = cameraIndoorDistancevalue; pluginIniFile.save(SETTINGS_FILE); } @@ -120,7 +124,8 @@ static void LoadSettings() { fov_fix_enabled = pluginIniFile["2#Individual fix"]["FOV"].as(); camera_fix_enabled = pluginIniFile["2#Individual fix"]["Camera"].as(); worldFOVvalue = pluginIniFile["3#Fixes tuning"]["World FOV"].as(); - cameraDistancevalue = pluginIniFile["3#Fixes tuning"]["Camera distance"].as(); + cameraOutdoorDistancevalue = pluginIniFile["3#Fixes tuning"]["Outdoor camera distance"].as(); + cameraIndoorDistancevalue = pluginIniFile["3#Fixes tuning"]["Indoor camera distance"].as(); } catch (const std::exception& e) {} } @@ -225,6 +230,7 @@ static void on_overlay_draw(reshade::api::effect_runtime* runtime) { DrawSlider2(sliders[0], 200); ImGui::TableSetColumnIndex(1); DrawSlider2(sliders[1], 200); + DrawSlider2(sliders[2], 200); ImGui::EndTable(); } ImGui::PopStyleVar();