- moved all mouse button handling to the input state

Yet again an unbelievable piece of code working around how input works on modern systems to keep the old 90's code alive.
This commit is contained in:
Christoph Oelckers 2019-11-04 01:01:54 +01:00
parent b4f91de7d3
commit 29b7e1cf79
14 changed files with 194 additions and 211 deletions

View file

@ -31,27 +31,8 @@ Modifications for JonoF's port by Jonathon Fowler (jf@jonof.id.au)
#define mouse_h_
#include "baselayer.h"
#include "inputstate.h"
#define LEFT_MOUSE 1
#define RIGHT_MOUSE 2
#define MIDDLE_MOUSE 4
#define THUMB_MOUSE 8
#define WHEELUP_MOUSE 16
#define WHEELDOWN_MOUSE 32
#define LEFT_MOUSE_PRESSED(button) (((button)&LEFT_MOUSE) != 0)
#define RIGHT_MOUSE_PRESSED(button) (((button)&RIGHT_MOUSE) != 0)
#define MIDDLE_MOUSE_PRESSED(button) (((button)&MIDDLE_MOUSE) != 0)
static inline bool Mouse_Init(void)
{
mouseInit();
return ((inputdevices & 2) == 2);
}
static inline void MOUSE_Shutdown(void) { mouseUninit(); }
static inline int32_t MOUSE_GetButtons(void) { return mouseReadButtons(); }
static inline void MOUSE_ClearButton(int32_t b) { g_mouseBits &= ~b; }
static inline void MOUSE_ClearAllButtons(void) { g_mouseBits = 0; }
#endif /* __mouse_h */

View file

@ -342,7 +342,7 @@ static void CONTROL_GetDeviceButtons(void)
if (CONTROL_MouseEnabled)
{
DoGetDeviceButtons(
MOUSE_GetButtons(), t,
inputState.MouseGetButtons(), t,
CONTROL_NumMouseButtons,
CONTROL_MouseButtonState,
CONTROL_MouseButtonClickedTime,
@ -636,10 +636,9 @@ bool CONTROL_Startup(controltype which, int32_t(*TimeFunction)(void), int32_t ti
if (initinput())
return true;
KB_Startup();
CONTROL_NumMouseButtons = MAXMOUSEBUTTONS;
CONTROL_MousePresent = Mouse_Init();
mouseInit();
CONTROL_MousePresent = ((inputdevices & 2) == 2);
CONTROL_MouseEnabled = CONTROL_MousePresent;
CONTROL_ResetJoystickValues();
@ -654,7 +653,7 @@ void CONTROL_Shutdown(void)
if (!CONTROL_Started)
return;
MOUSE_Shutdown();
mouseUninit();
uninitinput();
CONTROL_Started = FALSE;

View file

@ -36,14 +36,14 @@ int32_t I_CheckAllInput(void)
{
return
inputState.keyBufferWaiting()
|| MOUSE_GetButtons()
|| inputState.MouseGetButtons()
|| JOYSTICK_GetButtons();
}
void I_ClearAllInput(void)
{
inputState.keyFlushChars();
inputState.ClearKeysDown();
MOUSE_ClearAllButtons();
inputState.MouseClearAllButtonss();
JOYSTICK_ClearAllButtons();
inputState.ClearAllButtons();
}
@ -54,7 +54,7 @@ int32_t I_TextSubmit(void)
return
inputState.GetKeyStatus(sc_Enter)
|| inputState.GetKeyStatus(sc_kpad_Enter)
//|| MOUSEINACTIVECONDITIONAL(MOUSE_GetButtons()&LEFT_MOUSE)
//|| MOUSEINACTIVECONDITIONAL(inputState.MouseGetButtons()&LEFT_MOUSE)
|| (JOYSTICK_GetGameControllerButtons()&(1<<GAMECONTROLLER_BUTTON_A));
}
@ -63,7 +63,7 @@ void I_TextSubmitClear(void)
inputState.keyFlushChars();
inputState.ClearKeyStatus(sc_kpad_Enter);
inputState.ClearKeyStatus(sc_Enter);
MOUSE_ClearButton(LEFT_MOUSE);
inputState.MouseClearButton(LEFT_MOUSE);
JOYSTICK_ClearGameControllerButton(1<<GAMECONTROLLER_BUTTON_A);
}
@ -84,7 +84,7 @@ int32_t I_ReturnTrigger(void)
{
return
inputState.GetKeyStatus(sc_Escape)
|| (MOUSE_GetButtons()&RIGHT_MOUSE)
|| (inputState.MouseGetButtons()&RIGHT_MOUSE)
|| (JOYSTICK_GetGameControllerButtons()&(1<<GAMECONTROLLER_BUTTON_B));
}
@ -92,7 +92,7 @@ void I_ReturnTriggerClear(void)
{
inputState.keyFlushChars();
inputState.ClearKeyStatus(sc_Escape);
MOUSE_ClearButton(RIGHT_MOUSE);
inputState.MouseClearButton(RIGHT_MOUSE);
JOYSTICK_ClearGameControllerButton(1<<GAMECONTROLLER_BUTTON_B);
}
@ -138,7 +138,7 @@ int32_t I_MenuUp(void)
return
inputState.GetKeyStatus(sc_UpArrow)
|| inputState.GetKeyStatus(sc_kpad_8)
|| (MOUSE_GetButtons()&WHEELUP_MOUSE)
|| (inputState.MouseGetButtons()&WHEELUP_MOUSE)
|| inputState.BUTTON(gamefunc_Move_Forward)
|| (JOYSTICK_GetHat(0)&HAT_UP)
|| (JOYSTICK_GetGameControllerButtons()&(1<<GAMECONTROLLER_BUTTON_DPAD_UP))
@ -149,7 +149,7 @@ void I_MenuUpClear(void)
{
inputState.ClearKeyStatus(sc_UpArrow);
inputState.ClearKeyStatus(sc_kpad_8);
MOUSE_ClearButton(WHEELUP_MOUSE);
inputState.MouseClearButton(WHEELUP_MOUSE);
inputState.ClearButton(gamefunc_Move_Forward);
JOYSTICK_ClearHat(0);
JOYSTICK_ClearGameControllerButton(1<<GAMECONTROLLER_BUTTON_DPAD_UP);
@ -162,7 +162,7 @@ int32_t I_MenuDown(void)
return
inputState.GetKeyStatus(sc_DownArrow)
|| inputState.GetKeyStatus(sc_kpad_2)
|| (MOUSE_GetButtons()&WHEELDOWN_MOUSE)
|| (inputState.MouseGetButtons()&WHEELDOWN_MOUSE)
|| inputState.BUTTON(gamefunc_Move_Backward)
|| (JOYSTICK_GetHat(0)&HAT_DOWN)
|| (JOYSTICK_GetGameControllerButtons()&(1<<GAMECONTROLLER_BUTTON_DPAD_DOWN))
@ -174,7 +174,7 @@ void I_MenuDownClear(void)
inputState.ClearKeyStatus(sc_DownArrow);
inputState.ClearKeyStatus(sc_kpad_2);
inputState.ClearKeyStatus(sc_PgDn);
MOUSE_ClearButton(WHEELDOWN_MOUSE);
inputState.MouseClearButton(WHEELDOWN_MOUSE);
inputState.ClearButton(gamefunc_Move_Backward);
JOYSTICK_ClearHat(0);
JOYSTICK_ClearGameControllerButton(1<<GAMECONTROLLER_BUTTON_DPAD_DOWN);
@ -216,7 +216,7 @@ int32_t I_MenuRight(void)
|| (!inputState.ShiftPressed() && inputState.GetKeyStatus(sc_Tab))
|| inputState.BUTTON(gamefunc_Turn_Right)
|| inputState.BUTTON(gamefunc_Strafe_Right)
|| (MOUSE_GetButtons()&MIDDLE_MOUSE)
|| (inputState.MouseGetButtons()&MIDDLE_MOUSE)
|| (JOYSTICK_GetHat(0)&HAT_RIGHT)
|| (JOYSTICK_GetGameControllerButtons()&(1<<GAMECONTROLLER_BUTTON_DPAD_RIGHT))
|| CONTROL_GetGameControllerDigitalAxisPos(GAMECONTROLLER_AXIS_LEFTX)
@ -230,7 +230,7 @@ void I_MenuRightClear(void)
inputState.ClearKeyStatus(sc_Tab);
inputState.ClearButton(gamefunc_Turn_Right);
inputState.ClearButton(gamefunc_Strafe_Right);
MOUSE_ClearButton(MIDDLE_MOUSE);
inputState.MouseClearButton(MIDDLE_MOUSE);
JOYSTICK_ClearHat(0);
JOYSTICK_ClearGameControllerButton(1<<GAMECONTROLLER_BUTTON_DPAD_RIGHT);
CONTROL_ClearGameControllerDigitalAxisPos(GAMECONTROLLER_AXIS_LEFTX);
@ -278,7 +278,7 @@ int32_t I_SliderLeft(void)
return
I_MenuLeft()
#if !defined EDUKE32_TOUCH_DEVICES
//|| MOUSEINACTIVECONDITIONAL((MOUSE_GetButtons()&LEFT_MOUSE) && (MOUSE_GetButtons()&WHEELUP_MOUSE))
//|| MOUSEINACTIVECONDITIONAL((inputState.MouseGetButtons()&LEFT_MOUSE) && (inputState.MouseGetButtons()&WHEELUP_MOUSE))
#endif
;
}
@ -286,7 +286,7 @@ int32_t I_SliderLeft(void)
void I_SliderLeftClear(void)
{
I_MenuLeftClear();
MOUSE_ClearButton(WHEELUP_MOUSE);
inputState.MouseClearButton(WHEELUP_MOUSE);
}
@ -295,7 +295,7 @@ int32_t I_SliderRight(void)
return
I_MenuRight()
#if !defined EDUKE32_TOUCH_DEVICES
//|| MOUSEINACTIVECONDITIONAL((MOUSE_GetButtons()&LEFT_MOUSE) && (MOUSE_GetButtons()&WHEELDOWN_MOUSE))
//|| MOUSEINACTIVECONDITIONAL((inputState.MouseGetButtons()&LEFT_MOUSE) && (inputState.MouseGetButtons()&WHEELDOWN_MOUSE))
#endif
;
}
@ -303,7 +303,7 @@ int32_t I_SliderRight(void)
void I_SliderRightClear(void)
{
I_MenuRightClear();
MOUSE_ClearButton(WHEELDOWN_MOUSE);
inputState.MouseClearButton(WHEELDOWN_MOUSE);
}