From 9be607e6e2a85ec009b9440faa6350e9f8f6e29e Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Wed, 7 Jun 2023 00:51:06 -0700 Subject: [PATCH] Make SPB respond to player physics scale --- src/objects/spb.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/objects/spb.c b/src/objects/spb.c index 722fc4eee..fb000c12f 100644 --- a/src/objects/spb.c +++ b/src/objects/spb.c @@ -678,6 +678,12 @@ static void SPBChase(mobj_t *spb, mobj_t *bestMobj) UINT8 spark = ((10 - chasePlayer->kartspeed) + chasePlayer->kartweight) / 2; fixed_t easiness = ((chasePlayer->kartspeed + (10 - spark)) << FRACBITS) / 2; + fixed_t scaleAdjust = FRACUNIT; + if (chase->scale > mapobjectscale) + scaleAdjust = GROW_PHYSICS_SCALE; + if (chase->scale < mapobjectscale) + scaleAdjust = SHRINK_PHYSICS_SCALE; + spb_lastplayer(spb) = chasePlayer - players; // Save the player num for death scumming... spbplace = chasePlayer->position; @@ -693,7 +699,7 @@ static void SPBChase(mobj_t *spb, mobj_t *bestMobj) // 7/8ths max speed for Knuckles, 3/4ths max speed for min accel, exactly max speed for max accel baseSpeed = FixedMul( ((fracmax+1) << FRACBITS) - easiness, - K_GetKartSpeed(chasePlayer, false, false) + FixedMul(K_GetKartSpeed(chasePlayer, false, false), scaleAdjust) ) / fracmax; }