From 5a35c4381b1559e5d12709f9692de4984f9c64e6 Mon Sep 17 00:00:00 2001 From: svdijk Date: Mon, 23 Dec 2013 14:45:20 +0100 Subject: heretic, hexen: Fix mouse (and joystick) weapon cycling. Implement this the same way it is implemented for doom and strife. --- src/hexen/g_game.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 8 deletions(-) (limited to 'src/hexen') diff --git a/src/hexen/g_game.c b/src/hexen/g_game.c index a304d0f6..a448134b 100644 --- a/src/hexen/g_game.c +++ b/src/hexen/g_game.c @@ -152,7 +152,7 @@ int turnheld; // for accelerative turning int lookheld; -boolean mousearray[4]; +boolean mousearray[MAX_MOUSE_BUTTONS + 1]; boolean *mousebuttons = &mousearray[1]; // allow [-1] int mousex, mousey; // mouse values are used once @@ -671,6 +671,59 @@ void G_DoLoadLevel(void) } } +static void SetJoyButtons(unsigned int buttons_mask) +{ + int i; + + for (i=0; idata1 & 1; - mousebuttons[1] = ev->data1 & 2; - mousebuttons[2] = ev->data1 & 4; + SetMouseButtons(ev->data1); mousex = ev->data2 * (mouseSensitivity + 5) / 10; mousey = ev->data3 * (mouseSensitivity + 5) / 10; return (true); // eat events case ev_joystick: - joybuttons[0] = ev->data1 & 1; - joybuttons[1] = ev->data1 & 2; - joybuttons[2] = ev->data1 & 4; - joybuttons[3] = ev->data1 & 8; + SetJoyButtons(ev->data1); joyxmove = ev->data2; joyymove = ev->data3; return (true); // eat events -- cgit v1.2.3