input: get rid of pl2 flag, use 'bind types' instead
[libpicofe.git] / common / emu.c
index 141356a..c5686fd 100644 (file)
@@ -1099,31 +1099,37 @@ static void run_events_ui(unsigned int which)
 \r
 void emu_update_input(void)\r
 {\r
-       unsigned int allActions[2] = { 0, 0 }, events;\r
-       static unsigned int prevEvents = 0;\r
+       static int prev_events = 0;\r
+       int actions[IN_BINDTYPE_COUNT] = { 0, };\r
+       int pl_actions[2];\r
+       int events;\r
 \r
-       /* FIXME: player2 */\r
-       allActions[0] = in_update();\r
+       in_update(actions);\r
 \r
-       PicoPad[0] = allActions[0] & 0xfff;\r
-       PicoPad[1] = allActions[1] & 0xfff;\r
+       pl_actions[0] = actions[IN_BINDTYPE_PLAYER12];\r
+       pl_actions[1] = actions[IN_BINDTYPE_PLAYER12] >> 16;\r
 \r
-       if (allActions[0] & 0x7000) do_turbo(&PicoPad[0], allActions[0]);\r
-       if (allActions[1] & 0x7000) do_turbo(&PicoPad[1], allActions[1]);\r
+       PicoPad[0] = pl_actions[0] & 0xfff;\r
+       PicoPad[1] = pl_actions[1] & 0xfff;\r
 \r
-       events = (allActions[0] | allActions[1]) & PEV_MASK;\r
+       if (pl_actions[0] & 0x7000)\r
+               do_turbo(&PicoPad[0], pl_actions[0]);\r
+       if (pl_actions[1] & 0x7000)\r
+               do_turbo(&PicoPad[1], pl_actions[1]);\r
+\r
+       events = actions[IN_BINDTYPE_EMU] & PEV_MASK;\r
 \r
        // volume is treated in special way and triggered every frame\r
        if (events & (PEV_VOL_DOWN|PEV_VOL_UP))\r
                plat_update_volume(1, events & PEV_VOL_UP);\r
 \r
-       if ((events ^ prevEvents) & PEV_FF) {\r
+       if ((events ^ prev_events) & PEV_FF) {\r
                emu_set_fastforward(events & PEV_FF);\r
                plat_update_volume(0, 0);\r
                reset_timing = 1;\r
        }\r
 \r
-       events &= ~prevEvents;\r
+       events &= ~prev_events;\r
 \r
        if (PicoAHW == PAHW_PICO)\r
                run_events_pico(events);\r
@@ -1132,7 +1138,7 @@ void emu_update_input(void)
        if (movie_data)\r
                update_movie();\r
 \r
-       prevEvents = (allActions[0] | allActions[1]) & PEV_MASK;\r
+       prev_events = actions[IN_BINDTYPE_EMU] & PEV_MASK;\r
 }\r
 \r
 static void mkdir_path(char *path_with_reserve, int pos, const char *name)\r