diff --git a/src/g_demo.cpp b/src/g_demo.cpp index 172309016..0a5bc893f 100644 --- a/src/g_demo.cpp +++ b/src/g_demo.cpp @@ -97,9 +97,6 @@ tic_t demostarttime; // for comparative timing purposes static constexpr DemoBufferSizes get_buffer_sizes(UINT16 version) { - if (version < 0x000A) // old staff ghost support - return {16, 16, 16}; - // These sizes are compatible as of version 0x000A static_assert(MAXPLAYERNAME == 21); static_assert(SKINNAMESIZE == 16); @@ -158,7 +155,7 @@ demoghost *ghosts = NULL; // DEMO RECORDING // -// Also supported: +// Formerly supported: // - 0x0009 (older staff ghosts) // - Player names, skin names and color names were 16 // bytes. See get_buffer_sizes(). @@ -440,15 +437,7 @@ void G_ReadDemoExtraData(void) { case DW_RNG: { - UINT32 num_classes; - if (demo.version <= 0x000D) - { - num_classes = PROLDDEMO; - } - else - { - num_classes = READUINT32(demobuf.p); - } + UINT32 num_classes = READUINT32(demobuf.p); for (i = 0; i < (signed)num_classes; i++) { @@ -1334,15 +1323,7 @@ fadeghost: { INT32 i; - UINT32 num_classes = PROLDDEMO; - if (g->version <= 0x000D) - { - num_classes = PROLDDEMO; - } - else - { - num_classes = READUINT32(g->p); - } + UINT32 num_classes = READUINT32(g->p); for (i = 0; i < (signed)num_classes; i++) { @@ -1540,11 +1521,11 @@ fadeghost: P_SetScale(follow, follow->destscale); P_UnsetThingPosition(follow); - temp = (g->version < 0x000e) ? READINT16(g->p)<<8 : READFIXED(g->p); + temp = READFIXED(g->p); follow->x = g->mo->x + temp; - temp = (g->version < 0x000e) ? READINT16(g->p)<<8 : READFIXED(g->p); + temp = READFIXED(g->p); follow->y = g->mo->y + temp; - temp = (g->version < 0x000e) ? READINT16(g->p)<<8 : READFIXED(g->p); + temp = READFIXED(g->p); follow->z = g->mo->z + temp; P_SetThingPosition(follow); if (followtic & FZT_SKIN) @@ -2314,10 +2295,6 @@ UINT8 G_CmpDemoTime(char *oldname, char *newname) switch(oldversion) // demoversion { case DEMOVERSION: // latest always supported - case 0x0009: // older staff ghosts - case 0x000A: // 2.0, 2.1 - case 0x000B: // 2.2 indev (staff ghosts) - case 0x000C: // 2.2 break; // too old, cannot support. default: @@ -2430,6 +2407,7 @@ void G_LoadDemoInfo(menudemo_t *pdemo, boolean allownonmultiplayer) democharlist_t *skinlist = NULL; UINT16 pdemoversion, count; UINT16 legacystandingplayercount; + UINT32 num_classes; char mapname[MAXMAPLUMPNAME],gtname[MAXGAMETYPELENGTH]; INT32 i; @@ -2466,10 +2444,6 @@ void G_LoadDemoInfo(menudemo_t *pdemo, boolean allownonmultiplayer) switch(pdemoversion) { case DEMOVERSION: // latest always supported - case 0x0009: // older staff ghosts - case 0x000A: // 2.0, 2.1 - case 0x000B: // 2.2 indev (staff ghosts) - case 0x000C: // 2.2 if (P_SaveBufferRemaining(&info) < 64) { goto corrupt; @@ -2552,15 +2526,7 @@ void G_LoadDemoInfo(menudemo_t *pdemo, boolean allownonmultiplayer) } } - UINT32 num_classes; - if (pdemoversion <= 0x000D) - { - num_classes = PROLDDEMO; - } - else - { - num_classes = READUINT32(info.p); - } + num_classes = READUINT32(info.p); for (i = 0; i < (signed)num_classes; i++) { @@ -2743,6 +2709,7 @@ void G_DoPlayDemoEx(const char *defdemoname, lumpnum_t deflumpnum) UINT8 availabilities[MAXPLAYERS][MAXAVAILABILITY]; UINT8 version,subversion; UINT32 randseed[PRNUMSYNCED]; + UINT32 num_classes; char msg[1024]; boolean spectator, bot; @@ -2904,10 +2871,6 @@ void G_DoPlayDemoEx(const char *defdemoname, lumpnum_t deflumpnum) switch(demo.version) { case DEMOVERSION: // latest always supported - case 0x0009: // older staff ghosts - case 0x000A: // 2.0, 2.1 - case 0x000B: // 2.2 indev (staff ghosts) - case 0x000C: // 2.2 break; // too old, cannot support. default: @@ -3045,15 +3008,7 @@ void G_DoPlayDemoEx(const char *defdemoname, lumpnum_t deflumpnum) hu_demolap = READUINT32(demobuf.p); // Random seed - UINT32 num_classes; - if (demo.version <= 0x000D) - { - num_classes = PROLDDEMO; - } - else - { - num_classes = READUINT32(demobuf.p); - } + num_classes = READUINT32(demobuf.p); for (i = 0; i < PRNUMSYNCED; i++) { @@ -3097,10 +3052,7 @@ void G_DoPlayDemoEx(const char *defdemoname, lumpnum_t deflumpnum) grandprixinfo.gamespeed = READUINT8(demobuf.p); grandprixinfo.masterbots = READUINT8(demobuf.p) != 0; grandprixinfo.eventmode = static_cast(READUINT8(demobuf.p)); - if (demo.version >= 0x000D) - { - grandprixinfo.specialDamage = READUINT32(demobuf.p); - } + grandprixinfo.specialDamage = READUINT32(demobuf.p); } // Load unlocks into netUnlocked @@ -3379,6 +3331,7 @@ void G_AddGhost(savebuffer_t *buffer, const char *defdemoname) UINT16 count, ghostversion; skin_t *ghskin = &skins[0]; UINT8 worknumskins; + UINT32 num_classes; democharlist_t *skinlist = NULL; p = buffer->buffer; @@ -3398,10 +3351,6 @@ void G_AddGhost(savebuffer_t *buffer, const char *defdemoname) switch(ghostversion) { case DEMOVERSION: // latest always supported - case 0x0009: // older staff ghosts - case 0x000A: // 2.0, 2.1 - case 0x000B: // 2.2 indev (staff ghosts) - case 0x000C: // 2.2 break; // too old, cannot support. default: @@ -3471,15 +3420,7 @@ void G_AddGhost(savebuffer_t *buffer, const char *defdemoname) if (flags & ATTACKING_LAP) p += 4; - UINT32 num_classes; - if (ghostversion <= 0x000D) - { - num_classes = PROLDDEMO; - } - else - { - num_classes = READUINT32(p); - } + num_classes = READUINT32(p); for (i = 0; i < (signed)num_classes; i++) { @@ -3499,9 +3440,7 @@ void G_AddGhost(savebuffer_t *buffer, const char *defdemoname) if ((flags & DF_GRANDPRIX)) { - p += 3; - if (ghostversion >= 0x000D) - p++; + p += 4; } // Skip unlockables @@ -3652,6 +3591,7 @@ staffbrief_t *G_GetStaffGhostBrief(UINT8 *buffer) UINT8 *p = buffer; UINT16 ghostversion; UINT16 flags; + UINT32 num_classes; INT32 i; staffbrief_t temp = {0}; staffbrief_t *ret = NULL; @@ -3673,10 +3613,6 @@ staffbrief_t *G_GetStaffGhostBrief(UINT8 *buffer) switch(ghostversion) { case DEMOVERSION: // latest always supported - case 0x0009: // older staff ghosts - case 0x000A: // 2.0, 2.1 - case 0x000B: // 2.2 indev (staff ghosts) - case 0x000C: // 2.2 break; // too old, cannot support. @@ -3713,15 +3649,7 @@ staffbrief_t *G_GetStaffGhostBrief(UINT8 *buffer) if (flags & ATTACKING_LAP) temp.lap = READUINT32(p); - UINT32 num_classes; - if (ghostversion <= 0x000D) - { - num_classes = PROLDDEMO; - } - else - { - num_classes = READUINT32(p); - } + num_classes = READUINT32(p); for (i = 0; i < (signed)num_classes; i++) { @@ -3741,9 +3669,7 @@ staffbrief_t *G_GetStaffGhostBrief(UINT8 *buffer) if ((flags & DF_GRANDPRIX)) { - p += 3; - if (ghostversion >= 0x000D) - p++; + p += 4; } // Skip unlockables diff --git a/src/k_kart.c b/src/k_kart.c index 26f365df1..9ee867e08 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3520,7 +3520,6 @@ fixed_t K_GetSpindashChargeSpeed(const player_t *player) fixed_t val = (10*FRACUNIT/277) + (((player->kartspeed + player->kartweight) + 2) * FRACUNIT) / 45; // 2.2 - Improved Spindash - if (!G_CompatLevel(0x000A)) { if (gametyperules & GTR_CIRCUIT) val = 5 * val / 4; @@ -11811,12 +11810,6 @@ static INT16 K_GetKartDriftValue(const player_t *player, fixed_t countersteer) } #endif - // Compat level for 2.0 staff ghosts - if (G_CompatLevel(0x000A)) - { - return basedrift + (FixedMul(driftadjust * FRACUNIT, countersteer) / FRACUNIT); - } - else { return basedrift + FixedMul(driftadjust, countersteer); } @@ -11901,7 +11894,7 @@ INT16 K_GetKartTurnValue(const player_t *player, INT16 turnvalue) } // Staff ghosts - direction-only trickpanel behavior - if (G_CompatLevel(0x000A) || K_PlayerUsesBotMovement(player)) + if (K_PlayerUsesBotMovement(player)) { if (player->trickpanel == TRICKSTATE_READY || player->trickpanel == TRICKSTATE_FORWARD) { @@ -11943,12 +11936,6 @@ INT16 K_GetKartTurnValue(const player_t *player, INT16 turnvalue) } else { - if (G_CompatLevel(0x000A)) - { - // Compat level for 2.0 staff ghosts - p_speed = min(currentSpeed, p_maxspeed * 2); - } - else { // Turning dampens as you go faster, but at extremely high speeds, keeping some control is important. // Dampening is applied in two stages, one harsh and one soft. @@ -11989,19 +11976,6 @@ INT16 K_GetKartTurnValue(const player_t *player, INT16 turnvalue) if (player->drift != 0 && P_IsObjectOnGround(player->mo)) { - if (G_CompatLevel(0x000A)) - { - // Compat level for 2.0 staff ghosts - fixed_t countersteer = FixedDiv(turnfixed, KART_FULLTURN * FRACUNIT); - - if (player->pflags & PF_DRIFTEND) - { - countersteer = FRACUNIT; - } - - return K_GetKartDriftValue(player, countersteer); - } - else { if (player->pflags & PF_DRIFTEND) { @@ -12047,12 +12021,6 @@ INT16 K_GetKartTurnValue(const player_t *player, INT16 turnvalue) { fixed_t sliptide_handle; - if (G_CompatLevel(0x000A)) - { - // Compat level for 2.0 staff ghosts - sliptide_handle = 5 * HANDLESCALING / 4; - } - else { sliptide_handle = 3 * HANDLESCALING / 4; } @@ -12083,7 +12051,7 @@ INT16 K_GetKartTurnValue(const player_t *player, INT16 turnvalue) } // 2.2 - Presteering allowed in trickpanels - if (!G_CompatLevel(0x000A) && !K_PlayerUsesBotMovement(player)) + if (!K_PlayerUsesBotMovement(player)) { if (player->trickpanel == TRICKSTATE_READY || player->trickpanel == TRICKSTATE_FORWARD) { @@ -12286,15 +12254,6 @@ static void K_KartDrift(player_t *player, boolean onground) if (player->trickcharge && dokicker) { - // 2.2 - Egg-friendly trick stuff - if (G_CompatLevel(0x000B)) - { - player->driftboost += 20; - player->wavedashboost += 10; - player->wavedashpower = FRACUNIT; - P_Thrust(player->mo, pushdir, player->speed / 2); - } - else { player->driftboost += TICRATE; player->counterdash += TICRATE/2; @@ -13359,7 +13318,6 @@ static void K_KartSpindash(player_t *player) } // 2.2 - Driftbrake slideoff fastfall prevention - if (!G_CompatLevel(0x000A)) { if (player->drift && onGround && player->cmd.buttons & BT_BRAKE) { @@ -13377,7 +13335,6 @@ static void K_KartSpindash(player_t *player) else { // 2.2 - More responsive ebrake - if (!G_CompatLevel(0x000A)) { if (onGround && player->noEbrakeMagnet == 0 && (FixedHypot(player->mo->momx, player->mo->momy) < 20*player->mo->scale)) { @@ -13486,11 +13443,6 @@ static void K_KartSpindash(player_t *player) // Funky Kong's Ring Racers. // 2.2 - No extended ring debt for recovery spindash - if (G_CompatLevel(0x000A)) - { - P_PlayerRingBurst(player, 1); - } - else { if (player->rings > 0) P_PlayerRingBurst(player, 1); @@ -13611,7 +13563,6 @@ boolean K_FastFallBounce(player_t *player) player->fastfall = 0; // 2.2 - More lenient fastfall - if (!G_CompatLevel(0x000A)) { if (player->curshield != KSHIELD_BUBBLE) { @@ -15323,8 +15274,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) if (player->tricktime <= TRICKDELAY) { // 2.3 - Prevent accidental fastfalls during trickdelay - if (!G_CompatLevel(0x000C)) - player->pflags |= PF_NOFASTFALL; + player->pflags |= PF_NOFASTFALL; player->tricktime++; } @@ -15362,8 +15312,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground) UINT16 buttons = player->cmd.buttons; INT16 TRICKTHRESHOLD = 2*KART_FULLTURN/3; - // 2.3 - aimingcompare - if (!G_CompatLevel(0x000C)) { TRICKTHRESHOLD = KART_FULLTURN/2; INT16 aimingcompare = abs(cmd->throwdir) - abs(cmd->turning); @@ -15372,14 +15320,14 @@ void K_MoveKartPlayer(player_t *player, boolean onground) } // 2.2 - Pre-steering trickpanels - if (!G_CompatLevel(0x000A) && !K_PlayerUsesBotMovement(player)) + if (!K_PlayerUsesBotMovement(player)) { if (!(buttons & BT_ACCELERATE)) { cantrick = false; } // 2.3 - also allow tricking with the Spindash button - else if (!G_CompatLevel(0x000C) && ((buttons & BT_SPINDASHMASK) == BT_SPINDASHMASK)) + else if ((buttons & BT_SPINDASHMASK) == BT_SPINDASHMASK) { player->pflags |= PF_NOFASTFALL; } @@ -15614,7 +15562,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground) } // 2.2 - Lenient trickpanels - if (G_CompatLevel(0x000A) || K_PlayerUsesBotMovement(player)) + if (K_PlayerUsesBotMovement(player)) { // Wait until we let go off the control stick to remove the delay // buttons must be neutral after the initial trick delay. This prevents weirdness where slight nudges after blast off would send you flying. @@ -15625,14 +15573,6 @@ void K_MoveKartPlayer(player_t *player, boolean onground) } else { - if (G_CompatLevel(0x000C)) - { - if ((player->pflags & PF_TRICKDELAY) && !(player->cmd.buttons & BT_ACCELERATE) && (player->tricktime >= TRICKDELAY)) - { - player->pflags &= ~PF_TRICKDELAY; - } - } - else // 2.3 - Spindash to trick { // Ignore pre-existing Accel inputs if not pressing Spindash. Always ignore pre-existing Spindash inputs to prevent accidental tricking. diff --git a/src/p_polyobj.c b/src/p_polyobj.c index b6e15204d..2c819a861 100644 --- a/src/p_polyobj.c +++ b/src/p_polyobj.c @@ -201,7 +201,7 @@ boolean P_BBoxInsidePolyobj(polyobj_t *po, fixed_t *bbox) { if (P_BoxOnLineSide(bbox, po->lines[i]) == 0) return false; - if (g_tm.sweep && !G_CompatLevel(0x000A)) + if (g_tm.sweep) { P_TestLine(po->lines[i]); } diff --git a/src/p_user.c b/src/p_user.c index d542ceaea..583cd34b7 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -1948,10 +1948,7 @@ static void P_3dMovement(player_t *player) totalthrust.x = totalthrust.y = 0; // I forget if this is needed - if (G_CompatLevel(0x000B)) // Ring Racers 2.1 behavior - totalthrust.z = FRACUNIT*P_MobjFlip(player->mo)/3; // A bit of extra push-back on slopes - else - totalthrust.z = FixedMul(mapobjectscale, K_GrowShrinkSpeedMul(player))*P_MobjFlip(player->mo)/3; // A bit of extra push-back on slopes, but scaled for mapobject and player size + totalthrust.z = FixedMul(mapobjectscale, K_GrowShrinkSpeedMul(player))*P_MobjFlip(player->mo)/3; // A bit of extra push-back on slopes, but scaled for mapobject and player size if (K_SlopeResistance(player) == true) {