diff --git a/Cronos The New Dawn/dllmain.cpp b/Cronos The New Dawn/dllmain.cpp index c6e2da7..3e7dbe3 100644 --- a/Cronos The New Dawn/dllmain.cpp +++ b/Cronos The New Dawn/dllmain.cpp @@ -42,6 +42,7 @@ static bool StealthMode_fix_enabled = false; static bool GodMode_fix_enabled = false; static int worldFOVvalue = 0; static int HUDvalue = 0; +static int UIvalue = 0; static float cameraDistancevalue = 0.f; static float worldTimeDilationValue = 1.f; static float AITimeDilationValue = 1.f; @@ -67,7 +68,7 @@ static FixToggle individualFixes[] = { { "Ultrawide", &Aspect_fix_enabled, GameFixes::UltraWide, "This is intended for ultrawide only.\n" "Set panini to off in settings to avoid blurry textures and narrow FOV."}, { "Camera distance", &camera_Distance_fix_enabled, GameFixes::Camera }, - { "HUD", &HUD_fix_enabled, GameFixes::HUD }, + { "HUD & UI", &HUD_fix_enabled, GameFixes::HUD }, { "Depth of field", &DOF_fix_enabled, GameFixes::DOF } }; @@ -81,7 +82,7 @@ static FixToggle cheatFixes[] = { // Facteur de scaling basé sur la résolution verticale float scale = (float)screenHeight / 1200; // Prepare array of sliders for ImGui -static SliderFix2 sliders[5]; +static SliderFix2 sliders[6]; // Load and unload game core dll functions /!\ necessary static void LoadFixDLL() { @@ -106,6 +107,7 @@ static void LoadFixDLL() { SetValues(GameSetting::FOV, worldFOVvalue); SetValues(GameSetting::CameraDistance, cameraDistancevalue); SetValues(GameSetting::HUD, HUDvalue); + SetValues(GameSetting::UI, UIvalue); SetValues(GameSetting::WorldTimeDilation, worldTimeDilationValue); SetValues(GameSetting::AITimeDilation, AITimeDilationValue); } @@ -129,10 +131,11 @@ static void LoadFixDLL() { sliders[0] = { "In game additional FOV", "##FOVValue", SliderType::Int, &worldFOVvalue, -20, 70, GameSetting::FOV, SetValues }; sliders[1] = { "Camera distance (*)", "##CameraOffset", SliderType::Float, &cameraDistancevalue, 0, 4, GameSetting::CameraDistance, SetValues, "%.2f", "Value is a multiplier.\nAffects both normal and weapon aiming distance." }; - sliders[2] = { "HUD scaling", "##HUDValue", SliderType::Int, &HUDvalue, 0, 40, GameSetting::HUD, SetValues }; - sliders[3] = { "World time dilation", "##WorldTimeDilationValue", SliderType::Float, &worldTimeDilationValue, 0.f, 2.f, GameSetting::WorldTimeDilation, SetValues, "%.1f", + sliders[2] = { "HUD scaling", "##HUDValue", SliderType::Int, &HUDvalue, 0, 40, GameSetting::HUD, SetValues, nullptr, "This will only affect HUD"}; + sliders[3] = { "UI scaling", "##UIValue", SliderType::Int, &UIvalue, 0, 40, GameSetting::UI, SetValues, nullptr, "This will only affect UI (menus)" }; + sliders[4] = { "World time dilation", "##WorldTimeDilationValue", SliderType::Float, &worldTimeDilationValue, 0.f, 3.f, GameSetting::WorldTimeDilation, SetValues, "%.1f", "Will affect everything in the world.\nDefault value is 1." }; - sliders[4] = { "AI time dilation", "##AITimeDilationValue", SliderType::Float, &AITimeDilationValue, 0.f, 2.f, GameSetting::AITimeDilation, SetValues, "%.1f", + sliders[5] = { "AI time dilation", "##AITimeDilationValue", SliderType::Float, &AITimeDilationValue, 0.f, 2.f, GameSetting::AITimeDilation, SetValues, "%.1f", "Will affect only enemies in the world.\nDefault value is 1." }; } } @@ -165,6 +168,7 @@ static void SaveSettings() { pluginIniFile["3#Fixes tuning"]["World FOV"] = worldFOVvalue; pluginIniFile["3#Fixes tuning"]["Camera distance"] = cameraDistancevalue; pluginIniFile["3#Fixes tuning"]["HUD scaling"] = HUDvalue; + pluginIniFile["3#Fixes tuning"]["UI scaling"] = UIvalue; pluginIniFile["3#Fixes tuning"]["World time dilation scale"] = worldTimeDilationValue; pluginIniFile["3#Fixes tuning"]["AI time dilation scale"] = AITimeDilationValue; @@ -192,6 +196,7 @@ static void LoadSettings() { worldFOVvalue = pluginIniFile["3#Fixes tuning"]["World FOV"].as(); cameraDistancevalue = pluginIniFile["3#Fixes tuning"]["Camera distance"].as(); HUDvalue = pluginIniFile["3#Fixes tuning"]["HUD scaling"].as(); + UIvalue = pluginIniFile["3#Fixes tuning"]["UI scaling"].as(); worldTimeDilationValue = pluginIniFile["3#Fixes tuning"]["World time dilation scale"].as(); AITimeDilationValue = pluginIniFile["3#Fixes tuning"]["AI time dilation scale"].as(); } @@ -288,9 +293,10 @@ static void on_overlay_draw(reshade::api::effect_runtime* runtime) ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); DrawSlider2(sliders[0], 200); - ImGui::TableSetColumnIndex(1); DrawSlider2(sliders[1], 200); + ImGui::TableSetColumnIndex(1); DrawSlider2(sliders[2], 200); + DrawSlider2(sliders[3], 200); ImGui::EndTable(); } ImGui::PopStyleVar(); @@ -307,13 +313,20 @@ static void on_overlay_draw(reshade::api::effect_runtime* runtime) ImGui::TableNextRow(); ImGui::TableSetColumnIndex(0); - DrawSlider2(sliders[3], 180); - ImGui::TableSetColumnIndex(1); DrawSlider2(sliders[4], 180); + ImGui::TableSetColumnIndex(1); + DrawSlider2(sliders[5], 180); ImGui::EndTable(); } ImGui::PopStyleVar(); ImGui::EndTabItem(); + if (ImGui::CollapsingHeader("Cheat informations", ImGuiTreeNodeFlags_DefaultOpen)) { + if (GetGameInfos) { + GameInfos infos{}; + GetGameInfos(&infos); + ImGui::TextColored(ImColor(48, 179, 25), "Traveler health: %.2f", infos.Health); + } + } } ImGui::EndTabBar();