Added padding to rando settings menu

This commit is contained in:
aMannus 2022-07-31 17:59:51 +02:00
parent a611197fab
commit da464c596e
3 changed files with 53 additions and 49 deletions

View File

@ -1,4 +1,5 @@
#include "ImGuiHelpers.h" #include "ImGuiHelpers.h"
#include "Lib/ImGui/imgui_internal.h"
// Adds a text tooltip for the previous ImGui item // Adds a text tooltip for the previous ImGui item
void SetLastItemHoverText(const std::string& text) { void SetLastItemHoverText(const std::string& text) {
@ -19,3 +20,14 @@ void InsertHelpHoverText(const std::string& text) {
ImGui::EndTooltip(); ImGui::EndTooltip();
} }
} }
void PaddedSeparator(bool topPadding, bool bottomPadding, float x, float y) {
ImGuiWindow* window = ImGui::GetCurrentWindow();
if (topPadding) {
ImGui::Dummy(ImVec2(x, y));
}
ImGui::Separator();
if (bottomPadding) {
ImGui::Dummy(ImVec2(x, y));
}
}

View File

@ -6,3 +6,5 @@
void SetLastItemHoverText(const std::string& text); void SetLastItemHoverText(const std::string& text);
void InsertHelpHoverText(const std::string& text); void InsertHelpHoverText(const std::string& text);
void PaddedSeparator(bool topPadding = true, bool bottomPadding = true, float x = 0.0f, float y = 0.0f);

View File

