summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorAnthony <Helios747@users.noreply.github.com>2019-01-07 13:48:50 -0800
committerGitHub <noreply@github.com>2019-01-07 13:48:50 -0800
commitc73adf8d8ee4ace728e27d806b481569efe65e35 (patch)
treed4609491dc5600787ece22b09ef4addf6e8c49fb /Source/Core
parent3e7803b240d14deae9adc9617611c27043336aa7 (diff)
parentf8586bb83c90cbe3b07ad974d37aff2e14bce732 (diff)
Merge pull request #7656 from JMC47/DanceMatFix
Fix Emulated Dance Mat
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/HW/SI/SI_DeviceDanceMat.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/Source/Core/Core/HW/SI/SI_DeviceDanceMat.cpp b/Source/Core/Core/HW/SI/SI_DeviceDanceMat.cpp
index e9c8fe4c48..2c76200559 100644
--- a/Source/Core/Core/HW/SI/SI_DeviceDanceMat.cpp
+++ b/Source/Core/Core/HW/SI/SI_DeviceDanceMat.cpp
@@ -40,28 +40,28 @@ int CSIDevice_DanceMat::RunBuffer(u8* buffer, int length)
u32 CSIDevice_DanceMat::MapPadStatus(const GCPadStatus& pad_status)
{
// Map the dpad to the blue arrows, the buttons to the orange arrows
- // Z = + button, Start = - button
+ // Z = + button, Start = - button. Active Life Mats have a different layout.
u16 map = 0;
if (pad_status.button & PAD_BUTTON_UP)
- map |= 0x1000;
+ map |= 0x8;
if (pad_status.button & PAD_BUTTON_DOWN)
- map |= 0x2;
+ map |= 0x4;
if (pad_status.button & PAD_BUTTON_LEFT)
- map |= 0x8;
+ map |= 0x1;
if (pad_status.button & PAD_BUTTON_RIGHT)
- map |= 0x4;
+ map |= 0x2;
if (pad_status.button & PAD_BUTTON_Y)
- map |= 0x200;
+ map |= 0x400; // Only Active Life Mat has this button. Maps as + button.
if (pad_status.button & PAD_BUTTON_A)
- map |= 0x10;
- if (pad_status.button & PAD_BUTTON_B)
map |= 0x100;
+ if (pad_status.button & PAD_BUTTON_B)
+ map |= 0x200;
if (pad_status.button & PAD_BUTTON_X)
- map |= 0x800;
+ map |= 0x800; // Only Active Life Mat has this button. Maps as Right Foot Right.
if (pad_status.button & PAD_TRIGGER_Z)
- map |= 0x400;
+ map |= 0x10;
if (pad_status.button & PAD_BUTTON_START)
- map |= 0x1;
+ map |= 0x1000;
return (u32)(map << 16) | 0x8080;
}