Skip to content
Permalink
Browse files

Merge pull request #7656 from JMC47/DanceMatFix

Fix Emulated Dance Mat
  • Loading branch information...
Helios747 committed Jan 7, 2019
2 parents 3e7803b + f8586bb commit c73adf8d8ee4ace728e27d806b481569efe65e35
Showing with 11 additions and 11 deletions.
  1. +11 −11 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;
}

0 comments on commit c73adf8

Please sign in to comment.
You can’t perform that action at this time.