From 76a903d0ae70916e0bef3d03f8f7f89d6305ca61 Mon Sep 17 00:00:00 2001 From: lachwright Date: Mon, 14 Oct 2019 04:08:07 +0800 Subject: [PATCH] Unfuck glide slide/landing dust's P_RandomRange parameters --- src/p_user.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/p_user.c b/src/p_user.c index ed2b740a4..b40a02fdf 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -7667,7 +7667,8 @@ static void P_SkidStuff(player_t *player) // Spawn a particle every 3 tics. else if (!(player->skidtime % 3)) { - mobj_t *particle = P_SpawnMobjFromMobj(player->mo, P_RandomRange(-player->mo->radius, player->mo->radius), P_RandomRange(-player->mo->radius, player->mo->radius), 0, MT_SPINDUST); + fixed_t radius = player->mo->radius >> FRACBITS; + mobj_t *particle = P_SpawnMobjFromMobj(player->mo, P_RandomRange(-radius, radius) << FRACBITS, P_RandomRange(-radius, radius) << FRACBITS, 0, MT_SPINDUST); particle->tics = 10; particle->destscale = (2*player->mo->scale)/3; @@ -7769,9 +7770,10 @@ static void P_MovePlayer(player_t *player) if (player->charability == CA_GLIDEANDCLIMB && player->mo->state-states == S_PLAY_GLIDE_LANDING) { player->pflags |= PF_STASIS; - if ((player->mo->tics + 1) % 3 == 0 && player->speed > 5*player->mo->scale) + if ((player->mo->tics + 1) % 3 == 0 && player->speed > 5*player->mo->scale) // Copy of the glide-slide dust effect, for consistency { - mobj_t *particle = P_SpawnMobjFromMobj(player->mo, P_RandomRange(-player->mo->radius, player->mo->radius), P_RandomRange(-player->mo->radius, player->mo->radius), 0, MT_SPINDUST); + fixed_t radius = player->mo->radius >> FRACBITS; + mobj_t *particle = P_SpawnMobjFromMobj(player->mo, P_RandomRange(-radius, radius) << FRACBITS, P_RandomRange(-radius, radius) << FRACBITS, 0, MT_SPINDUST); particle->tics = 10; particle->destscale = (2*player->mo->scale)/3;