diff --git a/src/dusk/imgui/ImGuiDebugPad.cpp b/src/dusk/imgui/ImGuiDebugPad.cpp index eede82db96..75dc8d77a6 100644 --- a/src/dusk/imgui/ImGuiDebugPad.cpp +++ b/src/dusk/imgui/ImGuiDebugPad.cpp @@ -4,67 +4,47 @@ #include "ImGuiConsole.hpp" void DuskDebugPad() { - if (ImGui::IsKeyDown(ImGuiKey_K)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_BUTTON_A; - } + auto& pad = mDoCPd_c::getCpadInfo(PAD_1); + auto KeyFlag = [&](ImGuiKey key, u32 padFlag) { + if (ImGui::IsKeyDown(key)) + pad.mButtonFlags |= padFlag; + if (ImGui::IsKeyPressed(key)) + pad.mPressedButtonFlags |= padFlag; - if (ImGui::IsKeyDown(ImGuiKey_J)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_BUTTON_B; - } + }; - if (ImGui::IsKeyDown(ImGuiKey_L)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_BUTTON_X; - } - - if (ImGui::IsKeyDown(ImGuiKey_I)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_BUTTON_Y; - } - - if (ImGui::IsKeyDown(ImGuiKey_H)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_BUTTON_START; - } - - if (ImGui::IsKeyDown(ImGuiKey_O)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_TRIGGER_Z; - } - - if (ImGui::IsKeyDown(ImGuiKey_Keypad8)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_BUTTON_UP; - } - - if (ImGui::IsKeyDown(ImGuiKey_Keypad2)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_BUTTON_DOWN; - } - - if (ImGui::IsKeyDown(ImGuiKey_Keypad6)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_BUTTON_RIGHT; - } - - if (ImGui::IsKeyDown(ImGuiKey_Keypad4)) { - mDoCPd_c::getCpadInfo(PAD_1).mPressedButtonFlags |= PAD_BUTTON_LEFT; - } + KeyFlag(ImGuiKey_K, PAD_BUTTON_A); + KeyFlag(ImGuiKey_J, PAD_BUTTON_B); + KeyFlag(ImGuiKey_L, PAD_BUTTON_X); + KeyFlag(ImGuiKey_I, PAD_BUTTON_Y); + KeyFlag(ImGuiKey_H, PAD_BUTTON_START); + KeyFlag(ImGuiKey_O, PAD_TRIGGER_Z); + KeyFlag(ImGuiKey_Keypad8, PAD_BUTTON_UP); + KeyFlag(ImGuiKey_Keypad2, PAD_BUTTON_DOWN); + KeyFlag(ImGuiKey_Keypad6, PAD_BUTTON_RIGHT); + KeyFlag(ImGuiKey_Keypad4, PAD_BUTTON_LEFT); if (ImGui::IsKeyDown(ImGuiKey_W)) { - mDoCPd_c::getCpadInfo(PAD_1).mMainStickPosY = 1.0f; - mDoCPd_c::getCpadInfo(PAD_1).mMainStickValue = 1.0f; - mDoCPd_c::getCpadInfo(PAD_1).mMainStickAngle = 0x8000; + pad.mMainStickPosY = 1.0f; + pad.mMainStickValue = 1.0f; + pad.mMainStickAngle = 0x8000; } if (ImGui::IsKeyDown(ImGuiKey_S)) { - mDoCPd_c::getCpadInfo(PAD_1).mMainStickPosY = -1.0f; - mDoCPd_c::getCpadInfo(PAD_1).mMainStickValue = 1.0f; - mDoCPd_c::getCpadInfo(PAD_1).mMainStickAngle = 0; + pad.mMainStickPosY = -1.0f; + pad.mMainStickValue = 1.0f; + pad.mMainStickAngle = 0; } if (ImGui::IsKeyDown(ImGuiKey_D)) { - mDoCPd_c::getCpadInfo(PAD_1).mMainStickPosX = 1.0f; - mDoCPd_c::getCpadInfo(PAD_1).mMainStickValue = 1.0f; - mDoCPd_c::getCpadInfo(PAD_1).mMainStickAngle = 0x4000; + pad.mMainStickPosX = 1.0f; + pad.mMainStickValue = 1.0f; + pad.mMainStickAngle = 0x4000; } if (ImGui::IsKeyDown(ImGuiKey_A)) { - mDoCPd_c::getCpadInfo(PAD_1).mMainStickPosX = -1.0f; - mDoCPd_c::getCpadInfo(PAD_1).mMainStickValue = 1.0f; - mDoCPd_c::getCpadInfo(PAD_1).mMainStickAngle = -0x4000; + pad.mMainStickPosX = -1.0f; + pad.mMainStickValue = 1.0f; + pad.mMainStickAngle = -0x4000; } -} \ No newline at end of file +}