mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-22 10:02:01 +00:00
HORRID HACK around holding enter in the playback menu having awful, crash-causing side-effects
This commit is contained in:
parent
f1f664e9b1
commit
3fdd51736b
1 changed files with 24 additions and 6 deletions
30
src/m_menu.c
30
src/m_menu.c
|
|
@ -354,6 +354,8 @@ static void M_PlaybackSetViews(INT32 choice);
|
|||
static void M_PlaybackAdjustView(INT32 choice);
|
||||
static void M_PlaybackQuit(INT32 choice);
|
||||
|
||||
static UINT8 playback_enterheld = 0; // horrid hack to prevent holding the button from being extremely fucked
|
||||
|
||||
// Drawing functions
|
||||
static void M_DrawGenericMenu(void);
|
||||
static void M_DrawGenericBackgroundMenu(void);
|
||||
|
|
@ -2837,11 +2839,11 @@ boolean M_Responder(event_t *ev)
|
|||
// Flip left/right with up/down for the playback menu, since it's a horizontal icon row.
|
||||
switch (ch)
|
||||
{
|
||||
case KEY_LEFTARROW: ch = KEY_UPARROW; break;
|
||||
case KEY_UPARROW: ch = KEY_RIGHTARROW; break;
|
||||
case KEY_RIGHTARROW: ch = KEY_DOWNARROW; break;
|
||||
case KEY_DOWNARROW: ch = KEY_LEFTARROW; break;
|
||||
default: break;
|
||||
case KEY_LEFTARROW: ch = KEY_UPARROW; break;
|
||||
case KEY_UPARROW: ch = KEY_RIGHTARROW; break;
|
||||
case KEY_RIGHTARROW: ch = KEY_DOWNARROW; break;
|
||||
case KEY_DOWNARROW: ch = KEY_LEFTARROW; break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2891,6 +2893,15 @@ boolean M_Responder(event_t *ev)
|
|||
case KEY_ENTER:
|
||||
noFurtherInput = true;
|
||||
currentMenu->lastOn = itemOn;
|
||||
|
||||
if (currentMenu == &PlaybackMenuDef)
|
||||
{
|
||||
boolean held = (boolean)playback_enterheld;
|
||||
playback_enterheld = TICRATE/7;
|
||||
if (held)
|
||||
return true;
|
||||
}
|
||||
|
||||
if (routine)
|
||||
{
|
||||
if (((currentMenu->menuitems[itemOn].status & IT_TYPE)==IT_CALL
|
||||
|
|
@ -3294,6 +3305,14 @@ void M_Ticker(void)
|
|||
if (--skullAnimCounter <= 0)
|
||||
skullAnimCounter = 8;
|
||||
|
||||
if (currentMenu == &PlaybackMenuDef)
|
||||
{
|
||||
if (playback_enterheld > 0)
|
||||
playback_enterheld--;
|
||||
}
|
||||
else
|
||||
playback_enterheld = 0;
|
||||
|
||||
//added : 30-01-98 : test mode for five seconds
|
||||
if (vidm_testingmode > 0)
|
||||
{
|
||||
|
|
@ -4349,7 +4368,6 @@ void M_StartMessage(const char *string, void *routine,
|
|||
M_StartControlPanel(); // can't put menuactive to true
|
||||
|
||||
if (currentMenu == &MessageDef) // Prevent recursion
|
||||
MessageDef.prevMenu = &MainDef;
|
||||
else
|
||||
MessageDef.prevMenu = currentMenu;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue