mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-17 17:41:57 +00:00
Remove broken double clicking events
This commit is contained in:
parent
c69442c9b7
commit
7c6b03f9ab
3 changed files with 4 additions and 89 deletions
|
@ -147,46 +147,6 @@ INT16 G_GetAnalogPlayerInput(UINT8 which, gamecontrols_e gc, UINT8 settings)
|
|||
return 0;
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
UINT8 time;
|
||||
UINT8 state;
|
||||
UINT8 clicks;
|
||||
} dclick_t;
|
||||
|
||||
static dclick_t mousedclicks[MOUSEBUTTONS];
|
||||
static dclick_t mouse2dclicks[MOUSEBUTTONS];
|
||||
|
||||
//
|
||||
// General double-click detection routine for any kind of input.
|
||||
//
|
||||
static UINT8 G_CheckDoubleClick(UINT8 state, dclick_t *dt)
|
||||
{
|
||||
if (state != dt->state && dt->time > 1)
|
||||
{
|
||||
dt->state = state;
|
||||
if (state)
|
||||
dt->clicks++;
|
||||
if (dt->clicks == 2)
|
||||
{
|
||||
dt->clicks = 0;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
dt->time = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
dt->time++;
|
||||
if (dt->time > 20)
|
||||
{
|
||||
dt->clicks = 0;
|
||||
dt->state = 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//
|
||||
// Remaps the inputs to game controls.
|
||||
//
|
||||
|
@ -248,19 +208,6 @@ void G_MapEventsToControls(event_t *ev)
|
|||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// ALWAYS check for mouse double-clicks even if there were no such events
|
||||
for (i = 0; i < MOUSEBUTTONS; i++)
|
||||
{
|
||||
flag = G_CheckDoubleClick(gamekeydown[KEY_MOUSE1+i], &mousedclicks[i]);
|
||||
gamekeydown[KEY_DBLMOUSE1+i] = flag;
|
||||
}
|
||||
|
||||
for (i = 0; i < MOUSEBUTTONS; i++)
|
||||
{
|
||||
flag = G_CheckDoubleClick(gamekeydown[KEY_2MOUSE1+i], &mouse2dclicks[i]);
|
||||
gamekeydown[KEY_DBL2MOUSE1+i] = flag;
|
||||
}
|
||||
}
|
||||
|
||||
const char *const gamepad_button_names[NUM_GAMEPAD_BUTTONS + 1] = {
|
||||
|
@ -958,24 +905,7 @@ static keyname_t keynames[] =
|
|||
DEF_GAMEPAD_AXIS(RIGHTY, "right stick y"),
|
||||
|
||||
DEF_GAMEPAD_AXIS(TRIGGERLEFT, "left trigger"),
|
||||
DEF_GAMEPAD_AXIS(TRIGGERRIGHT, "right trigger"),
|
||||
|
||||
{KEY_DBLMOUSE1+0, "dblmouse1"},
|
||||
{KEY_DBLMOUSE1+1, "dblmouse2"},
|
||||
{KEY_DBLMOUSE1+2, "dblmouse3"},
|
||||
{KEY_DBLMOUSE1+3, "dblmouse4"},
|
||||
{KEY_DBLMOUSE1+4, "dblmouse5"},
|
||||
{KEY_DBLMOUSE1+5, "dblmouse6"},
|
||||
{KEY_DBLMOUSE1+6, "dblmouse7"},
|
||||
{KEY_DBLMOUSE1+7, "dblmouse8"},
|
||||
{KEY_DBL2MOUSE1+0, "dblsec_mouse1"},
|
||||
{KEY_DBL2MOUSE1+1, "dblsec_mouse2"},
|
||||
{KEY_DBL2MOUSE1+2, "dblsec_mouse3"},
|
||||
{KEY_DBL2MOUSE1+3, "dblsec_mouse4"},
|
||||
{KEY_DBL2MOUSE1+4, "dblsec_mouse5"},
|
||||
{KEY_DBL2MOUSE1+5, "dblsec_mouse6"},
|
||||
{KEY_DBL2MOUSE1+6, "dblsec_mouse7"},
|
||||
{KEY_DBL2MOUSE1+7, "dblsec_mouse8"}
|
||||
DEF_GAMEPAD_AXIS(TRIGGERRIGHT, "right trigger")
|
||||
};
|
||||
|
||||
static keyname_t oldjoynames[] =
|
||||
|
|
|
@ -174,12 +174,9 @@ typedef enum
|
|||
KEY_AXES = KEY_GAMEPAD + NUM_GAMEPAD_BUTTONS, // Sure, why not.
|
||||
KEY_INV_AXES = KEY_AXES + NUM_GAMEPAD_AXES,
|
||||
|
||||
KEY_DBLMOUSE1 = KEY_INV_AXES + NUM_GAMEPAD_AXES, // double clicks
|
||||
KEY_2MOUSE1 = KEY_INV_AXES + NUM_GAMEPAD_AXES,
|
||||
|
||||
KEY_2MOUSE1 = KEY_DBLMOUSE1 + MOUSEBUTTONS,
|
||||
KEY_DBL2MOUSE1 = KEY_2MOUSE1 + MOUSEBUTTONS,
|
||||
|
||||
KEY_MOUSEWHEELUP = KEY_DBL2MOUSE1 + MOUSEBUTTONS,
|
||||
KEY_MOUSEWHEELUP = KEY_2MOUSE1 + MOUSEBUTTONS,
|
||||
KEY_MOUSEWHEELDOWN,
|
||||
KEY_2MOUSEWHEELUP,
|
||||
KEY_2MOUSEWHEELDOWN,
|
||||
|
|
14
src/m_menu.c
14
src/m_menu.c
|
@ -13006,19 +13006,7 @@ static void M_ChangeControlResponse(event_t *ev)
|
|||
else if (setupcontrols[control][1] == ch)
|
||||
found = 1;
|
||||
|
||||
if (found >= 0)
|
||||
{
|
||||
#define CHECK_DBL(key, length) (ch >= key && ch <= key+length)
|
||||
#define SET_DBL(key, dblkey) ch-key+dblkey
|
||||
// replace mouse clicks by double clicks
|
||||
if (CHECK_DBL(KEY_MOUSE1, MOUSEBUTTONS))
|
||||
setupcontrols[control][found] = SET_DBL(KEY_MOUSE1, KEY_DBLMOUSE1);
|
||||
else if (CHECK_DBL(KEY_2MOUSE1, MOUSEBUTTONS))
|
||||
setupcontrols[control][found] = SET_DBL(KEY_2MOUSE1, KEY_DBL2MOUSE1);
|
||||
#undef CHECK_DBL
|
||||
#undef SET_DBL
|
||||
}
|
||||
else
|
||||
if (found < 0)
|
||||
{
|
||||
// check if change key1 or key2, or replace the two by the new
|
||||
found = 0;
|
||||
|
|
Loading…
Reference in a new issue