From ce0605bf252be75e511b87a39bfe98770e086069 Mon Sep 17 00:00:00 2001 From: NepDisk <16447892+NepDisk@users.noreply.github.com> Date: Wed, 4 Sep 2024 04:15:15 -0400 Subject: [PATCH] Use v1 driftsparks code --- src/k_kart.c | 83 ++++++++++++++++------------------------------------ 1 file changed, 26 insertions(+), 57 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 27e0483c7..7b68f60fa 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -3789,7 +3789,6 @@ UINT16 K_DriftSparkColor(player_t *player, INT32 charge) static void K_SpawnDriftSparks(player_t *player) { - INT32 ds = K_GetKartDriftSparkValue(player); fixed_t newx; fixed_t newy; mobj_t *spark; @@ -3803,23 +3802,20 @@ static void K_SpawnDriftSparks(player_t *player) if (leveltime % 2 == 1) return; - if (!player->drift - || (player->driftcharge < ds && !(player->driftcharge < 0))) + if (!player->drift || player->driftcharge < K_GetKartDriftSparkValue(player)) return; travelangle = player->mo->angle-(ANGLE_45/5)*player->drift; for (i = 0; i < 2; i++) { - SINT8 size = 1; - UINT8 trail = 0; - newx = player->mo->x + P_ReturnThrustX(player->mo, travelangle + ((i&1) ? -1 : 1)*ANGLE_135, FixedMul(32*FRACUNIT, player->mo->scale)); newy = player->mo->y + P_ReturnThrustY(player->mo, travelangle + ((i&1) ? -1 : 1)*ANGLE_135, FixedMul(32*FRACUNIT, player->mo->scale)); spark = P_SpawnMobj(newx, newy, player->mo->z, MT_DRIFTSPARK); P_SetTarget(&spark->target, player->mo); - spark->angle = travelangle-((ANGLE_45/5)*player->drift); + spark->angle = travelangle-(ANGLE_45/5)*player->drift; + spark->destscale = player->mo->scale; P_SetScale(spark, player->mo->scale); @@ -3827,47 +3823,38 @@ static void K_SpawnDriftSparks(player_t *player) spark->momy = player->mo->momy/2; //spark->momz = player->mo->momz/2; - spark->color = K_DriftSparkColor(player, player->driftcharge); - - if (player->driftcharge < 0) + if (player->driftcharge >= K_GetKartDriftSparkValue(player)*4) { - // Stage 0: Grey - size = 0; - } - else if (player->driftcharge >= ds*4) - { - // Stage 3: Rainbow - size = 2; - trail = 2; - - if (player->driftcharge <= (ds*4)+(32*3)) + spark->color = (UINT8)(1 + (leveltime % (MAXSKINCOLORS-1))); + + + if (player->driftcharge <= K_GetKartDriftSparkValue(player)*4+(32*3)) { // transition P_SetScale(spark, (spark->destscale = spark->scale*3/2)); } + + } + else if (player->driftcharge >= K_GetKartDriftSparkValue(player)*2) + { + if (player->driftcharge <= (K_GetKartDriftSparkValue(player)*2)+(24*3)) + spark->color = SKINCOLOR_RASPBERRY; // transition else - { - spark->colorized = true; - } - } - else if (player->driftcharge >= ds*2) - { - // Stage 2: Blue - size = 2; - trail = 1; - - if (player->driftcharge <= (ds*2)+(32*3)) + spark->color = SKINCOLOR_KETCHUP; + + if (player->driftcharge <= K_GetKartDriftSparkValue(player)*2+(32*3)) { // transition P_SetScale(spark, (spark->destscale = spark->scale*3/2)); } + } else { - // Stage 1: Red - size = 1; - - if (player->driftcharge <= (ds)+(32*3)) + spark->color = SKINCOLOR_SAPPHIRE; + + + if (player->driftcharge <= K_GetKartDriftSparkValue(player)+(32*3)) { // transition P_SetScale(spark, (spark->destscale = spark->scale*2)); @@ -3879,40 +3866,22 @@ static void K_SpawnDriftSparks(player_t *player) { if ((player->drift < 0 && (i & 1)) || (player->drift > 0 && !(i & 1))) - { - size++; - } + P_SetMobjState(spark, S_DRIFTSPARK_A1); else if ((player->drift < 0 && !(i & 1)) || (player->drift > 0 && (i & 1))) - { - size--; - } + P_SetMobjState(spark, S_DRIFTSPARK_C1); } else if ((player->drift > 0 && player->cmd.turning < 0) // Outward drifts || (player->drift < 0 && player->cmd.turning > 0)) { if ((player->drift < 0 && (i & 1)) || (player->drift > 0 && !(i & 1))) - { - size--; - } + P_SetMobjState(spark, S_DRIFTSPARK_C1); else if ((player->drift < 0 && !(i & 1)) || (player->drift > 0 && (i & 1))) - { - size++; - } + P_SetMobjState(spark, S_DRIFTSPARK_A1); } - if (size == 2) - P_SetMobjState(spark, S_DRIFTSPARK_A1); - else if (size < 1) - P_SetMobjState(spark, S_DRIFTSPARK_C1); - else if (size > 2) - P_SetMobjState(spark, S_DRIFTSPARK_D1); - - if (trail > 0) - spark->tics += trail; - K_MatchGenericExtraFlags(spark, player->mo); } }