From 8ac33e2748d70e90b4b7b6f75bf890ff4bbb5613 Mon Sep 17 00:00:00 2001 From: irdkwia Date: Wed, 7 Jun 2023 03:31:36 +0200 Subject: [PATCH] Update branch for: Add mappable DEBUG button --- src/NDS.cpp | 4 +- src/frontend/qt_sdl/Config.cpp | 6 +- src/frontend/qt_sdl/Config.h | 4 +- src/frontend/qt_sdl/Input.cpp | 14 +-- .../qt_sdl/InputConfig/InputConfigDialog.cpp | 4 +- .../qt_sdl/InputConfig/InputConfigDialog.h | 4 +- .../qt_sdl/InputConfig/InputConfigDialog.ui | 118 ++++++++++++++++++ 7 files changed, 137 insertions(+), 17 deletions(-) diff --git a/src/NDS.cpp b/src/NDS.cpp index 94a24029..06d1454d 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -1156,10 +1156,10 @@ void NDS::CheckKeyIRQ(u32 cpu, u32 oldkey, u32 newkey) void NDS::SetKeyMask(u32 mask) { u32 key_lo = mask & 0x3FF; - u32 key_hi = (mask >> 10) & 0x3; + u32 key_hi = ((mask >> 10) & 0x3) | ((mask >> 9) & 0x8); u32 oldkey = KeyInput; - KeyInput &= 0xFFFCFC00; + KeyInput &= 0xFFF4FC00; KeyInput |= key_lo | (key_hi << 16); CheckKeyIRQ(0, oldkey, KeyInput); diff --git a/src/frontend/qt_sdl/Config.cpp b/src/frontend/qt_sdl/Config.cpp index d6d01825..3797c1c2 100644 --- a/src/frontend/qt_sdl/Config.cpp +++ b/src/frontend/qt_sdl/Config.cpp @@ -29,8 +29,8 @@ namespace Config { using namespace melonDS; -int KeyMapping[12]; -int JoyMapping[12]; +int KeyMapping[13]; +int JoyMapping[13]; int HKKeyMapping[HK_MAX]; int HKJoyMapping[HK_MAX]; @@ -182,6 +182,7 @@ ConfigEntry ConfigFile[] = {"Key_L", 0, &KeyMapping[9], -1, true}, {"Key_X", 0, &KeyMapping[10], -1, true}, {"Key_Y", 0, &KeyMapping[11], -1, true}, + {"Key_Debug", 0, &KeyMapping[12], -1, true}, {"Joy_A", 0, &JoyMapping[0], -1, true}, {"Joy_B", 0, &JoyMapping[1], -1, true}, @@ -195,6 +196,7 @@ ConfigEntry ConfigFile[] = {"Joy_L", 0, &JoyMapping[9], -1, true}, {"Joy_X", 0, &JoyMapping[10], -1, true}, {"Joy_Y", 0, &JoyMapping[11], -1, true}, + {"Joy_Debug", 0, &JoyMapping[12], -1, true}, {"HKKey_Lid", 0, &HKKeyMapping[HK_Lid], -1, true}, {"HKKey_Mic", 0, &HKKeyMapping[HK_Mic], -1, true}, diff --git a/src/frontend/qt_sdl/Config.h b/src/frontend/qt_sdl/Config.h index 38a1c34c..5ea6bb71 100644 --- a/src/frontend/qt_sdl/Config.h +++ b/src/frontend/qt_sdl/Config.h @@ -82,8 +82,8 @@ struct CameraConfig }; -extern int KeyMapping[12]; -extern int JoyMapping[12]; +extern int KeyMapping[13]; +extern int JoyMapping[13]; extern int HKKeyMapping[HK_MAX]; extern int HKJoyMapping[HK_MAX]; diff --git a/src/frontend/qt_sdl/Input.cpp b/src/frontend/qt_sdl/Input.cpp index 7ebd7e2a..3a064438 100644 --- a/src/frontend/qt_sdl/Input.cpp +++ b/src/frontend/qt_sdl/Input.cpp @@ -40,9 +40,9 @@ u32 InputMask; void Init() { - KeyInputMask = 0xFFF; - JoyInputMask = 0xFFF; - InputMask = 0xFFF; + KeyInputMask = 0x1FFF; + JoyInputMask = 0x1FFF; + InputMask = 0x1FFF; KeyHotkeyMask = 0; JoyHotkeyMask = 0; @@ -103,7 +103,7 @@ void KeyPress(QKeyEvent* event) if (event->modifiers() != Qt::KeypadModifier) keyKP &= ~event->modifiers(); - for (int i = 0; i < 12; i++) + for (int i = 0; i < 13; i++) if (keyKP == Config::KeyMapping[i]) KeyInputMask &= ~(1<modifiers() != Qt::KeypadModifier) keyKP &= ~event->modifiers(); - for (int i = 0; i < 12; i++) + for (int i = 0; i < 13; i++) if (keyKP == Config::KeyMapping[i]) KeyInputMask |= (1< hk_addons = { @@ -123,7 +123,7 @@ private: Ui::InputConfigDialog* ui; - int keypadKeyMap[12], keypadJoyMap[12]; + int keypadKeyMap[13], keypadJoyMap[13]; int addonsKeyMap[hk_addons.size()], addonsJoyMap[hk_addons.size()]; int hkGeneralKeyMap[hk_general.size()], hkGeneralJoyMap[hk_general.size()]; }; diff --git a/src/frontend/qt_sdl/InputConfig/InputConfigDialog.ui b/src/frontend/qt_sdl/InputConfig/InputConfigDialog.ui index 61d7e454..a5d73a56 100644 --- a/src/frontend/qt_sdl/InputConfig/InputConfigDialog.ui +++ b/src/frontend/qt_sdl/InputConfig/InputConfigDialog.ui @@ -618,6 +618,65 @@ 3 + + + + + + + Qt::AlignCenter + + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + + + <html><head/><body><p><span style=" font-weight:600;">DEBUG</span></p></body></html> + + + Qt::AlignCenter + + + + + + + + 70 + 0 + + + + + 68 + 16777215 + + + + min-width: 68px; + + + DEBUG + + + + + + @@ -2048,6 +2107,65 @@ 3 + + + + + + + Qt::AlignCenter + + + + 3 + + + 3 + + + 3 + + + 3 + + + 3 + + + + + <html><head/><body><p><span style=" font-weight:600;">DEBUG</span></p></body></html> + + + Qt::AlignCenter + + + + + + + + 70 + 0 + + + + + 68 + 16777215 + + + + min-width: 68px; + + + DEBUG + + + + + +