From d551d3fa14c4fbbd1575e82dc6a3ee523e769d2d Mon Sep 17 00:00:00 2001 From: retro-wertz Date: Sat, 9 Sep 2017 17:14:44 +0800 Subject: [PATCH] fix input for player 3/4 --- src/drivers/libretro/libretro.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/drivers/libretro/libretro.c b/src/drivers/libretro/libretro.c index f49f308..daa9e94 100644 --- a/src/drivers/libretro/libretro.c +++ b/src/drivers/libretro/libretro.c @@ -1069,13 +1069,13 @@ unsigned char turbo_p1_toggle[] = { 0, 0 }; static void FCEUD_UpdateInput(void) { unsigned p, i; - unsigned char pad[2]; + unsigned char pad[4]; - pad[0] = pad[1] = 0; + pad[0] = pad[1] = pad[2] = pad[3] = 0; poll_cb(); - for (p = 0; p < 2; p++) + for (p = 0; p < 4; p++) { for ( i = 0; i < 8; i++) pad[p] |= input_cb(p, RETRO_DEVICE_JOYPAD, 0, bindmap[i].retro) ? bindmap[i].nes : 0; @@ -1142,7 +1142,7 @@ static void FCEUD_UpdateInput(void) if (GameInfo->type == GIT_VSUNI) FCEU_VSUniSwap(&pad[0], &pad[1]); - JSReturn[0] = pad[0] | (pad[1] << 8); + JSReturn[0] = pad[0] | (pad[1] << 8) | (pad[1] << 16 | (pad[1] << 24); GetMouseData(&MouseData[0]);