Split camera distance into in and outdoor
This commit is contained in:
@@ -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<bool>();
|
||||
camera_fix_enabled = pluginIniFile["2#Individual fix"]["Camera"].as<bool>();
|
||||
worldFOVvalue = pluginIniFile["3#Fixes tuning"]["World FOV"].as<int>();
|
||||
cameraDistancevalue = pluginIniFile["3#Fixes tuning"]["Camera distance"].as<float>();
|
||||
cameraOutdoorDistancevalue = pluginIniFile["3#Fixes tuning"]["Outdoor camera distance"].as<float>();
|
||||
cameraIndoorDistancevalue = pluginIniFile["3#Fixes tuning"]["Indoor camera distance"].as<float>();
|
||||
}
|
||||
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();
|
||||
|
||||
Reference in New Issue
Block a user