mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'more-item-toggles' into 'master'
Add Stone Shoe and Toxomister to Item Toggles Closes #1611 See merge request kart-krew-dev/ring-racers-internal!2739
This commit is contained in:
commit
bd753a9b59
3 changed files with 64 additions and 36 deletions
|
|
@ -1166,6 +1166,10 @@ const char *K_GetItemPatch(UINT8 item, boolean tiny)
|
||||||
return (tiny ? "K_ISORBN" : "K_ITORB3");
|
return (tiny ? "K_ISORBN" : "K_ITORB3");
|
||||||
case KRITEM_QUADORBINAUT:
|
case KRITEM_QUADORBINAUT:
|
||||||
return (tiny ? "K_ISORBN" : "K_ITORB4");
|
return (tiny ? "K_ISORBN" : "K_ITORB4");
|
||||||
|
case KITEM_TOXOMISTER:
|
||||||
|
return (tiny ? "K_ISTOX" : "K_ITTOX");
|
||||||
|
case KITEM_STONESHOE:
|
||||||
|
return (tiny ? "K_ISSTON" : "K_ITSTON");
|
||||||
default:
|
default:
|
||||||
return (tiny ? "K_ISSAD" : "K_ITSAD");
|
return (tiny ? "K_ISSAD" : "K_ITSAD");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -376,7 +376,7 @@ static void M_DrawMenuParty(void)
|
||||||
UINT16 color;
|
UINT16 color;
|
||||||
UINT8 *colormap;
|
UINT8 *colormap;
|
||||||
|
|
||||||
if (setup_numplayers == 0 || currentMenu == &PLAY_CharSelectDef || currentMenu == &MISC_ChallengesDef)
|
if (setup_numplayers == 0 || currentMenu == &PLAY_CharSelectDef || currentMenu == &OPTIONS_GameplayItemsDef || currentMenu == &MISC_ChallengesDef)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -5721,14 +5721,17 @@ void M_DrawItemToggles(void)
|
||||||
const INT32 height = 4;
|
const INT32 height = 4;
|
||||||
const INT32 spacing = 35;
|
const INT32 spacing = 35;
|
||||||
const INT32 column = itemOn/height;
|
const INT32 column = itemOn/height;
|
||||||
//const INT32 row = itemOn%height;
|
const INT32 row = itemOn%height;
|
||||||
INT32 leftdraw, rightdraw, totaldraw;
|
INT32 leftdraw, rightdraw, totaldraw;
|
||||||
INT32 x = currentMenu->x + M_EaseWithTransition(Easing_Linear, 5 * 64), y = currentMenu->y;
|
INT32 x, y = currentMenu->y;
|
||||||
INT32 onx = 0, ony = 0;
|
INT32 onx = 0, ony = 0;
|
||||||
consvar_t *cv;
|
consvar_t *cv;
|
||||||
INT32 i, drawnum;
|
INT32 i, drawnum;
|
||||||
patch_t *pat;
|
patch_t *pat;
|
||||||
|
|
||||||
|
x = currentMenu->x
|
||||||
|
+ M_EaseWithTransition(Easing_Linear, 5 * 64);
|
||||||
|
|
||||||
M_DrawMenuTooltips();
|
M_DrawMenuTooltips();
|
||||||
M_DrawOptionsMovingButton();
|
M_DrawOptionsMovingButton();
|
||||||
|
|
||||||
|
|
@ -5774,14 +5777,6 @@ void M_DrawItemToggles(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentMenu->menuitems[thisitem].mvar1 == 0)
|
if (currentMenu->menuitems[thisitem].mvar1 == 0)
|
||||||
{
|
|
||||||
V_DrawScaledPatch(x, y, 0, isbg);
|
|
||||||
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, isbgd);
|
V_DrawScaledPatch(x, y, 0, isbgd);
|
||||||
y += spacing;
|
y += spacing;
|
||||||
|
|
@ -5822,13 +5817,10 @@ void M_DrawItemToggles(void)
|
||||||
y = currentMenu->y;
|
y = currentMenu->y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
drawnum = 0;
|
||||||
|
|
||||||
{
|
{
|
||||||
if (currentMenu->menuitems[itemOn].mvar1 == 0)
|
if (currentMenu->menuitems[itemOn].mvar1 == 0)
|
||||||
{
|
|
||||||
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));
|
V_DrawScaledPatch(onx-1, ony-2, 0, W_CachePatchName("K_ITBGD", PU_CACHE));
|
||||||
if (shitsfree)
|
if (shitsfree)
|
||||||
|
|
@ -5880,6 +5872,18 @@ void M_DrawItemToggles(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Button prompts
|
||||||
|
K_DrawGameControl(
|
||||||
|
(BASEVIDWIDTH/2) - cv_kartfrantic.value, BASEVIDHEIGHT-20, 0,
|
||||||
|
va(
|
||||||
|
"<c_animated> Toggle All %s<white> <r_animated> Frantic Mode: %s",
|
||||||
|
cv_thunderdome.value ? "<yellow>(Ring Box Mode) " : "<gold>(Item Box Mode)",
|
||||||
|
cv_kartfrantic.value ? "<red> On" : "<gray>Off"
|
||||||
|
),
|
||||||
|
1, TINY_FONT,
|
||||||
|
(((row == height-1) && (drawnum > 1)) ? V_TRANSLUCENT : 0)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@ menuitem_t OPTIONS_GameplayItems[] =
|
||||||
// Mostly handled by the drawing function.
|
// Mostly handled by the drawing function.
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Super Ring", NULL, {.routine = M_HandleItemToggles}, KITEM_SUPERRING, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Super Ring", NULL, {.routine = M_HandleItemToggles}, KITEM_SUPERRING, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Self-Propelled Bomb", NULL, {.routine = M_HandleItemToggles}, KITEM_SPB, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Self-Propelled Bomb", NULL, {.routine = M_HandleItemToggles}, KITEM_SPB, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, NULL, NULL, {.routine = M_HandleItemToggles}, 255, 0}, // maybe KITEM_PUYO eventually?
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Hyudoro", NULL, {.routine = M_HandleItemToggles}, KITEM_HYUDORO, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Toggle All / Ring Box Only", NULL, {.routine = M_HandleItemToggles}, 0, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Kitchen Sink", NULL, {.routine = M_HandleItemToggles}, KITEM_KITCHENSINK, 0},
|
||||||
|
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Sneaker", NULL, {.routine = M_HandleItemToggles}, KITEM_SNEAKER, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Sneaker", NULL, {.routine = M_HandleItemToggles}, KITEM_SNEAKER, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Sneaker x2", NULL, {.routine = M_HandleItemToggles}, KRITEM_DUALSNEAKER, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Sneaker x2", NULL, {.routine = M_HandleItemToggles}, KRITEM_DUALSNEAKER, 0},
|
||||||
|
|
@ -28,7 +28,7 @@ menuitem_t OPTIONS_GameplayItems[] =
|
||||||
|
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Banana", NULL, {.routine = M_HandleItemToggles}, KITEM_BANANA, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Banana", NULL, {.routine = M_HandleItemToggles}, KITEM_BANANA, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Banana x3", NULL, {.routine = M_HandleItemToggles}, KRITEM_TRIPLEBANANA, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Banana x3", NULL, {.routine = M_HandleItemToggles}, KRITEM_TRIPLEBANANA, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Eggmark", NULL, {.routine = M_HandleItemToggles}, KITEM_EGGMAN, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Stone Shoe", NULL, {.routine = M_HandleItemToggles}, KITEM_STONESHOE, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Gachabom", NULL, {.routine = M_HandleItemToggles}, KITEM_GACHABOM, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Gachabom", NULL, {.routine = M_HandleItemToggles}, KITEM_GACHABOM, 0},
|
||||||
|
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Orbinaut", NULL, {.routine = M_HandleItemToggles}, KITEM_ORBINAUT, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Orbinaut", NULL, {.routine = M_HandleItemToggles}, KITEM_ORBINAUT, 0},
|
||||||
|
|
@ -41,10 +41,10 @@ menuitem_t OPTIONS_GameplayItems[] =
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Proximity Mine", NULL, {.routine = M_HandleItemToggles}, KITEM_MINE, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Proximity Mine", NULL, {.routine = M_HandleItemToggles}, KITEM_MINE, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Ballhog", NULL, {.routine = M_HandleItemToggles}, KITEM_BALLHOG, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Ballhog", NULL, {.routine = M_HandleItemToggles}, KITEM_BALLHOG, 0},
|
||||||
|
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Hyudoro", NULL, {.routine = M_HandleItemToggles}, KITEM_HYUDORO, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Toxomister", NULL, {.routine = M_HandleItemToggles}, KITEM_TOXOMISTER, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Drop Target", NULL, {.routine = M_HandleItemToggles}, KITEM_DROPTARGET, sfx_s258},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Drop Target", NULL, {.routine = M_HandleItemToggles}, KITEM_DROPTARGET, sfx_s258},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Land Mine", NULL, {.routine = M_HandleItemToggles}, KITEM_LANDMINE, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Land Mine", NULL, {.routine = M_HandleItemToggles}, KITEM_LANDMINE, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Pogo Spring", NULL, {.routine = M_HandleItemToggles}, KITEM_POGOSPRING, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Eggmark", NULL, {.routine = M_HandleItemToggles}, KITEM_EGGMAN, 0},
|
||||||
|
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Invincibility", NULL, {.routine = M_HandleItemToggles}, KITEM_INVINCIBILITY, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Invincibility", 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, "Grow", NULL, {.routine = M_HandleItemToggles}, KITEM_GROW, 0},
|
||||||
|
|
@ -54,7 +54,10 @@ menuitem_t OPTIONS_GameplayItems[] =
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Lightning Shield", NULL, {.routine = M_HandleItemToggles}, KITEM_LIGHTNINGSHIELD, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Lightning Shield", NULL, {.routine = M_HandleItemToggles}, KITEM_LIGHTNINGSHIELD, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Bubble Shield", NULL, {.routine = M_HandleItemToggles}, KITEM_BUBBLESHIELD, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Bubble Shield", NULL, {.routine = M_HandleItemToggles}, KITEM_BUBBLESHIELD, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Flame Shield", NULL, {.routine = M_HandleItemToggles}, KITEM_FLAMESHIELD, 0},
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Flame Shield", NULL, {.routine = M_HandleItemToggles}, KITEM_FLAMESHIELD, 0},
|
||||||
{IT_KEYHANDLER | IT_NOTHING, NULL, "Kitchen Sink", NULL, {.routine = M_HandleItemToggles}, KITEM_KITCHENSINK, 0}
|
{IT_KEYHANDLER | IT_NOTHING, NULL, "Pogo Spring", NULL, {.routine = M_HandleItemToggles}, KITEM_POGOSPRING, 0},
|
||||||
|
|
||||||
|
// {IT_KEYHANDLER | IT_NOTHING, NULL, NULL, NULL, {.routine = M_HandleItemToggles}, 0, 0}, -- next time, gadget
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void init_routine(void)
|
static void init_routine(void)
|
||||||
|
|
@ -69,7 +72,7 @@ menu_t OPTIONS_GameplayItemsDef = {
|
||||||
&OPTIONS_GameplayDef,
|
&OPTIONS_GameplayDef,
|
||||||
0,
|
0,
|
||||||
OPTIONS_GameplayItems,
|
OPTIONS_GameplayItems,
|
||||||
14, 40,
|
14, 32,
|
||||||
SKINCOLOR_SCARLET, 0,
|
SKINCOLOR_SCARLET, 0,
|
||||||
MBF_DRAWBGWHILEPLAYING,
|
MBF_DRAWBGWHILEPLAYING,
|
||||||
NULL,
|
NULL,
|
||||||
|
|
@ -109,7 +112,35 @@ void M_HandleItemToggles(INT32 choice)
|
||||||
|
|
||||||
(void) choice;
|
(void) choice;
|
||||||
|
|
||||||
if (menucmd[pid].dpad_lr > 0)
|
if (M_MenuExtraPressed(pid))
|
||||||
|
{
|
||||||
|
INT32 v = !M_AnyItemsEnabled();
|
||||||
|
for (i = 0; i < NUMKARTRESULTS-1; i++)
|
||||||
|
{
|
||||||
|
CV_SetValue(&cv_items[i], v);
|
||||||
|
}
|
||||||
|
M_ToggleThunderdome();
|
||||||
|
if (cv_thunderdome.value)
|
||||||
|
{
|
||||||
|
S_StartSoundAtVolume(NULL, sfx_slot02, 80);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
S_StartSound(NULL, sfx_itrolf);
|
||||||
|
}
|
||||||
|
|
||||||
|
M_SetMenuDelay(pid);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (M_MenuButtonPressed(pid, MBT_R))
|
||||||
|
{
|
||||||
|
CV_AddValue(&cv_kartfrantic, 1);
|
||||||
|
S_StartSound(NULL, (cv_kartfrantic.value ? sfx_noooo2 : sfx_kc48));
|
||||||
|
|
||||||
|
M_SetMenuDelay(pid);
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (menucmd[pid].dpad_lr > 0)
|
||||||
{
|
{
|
||||||
S_StartSound(NULL, sfx_s3k5b);
|
S_StartSound(NULL, sfx_s3k5b);
|
||||||
column++;
|
column++;
|
||||||
|
|
@ -168,7 +199,7 @@ void M_HandleItemToggles(INT32 choice)
|
||||||
else if (M_MenuConfirmPressed(pid))
|
else if (M_MenuConfirmPressed(pid))
|
||||||
{
|
{
|
||||||
M_SetMenuDelay(pid);
|
M_SetMenuDelay(pid);
|
||||||
if (currentMenu->menuitems[itemOn].mvar1 == 255)
|
if (currentMenu->menuitems[itemOn].mvar1 == 0)
|
||||||
{
|
{
|
||||||
//S_StartSound(NULL, sfx_s26d);
|
//S_StartSound(NULL, sfx_s26d);
|
||||||
if (!shitsfree)
|
if (!shitsfree)
|
||||||
|
|
@ -178,17 +209,6 @@ void M_HandleItemToggles(INT32 choice)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (currentMenu->menuitems[itemOn].mvar1 == 0)
|
|
||||||
{
|
|
||||||
INT32 v = !M_AnyItemsEnabled();
|
|
||||||
S_StartSound(NULL, sfx_s1b4);
|
|
||||||
for (i = 0; i < NUMKARTRESULTS-1; i++)
|
|
||||||
{
|
|
||||||
CV_SetValue(&cv_items[i], v);
|
|
||||||
}
|
|
||||||
M_ToggleThunderdome();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
if (currentMenu->menuitems[itemOn].mvar2)
|
if (currentMenu->menuitems[itemOn].mvar2)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue