mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 09:11:48 +00:00
Gametype descriptions.
https://gfycat.com/RelievedUnselfishChinchilla (competition's desc is slightly reworded but I'm too lazy to retake the gfy)
This commit is contained in:
parent
2f9db4486a
commit
cf45067d9c
2 changed files with 32 additions and 3 deletions
29
src/m_menu.c
29
src/m_menu.c
|
@ -608,6 +608,18 @@ static menuitem_t MISC_ChangeGameTypeMenu[] =
|
|||
{IT_STRING|IT_CALL, NULL, "Capture the Flag", M_MapChange, 72},
|
||||
};
|
||||
|
||||
static const gtdesc_t gametypedesc[] =
|
||||
{
|
||||
{"Play through the single-player campaign with your friends, teaming up to beat Dr Eggman's nefarious challenges!"},
|
||||
{"Speed your way through the main acts, competing to get as much stuff as possible in the fastest time to see who's the best."},
|
||||
{"There's not much to it - zoom through the level faster than everyone else."},
|
||||
{"Sling rings at your foes in a free-for-all battle. Use the special weapon rings to your advantage!"},
|
||||
{"Sling rings at your foes in a color-coded battle. Use the special weapon rings to your advantage!"},
|
||||
{"Whoever's IT has to hunt down everyone else. If you get caught, you have to turn on your former friends!"},
|
||||
{"Try and find a good hiding place in these maps - we dare you."},
|
||||
{"Steal the flag from the enemy's base and bring it back to your own, but watch out - they could just as easily steal yours!"},
|
||||
};
|
||||
|
||||
static menuitem_t MISC_ChangeLevelMenu[] =
|
||||
{
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "", M_HandleLevelPlatter, 0}, // dummy menuitem for the control func
|
||||
|
@ -1465,7 +1477,7 @@ menu_t MISC_ChangeGameTypeDef =
|
|||
&MainDef, // Doesn't matter.
|
||||
MISC_ChangeGameTypeMenu,
|
||||
M_DrawGameTypeMenu,
|
||||
30, 104 - ((80 - lsheadingheight/2)/2), // vertically centering
|
||||
30, (200 - (72+8))/2, // vertically centering
|
||||
0,
|
||||
NULL
|
||||
};
|
||||
|
@ -2444,7 +2456,8 @@ boolean M_Responder(event_t *ev)
|
|||
case KEY_DOWNARROW:
|
||||
M_NextOpt();
|
||||
S_StartSound(NULL, sfx_menu1);
|
||||
if (currentMenu == &SP_PlayerDef)
|
||||
if (currentMenu == &SP_PlayerDef
|
||||
|| currentMenu == &MISC_ChangeGameTypeDef)
|
||||
{
|
||||
Z_Free(char_notes);
|
||||
char_notes = NULL;
|
||||
|
@ -2454,7 +2467,8 @@ boolean M_Responder(event_t *ev)
|
|||
case KEY_UPARROW:
|
||||
M_PrevOpt();
|
||||
S_StartSound(NULL, sfx_menu1);
|
||||
if (currentMenu == &SP_PlayerDef)
|
||||
if (currentMenu == &SP_PlayerDef
|
||||
|| currentMenu == &MISC_ChangeGameTypeDef)
|
||||
{
|
||||
Z_Free(char_notes);
|
||||
char_notes = NULL;
|
||||
|
@ -6887,12 +6901,21 @@ static void M_GameTypeChange(INT32 choice)
|
|||
M_SetupNextMenu(&MISC_ChangeGameTypeDef);
|
||||
if (Playing())
|
||||
itemOn = gametype;
|
||||
|
||||
Z_Free(char_notes);
|
||||
char_notes = NULL;
|
||||
}
|
||||
|
||||
void M_DrawGameTypeMenu(void)
|
||||
{
|
||||
M_DrawGenericMenu();
|
||||
M_DrawLevelPlatterHeader(currentMenu->y - lsheadingheight, "Select Gametype", true);
|
||||
|
||||
if (!char_notes)
|
||||
char_notes = V_WordWrap(0, (160 - 30) - 8, V_ALLOWLOWERCASE, gametypedesc[itemOn].notes);
|
||||
|
||||
V_DrawFill(160, currentMenu->y, (160 - 30), 72 + 8, 159);
|
||||
V_DrawString(164, currentMenu->y + 4, V_RETURN8|V_ALLOWLOWERCASE, char_notes);
|
||||
}
|
||||
|
||||
static void M_MapChange(INT32 choice)
|
||||
|
|
|
@ -198,6 +198,12 @@ typedef struct
|
|||
} levelselect_t;
|
||||
// experimental level select end
|
||||
|
||||
// descriptions for gametype select screen
|
||||
typedef struct
|
||||
{
|
||||
char notes[441];
|
||||
} gtdesc_t;
|
||||
|
||||
// mode descriptions for video mode menu
|
||||
typedef struct
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue