From aff9a78d761a82846cc696251b9a5438af58ba29 Mon Sep 17 00:00:00 2001 From: Sryder Date: Mon, 6 Mar 2017 02:38:35 +0000 Subject: [PATCH] Remove kart offroad variable and workings. We can set a standard for friction sectors in maps and people can then do what they want with it. Also caused problems with Ice and FOFs above friction sectors. --- src/d_player.h | 1 - src/g_game.c | 3 --- src/k_kart.c | 50 -------------------------------------------------- 3 files changed, 54 deletions(-) diff --git a/src/d_player.h b/src/d_player.h index 0c98c3a7..e4b1cbb9 100644 --- a/src/d_player.h +++ b/src/d_player.h @@ -261,7 +261,6 @@ typedef enum k_boostcharge, // Charge-up for boosting at the start of the race, or when Lakitu drops you k_jmp, // In Mario Kart, letting go of the jump button stops the drift k_lakitu, // > 0 = Lakitu fishing, < 0 = Lakitu lap counter (was "player->airtime") // NOTE: Check for ->lakitu, replace with this - k_offroad, // In Super Mario Kart, going offroad has lee-way of about 1 second before you start losing speed k_itemroulette, // Used for the roulette when deciding what item to give you (was "pw_kartitem") k_itemclose, // Used to animate the item window closing (was "pw_psychic") diff --git a/src/g_game.c b/src/g_game.c index 6a40e42b..d3ab7e50 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -2190,7 +2190,6 @@ void G_PlayerReborn(INT32 player) INT32 playerahead; INT32 starpostwp; INT32 lakitu; - INT32 offroad; score = players[player].score; lives = players[player].lives; @@ -2247,7 +2246,6 @@ void G_PlayerReborn(INT32 player) playerahead = players[player].kartstuff[k_playerahead]; starpostwp = players[player].kartstuff[k_starpostwp]; lakitu = players[player].kartstuff[k_lakitu]; - offroad = players[player].kartstuff[k_offroad]; p = &players[player]; memset(p, 0, sizeof (*p)); @@ -2305,7 +2303,6 @@ void G_PlayerReborn(INT32 player) p->kartstuff[k_playerahead] = playerahead; p->kartstuff[k_starpostwp] = starpostwp; p->kartstuff[k_lakitu] = lakitu; - p->kartstuff[k_offroad] = offroad; // Don't do anything immediately p->pflags |= PF_USEDOWN; diff --git a/src/k_kart.c b/src/k_kart.c index 430c5739..78c38258 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -872,49 +872,6 @@ static void K_KartItemRoulette(player_t *player, ticcmd_t *cmd) S_StartSound(NULL, sfx_mkitmF); } -//} - -//{ SRB2kart p_user.c Stuff - -/** \brief Updates the Player's offroad value once per frame - - \param player player object passed from K_KartPlayerThink - - \return void -*/ -static void K_UpdateOffroad(player_t *player) -{ - fixed_t kartweight = player->kartweight; - fixed_t offroad; - sector_t *nextsector = R_PointInSubsector( - player->mo->x + player->mo->momx*2, player->mo->y + player->mo->momy*2)->sector; - - // If you are offroad, a timer starts. Depending on your weight value, the timer increments differently. - if ((nextsector->special & 256) && nextsector->special != 768 && nextsector->special != 1024 && nextsector->special != 4864) - { - if (P_IsObjectOnGround(player->mo) && player->kartstuff[k_offroad] == 0) - player->kartstuff[k_offroad] = 16; - if (player->kartstuff[k_offroad] > 0) - { - if (kartweight < 1) { kartweight = 1; } if (kartweight > 9) { kartweight = 9; } // Safety Net - - // 1872 is the magic number - 35 frames adds up to approximately 65536. 1872/4 = 468/3 = 156 - // A higher kart weight means you can stay offroad for longer without losing speed - offroad = (1872 + 5*156 - kartweight*156); - - if (player->kartstuff[k_growshrinktimer] > 1) // megashroom slows down half as fast - offroad /= 2; - - player->kartstuff[k_offroad] += offroad; - } - - if (player->kartstuff[k_offroad] > FRACUNIT) - player->kartstuff[k_offroad] = FRACUNIT; - } - else - player->kartstuff[k_offroad] = 0; -} - /** \brief Decreases various kart timers and powers per frame. Called in P_PlayerThink in p_user.c \param player player object passed from P_PlayerThink @@ -924,8 +881,6 @@ static void K_UpdateOffroad(player_t *player) */ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd) { - K_UpdateOffroad(player); - // This spawns the drift sparks when k_driftcharge hits 26 + player->kartspeed. Its own AI handles life/death and color if ((player->kartstuff[k_drift] >= 1 || player->kartstuff[k_drift] <= -1) && player->kartstuff[k_driftcharge] == (26 + player->kartspeed)) @@ -1056,11 +1011,6 @@ static fixed_t K_GetKartBoostPower(player_t *player, boolean speedonly) fixed_t boostvalue = 0; fixed_t numboosts = 0; - // Offroad is separate, it's difficult to factor it in with a variable value anyway. - if (!(player->kartstuff[k_startimer] || player->kartstuff[k_bootaketimer] || player->kartstuff[k_mushroomtimer]) - && player->kartstuff[k_offroad] >= 0 && speedonly) - boostpower = FixedDiv(boostpower, player->kartstuff[k_offroad] + FRACUNIT); - if (player->kartstuff[k_growshrinktimer] < -1 && speedonly) { // Shrink boostvalue += 16; // This is basically speed x2 due to friction and being smaller. Really translates to about 80%.