mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-31 12:13:16 +00:00
F_IntroResponder, G_Responder: Permit both Title Screen and Intro/titledemo to respond to trigger inputs over JOYAXISRANGE/2
Likewise, the author of this commit uses a trigger for A(ccel)
This commit is contained in:
parent
6832488117
commit
e27a15fd14
2 changed files with 45 additions and 32 deletions
|
|
@ -26,6 +26,7 @@
|
|||
#include "w_wad.h"
|
||||
#include "z_zone.h"
|
||||
#include "i_system.h"
|
||||
#include "i_joy.h"
|
||||
#include "i_threads.h"
|
||||
#include "dehacked.h"
|
||||
#include "g_input.h"
|
||||
|
|
@ -480,40 +481,48 @@ boolean F_IntroResponder(event_t *event)
|
|||
INT32 key = event->data1;
|
||||
|
||||
// remap virtual keys (mouse & joystick buttons)
|
||||
switch (key)
|
||||
if (event->type == ev_gamepad_axis && key >= JOYANALOGS
|
||||
&& (abs(event->data2) > JOYAXISRANGE/2 || abs(event->data3) > JOYAXISRANGE/2))
|
||||
{
|
||||
case KEY_MOUSE1:
|
||||
key = KEY_ENTER;
|
||||
break;
|
||||
case KEY_MOUSE1 + 1:
|
||||
key = KEY_BACKSPACE;
|
||||
break;
|
||||
case KEY_JOY1:
|
||||
case KEY_JOY1 + 2:
|
||||
key = KEY_ENTER;
|
||||
break;
|
||||
case KEY_JOY1 + 3:
|
||||
key = 'n';
|
||||
break;
|
||||
case KEY_JOY1 + 1:
|
||||
key = KEY_BACKSPACE;
|
||||
break;
|
||||
case KEY_HAT1:
|
||||
key = KEY_UPARROW;
|
||||
break;
|
||||
case KEY_HAT1 + 1:
|
||||
key = KEY_DOWNARROW;
|
||||
break;
|
||||
case KEY_HAT1 + 2:
|
||||
key = KEY_LEFTARROW;
|
||||
break;
|
||||
case KEY_HAT1 + 3:
|
||||
key = KEY_RIGHTARROW;
|
||||
break;
|
||||
key = KEY_ENTER;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (key)
|
||||
{
|
||||
case KEY_MOUSE1:
|
||||
key = KEY_ENTER;
|
||||
break;
|
||||
case KEY_MOUSE1 + 1:
|
||||
key = KEY_BACKSPACE;
|
||||
break;
|
||||
case KEY_JOY1:
|
||||
case KEY_JOY1 + 2:
|
||||
key = KEY_ENTER;
|
||||
break;
|
||||
case KEY_JOY1 + 3:
|
||||
key = 'n';
|
||||
break;
|
||||
case KEY_JOY1 + 1:
|
||||
key = KEY_BACKSPACE;
|
||||
break;
|
||||
case KEY_HAT1:
|
||||
key = KEY_UPARROW;
|
||||
break;
|
||||
case KEY_HAT1 + 1:
|
||||
key = KEY_DOWNARROW;
|
||||
break;
|
||||
case KEY_HAT1 + 2:
|
||||
key = KEY_LEFTARROW;
|
||||
break;
|
||||
case KEY_HAT1 + 3:
|
||||
key = KEY_RIGHTARROW;
|
||||
break;
|
||||
}
|
||||
|
||||
if (event->type != ev_keydown && key != 301)
|
||||
return false;
|
||||
if (event->type != ev_keydown && key != 301)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (key != 27 && key != KEY_ENTER && key != KEY_SPACE && key != KEY_BACKSPACE)
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1671,7 +1671,11 @@ boolean G_Responder(event_t *ev)
|
|||
if (gameaction == ga_nothing && !demo.quitafterplaying &&
|
||||
((demo.playback && !modeattacking && !demo.title && !multiplayer) || gamestate == GS_TITLESCREEN))
|
||||
{
|
||||
if (ev->type == ev_keydown)
|
||||
if (ev->type == ev_keydown
|
||||
|| (ev->type == ev_gamepad_axis && ev->data1 >= JOYANALOGS
|
||||
&& ((abs(ev->data2) > JOYAXISRANGE/2
|
||||
|| abs(ev->data3) > JOYAXISRANGE/2))
|
||||
))
|
||||
{
|
||||
M_StartControlPanel();
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue