mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-24 06:21:18 +00:00
Move the Podium to the slide-in Intermission Button/Menu CMD system
Again, another hand-built Responder function falls to the efficiency of the MenuCMD Press [A] chad
This commit is contained in:
parent
4ad0beebb4
commit
62ab7bc0f9
3 changed files with 32 additions and 101 deletions
19
src/g_game.c
19
src/g_game.c
|
|
@ -1361,25 +1361,6 @@ boolean G_Responder(event_t *ev)
|
|||
return true;
|
||||
}
|
||||
}
|
||||
else if (gamestate == GS_CEREMONY)
|
||||
{
|
||||
if (K_CeremonyResponder(ev))
|
||||
{
|
||||
if (grandprixinfo.gp == true
|
||||
&& grandprixinfo.cup != NULL
|
||||
&& grandprixinfo.cup->playcredits == true)
|
||||
{
|
||||
nextmap = NEXTMAP_CREDITS;
|
||||
}
|
||||
else
|
||||
{
|
||||
nextmap = NEXTMAP_TITLE;
|
||||
}
|
||||
|
||||
G_EndGame();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (gamestate == GS_LEVEL && ev->type == ev_keydown && multiplayer && demo.playback && !demo.freecam)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -461,70 +461,36 @@ void K_CeremonyTicker(boolean run)
|
|||
podiumData.delay = 0;
|
||||
}
|
||||
}
|
||||
else if (podiumData.delay == TICRATE)
|
||||
{
|
||||
if (!menuactive && M_MenuConfirmPressed(0))
|
||||
{
|
||||
podiumData.delay++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (++podiumData.delay == 2*TICRATE)
|
||||
{
|
||||
if (grandprixinfo.gp == true
|
||||
&& grandprixinfo.cup != NULL
|
||||
&& grandprixinfo.cup->playcredits == true)
|
||||
{
|
||||
nextmap = NEXTMAP_CREDITS;
|
||||
}
|
||||
else
|
||||
{
|
||||
nextmap = NEXTMAP_TITLE;
|
||||
}
|
||||
|
||||
G_EndGame();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------------------------------------
|
||||
boolean K_CeremonyResponder(event_t *event)
|
||||
|
||||
See header file for description.
|
||||
--------------------------------------------------*/
|
||||
boolean K_CeremonyResponder(event_t *event)
|
||||
{
|
||||
INT32 key = event->data1;
|
||||
|
||||
if (podiumData.ranking == false || podiumData.state < PODIUM_STATES)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// remap virtual keys (mouse & joystick buttons)
|
||||
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)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (key != KEY_ESCAPE && key != KEY_ENTER && key != KEY_BACKSPACE)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------
|
||||
void K_CeremonyDrawer(void)
|
||||
|
||||
|
|
@ -625,11 +591,8 @@ void K_CeremonyDrawer(void)
|
|||
);
|
||||
break;
|
||||
}
|
||||
case 9:
|
||||
default:
|
||||
{
|
||||
V_DrawThinString(2, BASEVIDHEIGHT - 10, V_SNAPTOBOTTOM|V_SNAPTOLEFT|V_6WIDTHSPACE,
|
||||
"Press some button type deal to continue"
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -643,4 +606,9 @@ void K_CeremonyDrawer(void)
|
|||
// Level fade-in
|
||||
V_DrawCustomFadeScreen(((levelfadecol == 0) ? "FADEMAP1" : "FADEMAP0"), 31-(timeinmap*2));
|
||||
}
|
||||
|
||||
if (podiumData.state == PODIUM_STATES)
|
||||
{
|
||||
Y_DrawIntermissionButton(TICRATE - podiumData.delay, podiumData.delay - TICRATE);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -189,24 +189,6 @@ void K_ResetCeremony(void);
|
|||
void K_CeremonyTicker(boolean run);
|
||||
|
||||
|
||||
/*--------------------------------------------------
|
||||
void K_CeremonyResponder(event_t *ev);
|
||||
|
||||
Responder function to be ran during the podium
|
||||
cutscene mode gamestate. Handles key presses
|
||||
ending the podium scene.
|
||||
|
||||
Input Arguments:-
|
||||
ev - The player input event.
|
||||
|
||||
Return:-
|
||||
true to end the podium cutscene and return
|
||||
to the title screen, otherwise false.
|
||||
--------------------------------------------------*/
|
||||
|
||||
boolean K_CeremonyResponder(event_t *ev);
|
||||
|
||||
|
||||
/*--------------------------------------------------
|
||||
void K_CeremonyDrawer(void);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue