TWEAK: Submenus for the enhancement menu (#343)

* TWEAK: Submenus for the enhancement menu

original PR was #322 closed it because I messed it

* Fix for Assignable Tunics and Boots
This commit is contained in:
PurpleHato 2022-05-15 21:51:58 +02:00 committed by GitHub
commit 076887e71f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -363,7 +363,7 @@ namespace SohImGui {
ModInternal::registerHookListener({ CONTROLLER_READ, [](const HookEvent ev) { ModInternal::registerHookListener({ CONTROLLER_READ, [](const HookEvent ev) {
pads = static_cast<OSContPad*>(ev->baseArgs["cont_pad"]); pads = static_cast<OSContPad*>(ev->baseArgs["cont_pad"]);
}}); } });
Game::InitSettings(); Game::InitSettings();
} }
@ -402,7 +402,7 @@ namespace SohImGui {
EnhancementRadioButton("French", "gLanguages", 2); EnhancementRadioButton("French", "gLanguages", 2);
*/ */
int val = CVar_GetS32(cvarName.c_str(), 0); int val = CVar_GetS32(cvarName.c_str(), 0);
if (ImGui::RadioButton(text.c_str(), id==val)) { if (ImGui::RadioButton(text.c_str(), id == val)) {
CVar_SetS32(cvarName.c_str(), (int)id); CVar_SetS32(cvarName.c_str(), (int)id);
needs_save = true; needs_save = true;
} }
@ -505,7 +505,7 @@ namespace SohImGui {
} }
} }
void Tooltip(std::string text){ void Tooltip(std::string text) {
if (ImGui::IsItemHovered()) if (ImGui::IsItemHovered())
ImGui::SetTooltip("%s", text.c_str()); ImGui::SetTooltip("%s", text.c_str());
} }
@ -641,7 +641,7 @@ namespace SohImGui {
INFO("New Filter: %s", filters[fId]); INFO("New Filter: %s", filters[fId]);
gapi->set_texture_filter((FilteringMode)fId); gapi->set_texture_filter((FilteringMode)fId);
CVar_SetS32("gTextureFilter", (int) fId); CVar_SetS32("gTextureFilter", (int)fId);
needs_save = true; needs_save = true;
} }
@ -661,40 +661,44 @@ namespace SohImGui {
if (ImGui::BeginMenu("Enhancements")) if (ImGui::BeginMenu("Enhancements"))
{ {
ImGui::Text("Gameplay"); if (ImGui::BeginMenu("Gameplay"))
ImGui::Separator(); {
EnhancementSliderInt("Text Speed: %dx", "##TEXTSPEED", "gTextSpeed", 1, 5, ""); EnhancementSliderInt("Text Speed: %dx", "##TEXTSPEED", "gTextSpeed", 1, 5, "");
EnhancementSliderInt("King Zora Speed: %dx", "##WEEPSPEED", "gMweepSpeed", 1, 5, ""); EnhancementSliderInt("King Zora Speed: %dx", "##WEEPSPEED", "gMweepSpeed", 1, 5, "");
EnhancementCheckbox("Mute Low HP Alarm", "gLowHpAlarm");
EnhancementCheckbox("Skip Text", "gSkipText"); EnhancementCheckbox("Skip Text", "gSkipText");
Tooltip("Holding down B skips text"); Tooltip("Holding down B skips text");
EnhancementCheckbox("Mute Low HP Alarm", "gLowHpAlarm");
Tooltip("Disable the low HP beeping sound");
EnhancementCheckbox("Minimal UI", "gMinimalUI"); EnhancementCheckbox("Minimal UI", "gMinimalUI");
Tooltip("Hides most of the UI when not needed"); Tooltip("Hides most of the UI when not needed");
EnhancementCheckbox("MM Bunny Hood", "gMMBunnyHood");
Tooltip("Wearing the Bunny Hood grants a speed increase like in Majora's Mask");
EnhancementCheckbox("Visual Stone of Agony", "gVisualAgony"); EnhancementCheckbox("Visual Stone of Agony", "gVisualAgony");
Tooltip("Displays an icon and plays a sound when Stone of Agony should be activated, for those without rumble"); Tooltip("Displays an icon and plays a sound when Stone of Agony should be activated, for those without rumble");
EnhancementCheckbox("Faster Block Push", "gFasterBlockPush");
EnhancementCheckbox("Assignable Tunics and Boots", "gAssignableTunicsAndBoots"); EnhancementCheckbox("Assignable Tunics and Boots", "gAssignableTunicsAndBoots");
Tooltip("Allows equiping the tunic and boots to c-buttons"); Tooltip("Allows equiping the tunic and boots to c-buttons");
EnhancementCheckbox("MM Bunny Hood", "gMMBunnyHood");
Tooltip("Wearing the Bunny Hood grants a speed increase like in Majora's Mask");
ImGui::Text("Graphics"); ImGui::EndMenu();
ImGui::Separator(); }
if (ImGui::BeginMenu("Graphics"))
{
EnhancementCheckbox("N64 Mode", "gN64Mode"); EnhancementCheckbox("N64 Mode", "gN64Mode");
Tooltip("Sets aspect ratio to 4:3 and lowers resolution to 240p, the N64's native resolution"); Tooltip("Sets aspect ratio to 4:3 and lowers resolution to 240p, the N64's native resolution");
EnhancementCheckbox("Animated Link in Pause Menu", "gPauseLiveLink"); EnhancementCheckbox("Animated Link in Pause Menu", "gPauseLiveLink");
EnhancementCheckbox("Enable 3D Dropped items", "gNewDrops"); EnhancementCheckbox("Enable 3D Dropped items", "gNewDrops");
EnhancementCheckbox("Faster Block Push", "gFasterBlockPush");
EnhancementCheckbox("Dynamic Wallet Icon", "gDynamicWalletIcon"); EnhancementCheckbox("Dynamic Wallet Icon", "gDynamicWalletIcon");
Tooltip("Changes the rupee in the wallet icon to match the wallet size you currently have"); Tooltip("Changes the rupee in the wallet icon to match the wallet size you currently have");
EnhancementCheckbox("Always show dungeon entrances", "gAlwaysShowDungeonMinimapIcon"); EnhancementCheckbox("Always show dungeon entrances", "gAlwaysShowDungeonMinimapIcon");
Tooltip("Always shows dungeon entrance icons on the minimap"); Tooltip("Always shows dungeon entrance icons on the minimap");
ImGui::Text("Fixes"); ImGui::EndMenu();
ImGui::Separator(); }
if (ImGui::BeginMenu("Fixes"))
{
EnhancementCheckbox("Fix L&R Pause menu", "gUniformLR"); EnhancementCheckbox("Fix L&R Pause menu", "gUniformLR");
Tooltip("Makes the L and R buttons in the pause menu the same color"); Tooltip("Makes the L and R buttons in the pause menu the same color");
EnhancementCheckbox("Fix Dungeon entrances", "gFixDungeonMinimapIcon"); EnhancementCheckbox("Fix Dungeon entrances", "gFixDungeonMinimapIcon");
@ -702,9 +706,12 @@ namespace SohImGui {
EnhancementCheckbox("Fix Two Handed idle animations", "gTwoHandedIdle"); EnhancementCheckbox("Fix Two Handed idle animations", "gTwoHandedIdle");
Tooltip("Makes two handed idle animation play, a seemingly finished animation that was disabled on accident in the original game"); Tooltip("Makes two handed idle animation play, a seemingly finished animation that was disabled on accident in the original game");
ImGui::EndMenu();
}
EXPERIMENTAL(); EXPERIMENTAL();
EnhancementCheckbox("60 fps interpolation", "g60FPS"); EnhancementCheckbox("60FPS Interpolation", "g60FPS");
EnhancementCheckbox("Disable LOD", "gDisableLOD"); EnhancementCheckbox("Disable LOD", "gDisableLOD");
Tooltip("Turns off the level of detail setting, making models always use their higher poly variants"); Tooltip("Turns off the level of detail setting, making models always use their higher poly variants");
@ -758,7 +765,7 @@ namespace SohImGui {
EnhancementCheckbox("Easy ISG", "gEzISG"); EnhancementCheckbox("Easy ISG", "gEzISG");
Tooltip("Automatically activates the Infinite Sword glitch, making you constantly swing your sword"); Tooltip("Automatically activates the Infinite Sword glitch, making you constantly swing your sword");
EnhancementCheckbox("Unrestricted Items", "gNoRestrictItems"); EnhancementCheckbox("Unrestricted Items", "gNoRestrictItems");
Tooltip("Allows you to use all items at any age"); Tooltip("Allows you to use any item at any location");
EnhancementCheckbox("Freeze Time", "gFreezeTime"); EnhancementCheckbox("Freeze Time", "gFreezeTime");
Tooltip("Freezes the time of day"); Tooltip("Freezes the time of day");