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)
{
angle_t anglediff;
const INT16 spawnrange = spawner->radius>>FRACBITS;
const INT16 spawnrange = spawner->radius >> FRACBITS;
if (!P_IsObjectOnGround(spawner) || leveltime % 2 != 0)
return;
@ -3612,8 +3612,8 @@ void K_DriftDustHandling(mobj_t *spawner)
if (anglediff > ANG10*4) // Trying to turn further than 40 degrees
{
fixed_t spawnx = P_RandomRange(-spawnrange, spawnrange) * spawner->scale;
fixed_t spawny = P_RandomRange(-spawnrange, spawnrange) * spawner->scale;
fixed_t spawnx = P_RandomRange(-spawnrange, spawnrange) << FRACBITS;
fixed_t spawny = P_RandomRange(-spawnrange, spawnrange) << FRACBITS;
INT32 speedrange = 2;
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);