Merge remote-tracking branch 'origin/develop' into rando-dev-merge-feb
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
|
||||
|
||||
#include "Enhancements/audio/AudioEditor.h"
|
||||
#include "Enhancements/controls/InputViewer.h"
|
||||
#include "Enhancements/cosmetics/CosmeticsEditor.h"
|
||||
#include "Enhancements/debugger/actorViewer.h"
|
||||
#include "Enhancements/debugger/colViewer.h"
|
||||
@@ -29,6 +30,7 @@
|
||||
#include "Enhancements/debugger/dlViewer.h"
|
||||
#include "Enhancements/debugger/valueViewer.h"
|
||||
#include "Enhancements/gameplaystatswindow.h"
|
||||
#include "Enhancements/debugger/MessageViewer.h"
|
||||
#include "Enhancements/randomizer/randomizer_check_tracker.h"
|
||||
#include "Enhancements/randomizer/randomizer_entrance_tracker.h"
|
||||
#include "Enhancements/randomizer/randomizer_item_tracker.h"
|
||||
@@ -104,6 +106,7 @@ static const char* imguiScaleOptions[4] = { "Small", "Normal", "Large", "X-Large
|
||||
"OHKO"
|
||||
};
|
||||
static const char* timeTravelOptions[3] = { "Disabled", "Ocarina of Time", "Any Ocarina" };
|
||||
static const char* swordToggleModes[3] = { "Disabled", "Child Toggle", "Both Ages (May lead to unintended behaviour)"};
|
||||
|
||||
extern "C" SaveContext gSaveContext;
|
||||
|
||||
@@ -180,6 +183,8 @@ void DrawShipMenu() {
|
||||
}
|
||||
|
||||
extern std::shared_ptr<LUS::GuiWindow> mInputEditorWindow;
|
||||
extern std::shared_ptr<InputViewer> mInputViewer;
|
||||
extern std::shared_ptr<InputViewerSettingsWindow> mInputViewerSettings;
|
||||
extern std::shared_ptr<AdvancedResolutionSettings::AdvancedResolutionSettingsWindow> mAdvancedResolutionSettingsWindow;
|
||||
|
||||
void DrawSettingsMenu() {
|
||||
@@ -245,11 +250,25 @@ void DrawSettingsMenu() {
|
||||
#ifndef __SWITCH__
|
||||
UIWidgets::EnhancementCheckbox("Menubar Controller Navigation", "gControlNav");
|
||||
UIWidgets::Tooltip("Allows controller navigation of the SOH menu bar (Settings, Enhancements,...)\nCAUTION: This will disable game inputs while the menubar is visible.\n\nD-pad to move between items, A to select, and X to grab focus on the menu bar");
|
||||
UIWidgets::PaddedSeparator();
|
||||
#endif
|
||||
UIWidgets::PaddedEnhancementCheckbox("Show Inputs", "gInputEnabled", true, false);
|
||||
UIWidgets::Tooltip("Shows currently pressed inputs on the bottom right of the screen");
|
||||
UIWidgets::PaddedEnhancementSliderFloat("Input Scale: %.2f", "##Input", "gInputScale", 1.0f, 3.0f, "", 1.0f, false, true, true, false);
|
||||
UIWidgets::Tooltip("Sets the on screen size of the displayed inputs from the Show Inputs setting");
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2 (12.0f, 6.0f));
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_ButtonTextAlign, ImVec2(0.0f, 0.0f));
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FrameBorderSize, 1.0f);
|
||||
ImGui::PushStyleColor(ImGuiCol_Border, ImVec4(0.22f, 0.38f, 0.56f, 1.0f));
|
||||
if (mInputViewer) {
|
||||
if (ImGui::Button(GetWindowButtonText("Input Viewer", CVarGetInteger("gOpenWindows.InputViewer", 0)).c_str(), ImVec2 (-1.0f, 0.0f))) {
|
||||
mInputViewer->ToggleVisibility();
|
||||
}
|
||||
}
|
||||
if (mInputViewerSettings) {
|
||||
if (ImGui::Button(GetWindowButtonText("Input Viewer Settings", CVarGetInteger("gOpenWindows.InputViewerSettings", 0)).c_str(), ImVec2 (-1.0f, 0.0f))) {
|
||||
mInputViewerSettings->ToggleVisibility();
|
||||
}
|
||||
}
|
||||
ImGui::PopStyleColor(1);
|
||||
ImGui::PopStyleVar(3);
|
||||
|
||||
UIWidgets::PaddedEnhancementSliderInt("Simulated Input Lag: %d frames", "##SimulatedInputLag", "gSimulatedInputLag", 0, 6, "", 0, true, true, false);
|
||||
UIWidgets::Tooltip("Buffers your inputs to be executed a specified amount of frames later");
|
||||
|
||||
@@ -631,6 +650,8 @@ void DrawEnhancementsMenu() {
|
||||
UIWidgets::Tooltip("The default response to Kaepora Gaebora is always that you understood what he said");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Exit Market at Night", "gMarketSneak", true, false);
|
||||
UIWidgets::Tooltip("Allows exiting Hyrule Castle Market Town to Hyrule Field at night by speaking to the guard next to the gate.");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Shops and Games Always Open", "gEnhancements.OpenAllHours", true, false);
|
||||
UIWidgets::Tooltip("Shops and minigames are open both day and night. Requires scene reload to take effect.");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Link as default file name", "gLinkDefaultName", true, false);
|
||||
UIWidgets::Tooltip("Allows you to have \"Link\" as a premade file name");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Quit Fishing At Door", "gQuitFishingAtDoor", true, false);
|
||||
@@ -944,9 +965,13 @@ void DrawEnhancementsMenu() {
|
||||
UIWidgets::Tooltip("Bonking into trees will have a chance to drop up to 3 sticks. Must already have obtained sticks.");
|
||||
UIWidgets::PaddedEnhancementCheckbox("No Heart Drops", "gNoHeartDrops", true, false);
|
||||
UIWidgets::Tooltip("Disables heart drops, but not heart placements, like from a Deku Scrub running off\nThis simulates Hero Mode from other games in the series");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Hyper Bosses", "gHyperBosses", true, false);
|
||||
if (UIWidgets::PaddedEnhancementCheckbox("Hyper Bosses", "gHyperBosses", true, false)) {
|
||||
UpdateHyperBossesState();
|
||||
}
|
||||
UIWidgets::Tooltip("All major bosses move and act twice as fast.");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Hyper Enemies", "gHyperEnemies", true, false);
|
||||
if (UIWidgets::PaddedEnhancementCheckbox("Hyper Enemies", "gHyperEnemies", true, false)) {
|
||||
UpdateHyperEnemiesState();
|
||||
}
|
||||
UIWidgets::Tooltip("All regular enemies and mini-bosses move and act twice as fast.");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Always Win Goron Pot", "gGoronPot", true, false);
|
||||
UIWidgets::Tooltip("Always get the heart piece/purple rupee from the spinning Goron pot");
|
||||
@@ -957,6 +982,8 @@ void DrawEnhancementsMenu() {
|
||||
UIWidgets::Tooltip("All dogs can be traded in and will count as Richard.");
|
||||
UIWidgets::PaddedEnhancementSliderInt("Cuccos Stay Put Multiplier: %dx", "##CuccoStayDurationMultiplier", "gCuccoStayDurationMultiplier", 1, 5, "", 1, true, true, false);
|
||||
UIWidgets::Tooltip("Cuccos will stay in place longer after putting them down, by a multiple of the value of the slider.");
|
||||
UIWidgets::PaddedEnhancementSliderInt("Leever Spawn Rate: %d seconds", "##LeeverSpawnRate", "gEnhancements.LeeverSpawnRate", 0, 10, "", 0, true, true, false);
|
||||
UIWidgets::Tooltip("The time between leever groups spawning.");
|
||||
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
@@ -973,6 +1000,8 @@ void DrawEnhancementsMenu() {
|
||||
UIWidgets::Tooltip("Disables the voice audio when Navi calls you");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Disable Hot/Underwater Warning Text", "gDisableTunicWarningText", true, false);
|
||||
UIWidgets::Tooltip("Disables warning text when you don't have on the Goron/Zora Tunic in Hot/Underwater conditions.");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Remember Minimap State Between Areas", "gEnhancements.RememberMapToggleState");
|
||||
UIWidgets::Tooltip("Preserves the minimap visibility state when going between areas rather than defaulting it to \"on\" when going through loading zones.");
|
||||
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
@@ -985,6 +1014,17 @@ void DrawEnhancementsMenu() {
|
||||
UIWidgets::Tooltip("Allows equipping the tunic and boots to c-buttons");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Equipment Toggle", "gEquipmentCanBeRemoved", true, false);
|
||||
UIWidgets::Tooltip("Allows equipment to be removed by toggling it off on\nthe equipment subscreen.");
|
||||
if (CVarGetInteger("gEquipmentCanBeRemoved", 0)) {
|
||||
UIWidgets::PaddedText("Sword Toggle Options", true, false);
|
||||
UIWidgets::EnhancementCombobox("gEnhancements.SwordToggle", swordToggleModes, SWORD_TOGGLE_NONE);
|
||||
UIWidgets::Tooltip(
|
||||
"Introduces Options for unequipping Link's sword\n\n"
|
||||
"None: Only Biggoron's Sword/Giant's Knife can be toggled. Doing so will equip the Master Sword.\n\n"
|
||||
"Child Toggle: This will allow for completely unequipping any sword as child link.\n\n"
|
||||
"Both Ages: Any sword can be unequipped as either age. This may lead to swordless glitches as Adult.\n"
|
||||
);
|
||||
}
|
||||
|
||||
UIWidgets::PaddedEnhancementCheckbox("Link's Cow in Both Time Periods", "gCowOfTime", true, false);
|
||||
UIWidgets::Tooltip("Allows the Lon Lon Ranch obstacle course reward to be shared across time periods");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Enable visible guard vision", "gGuardVision", true, false);
|
||||
@@ -1151,6 +1191,8 @@ void DrawEnhancementsMenu() {
|
||||
UIWidgets::Tooltip("Space between text characters (useful for HD font textures)");
|
||||
UIWidgets::PaddedEnhancementCheckbox("More info in file select", "gFileSelectMoreInfo", true, false);
|
||||
UIWidgets::Tooltip("Shows what items you have collected in the file select screen, like in N64 randomizer");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Better ammo rendering in pause menu", "gEnhancements.BetterAmmoRendering", true, false);
|
||||
UIWidgets::Tooltip("Ammo counts in the pause menu will work correctly regardless of the position of items in the inventory");
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
@@ -1217,6 +1259,11 @@ void DrawEnhancementsMenu() {
|
||||
UIWidgets::PaddedEnhancementCheckbox("Fix Darunia dancing too fast", "gEnhancements.FixDaruniaDanceSpeed",
|
||||
true, false, false, "", UIWidgets::CheckboxGraphics::Cross, true);
|
||||
UIWidgets::Tooltip("Fixes Darunia's dancing speed so he dances to the beat of Saria's Song, like in vanilla.");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Fix raised Floor Switches", "gEnhancements.FixFloorSwitches", true, false);
|
||||
UIWidgets::Tooltip("Fixes the two raised floor switches, the one in Forest Temple Basement and the one at the top of Fire Temple. \n"
|
||||
"This will lower them, making activating them easier");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Fix Zora hint dialogue", "gFixZoraHintDialogue", true, false);
|
||||
UIWidgets::Tooltip("Fixes one Zora's dialogue giving a hint about bringing Ruto's Letter to King Zora to properly occur before moving King Zora rather than after");
|
||||
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
@@ -1508,6 +1555,8 @@ void DrawCheatsMenu() {
|
||||
UIWidgets::Tooltip("This syncs the ingame time with the real world time");
|
||||
UIWidgets::PaddedEnhancementCheckbox("No ReDead/Gibdo Freeze", "gNoRedeadFreeze", true, false);
|
||||
UIWidgets::Tooltip("Prevents ReDeads and Gibdos from being able to freeze you with their scream");
|
||||
UIWidgets::PaddedEnhancementCheckbox("Keese/Guay don't target you", "gNoKeeseGuayTarget", true, false);
|
||||
UIWidgets::Tooltip("Keese and Guay no longer target you and simply ignore you as if you were wearing the skull mask");
|
||||
{
|
||||
static int32_t betaQuestEnabled = CVarGetInteger("gEnableBetaQuest", 0);
|
||||
static int32_t lastBetaQuestEnabled = betaQuestEnabled;
|
||||
@@ -1584,6 +1633,7 @@ extern std::shared_ptr<ColViewerWindow> mColViewerWindow;
|
||||
extern std::shared_ptr<ActorViewerWindow> mActorViewerWindow;
|
||||
extern std::shared_ptr<DLViewerWindow> mDLViewerWindow;
|
||||
extern std::shared_ptr<ValueViewerWindow> mValueViewerWindow;
|
||||
extern std::shared_ptr<MessageViewer> mMessageViewerWindow;
|
||||
|
||||
void DrawDeveloperToolsMenu() {
|
||||
if (ImGui::BeginMenu("Developer Tools")) {
|
||||
@@ -1683,6 +1733,12 @@ void DrawDeveloperToolsMenu() {
|
||||
mValueViewerWindow->ToggleVisibility();
|
||||
}
|
||||
}
|
||||
UIWidgets::Spacer(0);
|
||||
if (mMessageViewerWindow) {
|
||||
if (ImGui::Button(GetWindowButtonText("Message Viewer", CVarGetInteger("gMessageViewerEnabled", 0)).c_str(), ImVec2(-1.0f, 0.0f))) {
|
||||
mMessageViewerWindow->ToggleVisibility();
|
||||
}
|
||||
}
|
||||
|
||||
ImGui::PopStyleVar(3);
|
||||
ImGui::PopStyleColor(1);
|
||||
@@ -1997,4 +2053,4 @@ void SohMenuBar::DrawElement() {
|
||||
ImGui::EndMenuBar();
|
||||
}
|
||||
}
|
||||
} // namespace SohGui
|
||||
} // namespace SohGui
|
||||
|
||||
Reference in New Issue
Block a user