mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-02 14:12:47 +00:00
menu_t: Add bgroutine
All backgrounds are now handled by a seperate routine.
This will allow more fine handling without a ton of special cases everywhere.
Creates an absolutely nasty diff because all menu_t have been updated in one blast 🥹
For the things that DO need to draw outside of GS_MENU (M_DrawOptionsCogs, the Wrongwarp), the behaviourflag MBF_DRAWBGWHILEPLAYING has also been added.
This commit is contained in:
parent
792fcf2ad8
commit
85d8cfdf85
46 changed files with 213 additions and 153 deletions
|
|
@ -136,6 +136,7 @@ typedef enum
|
|||
MBF_UD_LR_FLIPPED = 1, // flip up-down and left-right axes
|
||||
MBF_SOUNDLESS = 1<<1, // do not play base menu sounds
|
||||
MBF_NOLOOPENTRIES = 1<<2, // do not loop M_NextOpt/M_PrevOpt
|
||||
MBF_DRAWBGWHILEPLAYING = 1<<3, // run backroutine() outside of GS_MENU
|
||||
} menubehaviourflags_t;
|
||||
|
||||
struct menuitem_t
|
||||
|
|
@ -170,6 +171,7 @@ struct menu_t
|
|||
INT16 transitionTics; // tics for transitions out
|
||||
|
||||
void (*drawroutine)(void); // draw routine
|
||||
void (*bgroutine)(void); // draw routine, but, like, for the background
|
||||
void (*tickroutine)(void); // ticker routine
|
||||
void (*initroutine)(void); // called when starting a new menu
|
||||
boolean (*quitroutine)(void); // called before quit a menu return true if we can
|
||||
|
|
@ -1214,6 +1216,7 @@ void M_DrawProfileErase(void);
|
|||
extern tic_t shitsfree;
|
||||
|
||||
// Extras menu:
|
||||
void M_DrawExtrasBack(void);
|
||||
void M_DrawExtrasMovingButton(void);
|
||||
void M_DrawExtras(void);
|
||||
|
||||
|
|
@ -1392,6 +1395,7 @@ const char *M_GetDiscordName(discordRequest_t *r);
|
|||
NULL,\
|
||||
NULL,\
|
||||
NULL,\
|
||||
NULL,\
|
||||
NULL\
|
||||
}
|
||||
|
||||
|
|
@ -1411,6 +1415,7 @@ const char *M_GetDiscordName(discordRequest_t *r);
|
|||
NULL,\
|
||||
NULL,\
|
||||
NULL,\
|
||||
NULL,\
|
||||
NULL\
|
||||
}
|
||||
|
||||
|
|
@ -1429,6 +1434,7 @@ const char *M_GetDiscordName(discordRequest_t *r);
|
|||
NULL,\
|
||||
NULL,\
|
||||
NULL,\
|
||||
NULL,\
|
||||
NULL\
|
||||
}
|
||||
|
||||
|
|
|
|||
152
src/k_menudraw.c
152
src/k_menudraw.c
|
|
@ -231,6 +231,12 @@ void M_DrawMenuBackground(void)
|
|||
}
|
||||
}
|
||||
|
||||
void M_DrawExtrasBack(void)
|
||||
{
|
||||
patch_t *bg = W_CachePatchName("M_XTRABG", PU_CACHE);
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, bg, NULL);
|
||||
}
|
||||
|
||||
UINT16 M_GetCvPlayerColor(UINT8 pnum)
|
||||
{
|
||||
if (pnum >= MAXSPLITSCREENPLAYERS)
|
||||
|
|
@ -778,14 +784,28 @@ void M_Drawer(void)
|
|||
// background layer
|
||||
if (menuactive)
|
||||
{
|
||||
boolean drawbgroutine = false;
|
||||
if (gamestate == GS_MENU)
|
||||
{
|
||||
M_DrawMenuBackground();
|
||||
if (currentMenu->bgroutine)
|
||||
drawbgroutine = true;
|
||||
else
|
||||
M_DrawMenuBackground();
|
||||
}
|
||||
else if (!WipeInAction && currentMenu != &PAUSE_PlaybackMenuDef)
|
||||
else
|
||||
{
|
||||
V_DrawFadeScreen(122, 3);
|
||||
if (currentMenu->bgroutine
|
||||
&& (currentMenu->behaviourflags & MBF_DRAWBGWHILEPLAYING))
|
||||
drawbgroutine = true;
|
||||
|
||||
if (!WipeInAction && currentMenu != &PAUSE_PlaybackMenuDef)
|
||||
{
|
||||
V_DrawFadeScreen(122, 3);
|
||||
}
|
||||
}
|
||||
|
||||
if (drawbgroutine)
|
||||
currentMenu->bgroutine();
|
||||
}
|
||||
|
||||
// draw pause pic
|
||||
|
|
@ -2151,15 +2171,9 @@ void M_DrawCharacterSelect(void)
|
|||
UINT8 priority = 0;
|
||||
INT16 quadx, quady;
|
||||
INT16 skin;
|
||||
INT32 basex = 0;
|
||||
INT32 basex = optionsmenu.profile ? (64 + (menutransition.tics*32)) : 0;
|
||||
boolean forceskin = (Playing() && K_CanChangeRules(true) == true) && (cv_forceskin.value != -1);
|
||||
|
||||
if (optionsmenu.profile)
|
||||
{
|
||||
basex = (64 + (menutransition.tics*32));
|
||||
M_DrawOptionsCogs();
|
||||
}
|
||||
|
||||
if (setup_numplayers > 0)
|
||||
{
|
||||
priority = setup_animcounter % setup_numplayers;
|
||||
|
|
@ -3034,12 +3048,6 @@ void M_DrawLevelSelect(void)
|
|||
INT16 y = 80 - (12 * levellist.y);
|
||||
boolean tatransition = ((menutransition.startmenu == &PLAY_TimeAttackDef || menutransition.endmenu == &PLAY_TimeAttackDef) && menutransition.tics);
|
||||
|
||||
if (levellist.levelsearch.tutorial)
|
||||
{
|
||||
patch_t *bg = W_CachePatchName("M_XTRABG", PU_CACHE);
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, bg, NULL);
|
||||
}
|
||||
|
||||
if (tatransition)
|
||||
{
|
||||
t = -t;
|
||||
|
|
@ -3298,7 +3306,6 @@ void M_DrawEggaChannel(void)
|
|||
// Multiplayer mode option select
|
||||
void M_DrawMPOptSelect(void)
|
||||
{
|
||||
M_DrawEggaChannel();
|
||||
M_DrawMenuTooltips();
|
||||
M_MPOptDrawer(&PLAY_MP_OptSelectDef, mpmenu.modewinextend);
|
||||
M_DrawMasterServerReminder();
|
||||
|
|
@ -3308,7 +3315,6 @@ void M_DrawMPOptSelect(void)
|
|||
// A rehash of the generic menu drawer adapted to fit into that cramped space. ...A small sacrifice for utility
|
||||
void M_DrawMPHost(void)
|
||||
{
|
||||
|
||||
patch_t *gobutt = W_CachePatchName("M_BUTTGO", PU_CACHE); // I'm very mature
|
||||
INT32 xp = 40, yp = 64, i = 0, w = 0; // Starting position for the text drawing.
|
||||
|
||||
|
|
@ -3413,7 +3419,6 @@ void M_DrawMPHost(void)
|
|||
// (I don't like duplicating code but I rather this than some horrible all-in-one function with too many options...)
|
||||
void M_DrawMPJoinIP(void)
|
||||
{
|
||||
|
||||
//patch_t *minibutt = W_CachePatchName("M_SBUTT", PU_CACHE);
|
||||
// There is no such things as mini butts, only thick thighs to rest your head on.
|
||||
//patch_t *minigo = W_CachePatchName("M_SGO", PU_CACHE);
|
||||
|
|
@ -3786,8 +3791,6 @@ void M_DrawOptions(void)
|
|||
|
||||
UINT8 *c = NULL;
|
||||
|
||||
M_DrawOptionsCogs();
|
||||
|
||||
for (i=0; i < currentMenu->numitems; i++)
|
||||
{
|
||||
INT32 py = y - (itemOn*48);
|
||||
|
|
@ -3823,7 +3826,6 @@ void M_DrawGenericOptions(void)
|
|||
{
|
||||
INT32 x = currentMenu->x - menutransition.tics*48, y = currentMenu->y, w, i, cursory = 0;
|
||||
|
||||
M_DrawOptionsCogs();
|
||||
M_DrawMenuTooltips();
|
||||
M_DrawOptionsMovingButton();
|
||||
|
||||
|
|
@ -3973,7 +3975,6 @@ void M_DrawProfileErase(void)
|
|||
INT32 x = currentMenu->x - menutransition.tics*48, y = currentMenu->y-SMALLLINEHEIGHT, i, cursory = 0;
|
||||
UINT8 np = PR_GetNumProfiles();
|
||||
|
||||
M_DrawOptionsCogs();
|
||||
M_DrawMenuTooltips();
|
||||
M_DrawOptionsMovingButton();
|
||||
|
||||
|
|
@ -4005,7 +4006,6 @@ void M_DrawProfileSelect(void)
|
|||
INT32 x = 160 - optionsmenu.profilen*(128 + 128/8) + optionsmenu.offset;
|
||||
INT32 y = 35 + menutransition.tics*32;
|
||||
|
||||
M_DrawOptionsCogs();
|
||||
M_DrawMenuTooltips();
|
||||
|
||||
// This shouldn't be drawn when a profile is selected as optx/opty are used to move the card.
|
||||
|
|
@ -4038,8 +4038,6 @@ void M_DrawEditProfile(void)
|
|||
INT32 x = (145 + (menutransition.tics*32));
|
||||
INT32 i;
|
||||
|
||||
M_DrawOptionsCogs();
|
||||
|
||||
// Tooltip
|
||||
// The text is slightly shifted hence why we don't just use M_DrawMenuTooltips()
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, W_CachePatchName("MENUHINT", PU_CACHE), NULL);
|
||||
|
|
@ -4138,8 +4136,6 @@ void M_DrawProfileControls(void)
|
|||
INT32 i, j, k;
|
||||
const UINT8 pid = 0;
|
||||
|
||||
M_DrawOptionsCogs();
|
||||
|
||||
V_DrawScaledPatch(BASEVIDWIDTH*2/3 - optionsmenu.contx, BASEVIDHEIGHT/2 -optionsmenu.conty, 0, W_CachePatchName("PR_CONT", PU_CACHE));
|
||||
|
||||
// Draw button presses...
|
||||
|
|
@ -4368,7 +4364,6 @@ void M_DrawVideoModes(void)
|
|||
{
|
||||
INT32 i, j, row, col;
|
||||
|
||||
M_DrawOptionsCogs();
|
||||
M_DrawMenuTooltips();
|
||||
M_DrawOptionsMovingButton();
|
||||
|
||||
|
|
@ -4452,7 +4447,6 @@ void M_DrawItemToggles(void)
|
|||
consvar_t *cv;
|
||||
INT32 i, translucent, drawnum;
|
||||
|
||||
M_DrawOptionsCogs();
|
||||
M_DrawMenuTooltips();
|
||||
M_DrawOptionsMovingButton();
|
||||
|
||||
|
|
@ -4595,12 +4589,9 @@ void M_DrawExtras(void)
|
|||
INT32 x = 140 - (48*itemOn) + extrasmenu.offset;
|
||||
INT32 y = 70 + extrasmenu.offset;
|
||||
patch_t *buttback = W_CachePatchName("OPT_BUTT", PU_CACHE);
|
||||
patch_t *bg = W_CachePatchName("M_XTRABG", PU_CACHE);
|
||||
|
||||
UINT8 *c = NULL;
|
||||
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, bg, NULL);
|
||||
|
||||
for (i=0; i < currentMenu->numitems; i++)
|
||||
{
|
||||
INT32 py = y - (itemOn*48);
|
||||
|
|
@ -5115,14 +5106,6 @@ void M_DrawAddons(void)
|
|||
|
||||
M_CacheAddonPatches();
|
||||
|
||||
// hack: If we're calling this from GS_MENU, that means we're in the extras menu!
|
||||
// so draw the apropriate background
|
||||
if (gamestate == GS_MENU)
|
||||
{
|
||||
patch_t *bg = W_CachePatchName("M_XTRABG", PU_CACHE);
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, bg, NULL);
|
||||
}
|
||||
|
||||
if (Playing())
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, 4, warningflags, "Adding files mid-game may cause problems.");
|
||||
else
|
||||
|
|
@ -6939,11 +6922,6 @@ void M_DrawStatistics(void)
|
|||
char beststr[256];
|
||||
tic_t besttime = 0;
|
||||
|
||||
{
|
||||
patch_t *bg = W_CachePatchName("M_XTRABG", PU_CACHE);
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, bg, NULL);
|
||||
}
|
||||
|
||||
{
|
||||
const char *pagename = NULL;
|
||||
INT32 pagenamewidth = 0;
|
||||
|
|
@ -7060,28 +7038,6 @@ void M_DrawStatistics(void)
|
|||
V_DrawRightAlignedThinString(BASEVIDWIDTH-20, 50, 0, beststr);
|
||||
}
|
||||
|
||||
static INT32 M_WrongWarpFallingHelper(INT32 y, INT32 falltime)
|
||||
{
|
||||
if (wrongwarp.ticker < falltime)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
if (wrongwarp.ticker > falltime + 2*TICRATE)
|
||||
{
|
||||
return INT32_MAX;
|
||||
}
|
||||
|
||||
if (wrongwarp.ticker < falltime + TICRATE)
|
||||
{
|
||||
y += + ((wrongwarp.ticker - falltime) & 1 ? 1 : -1);
|
||||
return y;
|
||||
}
|
||||
|
||||
y += floor(pow(1.5, (double)(wrongwarp.ticker - (falltime + TICRATE))));
|
||||
return y;
|
||||
}
|
||||
|
||||
static void M_DrawWrongPlayer(UINT8 i)
|
||||
{
|
||||
#define wrongpl wrongwarp.wrongplayers[i]
|
||||
|
|
@ -7107,60 +7063,6 @@ void M_DrawWrongWarp(void)
|
|||
INT32 titleoffset = 0, titlewidth, x, y;
|
||||
const char *titletext = "WRONG GAME? WRONG GAME! ";
|
||||
|
||||
if (gamestate == GS_MENU)
|
||||
{
|
||||
patch_t *pat, *pat2;
|
||||
INT32 animtimer, anim2 = 0;
|
||||
|
||||
pat = W_CachePatchName("TITLEBG1", PU_CACHE);
|
||||
pat2 = W_CachePatchName("TITLEBG2", PU_CACHE);
|
||||
|
||||
animtimer = ((wrongwarp.ticker*5)/16) % SHORT(pat->width);
|
||||
anim2 = SHORT(pat2->width) - (((wrongwarp.ticker*5)/16) % SHORT(pat2->width));
|
||||
|
||||
// SRB2Kart: F_DrawPatchCol is over-engineered; recoded to be less shitty and error-prone
|
||||
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 0);
|
||||
|
||||
x = -((INT32)animtimer);
|
||||
y = 0;
|
||||
while (x < BASEVIDWIDTH)
|
||||
{
|
||||
V_DrawFixedPatch(x*FRACUNIT, y*FRACUNIT, FRACUNIT, 0, pat, NULL);
|
||||
x += SHORT(pat->width);
|
||||
}
|
||||
|
||||
x = -anim2;
|
||||
y = BASEVIDHEIGHT - SHORT(pat2->height);
|
||||
while (x < BASEVIDWIDTH)
|
||||
{
|
||||
V_DrawFixedPatch(x*FRACUNIT, y*FRACUNIT, FRACUNIT, 0, pat2, NULL);
|
||||
x += SHORT(pat2->width);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
patch_t *ttcheckers = W_CachePatchName("TTCHECK", PU_CACHE);
|
||||
|
||||
y = FixedMul(40<<FRACBITS, FixedDiv(wrongwarp.ticker%70, 70));
|
||||
|
||||
V_DrawSciencePatch(0, -y, 0, ttcheckers, FRACUNIT);
|
||||
V_DrawSciencePatch(280<<FRACBITS, -(40<<FRACBITS) + y, 0, ttcheckers, FRACUNIT);
|
||||
|
||||
y = M_WrongWarpFallingHelper(36, 7*TICRATE/4);
|
||||
if (y != INT32_MAX)
|
||||
{
|
||||
patch_t *ttbanner = W_CachePatchName("TTKBANNR", PU_CACHE);
|
||||
V_DrawSmallScaledPatch(84, y, 0, ttbanner);
|
||||
}
|
||||
|
||||
y = M_WrongWarpFallingHelper(87, 4*TICRATE/3);
|
||||
if (y != INT32_MAX)
|
||||
{
|
||||
patch_t *ttkart = W_CachePatchName("TTKART", PU_CACHE);
|
||||
V_DrawSmallScaledPatch(84, y, 0, ttkart);
|
||||
}
|
||||
}
|
||||
|
||||
if (wrongwarp.ticker < 2*TICRATE/3)
|
||||
return;
|
||||
|
||||
|
|
@ -7211,12 +7113,6 @@ void M_DrawSoundTest(void)
|
|||
|
||||
patch_t *btn = W_CachePatchName("STER_BTN", PU_CACHE);
|
||||
|
||||
if (gamestate == GS_MENU)
|
||||
{
|
||||
patch_t *bg = W_CachePatchName("M_XTRABG", PU_CACHE);
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, bg, NULL);
|
||||
}
|
||||
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, W_CachePatchName("STER_BG", PU_CACHE), NULL);
|
||||
|
||||
x = 24;
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ menu_t EXTRAS_MainDef = {
|
|||
"EXTRAS",
|
||||
28, 5,
|
||||
M_DrawExtras,
|
||||
M_DrawExtrasBack,
|
||||
M_ExtrasTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ menu_t MISC_AddonsDef = {
|
|||
"EXTRAS",
|
||||
0, 0,
|
||||
M_DrawAddons,
|
||||
M_DrawExtrasBack,
|
||||
M_AddonsRefresh,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ menu_t MISC_ChallengesDef = {
|
|||
"UNLOCK",
|
||||
98, 0,
|
||||
M_DrawChallenges,
|
||||
NULL,
|
||||
M_ChallengesTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
@ -46,6 +47,7 @@ menu_t MISC_StatisticsDef = {
|
|||
"EXTRAS",
|
||||
98, 0,
|
||||
M_DrawStatistics,
|
||||
M_DrawExtrasBack,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@ menu_t EXTRAS_EggTVDef =
|
|||
M_DrawEggTV,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
M_QuitEggTV,
|
||||
M_HandleEggTV
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
#include "../m_random.h"
|
||||
#include "../music.h"
|
||||
#include "../r_skins.h"
|
||||
#include "../v_video.h"
|
||||
#include "../z_zone.h"
|
||||
|
||||
struct wrongwarp_s wrongwarp;
|
||||
|
||||
|
|
@ -137,6 +139,87 @@ static boolean M_WrongWarpInputs(INT32 ch)
|
|||
return false;
|
||||
}
|
||||
|
||||
static INT32 M_WrongWarpFallingHelper(INT32 y, INT32 falltime)
|
||||
{
|
||||
if (wrongwarp.ticker < falltime)
|
||||
{
|
||||
return y;
|
||||
}
|
||||
|
||||
if (wrongwarp.ticker > falltime + 2*TICRATE)
|
||||
{
|
||||
return INT32_MAX;
|
||||
}
|
||||
|
||||
if (wrongwarp.ticker < falltime + TICRATE)
|
||||
{
|
||||
y += + ((wrongwarp.ticker - falltime) & 1 ? 1 : -1);
|
||||
return y;
|
||||
}
|
||||
|
||||
y += floor(pow(1.5, (double)(wrongwarp.ticker - (falltime + TICRATE))));
|
||||
return y;
|
||||
}
|
||||
|
||||
static void M_DrawWrongWarpBack(void)
|
||||
{
|
||||
INT32 x, y;
|
||||
|
||||
if (gamestate == GS_MENU)
|
||||
{
|
||||
patch_t *pat, *pat2;
|
||||
INT32 animtimer, anim2 = 0;
|
||||
|
||||
pat = W_CachePatchName("TITLEBG1", PU_CACHE);
|
||||
pat2 = W_CachePatchName("TITLEBG2", PU_CACHE);
|
||||
|
||||
animtimer = ((wrongwarp.ticker*5)/16) % SHORT(pat->width);
|
||||
anim2 = SHORT(pat2->width) - (((wrongwarp.ticker*5)/16) % SHORT(pat2->width));
|
||||
|
||||
// SRB2Kart: F_DrawPatchCol is over-engineered; recoded to be less shitty and error-prone
|
||||
V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 0);
|
||||
|
||||
x = -((INT32)animtimer);
|
||||
y = 0;
|
||||
while (x < BASEVIDWIDTH)
|
||||
{
|
||||
V_DrawFixedPatch(x*FRACUNIT, y*FRACUNIT, FRACUNIT, 0, pat, NULL);
|
||||
x += SHORT(pat->width);
|
||||
}
|
||||
|
||||
x = -anim2;
|
||||
y = BASEVIDHEIGHT - SHORT(pat2->height);
|
||||
while (x < BASEVIDWIDTH)
|
||||
{
|
||||
V_DrawFixedPatch(x*FRACUNIT, y*FRACUNIT, FRACUNIT, 0, pat2, NULL);
|
||||
x += SHORT(pat2->width);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
patch_t *ttcheckers = W_CachePatchName("TTCHECK", PU_CACHE);
|
||||
|
||||
y = FixedMul(40<<FRACBITS, FixedDiv(wrongwarp.ticker%70, 70));
|
||||
|
||||
V_DrawSciencePatch(0, -y, 0, ttcheckers, FRACUNIT);
|
||||
V_DrawSciencePatch(280<<FRACBITS, -(40<<FRACBITS) + y, 0, ttcheckers, FRACUNIT);
|
||||
|
||||
y = M_WrongWarpFallingHelper(36, 7*TICRATE/4);
|
||||
if (y != INT32_MAX)
|
||||
{
|
||||
patch_t *ttbanner = W_CachePatchName("TTKBANNR", PU_CACHE);
|
||||
V_DrawSmallScaledPatch(84, y, 0, ttbanner);
|
||||
}
|
||||
|
||||
y = M_WrongWarpFallingHelper(87, 4*TICRATE/3);
|
||||
if (y != INT32_MAX)
|
||||
{
|
||||
patch_t *ttkart = W_CachePatchName("TTKART", PU_CACHE);
|
||||
V_DrawSmallScaledPatch(84, y, 0, ttkart);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menu_t MISC_WrongWarpDef = {
|
||||
sizeof (MISC_WrongWarpMenu)/sizeof (menuitem_t),
|
||||
NULL,
|
||||
|
|
@ -144,10 +227,11 @@ menu_t MISC_WrongWarpDef = {
|
|||
MISC_WrongWarpMenu,
|
||||
0, 0,
|
||||
0, 0,
|
||||
MBF_SOUNDLESS,
|
||||
MBF_SOUNDLESS|MBF_DRAWBGWHILEPLAYING,
|
||||
".",
|
||||
98, 0,
|
||||
M_DrawWrongWarp,
|
||||
M_DrawWrongWarpBack,
|
||||
M_WrongWarpTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ menuitem_t MAIN_Goner[] =
|
|||
{.routine = M_GonerTutorial}, 0, 0},
|
||||
};
|
||||
|
||||
static void M_DrawGonerBack(void);
|
||||
static void M_GonerDrawer(void);
|
||||
|
||||
menu_t MAIN_GonerDef = {
|
||||
|
|
@ -46,6 +47,7 @@ menu_t MAIN_GonerDef = {
|
|||
"_GONER",
|
||||
0, 0,
|
||||
M_GonerDrawer,
|
||||
M_DrawGonerBack,
|
||||
M_GonerTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
@ -495,7 +497,7 @@ void M_GonerTick(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void M_GonerDrawer(void)
|
||||
static void M_DrawGonerBack(void)
|
||||
{
|
||||
srb2::Draw drawer = srb2::Draw();
|
||||
|
||||
|
|
@ -503,8 +505,11 @@ static void M_GonerDrawer(void)
|
|||
.width(BASEVIDWIDTH)
|
||||
.height(BASEVIDHEIGHT)
|
||||
.fill(31);
|
||||
}
|
||||
|
||||
drawer = drawer.x(BASEVIDWIDTH/4);
|
||||
static void M_GonerDrawer(void)
|
||||
{
|
||||
srb2::Draw drawer = srb2::Draw().x(BASEVIDWIDTH/4);
|
||||
|
||||
float newy = BASEVIDHEIGHT/2 + (3*12);
|
||||
boolean first = true;
|
||||
|
|
|
|||
|
|
@ -15,10 +15,11 @@ menu_t MAIN_ProfilesDef = {
|
|||
MAIN_Profiles,
|
||||
32, 80,
|
||||
SKINCOLOR_ULTRAMARINE, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
"FILE",
|
||||
2, 5,
|
||||
M_DrawProfileSelect,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -45,10 +45,11 @@ menu_t OPTIONS_MainDef = {
|
|||
OPTIONS_Main,
|
||||
0, 0,
|
||||
SKINCOLOR_SLATE, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -36,10 +36,11 @@ menu_t OPTIONS_DataDef = {
|
|||
OPTIONS_Data,
|
||||
48, 80,
|
||||
SKINCOLOR_BLUEBERRY, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -37,10 +37,11 @@ menu_t OPTIONS_DataAddonDef = {
|
|||
OPTIONS_DataAddon,
|
||||
48, 80,
|
||||
SKINCOLOR_BLUEBERRY, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -33,10 +33,11 @@ menu_t OPTIONS_DataDiscordDef = {
|
|||
OPTIONS_DataDiscord,
|
||||
48, 80,
|
||||
SKINCOLOR_BLUEBERRY, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -40,10 +40,11 @@ menu_t OPTIONS_DataEraseDef = {
|
|||
OPTIONS_DataErase,
|
||||
48, 80,
|
||||
SKINCOLOR_BLACK, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
"SHWDN2", // Danger.
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -17,10 +17,11 @@ menu_t OPTIONS_DataProfileEraseDef = {
|
|||
OPTIONS_DataProfileErase,
|
||||
48, 80,
|
||||
SKINCOLOR_BLACK, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
"SHWDN2", // Danger.
|
||||
2, 5,
|
||||
M_DrawProfileErase,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -19,10 +19,11 @@ menu_t OPTIONS_DataReplayDef = {
|
|||
OPTIONS_DataReplay,
|
||||
48, 80,
|
||||
SKINCOLOR_BLUEBERRY, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -35,10 +35,11 @@ menu_t OPTIONS_DataScreenshotDef = {
|
|||
OPTIONS_DataScreenshot,
|
||||
48, 80,
|
||||
SKINCOLOR_BLUEBERRY, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -51,10 +51,11 @@ menu_t OPTIONS_GameplayDef = {
|
|||
OPTIONS_Gameplay,
|
||||
48, 80,
|
||||
SKINCOLOR_SCARLET, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -55,10 +55,11 @@ menu_t OPTIONS_GameplayItemsDef = {
|
|||
OPTIONS_GameplayItems,
|
||||
14, 40,
|
||||
SKINCOLOR_SCARLET, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawItemToggles,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -45,10 +45,11 @@ menu_t OPTIONS_HUDDef = {
|
|||
OPTIONS_HUD,
|
||||
48, 80,
|
||||
SKINCOLOR_SUNSLAM, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -45,10 +45,11 @@ menu_t OPTIONS_HUDOnlineDef = {
|
|||
OPTIONS_HUDOnline,
|
||||
48, 80,
|
||||
SKINCOLOR_SUNSLAM, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -17,10 +17,11 @@ menu_t OPTIONS_ProfilesDef = {
|
|||
OPTIONS_Profiles,
|
||||
32, 80,
|
||||
SKINCOLOR_ULTRAMARINE, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
"FILE",
|
||||
2, 5,
|
||||
M_DrawProfileSelect,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -32,10 +32,11 @@ menu_t OPTIONS_EditProfileDef = {
|
|||
OPTIONS_EditProfile,
|
||||
32, 80,
|
||||
SKINCOLOR_ULTRAMARINE, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
"FILE",
|
||||
2, 5,
|
||||
M_DrawEditProfile,
|
||||
M_DrawOptionsCogs,
|
||||
M_HandleProfileEdit,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -114,10 +114,11 @@ menu_t OPTIONS_ProfileControlsDef = {
|
|||
OPTIONS_ProfileControls,
|
||||
32, 80,
|
||||
SKINCOLOR_ULTRAMARINE, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
"FILE",
|
||||
3, 5,
|
||||
M_DrawProfileControls,
|
||||
M_DrawOptionsCogs,
|
||||
M_HandleProfileControls,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -55,10 +55,11 @@ menu_t OPTIONS_ServerDef = {
|
|||
OPTIONS_Server,
|
||||
48, 70, // This menu here is slightly higher because there's a lot of options...
|
||||
SKINCOLOR_VIOLET, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -53,10 +53,11 @@ menu_t OPTIONS_ServerAdvancedDef = {
|
|||
OPTIONS_ServerAdvanced,
|
||||
48, 70, // This menu here is slightly higher because there's a lot of options...
|
||||
SKINCOLOR_VIOLET, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -57,10 +57,11 @@ menu_t OPTIONS_SoundDef = {
|
|||
OPTIONS_Sound,
|
||||
48, 80,
|
||||
SKINCOLOR_THUNDER, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -61,10 +61,11 @@ menu_t OPTIONS_VideoDef = {
|
|||
OPTIONS_Video,
|
||||
32, 80,
|
||||
SKINCOLOR_PLAGUE, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -53,10 +53,11 @@ menu_t OPTIONS_VideoOGLDef = {
|
|||
OPTIONS_VideoOGL,
|
||||
32, 80,
|
||||
SKINCOLOR_PLAGUE, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawGenericOptions,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -19,10 +19,11 @@ menu_t OPTIONS_VideoModesDef = {
|
|||
OPTIONS_VideoModes,
|
||||
48, 80,
|
||||
SKINCOLOR_PLAGUE, 0,
|
||||
0,
|
||||
MBF_DRAWBGWHILEPLAYING,
|
||||
NULL,
|
||||
2, 5,
|
||||
M_DrawVideoModes,
|
||||
M_DrawOptionsCogs,
|
||||
M_OptionsTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -16,6 +16,18 @@ menuitem_t PLAY_CharSelect[] =
|
|||
{IT_NOTHING, NULL, NULL, NULL, {NULL}, 0, 0},
|
||||
};
|
||||
|
||||
static void M_DrawCharacterBack(void)
|
||||
{
|
||||
if (!optionsmenu.profile)
|
||||
{
|
||||
if (gamestate == GS_MENU)
|
||||
M_DrawMenuBackground();
|
||||
return;
|
||||
}
|
||||
|
||||
M_DrawOptionsCogs();
|
||||
}
|
||||
|
||||
menu_t PLAY_CharSelectDef = {
|
||||
sizeof (PLAY_CharSelect) / sizeof (menuitem_t),
|
||||
&MainDef,
|
||||
|
|
@ -27,6 +39,7 @@ menu_t PLAY_CharSelectDef = {
|
|||
NULL,
|
||||
2, 5, // matches OPTIONS_EditProfileDef
|
||||
M_DrawCharacterSelect,
|
||||
M_DrawCharacterBack,
|
||||
M_CharacterSelectTick,
|
||||
M_CharacterSelectInit,
|
||||
M_CharacterSelectQuit,
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ menu_t PLAY_RaceDifficultyDef = {
|
|||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ menu_t PLAY_TimeAttackDef = {
|
|||
NULL,
|
||||
2, 5,
|
||||
M_DrawTimeAttack,
|
||||
NULL,
|
||||
M_TimeAttackTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
@ -122,6 +123,7 @@ menu_t PLAY_TAReplayDef = {
|
|||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
|
@ -167,6 +169,7 @@ menu_t PLAY_TAReplayGuestDef = {
|
|||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
|
@ -207,6 +210,7 @@ menu_t PLAY_TAGhostsDef = {
|
|||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ menu_t PLAY_MP_OptSelectDef = {
|
|||
"NETMD2",
|
||||
-1, 1,
|
||||
M_DrawMPOptSelect,
|
||||
M_DrawEggaChannel,
|
||||
M_MPOptSelectTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ menu_t PLAY_MP_HostDef = {
|
|||
"NETMD2",
|
||||
-1, 1, // 1 frame transition.... This is really just because I don't want the black fade when we press esc, hehe
|
||||
M_DrawMPHost,
|
||||
M_DrawEggaChannel,
|
||||
M_MPOptSelectTick, // This handles the unfolding options
|
||||
NULL,
|
||||
M_MPResetOpts,
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ menu_t PLAY_MP_JoinIPDef = {
|
|||
"NETMD2",
|
||||
-1, 1, // 1 frame transition.... This is really just because I don't want the black fade when we press esc, hehe
|
||||
M_DrawMPJoinIP,
|
||||
M_DrawEggaChannel,
|
||||
M_MPOptSelectTick, // This handles the unfolding options
|
||||
NULL,
|
||||
M_MPResetOpts,
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ menu_t PLAY_MP_RoomSelectDef = {
|
|||
"NETMD2",
|
||||
0, 0,
|
||||
M_DrawMPRoomSelect,
|
||||
M_DrawEggaChannel,
|
||||
M_MPRoomSelectTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ menu_t PLAY_MP_ServerBrowserDef = {
|
|||
"NETMD2",
|
||||
0, 0,
|
||||
M_DrawMPServerBrowser,
|
||||
NULL,
|
||||
M_MPServerBrowserTick,
|
||||
NULL,
|
||||
M_ServerBrowserQuit,
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ menu_t PLAY_CupSelectDef = {
|
|||
NULL,
|
||||
2, 5,
|
||||
M_DrawCupSelect,
|
||||
NULL,
|
||||
M_CupSelectTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ menu_t MISC_DiscordRequestsDef = {
|
|||
NULL,
|
||||
0, 0,
|
||||
M_DrawDiscordRequests,
|
||||
NULL,
|
||||
M_DiscordRequestTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -18,6 +18,17 @@ menuitem_t PLAY_LevelSelect[] =
|
|||
{IT_NOTHING | IT_KEYHANDLER, NULL, NULL, NULL, {.routine = M_LevelSelectHandler}, 0, 0},
|
||||
};
|
||||
|
||||
static void M_DrawLevelSelectBack(void)
|
||||
{
|
||||
if (!levellist.levelsearch.tutorial)
|
||||
{
|
||||
M_DrawMenuBackground();
|
||||
return;
|
||||
}
|
||||
|
||||
M_DrawExtrasBack();
|
||||
}
|
||||
|
||||
menu_t PLAY_LevelSelectDef = {
|
||||
sizeof(PLAY_LevelSelect) / sizeof(menuitem_t),
|
||||
&PLAY_CupSelectDef,
|
||||
|
|
@ -29,6 +40,7 @@ menu_t PLAY_LevelSelectDef = {
|
|||
NULL,
|
||||
2, 5,
|
||||
M_DrawLevelSelect,
|
||||
M_DrawLevelSelectBack,
|
||||
M_LevelSelectTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -231,6 +231,7 @@ menu_t PAUSE_CheatsDef = {
|
|||
0, 0,
|
||||
draw_menu,
|
||||
nullptr,
|
||||
nullptr,
|
||||
menu_open,
|
||||
menu_close,
|
||||
menu_input,
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@ menu_t PAUSE_MainDef = {
|
|||
NULL,
|
||||
1, 10, // For transition with some menus!
|
||||
M_DrawPause,
|
||||
NULL,
|
||||
M_PauseTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ menu_t PAUSE_KickHandlerDef = {
|
|||
NULL,
|
||||
0, 0,
|
||||
M_DrawKickHandler,
|
||||
NULL,
|
||||
M_KickHandlerTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ menu_t PAUSE_PlaybackMenuDef = {
|
|||
NULL,
|
||||
0, 0,
|
||||
M_DrawPlaybackMenu,
|
||||
NULL,
|
||||
M_PlaybackTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
|
|
@ -208,6 +208,7 @@ menu_t MISC_SoundTestDef = {
|
|||
".",
|
||||
98, 0,
|
||||
M_DrawSoundTest,
|
||||
M_DrawExtrasBack,
|
||||
M_SoundTestTick,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue