Fix drift spark weirdness in mobjscale maps

This commit is contained in:
Sally Cochenour 2020-03-19 22:52:11 -04:00
parent 48e69f7c91
commit 46049dba40

View file

@ -3573,7 +3573,7 @@ void K_SpawnDraftDust(mobj_t *mo)
void K_DriftDustHandling(mobj_t *spawner) void K_DriftDustHandling(mobj_t *spawner)
{ {
angle_t anglediff; angle_t anglediff;
const INT16 spawnrange = spawner->radius>>FRACBITS; const INT16 spawnrange = spawner->radius >> FRACBITS;
if (!P_IsObjectOnGround(spawner) || leveltime % 2 != 0) if (!P_IsObjectOnGround(spawner) || leveltime % 2 != 0)
return; return;
@ -3612,8 +3612,8 @@ void K_DriftDustHandling(mobj_t *spawner)
if (anglediff > ANG10*4) // Trying to turn further than 40 degrees if (anglediff > ANG10*4) // Trying to turn further than 40 degrees
{ {
fixed_t spawnx = P_RandomRange(-spawnrange, spawnrange) * spawner->scale; fixed_t spawnx = P_RandomRange(-spawnrange, spawnrange) << FRACBITS;
fixed_t spawny = P_RandomRange(-spawnrange, spawnrange) * spawner->scale; fixed_t spawny = P_RandomRange(-spawnrange, spawnrange) << FRACBITS;
INT32 speedrange = 2; INT32 speedrange = 2;
mobj_t *dust = P_SpawnMobj(spawner->x + spawnx, spawner->y + spawny, spawner->z, MT_DRIFTDUST); mobj_t *dust = P_SpawnMobj(spawner->x + spawnx, spawner->y + spawny, spawner->z, MT_DRIFTDUST);
dust->momx = FixedMul(spawner->momx + (P_RandomRange(-speedrange, speedrange) * spawner->scale), 3*(spawner->scale)/4); dust->momx = FixedMul(spawner->momx + (P_RandomRange(-speedrange, speedrange) * spawner->scale), 3*(spawner->scale)/4);