Remove tiregrease.

This commit is contained in:
NepDisk 2024-07-29 03:45:38 -04:00
parent 48871a8b68
commit 61e0f4e142
10 changed files with 2 additions and 154 deletions

View file

@ -429,7 +429,6 @@ typedef struct player_s
fixed_t offroad; // In Super Mario Kart, going offroad has lee-way of about 1 second before you start losing speed
UINT8 waterskip; // Water skipping counter
UINT16 tiregrease; // Reduced friction timer after hitting a spring
UINT16 springstars; // Spawn stars around a player when they hit a spring
UINT16 springcolor; // Color of spring stars
UINT8 dashpadcooldown; // Separate the vanilla SA-style dash pads from using flashing

View file

@ -4417,8 +4417,6 @@ const char *const STATE_LIST[] = { // array length left dynamic for sanity testi
"S_DRAFTDUST4",
"S_DRAFTDUST5",
"S_TIREGREASE",
"S_OVERTIME_BULB1",
"S_OVERTIME_BULB2",
"S_OVERTIME_LASER",
@ -5553,7 +5551,6 @@ const char *const MOBJTYPE_LIST[] = { // array length left dynamic for sanity t
"MT_GAINAX",
"MT_DRAFTDUST",
"MT_SPBDUST",
"MT_TIREGREASE",
"MT_OVERTIME_PARTICLE",
"MT_OVERTIME_CENTER",

View file

@ -5003,8 +5003,6 @@ state_t states[NUMSTATES] =
{SPR_DRAF, 3, 1, {NULL}, 0, 0, S_DRAFTDUST5}, // S_DRAFTDUST4
{SPR_DRAF, 4, 1, {NULL}, 0, 0, S_NULL}, // S_DRAFTDUST5
{SPR_GRES, FF_ANIMATE|FF_PAPERSPRITE, -1, {NULL}, 2, 4, S_NULL}, // S_TIREGREASE
{SPR_OTBU, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_NULL}, // S_OVERTIME_BULB1
{SPR_OTBU, FF_FULLBRIGHT|2, 1, {NULL}, 0, 0, S_NULL}, // S_OVERTIME_BULB2
{SPR_OTLS, FF_FULLBRIGHT, 1, {NULL}, 0, 0, S_NULL}, // S_OVERTIME_LASER
@ -28379,33 +28377,6 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
S_NULL // raisestate
},
{ // MT_TIREGREASE
-1, // doomednum
S_TIREGREASE, // spawnstate
1000, // spawnhealth
S_NULL, // seestate
sfx_None, // seesound
8, // reactiontime
sfx_None, // attacksound
S_NULL, // painstate
0, // painchance
sfx_None, // painsound
S_NULL, // meleestate
S_NULL, // missilestate
S_NULL, // deathstate
S_NULL, // xdeathstate
sfx_None, // deathsound
0, // speed
8<<FRACBITS, // radius
16<<FRACBITS, // height
0, // display offset
100, // mass
0, // damage
sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate
},
{ // MT_OVERTIME_PARTICLE
-1, // doomednum
S_NULL, // spawnstate

View file

@ -5426,8 +5426,6 @@ typedef enum state
S_DRAFTDUST4,
S_DRAFTDUST5,
S_TIREGREASE,
S_OVERTIME_BULB1,
S_OVERTIME_BULB2,
S_OVERTIME_LASER,
@ -6580,7 +6578,6 @@ typedef enum mobj_type
MT_GAINAX,
MT_DRAFTDUST,
MT_SPBDUST,
MT_TIREGREASE,
MT_OVERTIME_PARTICLE,
MT_OVERTIME_CENTER,

View file

@ -791,7 +791,7 @@ static UINT8 K_TrySpindash(player_t *player)
const INT32 angleDiff = AngleDelta(player->mo->angle, K_MomentumAngle(player->mo));
if (player->spindashboost || player->tiregrease // You just released a spindash, you don't need to try again yet, jeez.
if (player->spindashboost // You just released a spindash, you don't need to try again yet, jeez.
|| P_PlayerInPain(player) || !P_IsObjectOnGround(player->mo)) // Not in a state where we want 'em to spindash.
{
player->botvars.spindashconfirm = 0;

View file

@ -1592,10 +1592,6 @@ static UINT8 K_CheckOffroadCollide(mobj_t *mo)
I_Assert(mo != NULL);
I_Assert(!P_MobjWasRemoved(mo));
// If tiregrease is active, don't
if (mo->player && mo->player->tiregrease)
return 0;
for (node = mo->touching_sectorlist; node; node = node->m_sectorlist_next)
{
if (!node->m_sector)
@ -2955,7 +2951,7 @@ boolean K_ApplyOffroad(player_t *player)
boolean K_SlopeResistance(player_t *player)
{
if (player->invincibilitytimer || player->sneakertimer || player->tiregrease || player->flamedash)
if (player->invincibilitytimer || player->sneakertimer || player->flamedash)
return true;
return false;
}
@ -2993,7 +2989,6 @@ boolean K_WaterRun(player_t *player)
if (
player->invincibilitytimer ||
player->sneakertimer ||
player->tiregrease ||
player->flamedash ||
player->speed > 2 * K_GetKartSpeed(player, false, true)
)
@ -7391,9 +7386,6 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
if (player->justbumped > 0)
player->justbumped--;
if (player->tiregrease)
player->tiregrease--;
K_UpdateTripwire(player);
K_KartPlayerHUDUpdate(player);
@ -8127,18 +8119,6 @@ static INT16 K_GetKartDriftValue(player_t *player, fixed_t countersteer)
basedrift = (83 * player->drift) - (((driftweight - 14) * player->drift) / 5); // 415 - 303
driftadjust = abs((252 - driftweight) * player->drift / 5);
if (player->tiregrease > 0) // Buff drift-steering while in greasemode
{
basedrift += (basedrift / greasetics) * player->tiregrease;
}
#if 0
if (player->mo->eflags & MFE_UNDERWATER)
{
countersteer = FixedMul(countersteer, 3*FRACUNIT/2);
}
#endif
return basedrift + (FixedMul(driftadjust * FRACUNIT, countersteer) / FRACUNIT);
}
@ -9032,21 +9012,6 @@ static void K_KartSpindash(player_t *player)
P_InstaThrust(player->mo, player->mo->angle, thrust);
}
if (!player->tiregrease)
{
UINT8 i;
for (i = 0; i < 2; i++)
{
mobj_t *grease;
grease = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_TIREGREASE);
P_SetTarget(&grease->target, player->mo);
P_InitAngle(grease, K_MomentumAngle(player->mo));
grease->extravalue1 = i;
}
}
player->tiregrease = 2*TICRATE;
player->spindash = 0;
S_StartSound(player->mo, sfx_s23c);
}
@ -9212,12 +9177,6 @@ void K_AdjustPlayerFriction(player_t *player)
return;
}
// Reduce friction after hitting a spring
if (player->tiregrease)
{
player->mo->friction += ((FRACUNIT - prevfriction) / greasetics) * player->tiregrease;
}
/*
if (K_PlayerEBrake(player) == true)
{

View file

@ -256,8 +256,6 @@ static int player_get(lua_State *L)
lua_pushinteger(L, plr->offroad);
else if (fastcmp(field,"waterskip"))
lua_pushinteger(L, plr->waterskip);
else if (fastcmp(field,"tiregrease"))
lua_pushinteger(L, plr->tiregrease);
else if (fastcmp(field,"springstars"))
lua_pushinteger(L, plr->springstars);
else if (fastcmp(field,"springcolor"))
@ -612,8 +610,6 @@ static int player_set(lua_State *L)
plr->offroad = luaL_checkinteger(L, 3);
else if (fastcmp(field,"waterskip"))
plr->waterskip = luaL_checkinteger(L, 3);
else if (fastcmp(field,"tiregrease"))
plr->tiregrease = luaL_checkinteger(L, 3);
else if (fastcmp(field,"springstars"))
plr->springstars = luaL_checkinteger(L, 3);
else if (fastcmp(field,"springcolor"))

View file

@ -422,25 +422,6 @@ boolean P_DoSpring(mobj_t *spring, mobj_t *object)
object->player->springstars = max(vertispeed, horizspeed) / FRACUNIT / 2;
object->player->springcolor = starcolor;
// Less friction when hitting springs
if (!object->player->tiregrease)
{
UINT8 i;
for (i = 0; i < 2; i++)
{
mobj_t *grease;
grease = P_SpawnMobj(object->x, object->y, object->z, MT_TIREGREASE);
P_SetTarget(&grease->target, object);
P_InitAngle(grease, K_MomentumAngle(object));
grease->extravalue1 = i;
}
}
if (object->player->tiregrease < greasetics)
{
object->player->tiregrease = greasetics;
}
if (spring->type == MT_POGOSPRING)
{
if (spring->reactiontime == 0)

View file

@ -7522,56 +7522,6 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
mobj->angle = mobj->target->angle + ANGLE_45;
}
break;
case MT_TIREGREASE:
if (!mobj->target || P_MobjWasRemoved(mobj->target) || !mobj->target->player
|| !mobj->target->player->tiregrease)
{
P_RemoveMobj(mobj);
return false;
}
K_MatchGenericExtraFlags(mobj, mobj->target);
{
const angle_t off = FixedAngle(40*FRACUNIT);
angle_t ang = K_MomentumAngle(mobj->target);
fixed_t z;
UINT8 trans = (mobj->target->player->tiregrease * (NUMTRANSMAPS+1)) / greasetics;
if (trans > NUMTRANSMAPS)
trans = NUMTRANSMAPS;
trans = NUMTRANSMAPS - trans;
z = mobj->target->z;
if (mobj->eflags & MFE_VERTICALFLIP)
z += mobj->target->height;
if (mobj->extravalue1)
ang = (signed)(ang - off);
else
ang = (signed)(ang + off);
P_MoveOrigin(mobj,
mobj->target->x - FixedMul(mobj->target->radius, FINECOSINE(ang >> ANGLETOFINESHIFT)),
mobj->target->y - FixedMul(mobj->target->radius, FINESINE(ang >> ANGLETOFINESHIFT)),
z);
mobj->angle = ang;
if (!P_IsObjectOnGround(mobj->target))
mobj->renderflags |= RF_DONTDRAW;
if (leveltime & 1)
mobj->renderflags |= RF_DONTDRAW;
if (trans >= NUMTRANSMAPS)
mobj->renderflags |= RF_DONTDRAW;
else if (trans == 0)
mobj->renderflags = (mobj->renderflags & ~RF_TRANSMASK);
else
mobj->renderflags = (mobj->renderflags & ~RF_TRANSMASK)|(trans << RF_TRANSSHIFT);
}
break;
case MT_LIGHTNINGSHIELD:
{
fixed_t destx, desty;

View file

@ -269,7 +269,6 @@ static void P_NetArchivePlayers(void)
WRITEFIXED(save_p, players[i].offroad);
WRITEUINT8(save_p, players[i].waterskip);
WRITEUINT16(save_p, players[i].tiregrease);
WRITEUINT16(save_p, players[i].springstars);
WRITEUINT16(save_p, players[i].springcolor);
WRITEUINT8(save_p, players[i].dashpadcooldown);
@ -552,7 +551,6 @@ static void P_NetUnArchivePlayers(void)
players[i].offroad = READFIXED(save_p);
players[i].waterskip = READUINT8(save_p);
players[i].tiregrease = READUINT16(save_p);
players[i].springstars = READUINT16(save_p);
players[i].springcolor = READUINT16(save_p);
players[i].dashpadcooldown = READUINT8(save_p);