diff --git a/src/dusk/imgui/ImGuiMenuEnhancements.cpp b/src/dusk/imgui/ImGuiMenuEnhancements.cpp index a6058592da..b7d75fea2f 100644 --- a/src/dusk/imgui/ImGuiMenuEnhancements.cpp +++ b/src/dusk/imgui/ImGuiMenuEnhancements.cpp @@ -9,107 +9,117 @@ namespace dusk { void ImGuiMenuEnhancements::draw() { if (ImGui::BeginMenu("Enhancements")) { - if (ImGui::BeginMenu("Quality of Life")) { - config::ImGuiCheckbox("Quick Transform (R+Y)", getSettings().game.enableQuickTransform); + if (ImGui::BeginMenu("Gameplay")) { + ImGui::SeparatorText("Preferences"); + + config::ImGuiCheckbox("Mirror Mode", getSettings().game.enableMirrorMode); if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Allows you to quickly transform between forms\n" - "without having to talk to Midna."); + ImGui::SetTooltip("Mirrors the world horizontally, matching the Wii version of the game."); } - config::ImGuiCheckbox("Sun's Song (R+X)", getSettings().game.sunsSong); + config::ImGuiCheckbox("Disable Main HUD", getSettings().game.disableMainHUD); if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Allows Wolf Link to howl and change the time of day."); + ImGui::SetTooltip("Disables the main HUD of the game.\n" + "Useful for recording or a more immersive experience!"); } + ImGui::SeparatorText("Difficulty"); + + config::ImGuiSliderInt("Damage Multiplier", getSettings().game.damageMultiplier, 1, 8, "x%d"); + + config::ImGuiCheckbox("Instant Death", getSettings().game.instantDeath); + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Any hit will instantly kill you."); + } + + config::ImGuiCheckbox("No Heart Drops", getSettings().game.noHeartDrops); + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Hearts will never drop from enemies,\n" + "pots and various other places."); + } + + ImGui::SeparatorText("Quality of Life"); + config::ImGuiCheckbox("Bigger Wallets", getSettings().game.biggerWallets); if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Wallet sizes are like in the HD version. (500, 1000, 2000)"); } - config::ImGuiCheckbox("No Rupee Returns", getSettings().game.noReturnRupees); - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Always collect Rupees even if your Wallet is too full."); - } - config::ImGuiCheckbox("Disable Rupee Cutscenes", getSettings().game.disableRupeeCutscenes); if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Rupees won't play cutscenes after you've collected them the first time."); } - config::ImGuiCheckbox("No Sword Recoil", getSettings().game.noSwordRecoil); - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Link won't recoil when his sword hits walls."); - } - config::ImGuiCheckbox("Faster Climbing", getSettings().game.fastClimbing); if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Quicker climbing on ladders and vines like the HD version."); } + config::ImGuiCheckbox("Faster Tears of Light", getSettings().game.fastTears); + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Tears of Light dropped by Shadow Insects pop out faster like the HD version."); + } + + config::ImGuiCheckbox("Instant Saves", getSettings().game.instantSaves); + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Skip the delay when writing to the Memory Card."); + } + config::ImGuiCheckbox("No Climbing Miss Animation", getSettings().game.noMissClimbing); if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Prevents Link from playing a struggle animation\n" "when grabbing ledges or climbing on vines."); } - config::ImGuiCheckbox("Faster Tears of Light", getSettings().game.fastTears); + config::ImGuiCheckbox("No Rupee Returns", getSettings().game.noReturnRupees); if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Tears of Light dropped by Shadow Insects pop out faster like the HD version."); + ImGui::SetTooltip("Always collect Rupees even if your Wallet is too full."); } - config::ImGuiCheckbox("Hide TV Settings Screen", getSettings().game.hideTvSettingsScreen); + config::ImGuiCheckbox("No Sword Recoil", getSettings().game.noSwordRecoil); if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Hides the TV calibration screen shown when loading a save."); + ImGui::SetTooltip("Link won't recoil when his sword hits walls."); + } + + config::ImGuiCheckbox("Skip TV Settings Screen", getSettings().game.hideTvSettingsScreen); + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Skip the TV calibration screen shown when loading a save."); } config::ImGuiCheckbox("Skip Warning Screen", getSettings().game.skipWarningScreen); if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Skips the warning screen shown when loading the game."); + ImGui::SetTooltip("Skip the warning screen shown when starting the game."); } - config::ImGuiCheckbox("Instant Saves", getSettings().game.instantSaves); + config::ImGuiCheckbox("Sun's Song (R+X)", getSettings().game.sunsSong); if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Skip the delay when writing to the Memory Card."); + ImGui::SetTooltip("Allows Wolf Link to howl and change the time of day."); } - ImGui::EndMenu(); - } - - if (ImGui::BeginMenu("Preferences")) { - config::ImGuiCheckbox("Mirror Mode", getSettings().game.enableMirrorMode); + config::ImGuiCheckbox("Quick Transform (R+Y)", getSettings().game.enableQuickTransform); if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Mirrors the world, matching the Wii version of the game."); - } - - config::ImGuiCheckbox("Invert Camera X Axis", getSettings().game.invertCameraXAxis); - - config::ImGuiCheckbox("Disable Main HUD", getSettings().game.disableMainHUD); - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Disables the main HUD of the game.\n" - "Useful for recording or a more immersive experience!"); + ImGui::SetTooltip("Transform instantly by pressing R and Y simultaneously."); } ImGui::EndMenu(); } if (ImGui::BeginMenu("Graphics")) { + config::ImGuiSliderInt("Shadow Resolution", getSettings().game.shadowResolutionMultiplier, 1, 8, "x%d"); + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Improves the shadow resolution, making them higher quality."); + } + config::ImGuiCheckbox("Unlock Framerate", getSettings().game.enableFrameInterpolation); const bool frameInterpolationHovered = ImGui::IsItemHovered(); - ImGui::SameLine(); ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.0f, 0.72f, 0.2f, 1.0f)); ImGui::TextUnformatted("[EXPERIMENTAL]"); ImGui::PopStyleColor(); - if (frameInterpolationHovered || ImGui::IsItemHovered()) { ImGui::SetTooltip("Uses inter-frame interpolation to enable higher frame rates.\nVisual artifacts, animation glitches, or instability may occur."); } - config::ImGuiSliderInt("Shadow Resolution", getSettings().game.shadowResolutionMultiplier, 1, 8, "x%d"); - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Improves the shadow resolution, making them higher quality."); - } - ImGui::EndMenu(); } @@ -128,6 +138,10 @@ namespace dusk { } if (ImGui::BeginMenu("Input")) { + config::ImGuiCheckbox("Invert Camera X Axis", getSettings().game.invertCameraXAxis); + + ImGui::SeparatorText("Gyro"); + config::ImGuiCheckbox("Gyro Aim", getSettings().game.enableGyroAim); if (ImGui::IsItemHovered()) { ImGui::SetTooltip("Enables the gyroscope on supported controllers while aiming the\n" @@ -139,9 +153,18 @@ namespace dusk { config::ImGuiCheckbox("Invert Gyro Pitch", getSettings().game.gyroAimInvertPitch); config::ImGuiCheckbox("Invert Gyro Yaw", getSettings().game.gyroAimInvertYaw); + ImGui::SeparatorText("Tools"); + + config::ImGuiCheckbox("Turbo Key", getSettings().game.enableTurboKeybind); + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Hold TAB to increase game speed by up to 4x."); + } + ImGui::EndMenu(); } + ImGui::Separator(); + if (ImGui::BeginMenu("Cheats")) { config::ImGuiCheckbox("Fast Iron Boots", getSettings().game.enableFastIronBoots); @@ -163,23 +186,6 @@ namespace dusk { ImGui::EndMenu(); } - if (ImGui::BeginMenu("Difficulty")) { - config::ImGuiSliderInt("Damage Multiplier", getSettings().game.damageMultiplier, 1, 8, "x%d"); - - config::ImGuiCheckbox("No Heart Drops", getSettings().game.noHeartDrops); - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Hearts will never drop from enemies,\n" - "pots and various other places."); - } - - config::ImGuiCheckbox("Instant Death", getSettings().game.instantDeath); - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Any hit will instantly kill you."); - } - - ImGui::EndMenu(); - } - if (ImGui::BeginMenu("Technical")) { config::ImGuiCheckbox("Restore Wii 1.0 Glitches", getSettings().game.restoreWiiGlitches); if (ImGui::IsItemHovered()) { @@ -190,15 +196,6 @@ namespace dusk { ImGui::EndMenu(); } - if (ImGui::BeginMenu("Tools")) { - config::ImGuiCheckbox("Turbo Key", getSettings().game.enableTurboKeybind); - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Hold TAB to increase game speed by up to 4x."); - } - - ImGui::EndMenu(); - } - ImGui::EndMenu(); } }