mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-25 15:01:13 +00:00
* Make the scrolling text on the menu interpolate.
* Replace the shitty vidwait option with Sal's shiny new fpscap option. * Update the item toggles menu for all the new items (and re-enable shitsfree for the new empty spots).
This commit is contained in:
parent
c85cc0f182
commit
4cc587b5b2
6 changed files with 112 additions and 59 deletions
|
|
@ -662,6 +662,8 @@ const char *K_GetItemPatch(UINT8 item, boolean tiny)
|
|||
return (tiny ? "K_ISMINE" : "K_ITMINE");
|
||||
case KITEM_LANDMINE:
|
||||
return (tiny ? "K_ISLNDM" : "K_ITLNDM");
|
||||
case KITEM_DROPTARGET:
|
||||
return (tiny ? "K_ISDTRG" : "K_ITDTRG");
|
||||
case KITEM_BALLHOG:
|
||||
return (tiny ? "K_ISBHOG" : "K_ITBHOG");
|
||||
case KITEM_SPB:
|
||||
|
|
|
|||
|
|
@ -861,6 +861,7 @@ void M_DrawEditProfile(void);
|
|||
void M_DrawProfileControls(void);
|
||||
void M_DrawVideoModes(void);
|
||||
void M_DrawItemToggles(void);
|
||||
extern tic_t shitsfree;
|
||||
|
||||
// Extras menu:
|
||||
void M_DrawExtrasMovingButton(void);
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include "console.h" // console cvars
|
||||
#include "filesrch.h" // addons cvars
|
||||
#include "m_misc.h" // screenshot cvars
|
||||
#include "r_fps.h" // fps cvars
|
||||
#include "discord.h" // discord rpc cvars
|
||||
|
||||
// ==========================================================================
|
||||
|
|
@ -578,8 +579,8 @@ menuitem_t OPTIONS_Video[] =
|
|||
{IT_STRING | IT_CVAR | IT_CV_SLIDER, "Gamma", "Adjusts the overall brightness of the game.",
|
||||
NULL, {.cvar = &cv_globalgamma}, 0, 0},
|
||||
|
||||
{IT_STRING | IT_CVAR, "Vertical Sync", "Locks the framerate to your monitor's refresh rate.",
|
||||
NULL, {.cvar = &cv_vidwait}, 0, 0},
|
||||
{IT_STRING | IT_CVAR, "FPS Cap", "Handles the refresh rate of the game (does not affect gamelogic).",
|
||||
NULL, {.cvar = &cv_fpscap}, 0, 0},
|
||||
|
||||
{IT_STRING | IT_CVAR, "Enable Skyboxes", "Turning this off will improve performance at the detriment of visuals for many maps.",
|
||||
NULL, {.cvar = &cv_skybox}, 0, 0},
|
||||
|
|
@ -926,32 +927,45 @@ menu_t OPTIONS_GameplayDef = {
|
|||
menuitem_t OPTIONS_GameplayItems[] =
|
||||
{
|
||||
// Mostly handled by the drawing function.
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Sneakers", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_SNEAKER, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Sneakers x3", NULL, NULL, {.routine = M_HandleItemToggles}, KRITEM_TRIPLESNEAKER, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Toggle All", NULL, NULL, {.routine = M_HandleItemToggles}, 0, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Rocket Sneakers", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_ROCKETSNEAKER, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Bananas", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_BANANA, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Bananas x3", NULL, NULL, {.routine = M_HandleItemToggles}, KRITEM_TRIPLEBANANA, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Bananas x10", NULL, NULL, {.routine = M_HandleItemToggles}, KRITEM_TENFOLDBANANA, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Eggman Monitors", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_EGGMAN, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Orbinauts", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_ORBINAUT, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Orbinauts x3", NULL, NULL, {.routine = M_HandleItemToggles}, KRITEM_TRIPLEORBINAUT, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Orbinauts x4", NULL, NULL, {.routine = M_HandleItemToggles}, KRITEM_QUADORBINAUT, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Mines", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_MINE, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Jawz", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_JAWZ, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Jawz x2", NULL, NULL, {.routine = M_HandleItemToggles}, KRITEM_DUALJAWZ, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Ballhogs", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_BALLHOG, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Self-Propelled Bombs", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_SPB, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Invinciblity", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_INVINCIBILITY, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Grow", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_GROW, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Shrink", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_SHRINK, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Thunder Shields", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_THUNDERSHIELD, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Bubble Shields", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_BUBBLESHIELD, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Flame Shields", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_FLAMESHIELD, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Hyudoros", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_HYUDORO, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Pogo Springs", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_POGOSPRING, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Super Rings", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_SUPERRING, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, "Kitchen Sinks", NULL, NULL, {.routine = M_HandleItemToggles}, KITEM_KITCHENSINK, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Super Rings", NULL, {.routine = M_HandleItemToggles}, KITEM_SUPERRING, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Self-Propelled Bombs", NULL, {.routine = M_HandleItemToggles}, KITEM_SPB, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Eggman Marks", NULL, {.routine = M_HandleItemToggles}, KITEM_EGGMAN, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Toggle All", NULL, {.routine = M_HandleItemToggles}, 0, 0},
|
||||
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Sneakers", NULL, {.routine = M_HandleItemToggles}, KITEM_SNEAKER, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Sneakers x2", NULL, {.routine = M_HandleItemToggles}, KRITEM_DUALSNEAKER, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Sneakers x3", NULL, {.routine = M_HandleItemToggles}, KRITEM_TRIPLESNEAKER, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Rocket Sneakers", NULL, {.routine = M_HandleItemToggles}, KITEM_ROCKETSNEAKER, 0},
|
||||
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Bananas", NULL, {.routine = M_HandleItemToggles}, KITEM_BANANA, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Bananas x3", NULL, {.routine = M_HandleItemToggles}, KRITEM_TRIPLEBANANA, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Bananas x10", NULL, {.routine = M_HandleItemToggles}, KRITEM_TENFOLDBANANA, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Mines", NULL, {.routine = M_HandleItemToggles}, KITEM_MINE, 0},
|
||||
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Orbinauts", NULL, {.routine = M_HandleItemToggles}, KITEM_ORBINAUT, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Orbinauts x3", NULL, {.routine = M_HandleItemToggles}, KRITEM_TRIPLEORBINAUT, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Orbinauts x4", NULL, {.routine = M_HandleItemToggles}, KRITEM_QUADORBINAUT, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Drop Targets", NULL, {.routine = M_HandleItemToggles}, KITEM_DROPTARGET, sfx_s258},
|
||||
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Jawz", NULL, {.routine = M_HandleItemToggles}, KITEM_JAWZ, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Jawz x2", NULL, {.routine = M_HandleItemToggles}, KRITEM_DUALJAWZ, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Ballhogs", NULL, {.routine = M_HandleItemToggles}, KITEM_BALLHOG, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Land Mines", NULL, {.routine = M_HandleItemToggles}, KITEM_LANDMINE, 0},
|
||||
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Thunder Shields", NULL, {.routine = M_HandleItemToggles}, KITEM_THUNDERSHIELD, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Bubble Shields", NULL, {.routine = M_HandleItemToggles}, KITEM_BUBBLESHIELD, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Flame Shields", NULL, {.routine = M_HandleItemToggles}, KITEM_FLAMESHIELD, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Hyudoros", NULL, {.routine = M_HandleItemToggles}, KITEM_HYUDORO, 0},
|
||||
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Invinciblity", NULL, {.routine = M_HandleItemToggles}, KITEM_INVINCIBILITY, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Grow", NULL, {.routine = M_HandleItemToggles}, KITEM_GROW, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Shrink", NULL, {.routine = M_HandleItemToggles}, KITEM_SHRINK, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, NULL, NULL, {.routine = M_HandleItemToggles}, 255, 0},
|
||||
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Pogo Springs", NULL, {.routine = M_HandleItemToggles}, KITEM_POGOSPRING, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Kitchen Sinks", NULL, {.routine = M_HandleItemToggles}, KITEM_KITCHENSINK, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, NULL, NULL, {.routine = M_HandleItemToggles}, 255, 0},
|
||||
{IT_KEYHANDLER | IT_NOTHING, NULL, NULL, NULL, {.routine = M_HandleItemToggles}, 255, 0}
|
||||
};
|
||||
|
||||
menu_t OPTIONS_GameplayItemsDef = {
|
||||
|
|
@ -959,7 +973,7 @@ menu_t OPTIONS_GameplayItemsDef = {
|
|||
&OPTIONS_GameplayDef,
|
||||
0,
|
||||
OPTIONS_GameplayItems,
|
||||
0, 75,
|
||||
14, 40,
|
||||
SKINCOLOR_SCARLET, 0,
|
||||
2, 10,
|
||||
M_DrawItemToggles,
|
||||
|
|
|
|||
|
|
@ -150,8 +150,9 @@ static void M_DrawSlider(INT32 x, INT32 y, const consvar_t *cv, boolean ontop)
|
|||
|
||||
static patch_t *addonsp[NUM_EXT+5];
|
||||
|
||||
static UINT32 bgTextScroll = 0;
|
||||
static UINT32 bgImageScroll = 0;
|
||||
static fixed_t bgText1Scroll = 0;
|
||||
static fixed_t bgText2Scroll = 0;
|
||||
static fixed_t bgImageScroll = 0;
|
||||
static char bgImageName[9];
|
||||
|
||||
#define MENUBG_TEXTSCROLL 6
|
||||
|
|
@ -174,7 +175,7 @@ void M_UpdateMenuBGImage(boolean forceReset)
|
|||
|
||||
if (forceReset == false && strcmp(bgImageName, oldName))
|
||||
{
|
||||
bgImageScroll = (BASEVIDWIDTH / 2) / MENUBG_IMAGESCROLL;
|
||||
bgImageScroll = (BASEVIDWIDTH / 2)*FRACUNIT;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -183,34 +184,41 @@ void M_DrawMenuBackground(void)
|
|||
patch_t *text1 = W_CachePatchName("MENUBGT1", PU_CACHE);
|
||||
patch_t *text2 = W_CachePatchName("MENUBGT2", PU_CACHE);
|
||||
|
||||
INT32 text1loop = SHORT(text1->height);
|
||||
INT32 text2loop = SHORT(text2->width);
|
||||
|
||||
fixed_t text1scroll = -((bgTextScroll * MENUBG_TEXTSCROLL) % text1loop) * FRACUNIT;
|
||||
fixed_t text2scroll = -((bgTextScroll * MENUBG_TEXTSCROLL) % text2loop) * FRACUNIT;
|
||||
fixed_t text1loop = SHORT(text1->height)*FRACUNIT;
|
||||
fixed_t text2loop = SHORT(text2->width)*FRACUNIT;
|
||||
|
||||
V_DrawFixedPatch(0, 0, FRACUNIT, 0, W_CachePatchName("MENUBG4", PU_CACHE), NULL);
|
||||
|
||||
V_DrawFixedPatch(-(bgImageScroll * MENUBG_IMAGESCROLL) * FRACUNIT, 0, FRACUNIT, 0, W_CachePatchName("MENUBG1", PU_CACHE), NULL);
|
||||
V_DrawFixedPatch(-(bgImageScroll * MENUBG_IMAGESCROLL) * FRACUNIT, 0, FRACUNIT, 0, W_CachePatchName(bgImageName, PU_CACHE), NULL);
|
||||
V_DrawFixedPatch(-bgImageScroll, 0, FRACUNIT, 0, W_CachePatchName("MENUBG1", PU_CACHE), NULL);
|
||||
V_DrawFixedPatch(-bgImageScroll, 0, FRACUNIT, 0, W_CachePatchName(bgImageName, PU_CACHE), NULL);
|
||||
|
||||
V_DrawFixedPatch(0, (BASEVIDHEIGHT + 16) * FRACUNIT, FRACUNIT, V_TRANSLUCENT, W_CachePatchName("MENUBG2", PU_CACHE), NULL);
|
||||
|
||||
V_DrawFixedPatch(text2scroll, (BASEVIDHEIGHT-8) * FRACUNIT,
|
||||
V_DrawFixedPatch(-bgText2Scroll, (BASEVIDHEIGHT-8) * FRACUNIT,
|
||||
FRACUNIT, V_TRANSLUCENT, text2, NULL);
|
||||
V_DrawFixedPatch(text2scroll + (text2loop * FRACUNIT), (BASEVIDHEIGHT-8) * FRACUNIT,
|
||||
V_DrawFixedPatch(-bgText2Scroll + text2loop, (BASEVIDHEIGHT-8) * FRACUNIT,
|
||||
FRACUNIT, V_TRANSLUCENT, text2, NULL);
|
||||
|
||||
V_DrawFixedPatch(8 * FRACUNIT, text1scroll,
|
||||
V_DrawFixedPatch(8 * FRACUNIT, -bgText1Scroll,
|
||||
FRACUNIT, V_TRANSLUCENT, text1, NULL);
|
||||
V_DrawFixedPatch(8 * FRACUNIT, text1scroll + (text1loop * FRACUNIT),
|
||||
V_DrawFixedPatch(8 * FRACUNIT, -bgText1Scroll + text1loop,
|
||||
FRACUNIT, V_TRANSLUCENT, text1, NULL);
|
||||
|
||||
bgTextScroll++;
|
||||
bgText1Scroll += (MENUBG_TEXTSCROLL*rendertimefrac);
|
||||
while (bgText1Scroll > text1loop)
|
||||
bgText1Scroll -= text1loop;
|
||||
|
||||
bgText2Scroll += (MENUBG_TEXTSCROLL*rendertimefrac);
|
||||
while (bgText2Scroll > text2loop)
|
||||
bgText2Scroll -= text2loop;
|
||||
|
||||
if (bgImageScroll > 0)
|
||||
{
|
||||
bgImageScroll--;
|
||||
bgImageScroll -= (MENUBG_IMAGESCROLL*rendertimefrac);
|
||||
if (bgImageScroll < 0)
|
||||
{
|
||||
bgImageScroll = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2608,17 +2616,17 @@ void M_DrawVideoModes(void)
|
|||
}
|
||||
|
||||
// Gameplay Item Tggles:
|
||||
static tic_t shitsfree = 0;
|
||||
tic_t shitsfree = 0;
|
||||
|
||||
void M_DrawItemToggles(void)
|
||||
{
|
||||
const INT32 edges = 9;
|
||||
const INT32 height = 3;
|
||||
const INT32 edges = 8;
|
||||
const INT32 height = 4;
|
||||
const INT32 spacing = 35;
|
||||
const INT32 column = itemOn/height;
|
||||
//const INT32 row = itemOn%height;
|
||||
INT32 leftdraw, rightdraw, totaldraw;
|
||||
INT32 x = currentMenu->x + menutransition.tics*64, y = currentMenu->y+(spacing/4);
|
||||
INT32 x = currentMenu->x + menutransition.tics*64, y = currentMenu->y;
|
||||
INT32 onx = 0, ony = 0;
|
||||
consvar_t *cv;
|
||||
INT32 i, translucent, drawnum;
|
||||
|
|
@ -2653,7 +2661,7 @@ void M_DrawItemToggles(void)
|
|||
const INT32 thisitem = (i*height)+j;
|
||||
|
||||
if (thisitem >= currentMenu->numitems)
|
||||
continue;
|
||||
break;
|
||||
|
||||
if (thisitem == itemOn)
|
||||
{
|
||||
|
|
@ -2667,6 +2675,14 @@ void M_DrawItemToggles(void)
|
|||
{
|
||||
V_DrawScaledPatch(x, y, 0, W_CachePatchName("K_ISBG", PU_CACHE));
|
||||
V_DrawScaledPatch(x, y, 0, W_CachePatchName("K_ISTOGL", PU_CACHE));
|
||||
y += spacing;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (currentMenu->menuitems[thisitem].mvar1 == 255)
|
||||
{
|
||||
V_DrawScaledPatch(x, y, 0, W_CachePatchName("K_ISBGD", PU_CACHE));
|
||||
y += spacing;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -2713,7 +2729,7 @@ void M_DrawItemToggles(void)
|
|||
}
|
||||
|
||||
x += spacing;
|
||||
y = currentMenu->y+(spacing/4);
|
||||
y = currentMenu->y;
|
||||
}
|
||||
|
||||
{
|
||||
|
|
@ -2722,6 +2738,19 @@ void M_DrawItemToggles(void)
|
|||
V_DrawScaledPatch(onx-1, ony-2, 0, W_CachePatchName("K_ITBG", PU_CACHE));
|
||||
V_DrawScaledPatch(onx-1, ony-2, 0, W_CachePatchName("K_ITTOGL", PU_CACHE));
|
||||
}
|
||||
else if (currentMenu->menuitems[itemOn].mvar1 == 255)
|
||||
{
|
||||
V_DrawScaledPatch(onx-1, ony-2, 0, W_CachePatchName("K_ITBGD", PU_CACHE));
|
||||
if (shitsfree)
|
||||
{
|
||||
INT32 trans = V_TRANSLUCENT;
|
||||
if (shitsfree-1 > TICRATE-5)
|
||||
trans = ((10-TICRATE)+shitsfree-1)<<V_ALPHASHIFT;
|
||||
else if (shitsfree < 5)
|
||||
trans = (10-shitsfree)<<V_ALPHASHIFT;
|
||||
V_DrawScaledPatch(onx-1, ony-2, trans, W_CachePatchName("K_ITFREE", PU_CACHE));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cv = KartItemCVars[currentMenu->menuitems[itemOn].mvar1-1];
|
||||
|
|
@ -2764,8 +2793,6 @@ void M_DrawItemToggles(void)
|
|||
|
||||
if (shitsfree)
|
||||
shitsfree--;
|
||||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2 + menutransition.tics*48, currentMenu->y, highlightflags, va("* %s *", currentMenu->menuitems[itemOn].text));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3553,6 +3553,11 @@ void M_OptionsTick(void)
|
|||
optionsmenu.toptx = 420;
|
||||
optionsmenu.topty = 70+1;
|
||||
}
|
||||
else if (currentMenu == &OPTIONS_GameplayItemsDef)
|
||||
{
|
||||
optionsmenu.toptx = -160; // off the side of the screen
|
||||
optionsmenu.topty = 50;
|
||||
}
|
||||
else
|
||||
{
|
||||
optionsmenu.toptx = 160;
|
||||
|
|
@ -4118,7 +4123,7 @@ void M_MapProfileControl(event_t *ev)
|
|||
|
||||
void M_HandleItemToggles(INT32 choice)
|
||||
{
|
||||
const INT32 width = 9, height = 3;
|
||||
const INT32 width = 8, height = 4;
|
||||
INT32 column = itemOn/height, row = itemOn%height;
|
||||
INT16 next;
|
||||
UINT8 i;
|
||||
|
|
@ -4127,7 +4132,6 @@ void M_HandleItemToggles(INT32 choice)
|
|||
|
||||
(void) choice;
|
||||
|
||||
|
||||
if (menucmd[pid].dpad_lr > 0)
|
||||
{
|
||||
S_StartSound(NULL, sfx_menu1);
|
||||
|
|
@ -4187,7 +4191,6 @@ void M_HandleItemToggles(INT32 choice)
|
|||
else if (M_MenuButtonPressed(pid, MBT_A) || M_MenuButtonPressed(pid, MBT_X))
|
||||
{
|
||||
M_SetMenuDelay(pid);
|
||||
#ifdef ITEMTOGGLEBOTTOMRIGHT
|
||||
if (currentMenu->menuitems[itemOn].mvar1 == 255)
|
||||
{
|
||||
//S_StartSound(NULL, sfx_s26d);
|
||||
|
|
@ -4198,7 +4201,6 @@ void M_HandleItemToggles(INT32 choice)
|
|||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (currentMenu->menuitems[itemOn].mvar1 == 0)
|
||||
{
|
||||
INT32 v = cv_sneaker.value;
|
||||
|
|
@ -4211,7 +4213,14 @@ void M_HandleItemToggles(INT32 choice)
|
|||
}
|
||||
else
|
||||
{
|
||||
S_StartSound(NULL, sfx_s1ba);
|
||||
if (currentMenu->menuitems[itemOn].mvar2)
|
||||
{
|
||||
S_StartSound(NULL, currentMenu->menuitems[itemOn].mvar2);
|
||||
}
|
||||
else
|
||||
{
|
||||
S_StartSound(NULL, sfx_s1ba);
|
||||
}
|
||||
CV_AddValue(KartItemCVars[currentMenu->menuitems[itemOn].mvar1-1], 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ fixed_t P_ReturnThrustY(mobj_t *mo, angle_t angle, fixed_t move)
|
|||
boolean P_AutoPause(void)
|
||||
{
|
||||
// Don't pause even on menu-up or focus-lost in netgames or record attack
|
||||
if (netgame || modeattacking || gamestate == GS_TITLESCREEN)
|
||||
if (netgame || modeattacking || gamestate == GS_TITLESCREEN || gamestate == GS_MENU || con_startup)
|
||||
return false;
|
||||
|
||||
return ((menuactive && !demo.playback) || ( window_notinfocus && cv_pauseifunfocused.value ));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue