From 7ce17d2c6e100583a6d894b752526defbe8688d5 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Thu, 13 Mar 2025 01:04:51 -0400 Subject: [PATCH] Various random changes Menus, rotation and more! --- src/d_player.h | 2 -- src/m_menu.c | 34 ++++++++++++++++++++++------------ src/p_saveg.c | 4 ---- src/r_patchrotation.c | 14 ++++++++------ 4 files changed, 30 insertions(+), 24 deletions(-) diff --git a/src/d_player.h b/src/d_player.h index a081e7476..b5072a2da 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -571,8 +571,6 @@ struct player_t INT32 aizdrifttilt; INT32 aizdriftturn; - INT32 underwatertilt; - fixed_t offroad; // In Super Mario Kart, going offroad has lee-way of about 1 second before you start losing speed UINT8 pogospring; // Pogo spring bounce effect UINT8 brakestop; // Wait until you've made a complete stop for a few tics before letting brake go in reverse. diff --git a/src/m_menu.c b/src/m_menu.c index 01c069e36..bea8bfb34 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -325,7 +325,7 @@ menu_t OP_DataOptionsDef, OP_ScreenshotOptionsDef, OP_EraseDataDef; menu_t OP_DiscordOptionsDef; #endif menu_t OP_HUDOptionsDef, OP_ChatOptionsDef; -menu_t OP_GameOptionsDef, OP_ServerOptionsDef; +menu_t OP_GameOptionsDef, OP_BlanKartGameOptionsDef, OP_ServerOptionsDef; menu_t OP_AdvServerOptionsDef; //menu_t OP_NetgameOptionsDef, OP_GametypeOptionsDef; menu_t OP_MonitorToggleDef; @@ -1533,19 +1533,28 @@ static menuitem_t OP_GameOptionsMenu[] = { {IT_STRING | IT_SUBMENU, NULL, "Random Item Toggles...", {.submenu = &OP_MonitorToggleDef}, 10}, - {IT_STRING | IT_CVAR, NULL, "Race Game Speed", {.cvar = &cv_kartspeed}, 30}, - {IT_STRING | IT_CVAR, NULL, "Battle Game Speed", {.cvar = &cv_kartbattlespeed}, 40}, - {IT_STRING | IT_CVAR, NULL, "Frantic Items", {.cvar = &cv_kartfrantic}, 50}, - {IT_SECRET, NULL, "Encore Mode", {.cvar = &cv_kartencore}, 60}, + {IT_STRING | IT_SUBMENU, NULL, "BlanKart Gameplay...", {.submenu = &OP_BlanKartGameOptionsDef}, 30}, - {IT_STRING | IT_CVAR, NULL, "Number of Laps", {.cvar = &cv_numlaps}, 80}, - {IT_STRING | IT_CVAR, NULL, "Exit Countdown Timer", {.cvar = &cv_countdowntime}, 90}, + {IT_STRING | IT_CVAR, NULL, "Race Game Speed", {.cvar = &cv_kartspeed}, 40}, + {IT_STRING | IT_CVAR, NULL, "Battle Game Speed", {.cvar = &cv_kartbattlespeed}, 50}, + {IT_STRING | IT_CVAR, NULL, "Frantic Items", {.cvar = &cv_kartfrantic}, 60}, + {IT_SECRET, NULL, "Encore Mode", {.cvar = &cv_kartencore}, 70}, - {IT_STRING | IT_CVAR, NULL, "Time Limit", {.cvar = &cv_timelimit}, 110}, - {IT_STRING | IT_CVAR, NULL, "Starting Bumpers", {.cvar = &cv_kartbumpers}, 120}, - {IT_STRING | IT_CVAR, NULL, "Karma Comeback", {.cvar = &cv_kartcomeback}, 130}, + {IT_STRING | IT_CVAR, NULL, "Number of Laps", {.cvar = &cv_numlaps}, 90}, + {IT_STRING | IT_CVAR, NULL, "Exit Countdown Timer", {.cvar = &cv_countdowntime}, 100}, + + {IT_STRING | IT_CVAR, NULL, "Time Limit", {.cvar = &cv_timelimit}, 120}, + {IT_STRING | IT_CVAR, NULL, "Starting Bumpers", {.cvar = &cv_kartbumpers}, 130}, + {IT_STRING | IT_CVAR, NULL, "Karma Comeback", {.cvar = &cv_kartcomeback}, 140}, + + {IT_STRING | IT_CVAR, NULL, "Track Power Levels", {.cvar = &cv_kartusepwrlv}, 160}, +}; + +static menuitem_t OP_BlanKartGameOptionsMenu[] = +{ + {IT_STRING | IT_CVAR, NULL, "Rings", {.cvar = &cv_kartrings}, 10}, + {IT_STRING | IT_CVAR, NULL, "Purple Drift", {.cvar = &cv_kartpurpledrift}, 20}, - {IT_STRING | IT_CVAR, NULL, "Track Power Levels", {.cvar = &cv_kartusepwrlv}, 150}, }; static menuitem_t OP_ServerOptionsMenu[] = @@ -2138,6 +2147,7 @@ menu_t OP_Player4CamOptionsDef = DEFAULTMENUSTYLE(MN_NONE, NULL, OP_Player4CamOp menu_t OP_ChatOptionsDef = DEFAULTMENUSTYLE(MN_NONE, "M_HUD", OP_ChatOptionsMenu, &OP_HUDOptionsDef, 30, 30); menu_t OP_GameOptionsDef = DEFAULTMENUSTYLE(MN_NONE, "M_GAME", OP_GameOptionsMenu, &OP_MainDef, 30, 30); +menu_t OP_BlanKartGameOptionsDef = DEFAULTMENUSTYLE(MN_NONE, "M_GAME", OP_BlanKartGameOptionsMenu, &OP_GameOptionsDef, 30, 30); menu_t OP_ServerOptionsDef = DEFAULTMENUSTYLE(MN_NONE, "M_SERVER", OP_ServerOptionsMenu, &OP_MainDef, 24, 30); menu_t OP_AdvServerOptionsDef = DEFAULTMENUSTYLE(MN_NONE, "M_SERVER", OP_AdvServerOptionsMenu, &OP_ServerOptionsDef, 24, 30); @@ -6449,7 +6459,7 @@ static void M_Options(INT32 choice) OP_DataOptionsMenu[3].status = (Playing()) ? (IT_GRAYEDOUT) : (IT_STRING|IT_SUBMENU); // Erase data #endif - OP_GameOptionsMenu[4].status = + OP_GameOptionsMenu[5].status = (M_SecretUnlocked(SECRET_ENCORE)) ? (IT_CVAR|IT_STRING) : IT_SECRET; // cv_kartencore OP_MainDef.prevMenu = currentMenu; diff --git a/src/p_saveg.c b/src/p_saveg.c index 1b297244b..8a0b4c1a0 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -266,8 +266,6 @@ static void P_NetArchivePlayers(savebuffer_t *save) WRITEINT32(save->p, players[i].aizdrifttilt); WRITEINT32(save->p, players[i].aizdriftturn); - WRITEINT32(save->p, players[i].underwatertilt); - WRITEFIXED(save->p, players[i].offroad); WRITEFIXED(save->p, players[i].tiregrease); WRITEUINT8(save->p, players[i].pogospring); @@ -578,8 +576,6 @@ static void P_NetUnArchivePlayers(savebuffer_t *save) players[i].aizdrifttilt = READINT32(save->p); players[i].aizdriftturn = READINT32(save->p); - players[i].underwatertilt = READINT32(save->p); - players[i].offroad = READFIXED(save->p); players[i].tiregrease = READFIXED(save->p); players[i].pogospring = READUINT8(save->p); diff --git a/src/r_patchrotation.c b/src/r_patchrotation.c index 7ecfe3ee7..5802b56d9 100644 --- a/src/r_patchrotation.c +++ b/src/r_patchrotation.c @@ -31,7 +31,7 @@ angle_t R_GetPitchRollAngle(mobj_t *mobj, player_t *viewPlayer) angle_t sloperolll = mobj->slopepitch; angle_t slopepitch = mobj->sloperoll; - if (!cv_sloperoll.value) + if (!cv_sloperoll.value || (mobj->player && (mobj->player->pogospring > 0))) { sloperolll = 0; slopepitch = 0; @@ -51,11 +51,7 @@ static angle_t R_PlayerSpriteRotation(player_t *player, player_t *viewPlayer) angle_t rollAngle = 0; - if (player->mo->eflags & MFE_UNDERWATER) - { - rollAngle -= player->underwatertilt; - } - else if (sliptideLift) + if (sliptideLift) { /* (from side) tilt downward if turning toward camera, upward if away. */ @@ -64,6 +60,12 @@ static angle_t R_PlayerSpriteRotation(player_t *player, player_t *viewPlayer) FixedMul(sliptideLift, FINECOSINE(angleDelta >> ANGLETOFINESHIFT)); } + if (player->pogospring) + { + rollAngle = 0; + } + + return rollAngle; }