From e4de461e7aa2fd54c42290b7e945c925e604439b Mon Sep 17 00:00:00 2001 From: CraftyBoss Date: Mon, 6 Apr 2026 18:26:33 -0700 Subject: [PATCH] fast spinner cheat impl just makes it so holding R while on the spinner increases its speed to 60 units --- include/dusk/settings.h | 1 + src/dusk/imgui/ImGuiMenuEnhancements.cpp | 5 +++++ src/dusk/settings.cpp | 2 ++ src/f_ap/f_ap_game.cpp | 10 ++++++++++ 4 files changed, 18 insertions(+) diff --git a/include/dusk/settings.h b/include/dusk/settings.h index cf4d79f6ac..0cb3ba60b7 100644 --- a/include/dusk/settings.h +++ b/include/dusk/settings.h @@ -58,6 +58,7 @@ struct UserSettings { // Cheats ConfigVar enableFastIronBoots; ConfigVar canTransformAnywhere; + ConfigVar fastSpinner; // Technical ConfigVar restoreWiiGlitches; diff --git a/src/dusk/imgui/ImGuiMenuEnhancements.cpp b/src/dusk/imgui/ImGuiMenuEnhancements.cpp index a7a1e1d698..e9404e2476 100644 --- a/src/dusk/imgui/ImGuiMenuEnhancements.cpp +++ b/src/dusk/imgui/ImGuiMenuEnhancements.cpp @@ -101,6 +101,11 @@ namespace dusk { ImGui::SetTooltip("Allows you to transform even if NPCs are looking"); } + config::ImGuiCheckbox("Fast Spinner", getSettings().game.fastSpinner); + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Speeds up Spinner movement when holding R."); + } + ImGui::EndMenu(); } diff --git a/src/dusk/settings.cpp b/src/dusk/settings.cpp index 278f783dbf..32c6a5beb4 100644 --- a/src/dusk/settings.cpp +++ b/src/dusk/settings.cpp @@ -46,6 +46,7 @@ UserSettings g_userSettings = { // Cheats .enableFastIronBoots {"game.enableFastIronBoots", false}, .canTransformAnywhere {"game.canTransformAnywhere", false}, + .fastSpinner {"game.fastSpinner", false}, // Technical .restoreWiiGlitches {"game.restoreWiiGlitches", false}, @@ -93,6 +94,7 @@ void registerSettings() { Register(g_userSettings.game.noLowHpSound); Register(g_userSettings.game.midnasLamentNonStop); Register(g_userSettings.game.enableTurboKeybind); + Register(g_userSettings.game.fastSpinner); } // Transient settings diff --git a/src/f_ap/f_ap_game.cpp b/src/f_ap/f_ap_game.cpp index 1cbbb7449f..b1edb7fa23 100644 --- a/src/f_ap/f_ap_game.cpp +++ b/src/f_ap/f_ap_game.cpp @@ -738,6 +738,16 @@ void fapGm_Execute() { dynamic_cast(link)->handleQuickTransform(); } } + + if (dusk::getSettings().game.fastSpinner && mDoCPd_c::getHoldR(PAD_1)) { + if (const auto link = g_dComIfG_gameInfo.play.getPlayer(0)) { + auto spinnerActor = (fopAc_ac_c*)dynamic_cast(link)->getSpinnerActor(); + if (spinnerActor) { + if (spinnerActor->speedF < 60.f) + spinnerActor->speedF += 2.f; + } + } + } #endif fpcM_Management(NULL, fapGm_After);