@ -3737,6 +3737,10 @@ void DrawRandoEditor(bool& open) {
} }
ImGui::Separator(); ImGui::Separator();
ImGuiWindow* window = ImGui::GetCurrentWindow();
static ImVec2 cellPadding(8.0f, 8.0f);
ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, cellPadding);
if (CVar_GetS32("gRandomizer", 0) == 1 && ImGui::BeginTabBar("Randomizer Settings", ImGuiTabBarFlags_NoCloseWithMiddleMouseButton)) { if (CVar_GetS32("gRandomizer", 0) == 1 && ImGui::BeginTabBar("Randomizer Settings", ImGuiTabBarFlags_NoCloseWithMiddleMouseButton)) {
if (ImGui::BeginTabItem("Main Rules")) { if (ImGui::BeginTabItem("Main Rules")) {
if (ImGui::BeginTable("tableRandoMainRules", 3, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) { if (ImGui::BeginTable("tableRandoMainRules", 3, ImGuiTableFlags_BordersH | ImGuiTableFlags_BordersV)) {
@ -3748,10 +3752,10 @@ void DrawRandoEditor(bool& open) {
// COLUMN 1 - OPEN SETTINGS // COLUMN 1 - OPEN SETTINGS
ImGui::TableNextColumn(); ImGui::TableNextColumn();
window->DC.CurrLineTextBaseOffset = 0.0f;
ImGui::PushItemWidth(-FLT_MIN); ImGui::PushItemWidth(-FLT_MIN);
if (CVar_GetS32("gRandomizeAllOpenSettings", 0) != 1) { if (CVar_GetS32("gRandomizeAllOpenSettings", 0) != 1) {
ImGui::Separator();
// Forest // Forest
ImGui::Text(Settings::OpenForest.GetName().c_str()); ImGui::Text(Settings::OpenForest.GetName().c_str());
InsertHelpHoverText( InsertHelpHoverText(
@ -3766,7 +3770,7 @@ void DrawRandoEditor(bool& open) {
"Open - Mido no longer blocks the path to the Deku Tree. Kokiri\n" "Open - Mido no longer blocks the path to the Deku Tree. Kokiri\n"
"boy no longer blocks the path out of the forest."); "boy no longer blocks the path out of the forest.");
SohImGui::EnhancementCombobox("gRandomizeForest", randoForest, 3, 0); SohImGui::EnhancementCombobox("gRandomizeForest", randoForest, 3, 0);
ImGui::Separator(); PaddedSeparator();
// Kakariko Gate // Kakariko Gate
ImGui::Text(Settings::OpenKakariko.GetName().c_str()); ImGui::Text(Settings::OpenKakariko.GetName().c_str());
InsertHelpHoverText( InsertHelpHoverText(
@ -3777,7 +3781,7 @@ void DrawRandoEditor(bool& open) {
"will open immediately after obtaining Zelda's letter." "will open immediately after obtaining Zelda's letter."
); );
SohImGui::EnhancementCombobox("gRandomizeKakarikoGate", randoKakarikoGate, 2, 0); SohImGui::EnhancementCombobox("gRandomizeKakarikoGate", randoKakarikoGate, 2, 0);
ImGui::Separator(); PaddedSeparator();
// Door of Time // Door of Time
ImGui::Text(Settings::OpenDoorOfTime.GetName().c_str()); ImGui::Text(Settings::OpenDoorOfTime.GetName().c_str());
@ -3792,7 +3796,7 @@ void DrawRandoEditor(bool& open) {
"requirements." "requirements."
); );
SohImGui::EnhancementCombobox("gRandomizeDoorOfTime", randoDoorOfTime, 3, 0); SohImGui::EnhancementCombobox("gRandomizeDoorOfTime", randoDoorOfTime, 3, 0);
ImGui::Separator(); PaddedSeparator();
// Zora's Fountain // Zora's Fountain
ImGui::Text(Settings::ZorasFountain.GetName().c_str()); ImGui::Text(Settings::ZorasFountain.GetName().c_str());
@ -3808,7 +3812,7 @@ void DrawRandoEditor(bool& open) {
"time periods. Ruto's Letter is removed from the item pool." "time periods. Ruto's Letter is removed from the item pool."
); );
SohImGui::EnhancementCombobox("gRandomizeZorasFountain", randoZorasFountain, 3, 0); SohImGui::EnhancementCombobox("gRandomizeZorasFountain", randoZorasFountain, 3, 0);
ImGui::Separator(); PaddedSeparator();
// Gerudo Fortress // Gerudo Fortress
ImGui::Text(Settings::GerudoFortress.GetName().c_str()); ImGui::Text(Settings::GerudoFortress.GetName().c_str());
@ -3823,7 +3827,7 @@ void DrawRandoEditor(bool& open) {
"Open - The bridge is repaired from the start." "Open - The bridge is repaired from the start."
); );
SohImGui::EnhancementCombobox("gRandomizeGerudoFortress", randoGerudoFortress, 3, 0); SohImGui::EnhancementCombobox("gRandomizeGerudoFortress", randoGerudoFortress, 3, 0);
ImGui::Separator(); PaddedSeparator();
// Rainbow Bridge // Rainbow Bridge
ImGui::Text(Settings::Bridge.GetName().c_str()); ImGui::Text(Settings::Bridge.GetName().c_str());
@ -3876,7 +3880,7 @@ void DrawRandoEditor(bool& open) {
"gRandomizeTokenCount", 1, 100, "", 100, true); "gRandomizeTokenCount", 1, 100, "", 100, true);
break; break;
} }
ImGui::Separator(); PaddedSeparator();
// Random Ganon's Trials // Random Ganon's Trials
/* /*
@ -3894,14 +3898,13 @@ void DrawRandoEditor(bool& open) {
SohImGui::EnhancementCheckbox("Skip Ganon's Trials", "gRandomizeGanonTrialCount"); SohImGui::EnhancementCheckbox("Skip Ganon's Trials", "gRandomizeGanonTrialCount");
InsertHelpHoverText( InsertHelpHoverText(
"Sets whether or not Ganon's Castle Trials are required to enter Ganon's Tower."); "Sets whether or not Ganon's Castle Trials are required to enter Ganon's Tower.");
ImGui::Separator();
} }
// COLUMN 2 - Shuffle Settings // COLUMN 2 - Shuffle Settings
ImGui::TableNextColumn(); ImGui::TableNextColumn();
window->DC.CurrLineTextBaseOffset = 0.0f;
ImGui::PushItemWidth(-FLT_MIN); ImGui::PushItemWidth(-FLT_MIN);
if (CVar_GetS32("gRandomizeAllShuffleSettings", 0) != 1) { if (CVar_GetS32("gRandomizeAllShuffleSettings", 0) != 1) {
ImGui::Separator();
// Shuffle Songs // Shuffle Songs
ImGui::Text(Settings::ShuffleSongs.GetName().c_str()); ImGui::Text(Settings::ShuffleSongs.GetName().c_str());
@ -3920,7 +3923,7 @@ void DrawRandoEditor(bool& open) {
); );
SohImGui::EnhancementCombobox("gRandomizeShuffleSongs", randoShuffleSongs, 3, 0); SohImGui::EnhancementCombobox("gRandomizeShuffleSongs", randoShuffleSongs, 3, 0);
ImGui::Separator(); PaddedSeparator();
// Shuffle Tokens // Shuffle Tokens
ImGui::Text(Settings::Tokensanity.GetName().c_str()); ImGui::Text(Settings::Tokensanity.GetName().c_str());
@ -3937,7 +3940,7 @@ void DrawRandoEditor(bool& open) {
"All Tokens - Shuffle all 100 GS tokens." "All Tokens - Shuffle all 100 GS tokens."
); );
SohImGui::EnhancementCombobox("gRandomizeShuffleTokens", randoShuffleTokens, 4, 0); SohImGui::EnhancementCombobox("gRandomizeShuffleTokens", randoShuffleTokens, 4, 0);
ImGui::Separator(); PaddedSeparator();
if(CVar_GetS32("gRandomizeStartingKokiriSword", 0) == 0) { if(CVar_GetS32("gRandomizeStartingKokiriSword", 0) == 0) {
// Shuffle Kokiri Sword // Shuffle Kokiri Sword
@ -3948,7 +3951,7 @@ void DrawRandoEditor(bool& open) {
"This will require the use of sticks until the Kokiri\n" "This will require the use of sticks until the Kokiri\n"
"Sword is found." "Sword is found."
); );
ImGui::Separator(); PaddedSeparator();
} }
if(CVar_GetS32("gRandomizeStartingOcarina", 0) == 0) { if(CVar_GetS32("gRandomizeStartingOcarina", 0) == 0) {
@ -3960,7 +3963,7 @@ void DrawRandoEditor(bool& open) {
"\n" "\n"
"This will require finding an Ocarina before being able to play songs." "This will require finding an Ocarina before being able to play songs."
); );
ImGui::Separator(); PaddedSeparator();
} }
// Shuffle Weird Egg // Shuffle Weird Egg
@ -3992,7 +3995,7 @@ void DrawRandoEditor(bool& open) {
" - Zelda's letter for Kakariko gate (if set to closed)\n" " - Zelda's letter for Kakariko gate (if set to closed)\n"
" - Happy Mask Shop sidequest\n" " - Happy Mask Shop sidequest\n"
); );
ImGui::Separator(); PaddedSeparator();
// Shuffle Gerudo Membership Card // Shuffle Gerudo Membership Card
SohImGui::EnhancementCheckbox(Settings::ShuffleGerudoToken.GetName().c_str(), "gRandomizeShuffleGerudoToken"); SohImGui::EnhancementCheckbox(Settings::ShuffleGerudoToken.GetName().c_str(), "gRandomizeShuffleGerudoToken");
@ -4002,15 +4005,12 @@ void DrawRandoEditor(bool& open) {
"The Gerudo Card is required to enter the Gerudo Training Grounds, opening\n" "The Gerudo Card is required to enter the Gerudo Training Grounds, opening\n"
"the gate to Haunted Wasteland and the Horseback Archery minigame." "the gate to Haunted Wasteland and the Horseback Archery minigame."
); );
ImGui::Separator();
} }
ImGui::PopItemWidth(); ImGui::PopItemWidth();
// COLUMN 3 - Shuffle Dungeon Items // COLUMN 3 - Shuffle Dungeon Items
ImGui::TableNextColumn(); ImGui::TableNextColumn();
ImGui::Separator(); window->DC.CurrLineTextBaseOffset = 0.0f;
// RANDOTODO implement ganon's boss key outside of ganon's castle
ImGui::PushItemWidth(-FLT_MIN); ImGui::PushItemWidth(-FLT_MIN);
// Shuffle Dungeon Rewards // Shuffle Dungeon Rewards
@ -4028,9 +4028,9 @@ void DrawRandoEditor(bool& open) {
"Anywhere - Spiritual stones and medallions can appear anywhere." "Anywhere - Spiritual stones and medallions can appear anywhere."
); );
SohImGui::EnhancementCombobox("gRandomizeShuffleDungeonReward", randoShuffleDungeonRewards, 4, 0); SohImGui::EnhancementCombobox("gRandomizeShuffleDungeonReward", randoShuffleDungeonRewards, 4, 0);
PaddedSeparator();
ImGui::Separator(); // RANDOTODO implement ganon's boss key outside of ganon's castle
// Ganon's Boss Key // Ganon's Boss Key
ImGui::Text(Settings::GanonsBossKey.GetName().c_str()); ImGui::Text(Settings::GanonsBossKey.GetName().c_str());
InsertHelpHoverText( InsertHelpHoverText(
@ -4042,11 +4042,10 @@ void DrawRandoEditor(bool& open) {
); );
SohImGui::EnhancementCombobox("gRandomizeShuffleGanonBossKey", randoShuffleGanonsBossKey, 3, SohImGui::EnhancementCombobox("gRandomizeShuffleGanonBossKey", randoShuffleGanonsBossKey, 3,
0); 0);
ImGui::Separator(); PaddedSeparator();
// Start with Maps & Compasses // Start with Maps & Compasses
SohImGui::EnhancementCheckbox(Settings::MapsAndCompasses.GetName().c_str(), "gRandomizeStartingMapsCompasses"); SohImGui::EnhancementCheckbox(Settings::MapsAndCompasses.GetName().c_str(), "gRandomizeStartingMapsCompasses");
ImGui::Separator();
ImGui::PopItemWidth(); ImGui::PopItemWidth();
ImGui::EndTable(); ImGui::EndTable();
@ -4064,7 +4063,7 @@ void DrawRandoEditor(bool& open) {
// COLUMN 1 - TIME SAVERS // COLUMN 1 - TIME SAVERS
ImGui::TableNextColumn(); ImGui::TableNextColumn();
ImGui::Separator(); window->DC.CurrLineTextBaseOffset = 0.0f;
// Cuccos to return // Cuccos to return
SohImGui::EnhancementSliderInt("Cuccos to return: %d", "##RandoCuccosToReturn", SohImGui::EnhancementSliderInt("Cuccos to return: %d", "##RandoCuccosToReturn",
@ -4072,7 +4071,7 @@ void DrawRandoEditor(bool& open) {
InsertHelpHoverText( InsertHelpHoverText(
"The amount of cuccos needed to claim the reward from Anju the cucco lady" "The amount of cuccos needed to claim the reward from Anju the cucco lady"
); );
ImGui::Separator(); PaddedSeparator();
// Big Poe Target Count // Big Poe Target Count
SohImGui::EnhancementSliderInt("Big Poe Target Count: %d", "##RandoBigPoeTargetCount", SohImGui::EnhancementSliderInt("Big Poe Target Count: %d", "##RandoBigPoeTargetCount",
@ -4080,7 +4079,7 @@ void DrawRandoEditor(bool& open) {
InsertHelpHoverText( InsertHelpHoverText(
"The Poe collector will give a reward for turning in this many Big Poes." "The Poe collector will give a reward for turning in this many Big Poes."
); );
ImGui::Separator(); PaddedSeparator();
// Skip child stealth // Skip child stealth
// Disabled when Skip Child Zelda is active // Disabled when Skip Child Zelda is active
@ -4102,7 +4101,7 @@ void DrawRandoEditor(bool& open) {
} }
InsertHelpHoverText("The crawlspace into Hyrule Castle goes straight to Zelda, skipping\n" InsertHelpHoverText("The crawlspace into Hyrule Castle goes straight to Zelda, skipping\n"
"the guards."); "the guards.");
ImGui::Separator(); PaddedSeparator();
// Skip child zelda // Skip child zelda
SohImGui::EnhancementCheckbox("Skip Child Zelda", "gRandomizeSkipChildZelda"); SohImGui::EnhancementCheckbox("Skip Child Zelda", "gRandomizeSkipChildZelda");
@ -4110,26 +4109,25 @@ void DrawRandoEditor(bool& open) {
"Start with Zelda's Letter in your inventory and skip the sequence up\n" "Start with Zelda's Letter in your inventory and skip the sequence up\n"
"until after meeting Zelda. Disables the ability to shuffle Weird Egg." "until after meeting Zelda. Disables the ability to shuffle Weird Egg."
); );
ImGui::Separator(); PaddedSeparator();
// Skip Epona race // Skip Epona race
SohImGui::EnhancementCheckbox(Settings::SkipEponaRace.GetName().c_str(), "gRandomizeSkipEponaRace"); SohImGui::EnhancementCheckbox(Settings::SkipEponaRace.GetName().c_str(), "gRandomizeSkipEponaRace");
InsertHelpHoverText( InsertHelpHoverText(
"Epona can be summoned with Epona's Song without needing to race Ingo." "Epona can be summoned with Epona's Song without needing to race Ingo."
); );
ImGui::Separator(); PaddedSeparator();
// Skip tower escape // Skip tower escape
SohImGui::EnhancementCheckbox(Settings::SkipTowerEscape.GetName().c_str(), "gRandomizeSkipTowerEscape"); SohImGui::EnhancementCheckbox(Settings::SkipTowerEscape.GetName().c_str(), "gRandomizeSkipTowerEscape");
InsertHelpHoverText( InsertHelpHoverText(
"The tower escape sequence between Ganondorf and Ganon will be skipped." "The tower escape sequence between Ganondorf and Ganon will be skipped."
); );
ImGui::Separator();
// COLUMN 2 - HINT SETTINGS // COLUMN 2 - HINT SETTINGS
ImGui::TableNextColumn(); ImGui::TableNextColumn();
window->DC.CurrLineTextBaseOffset = 0.0f;
ImGui::PushItemWidth(-FLT_MIN); ImGui::PushItemWidth(-FLT_MIN);
ImGui::Separator();
// Gossip Stone Hints // Gossip Stone Hints
ImGui::Text(Settings::GossipStoneHints.GetName().c_str()); ImGui::Text(Settings::GossipStoneHints.GetName().c_str());
@ -4182,13 +4180,12 @@ void DrawRandoEditor(bool& open) {
SohImGui::EnhancementCombobox("gRandomizeHintDistribution", randoHintDistribution, 4, 1); SohImGui::EnhancementCombobox("gRandomizeHintDistribution", randoHintDistribution, 4, 1);
ImGui::Unindent(); ImGui::Unindent();
} }
ImGui::Separator();
ImGui::PopItemWidth(); ImGui::PopItemWidth();
// COLUMN 3 - ITEM POOL SETTINGS // COLUMN 3 - ITEM POOL SETTINGS
ImGui::TableNextColumn(); ImGui::TableNextColumn();
window->DC.CurrLineTextBaseOffset = 0.0f;
ImGui::PushItemWidth(-FLT_MIN); ImGui::PushItemWidth(-FLT_MIN);
ImGui::Separator();
ImGui::Text(Settings::ItemPoolValue.GetName().c_str()); ImGui::Text(Settings::ItemPoolValue.GetName().c_str());
InsertHelpHoverText( InsertHelpHoverText(
"Sets how many major items appear in the item pool.\n" "Sets how many major items appear in the item pool.\n"
@ -4202,7 +4199,7 @@ void DrawRandoEditor(bool& open) {
"Minimal - Most excess items are removed." "Minimal - Most excess items are removed."
); );
SohImGui::EnhancementCombobox("gRandomizeItemPool", randoItemPool, 4, 1); SohImGui::EnhancementCombobox("gRandomizeItemPool", randoItemPool, 4, 1);
ImGui::Separator(); PaddedSeparator();
// Ice Traps // Ice Traps
ImGui::Text(Settings::IceTrapValue.GetName().c_str()); ImGui::Text(Settings::IceTrapValue.GetName().c_str());
@ -4221,7 +4218,6 @@ void DrawRandoEditor(bool& open) {
"in the base pool." "in the base pool."
); );
SohImGui::EnhancementCombobox("gRandomizeIceTraps", randoIceTraps, 5, 1); SohImGui::EnhancementCombobox("gRandomizeIceTraps", randoIceTraps, 5, 1);
ImGui::Separator();
ImGui::PopItemWidth(); ImGui::PopItemWidth();
ImGui::EndTable(); ImGui::EndTable();
} }
@ -4240,29 +4236,25 @@ void DrawRandoEditor(bool& open) {
// COLUMN 1 - EXCLUDE LOCATIONS // COLUMN 1 - EXCLUDE LOCATIONS
ImGui::TableNextColumn(); ImGui::TableNextColumn();
ImGui::Separator();
SohImGui::EnhancementCheckbox("Deku Theater Mask of Truth", "gRandomizeExcludeDekuTheaterMaskOfTruth"); SohImGui::EnhancementCheckbox("Deku Theater Mask of Truth", "gRandomizeExcludeDekuTheaterMaskOfTruth");
ImGui::Separator(); PaddedSeparator();
SohImGui::EnhancementCheckbox("10 Skulltula Reward", "gRandomizeExcludeKak10SkullReward"); SohImGui::EnhancementCheckbox("10 Skulltula Reward", "gRandomizeExcludeKak10SkullReward");
ImGui::Separator(); PaddedSeparator();
SohImGui::EnhancementCheckbox("20 Skulltula Reward", "gRandomizeExcludeKak20SkullReward"); SohImGui::EnhancementCheckbox("20 Skulltula Reward", "gRandomizeExcludeKak20SkullReward");
ImGui::Separator(); PaddedSeparator();
SohImGui::EnhancementCheckbox("30 Skulltula Reward", "gRandomizeExcludeKak30SkullReward"); SohImGui::EnhancementCheckbox("30 Skulltula Reward", "gRandomizeExcludeKak30SkullReward");
ImGui::Separator(); PaddedSeparator();
SohImGui::EnhancementCheckbox("40 Skulltula Reward", "gRandomizeExcludeKak40SkullReward"); SohImGui::EnhancementCheckbox("40 Skulltula Reward", "gRandomizeExcludeKak40SkullReward");
ImGui::Separator(); PaddedSeparator();
SohImGui::EnhancementCheckbox("50 Skulltula Reward", "gRandomizeExcludeKak50SkullReward"); SohImGui::EnhancementCheckbox("50 Skulltula Reward", "gRandomizeExcludeKak50SkullReward");
ImGui::Separator();
// COLUMN 2 - MISC OPTIONS // COLUMN 2 - MISC OPTIONS
ImGui::TableNextColumn(); ImGui::TableNextColumn();
ImGui::Separator();
SohImGui::EnhancementCheckbox("Nighttime GS expect Sun's Song", "gRandomizeGsExpectSunsSong"); SohImGui::EnhancementCheckbox("Nighttime GS expect Sun's Song", "gRandomizeGsExpectSunsSong");
InsertHelpHoverText( InsertHelpHoverText(
"All Golden Skulltulas that require nighttime to appear will only be\n" "All Golden Skulltulas that require nighttime to appear will only be\n"
"expected to be collected after getting Sun's Song." "expected to be collected after getting Sun's Song."
); );
ImGui::Separator();
// Add empty column to keep them 1/3rd of the width // Add empty column to keep them 1/3rd of the width
ImGui::TableNextColumn(); ImGui::TableNextColumn();
@ -4284,18 +4276,16 @@ void DrawRandoEditor(bool& open) {
ImGui::TableNextColumn(); ImGui::TableNextColumn();
// COLUMN 1 - STARTING INVENTORY // COLUMN 1 - STARTING INVENTORY
ImGui::Separator();
SohImGui::EnhancementCheckbox(Settings::StartingOcarina.GetName().c_str(), "gRandomizeStartingOcarina"); SohImGui::EnhancementCheckbox(Settings::StartingOcarina.GetName().c_str(), "gRandomizeStartingOcarina");
ImGui::Separator(); PaddedSeparator();
SohImGui::EnhancementCheckbox(Settings::StartingKokiriSword.GetName().c_str(), "gRandomizeStartingKokiriSword"); SohImGui::EnhancementCheckbox(Settings::StartingKokiriSword.GetName().c_str(), "gRandomizeStartingKokiriSword");
ImGui::Separator(); PaddedSeparator();
SohImGui::EnhancementCheckbox(Settings::StartingDekuShield.GetName().c_str(), "gRandomizeStartingDekuShield"); SohImGui::EnhancementCheckbox(Settings::StartingDekuShield.GetName().c_str(), "gRandomizeStartingDekuShield");
ImGui::Separator(); PaddedSeparator();
SohImGui::EnhancementCheckbox(Settings::StartingConsumables.GetName().c_str(), "gRandomizeStartingConsumables"); SohImGui::EnhancementCheckbox(Settings::StartingConsumables.GetName().c_str(), "gRandomizeStartingConsumables");
ImGui::Separator(); PaddedSeparator();
SohImGui::EnhancementCheckbox("Full Wallets", "gRandomizeFullWallets"); SohImGui::EnhancementCheckbox("Full Wallets", "gRandomizeFullWallets");
InsertHelpHoverText("Start with a full wallet. All wallet upgrades come filled with rupees."); InsertHelpHoverText("Start with a full wallet. All wallet upgrades come filled with rupees.");
ImGui::Separator();
// Add empty columns to keep them 1/3rd of the width // Add empty columns to keep them 1/3rd of the width
ImGui::TableNextColumn(); ImGui::TableNextColumn();