core, linux+libretro, multiplayer adaptor support

This commit is contained in:
kub 2022-01-26 19:34:13 +00:00
parent a833e78c98
commit 1d5885dd84
9 changed files with 104 additions and 49 deletions

View file

@ -1180,21 +1180,29 @@ void emu_update_input(void)
{
static int prev_events = 0;
int actions[IN_BINDTYPE_COUNT] = { 0, };
int pl_actions[2];
int pl_actions[4];
int events;
in_update(actions);
pl_actions[0] = actions[IN_BINDTYPE_PLAYER12];
pl_actions[1] = actions[IN_BINDTYPE_PLAYER12] >> 16;
pl_actions[2] = actions[IN_BINDTYPE_PLAYER34];
pl_actions[3] = actions[IN_BINDTYPE_PLAYER34] >> 16;
PicoIn.pad[0] = pl_actions[0] & 0xfff;
PicoIn.pad[1] = pl_actions[1] & 0xfff;
PicoIn.pad[2] = pl_actions[2] & 0xfff;
PicoIn.pad[3] = pl_actions[3] & 0xfff;
if (pl_actions[0] & 0x7000)
do_turbo(&PicoIn.pad[0], pl_actions[0]);
if (pl_actions[1] & 0x7000)
do_turbo(&PicoIn.pad[1], pl_actions[1]);
if (pl_actions[2] & 0x7000)
do_turbo(&PicoIn.pad[2], pl_actions[2]);
if (pl_actions[3] & 0x7000)
do_turbo(&PicoIn.pad[3], pl_actions[3]);
events = actions[IN_BINDTYPE_EMU] & PEV_MASK;