Add camera distance
This commit is contained in:
@@ -15,6 +15,7 @@ static float aspectRatio = (float)screenWidth / screenHeight;
|
||||
// Core game dll functions declarations
|
||||
typedef void (*SetBoolFn)(bool, bool);
|
||||
typedef void (*SetIntFn)(int);
|
||||
typedef void (*SetFloatFn)(float);
|
||||
typedef float (*GetFloatFn)();
|
||||
typedef bool (*GetBoolFn)();
|
||||
typedef void (*SetUEConsole)();
|
||||
@@ -28,7 +29,9 @@ static SetBoolFn SetAspectRatioFixEnabled = nullptr;
|
||||
static SetBoolFn SetDOFFixEnabled = nullptr;
|
||||
static SetBoolFn SetVignettingFixEnabled = nullptr;
|
||||
static SetBoolFn SetFogFixEnabled = nullptr;
|
||||
static SetBoolFn SetCameraDistanceFixEnabled = nullptr;
|
||||
static SetIntFn SetFOV = nullptr;
|
||||
static SetFloatFn SetCameraDistance = nullptr;
|
||||
static GetFloatFn GetFOVIn = nullptr;
|
||||
static GetFloatFn GetCompensadedFOV = nullptr;
|
||||
static GetFloatFn GetFOVOut = nullptr;
|
||||
@@ -43,8 +46,10 @@ static bool Aspect_fix_enabled = false;
|
||||
static bool DOF_fix_enabled = false;
|
||||
static bool Vignetting_fix_enabled = false;
|
||||
static bool Fog_fix_enabled = false;
|
||||
static bool camera_Distance_fix_enabled = false;
|
||||
static bool fix_enabled = false;
|
||||
static int worldFOVvalue = 0;
|
||||
static float cameraDistancevalue = 0.f;
|
||||
|
||||
static bool popup_Informations = false;
|
||||
|
||||
@@ -56,9 +61,11 @@ const char* ASPECT_FIX_SETTING = "AspectFIX=";
|
||||
const char* DOF_FIX_SETTING = "DOFFIX=";
|
||||
const char* VIGNETTING_FIX_SETTING = "VignettingFIX=";
|
||||
const char* FOG_FIX_SETTING = "FogFIX=";
|
||||
const char* CAMERA_DISTANCE_FIX_SETTING = "CameraDistanceFIX=";
|
||||
const char* WORLD_FOV_SETTING = "WorldFOV=";
|
||||
const char* FIX_VERSION = "1.0.3";
|
||||
const char* FIX_INFORMATIONS = "This fix allows to:\n - Control FOV in game.\n - Unlock ultrawide resolutions.\n - Remove depth of field.\n - Remove vignetting.\n - Remove fog.\n - Re enable console.";
|
||||
const char* CAMERA_DISTANCE_SETTING = "CameraDistance=";
|
||||
const char* FIX_VERSION = "1.0.4";
|
||||
const char* FIX_INFORMATIONS = "This fix allows to:\n - Control FOV in game.\n - Control camera distance.\n - Unlock ultrawide resolutions.\n - Remove depth of field.\n - Remove vignetting.\n - Remove fog.\n - Re enable console.";
|
||||
const char* DONATION_URL = "https://buymeacoffee.com/k4sh44";
|
||||
|
||||
bool IsAlreadyInitialized()
|
||||
@@ -103,7 +110,9 @@ static void LoadFixDLL()
|
||||
SetDOFFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetDOFFixEnabled");
|
||||
SetVignettingFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetVignettingFixEnabled");
|
||||
SetFogFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetFogFixEnabled");
|
||||
SetCameraDistanceFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetCameraDistanceFixEnabled");
|
||||
SetFOV = (SetIntFn)GetProcAddress(fixLib, "SetFOV");
|
||||
SetCameraDistance = (SetFloatFn)GetProcAddress(fixLib, "SetCameraDistance");
|
||||
GetFOVIn = (GetFloatFn)GetProcAddress(fixLib, "GetFOVIn");
|
||||
GetCompensadedFOV = (GetFloatFn)GetProcAddress(fixLib, "GetCompensatedFOV");
|
||||
GetFOVOut = (GetFloatFn)GetProcAddress(fixLib, "GetFOVOut");
|
||||
@@ -112,11 +121,13 @@ static void LoadFixDLL()
|
||||
|
||||
// Apply initial values loaded from settings
|
||||
if (SetFOV) SetFOV(worldFOVvalue);
|
||||
if (SetCameraDistance) SetCameraDistance(cameraDistancevalue);
|
||||
if (SetFOVFixEnabled) SetFOVFixEnabled(fov_fix_enabled, true);
|
||||
if (SetAspectRatioFixEnabled) SetAspectRatioFixEnabled(Aspect_fix_enabled, true);
|
||||
if (SetDOFFixEnabled) SetDOFFixEnabled(DOF_fix_enabled, true);
|
||||
if (SetVignettingFixEnabled) SetVignettingFixEnabled(Vignetting_fix_enabled, true);
|
||||
if (SetFogFixEnabled) SetFogFixEnabled(Fog_fix_enabled, true);
|
||||
if (SetCameraDistanceFixEnabled) SetCameraDistanceFixEnabled(camera_Distance_fix_enabled, true);
|
||||
if (SetFixEnabled) SetFixEnabled(fix_enabled, true);
|
||||
if (SetConsole) SetConsole();
|
||||
}
|
||||
@@ -134,7 +145,9 @@ static void SaveSettings()
|
||||
file << DOF_FIX_SETTING << (DOF_fix_enabled ? "1" : "0") << "\n";
|
||||
file << VIGNETTING_FIX_SETTING << (Vignetting_fix_enabled ? "1" : "0") << "\n";
|
||||
file << FOG_FIX_SETTING << (Fog_fix_enabled ? "1" : "0") << "\n";
|
||||
file << CAMERA_DISTANCE_FIX_SETTING << (camera_Distance_fix_enabled ? "1" : "0") << "\n";
|
||||
file << WORLD_FOV_SETTING << worldFOVvalue << "\n";
|
||||
file << CAMERA_DISTANCE_SETTING << cameraDistancevalue << "\n";
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
@@ -177,9 +190,15 @@ static void LoadSettings()
|
||||
std::string val = line.substr(strlen(FOG_FIX_SETTING));
|
||||
Fog_fix_enabled = (val == "1" || val == "true");
|
||||
}
|
||||
else if (line.find(CAMERA_DISTANCE_FIX_SETTING) == 0)
|
||||
{
|
||||
std::string val = line.substr(strlen(CAMERA_DISTANCE_FIX_SETTING));
|
||||
camera_Distance_fix_enabled = (val == "1" || val == "true");
|
||||
}
|
||||
else if (line.find(WORLD_FOV_SETTING) == 0)
|
||||
worldFOVvalue = std::stoi(line.substr(strlen(WORLD_FOV_SETTING)));
|
||||
|
||||
else if (line.find(CAMERA_DISTANCE_SETTING) == 0)
|
||||
cameraDistancevalue = std::stoi(line.substr(strlen(CAMERA_DISTANCE_SETTING)));
|
||||
}
|
||||
file.close();
|
||||
}
|
||||
@@ -245,6 +264,20 @@ static void on_overlay_draw(reshade::api::effect_runtime* runtime)
|
||||
}
|
||||
ImGui::EndChild();
|
||||
|
||||
// Camera distance adjustment
|
||||
ImGui::SetCursorPos(ImVec2(10, 180));
|
||||
ImGui::BeginChild("CameraHeader", ImVec2(220, 0), false);
|
||||
if (ImGui::CollapsingHeader("Camera distance multiplier", ImGuiTreeNodeFlags_DefaultOpen)) {
|
||||
ImGui::SetCursorPos(ImVec2(5, 30));
|
||||
ImGui::SetNextItemWidth(150.0f);
|
||||
if (ImGui::SliderFloat("", &cameraDistancevalue, 0, 3)) {}
|
||||
if (ImGui::IsItemDeactivatedAfterEdit()) {
|
||||
if (SetCameraDistance) SetCameraDistance(cameraDistancevalue);
|
||||
SaveSettings();
|
||||
}
|
||||
}
|
||||
ImGui::EndChild();
|
||||
|
||||
// Individual fixes
|
||||
ImGui::SetCursorPos(ImVec2(240, 60));
|
||||
ImGui::BeginChild("IndividualFixesHeader", ImVec2(250, 0), false);
|
||||
@@ -255,6 +288,12 @@ static void on_overlay_draw(reshade::api::effect_runtime* runtime)
|
||||
SaveSettings();
|
||||
}
|
||||
|
||||
ImGui::SetCursorPos(ImVec2(60, 30));
|
||||
if (ImGui::Checkbox("Camera distance", &camera_Distance_fix_enabled)) {
|
||||
if (SetCameraDistanceFixEnabled) SetCameraDistanceFixEnabled(camera_Distance_fix_enabled, false);
|
||||
SaveSettings();
|
||||
}
|
||||
|
||||
ImGui::SetCursorPos(ImVec2(5, 55));
|
||||
if (ImGui::Checkbox("Aspect ratio", &Aspect_fix_enabled)) {
|
||||
if (SetAspectRatioFixEnabled) SetAspectRatioFixEnabled(Aspect_fix_enabled, false);
|
||||
|
||||
Reference in New Issue
Block a user