diff --git a/Metal Gear Solid Delta/dllmain.cpp b/Metal Gear Solid Delta/dllmain.cpp index 9fbc170..0aefe7e 100644 --- a/Metal Gear Solid Delta/dllmain.cpp +++ b/Metal Gear Solid Delta/dllmain.cpp @@ -19,7 +19,7 @@ static SetBoolFn SetFPSFixEnabled = nullptr; static SetBoolFn SetResolutionFixEnabled = nullptr; static SetBoolFn SetAspectRatioFixEnabled = nullptr; static SetBoolFn SetDOFFixEnabled = nullptr; -//static SetBoolFn SetCAFixEnabled = nullptr; +static SetBoolFn SetCAFixEnabled = nullptr; static SetBoolFn SetVignettingFixEnabled = nullptr; static SetBoolFn SetFogFixEnabled = nullptr; static SetIntFn SetFOV = nullptr; @@ -33,7 +33,7 @@ static bool FPS_fix_enabled = false; static bool Resolution_fix_enabled = false; static bool Aspect_fix_enabled = false; static bool DOF_fix_enabled = false; -//static bool CA_fix_enabled = false; +static bool CA_fix_enabled = false; static bool Vignetting_fix_enabled = false; static bool Fog_fix_enabled = false; static bool fix_enabled = false; @@ -49,11 +49,12 @@ const char* FPS_FIX_SETTING = "FPSFIX="; const char* RESOLUTION_FIX_SETTING = "ResolutionFIX="; const char* ASPECT_FIX_SETTING = "AspectFIX="; const char* DOF_FIX_SETTING = "DOFFIX="; +const char* CA_FIX_SETTING = "ChromaticAberrationsFIX="; const char* VIGNETTING_FIX_SETTING = "VignettingFIX="; const char* FOG_FIX_SETTING = "FogFIX="; const char* WORLD_FOV_SETTING = "WorldFOV="; -const char* FIX_VERSION = "1.0.2"; -const char* FIX_INFORMATIONS = "This fix allows to:\n - Control FOV in game.\n - Unlock ultrawide resolutions.\n - Remove pillar boxing.\n - Unlock FPS.\n - Disable depth of field.\n - Disable vignetting.\n - Disable FOG."; +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 pillar boxing.\n - Unlock FPS.\n - Disable depth of field.\n - Disable chromatic aberrations.\n - Disable vignetting.\n - Disable FOG."; const char* DONATION_URL = "https://buymeacoffee.com/k4sh44"; @@ -75,6 +76,7 @@ static void LoadFixDLL() SetResolutionFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetResolutionFixEnabled"); SetAspectRatioFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetAspectRatioFixEnabled"); SetDOFFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetDOFFixEnabled"); + SetCAFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetCAFixEnabled"); SetVignettingFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetVignettingFixEnabled"); SetFogFixEnabled = (SetBoolFn)GetProcAddress(fixLib, "SetFogFixEnabled"); SetFOV = (SetIntFn)GetProcAddress(fixLib, "SetFOV"); @@ -89,6 +91,7 @@ static void LoadFixDLL() if (SetResolutionFixEnabled) SetResolutionFixEnabled(Resolution_fix_enabled, true); if (SetAspectRatioFixEnabled) SetAspectRatioFixEnabled(Aspect_fix_enabled, true); if (SetDOFFixEnabled) SetDOFFixEnabled(DOF_fix_enabled, true); + if (SetCAFixEnabled) SetCAFixEnabled(CA_fix_enabled, true); if (SetVignettingFixEnabled) SetVignettingFixEnabled(Vignetting_fix_enabled, true); if (SetFogFixEnabled) SetFogFixEnabled(Fog_fix_enabled, true); if (SetFixEnabled) SetFixEnabled(fix_enabled, true); @@ -106,6 +109,7 @@ static void SaveSettings() file << RESOLUTION_FIX_SETTING << (Resolution_fix_enabled ? "1" : "0") << "\n"; file << ASPECT_FIX_SETTING << (Aspect_fix_enabled ? "1" : "0") << "\n"; file << DOF_FIX_SETTING << (DOF_fix_enabled ? "1" : "0") << "\n"; + file << CA_FIX_SETTING << (CA_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 << WORLD_FOV_SETTING << worldFOVvalue << "\n"; @@ -151,6 +155,11 @@ static void LoadSettings() std::string val = line.substr(strlen(DOF_FIX_SETTING)); DOF_fix_enabled = (val == "1" || val == "true"); } + else if (line.find(CA_FIX_SETTING) == 0) + { + std::string val = line.substr(strlen(CA_FIX_SETTING)); + CA_fix_enabled = (val == "1" || val == "true"); + } else if (line.find(VIGNETTING_FIX_SETTING) == 0) { std::string val = line.substr(strlen(VIGNETTING_FIX_SETTING)); @@ -239,33 +248,33 @@ static void on_overlay_draw(reshade::api::effect_runtime* runtime) SaveSettings(); } - ImGui::SetCursorPos(ImVec2(5, 55)); + ImGui::SetCursorPos(ImVec2(70, 30)); if (ImGui::Checkbox("Frame time", &FPS_fix_enabled)) { if (SetFPSFixEnabled) SetFPSFixEnabled(FPS_fix_enabled, false); SaveSettings(); } - ImGui::SetCursorPos(ImVec2(110, 55)); + ImGui::SetCursorPos(ImVec2(5, 55)); if (ImGui::Checkbox("Resolution", &Resolution_fix_enabled)) { if (SetResolutionFixEnabled) SetResolutionFixEnabled(Resolution_fix_enabled, false); SaveSettings(); } - ImGui::SetCursorPos(ImVec2(5, 80)); - if (ImGui::Checkbox("Aspect ratio fix", &Aspect_fix_enabled)) { + ImGui::SetCursorPos(ImVec2(120, 55)); + if (ImGui::Checkbox("Aspect ratio", &Aspect_fix_enabled)) { if (SetAspectRatioFixEnabled) SetAspectRatioFixEnabled(Aspect_fix_enabled, false); SaveSettings(); } - if (ImGui::IsItemHovered()) { - ImGui::BeginTooltip(); - ImGui::Text("This doesn't remove pillar boxing in cutscenes."); - ImGui::EndTooltip(); + ImGui::SetCursorPos(ImVec2(5, 80)); + if (ImGui::Checkbox("Depth of field", &DOF_fix_enabled)) { + if (SetDOFFixEnabled) SetDOFFixEnabled(DOF_fix_enabled, false); + SaveSettings(); } ImGui::SetCursorPos(ImVec2(5, 105)); - if (ImGui::Checkbox("Depth of field", &DOF_fix_enabled)) { - if (SetDOFFixEnabled) SetDOFFixEnabled(DOF_fix_enabled, false); + if (ImGui::Checkbox("Chromatic aberrations", &CA_fix_enabled)) { + if (SetCAFixEnabled) SetCAFixEnabled(CA_fix_enabled, false); SaveSettings(); }