Various random changes

Menus, rotation and more!
This commit is contained in:
NepDisk 2025-03-13 01:04:51 -04:00
parent 6c9b038438
commit 7ce17d2c6e
4 changed files with 30 additions and 24 deletions

View file

@ -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.

View file

@ -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;

View file

@ -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);

View file

@ -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;
}