diff options
| author | Kiloku <mateus.sateles@protonmail.com> | 2025-02-12 23:02:07 -0300 |
|---|---|---|
| committer | Lywx <kiritodev01@gmail.com> | 2025-02-16 19:52:24 -0600 |
| commit | 38a2029cecd2b720c14eb19a949d6b99daf06da2 (patch) | |
| tree | 5d99bfc92af27f31293e21b533c53329854bf766 /src | |
| parent | f90ba8d4ad50c1ec9c4b6313e5edddda879adcac (diff) | |
Add Frame Advance feature
Diffstat (limited to 'src')
| -rw-r--r-- | src/port/mods/PortEnhancements.c | 6 | ||||
| -rw-r--r-- | src/port/ui/ImguiUI.cpp | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/port/mods/PortEnhancements.c b/src/port/mods/PortEnhancements.c index 14431076..3c38a290 100644 --- a/src/port/mods/PortEnhancements.c +++ b/src/port/mods/PortEnhancements.c @@ -166,14 +166,20 @@ void OnGameUpdatePost(IEvent* event) { void OnPlayUpdateEvent(IEvent* event){ bool debugPaused = CVarGetInteger("gDebugPause", 0); + bool shouldRepause = false; if (CVarGetInteger("gLToDebugPause", 0)){ if (gControllerPress[0].button & L_TRIG) { CVarSetInteger("gDebugPause", !debugPaused); + shouldRepause = debugPaused && CVarGetInteger("gLToFrameAdvance", 0); } } else { CVarSetInteger("gDebugPause", 0); //Unpause if we disable the shortcut } + event->cancelled = CVarGetInteger("gDebugPause", 0); + if (shouldRepause){ + CVarSetInteger("gDebugPause", 1); + } } void RefillBoostMeter(Player* player) { diff --git a/src/port/ui/ImguiUI.cpp b/src/port/ui/ImguiUI.cpp index 63eb520a..829b45ec 100644 --- a/src/port/ui/ImguiUI.cpp +++ b/src/port/ui/ImguiUI.cpp @@ -718,8 +718,12 @@ void DrawDebugMenu() { .tooltip = "Jump to credits at the main menu" }); - UIWidgets::CVarCheckbox("Press L to Debug Pause", "gLToDebugPause"); - + UIWidgets::CVarCheckbox("Press L to toggle Debug Pause", "gLToDebugPause"); + if (CVarGetInteger("gLToDebugPause", 0)){ + ImGui::Dummy(ImVec2(22.0f, 0.0f)); + ImGui::SameLine(); + UIWidgets::CVarCheckbox("Pressing L again advances one frame instead", "gLToFrameAdvance"); + } if (CVarGetInteger(StringHelper::Sprintf("gCheckpoint.%d.Set", gCurrentLevel).c_str(), 0)) { if (UIWidgets::Button("Clear Checkpoint")) { |
