Fix Emulated Dance Mat
I have no idea how it got so broken, but this makes it so both the Active Life and DDR Mario/Wii games can be fully configured.
This commit is contained in:
parent
dd1fc70d70
commit
f8586bb83c
|
@ -40,28 +40,28 @@ int CSIDevice_DanceMat::RunBuffer(u8* buffer, int length)
|
||||||
u32 CSIDevice_DanceMat::MapPadStatus(const GCPadStatus& pad_status)
|
u32 CSIDevice_DanceMat::MapPadStatus(const GCPadStatus& pad_status)
|
||||||
{
|
{
|
||||||
// Map the dpad to the blue arrows, the buttons to the orange arrows
|
// 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;
|
u16 map = 0;
|
||||||
if (pad_status.button & PAD_BUTTON_UP)
|
if (pad_status.button & PAD_BUTTON_UP)
|
||||||
map |= 0x1000;
|
|
||||||
if (pad_status.button & PAD_BUTTON_DOWN)
|
|
||||||
map |= 0x2;
|
|
||||||
if (pad_status.button & PAD_BUTTON_LEFT)
|
|
||||||
map |= 0x8;
|
map |= 0x8;
|
||||||
if (pad_status.button & PAD_BUTTON_RIGHT)
|
if (pad_status.button & PAD_BUTTON_DOWN)
|
||||||
map |= 0x4;
|
map |= 0x4;
|
||||||
if (pad_status.button & PAD_BUTTON_Y)
|
if (pad_status.button & PAD_BUTTON_LEFT)
|
||||||
map |= 0x200;
|
|
||||||
if (pad_status.button & PAD_BUTTON_A)
|
|
||||||
map |= 0x10;
|
|
||||||
if (pad_status.button & PAD_BUTTON_B)
|
|
||||||
map |= 0x100;
|
|
||||||
if (pad_status.button & PAD_BUTTON_X)
|
|
||||||
map |= 0x800;
|
|
||||||
if (pad_status.button & PAD_TRIGGER_Z)
|
|
||||||
map |= 0x400;
|
|
||||||
if (pad_status.button & PAD_BUTTON_START)
|
|
||||||
map |= 0x1;
|
map |= 0x1;
|
||||||
|
if (pad_status.button & PAD_BUTTON_RIGHT)
|
||||||
|
map |= 0x2;
|
||||||
|
if (pad_status.button & PAD_BUTTON_Y)
|
||||||
|
map |= 0x400; // Only Active Life Mat has this button. Maps as + button.
|
||||||
|
if (pad_status.button & PAD_BUTTON_A)
|
||||||
|
map |= 0x100;
|
||||||
|
if (pad_status.button & PAD_BUTTON_B)
|
||||||
|
map |= 0x200;
|
||||||
|
if (pad_status.button & PAD_BUTTON_X)
|
||||||
|
map |= 0x800; // Only Active Life Mat has this button. Maps as Right Foot Right.
|
||||||
|
if (pad_status.button & PAD_TRIGGER_Z)
|
||||||
|
map |= 0x10;
|
||||||
|
if (pad_status.button & PAD_BUTTON_START)
|
||||||
|
map |= 0x1000;
|
||||||
|
|
||||||
return (u32)(map << 16) | 0x8080;
|
return (u32)(map << 16) | 0x8080;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue