mirror of
https://github.com/nzp-team/quakec.git
synced 2024-11-21 19:32:21 +00:00
CLIENT: Track held duration for all positive gamepad constants
This commit is contained in:
parent
526ee7f1e6
commit
ed59f2bea6
3 changed files with 69 additions and 2 deletions
|
@ -225,6 +225,7 @@ float stopwatch_round_starttime;
|
|||
|
||||
*/
|
||||
float GPActive[32];
|
||||
float GPButtonHeldBeginTime[24];
|
||||
|
||||
string build_datetime;
|
||||
#define VERSION_STRING "v1.0"
|
||||
|
|
|
@ -923,6 +923,71 @@ void(float button, string key) setToBind =
|
|||
|
||||
noref float(float evtype, float scanx, float chary, float devid) CSQC_InputEvent =
|
||||
{
|
||||
if (evtype == IE_KEYDOWN) {
|
||||
switch (scanx) {
|
||||
case K_GP_A:
|
||||
case K_GP_B:
|
||||
case K_GP_X:
|
||||
case K_GP_Y:
|
||||
case K_GP_LSHOULDER:
|
||||
case K_GP_RSHOULDER:
|
||||
case K_GP_LTRIGGER:
|
||||
case K_GP_RTRIGGER:
|
||||
case K_GP_BACK:
|
||||
case K_GP_START:
|
||||
case K_GP_LTHUMB:
|
||||
case K_GP_RTHUMB:
|
||||
case K_GP_DPAD_UP:
|
||||
case K_GP_DPAD_DOWN:
|
||||
case K_GP_DPAD_LEFT:
|
||||
case K_GP_DPAD_RIGHT:
|
||||
case K_GP_LTHUMB_UP:
|
||||
case K_GP_LTHUMB_DOWN:
|
||||
case K_GP_LTHUMB_LEFT:
|
||||
case K_GP_LTHUMB_RIGHT:
|
||||
case K_GP_RTHUMB_UP:
|
||||
case K_GP_RTHUMB_DOWN:
|
||||
case K_GP_RTHUMB_LEFT:
|
||||
case K_GP_RTHUMB_RIGHT:
|
||||
if (!GPButtonHeldBeginTime[scanx-816])
|
||||
GPButtonHeldBeginTime[scanx-816] = cltime;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (evtype == IE_KEYUP) {
|
||||
switch (scanx) {
|
||||
case K_GP_A:
|
||||
case K_GP_B:
|
||||
case K_GP_X:
|
||||
case K_GP_Y:
|
||||
case K_GP_LSHOULDER:
|
||||
case K_GP_RSHOULDER:
|
||||
case K_GP_LTRIGGER:
|
||||
case K_GP_RTRIGGER:
|
||||
case K_GP_BACK:
|
||||
case K_GP_START:
|
||||
case K_GP_LTHUMB:
|
||||
case K_GP_RTHUMB:
|
||||
case K_GP_DPAD_UP:
|
||||
case K_GP_DPAD_DOWN:
|
||||
case K_GP_DPAD_LEFT:
|
||||
case K_GP_DPAD_RIGHT:
|
||||
case K_GP_LTHUMB_UP:
|
||||
case K_GP_LTHUMB_DOWN:
|
||||
case K_GP_LTHUMB_LEFT:
|
||||
case K_GP_LTHUMB_RIGHT:
|
||||
case K_GP_RTHUMB_UP:
|
||||
case K_GP_RTHUMB_DOWN:
|
||||
case K_GP_RTHUMB_LEFT:
|
||||
case K_GP_RTHUMB_RIGHT:
|
||||
//print(sprintf("Key: %f Duration: %f\n", scanx, cltime-GPButtonHeldBeginTime[scanx-816]));
|
||||
GPButtonHeldBeginTime[scanx-816] = 0;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
switch(evtype)
|
||||
{
|
||||
case IE_KEYDOWN:
|
||||
|
@ -1052,6 +1117,7 @@ noref float(float evtype, float scanx, float chary, float devid) CSQC_InputEvent
|
|||
cursor_pos_y = chary;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue