mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Fix DLZ Ring Sucker effect
- Fix infinite loop caused by not actually using the intended object type - Fix integer multiply of two fixed-scale numbers causing overflow
This commit is contained in:
parent
dbcb39d7ed
commit
756f42bc26
1 changed files with 3 additions and 3 deletions
|
|
@ -90,7 +90,7 @@ void Obj_DLZRingVaccumCollide(mobj_t *mo, mobj_t *mo2)
|
||||||
if (!P_IsObjectOnGround(mo) || mo->momz)
|
if (!P_IsObjectOnGround(mo) || mo->momz)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
fake = P_SpawnMobj(mo->x, mo->y, mo->z, MT_FLINGRING);
|
fake = P_SpawnMobj(mo->x, mo->y, mo->z, MT_DLZ_SUCKEDRING);
|
||||||
P_SetScale(fake, mo->scale);
|
P_SetScale(fake, mo->scale);
|
||||||
fake->scalespeed = mapobjectscale/64;
|
fake->scalespeed = mapobjectscale/64;
|
||||||
fake->destscale = 1;
|
fake->destscale = 1;
|
||||||
|
|
@ -115,8 +115,8 @@ void Obj_DLZSuckedRingThink(mobj_t *mo)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
x = t->x + mo->movefactor*FINECOSINE(mo->angle>>ANGLETOFINESHIFT);
|
x = t->x + FixedMul(mo->movefactor, FINECOSINE(mo->angle>>ANGLETOFINESHIFT));
|
||||||
y = t->y + mo->movefactor*FINESINE(mo->angle>>ANGLETOFINESHIFT);
|
y = t->y + FixedMul(mo->movefactor, FINESINE(mo->angle>>ANGLETOFINESHIFT));
|
||||||
|
|
||||||
P_MoveOrigin(mo, x, y, mo->z);
|
P_MoveOrigin(mo, x, y, mo->z);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue