Fix teleporting on poles

This commit is contained in:
Arceveti
2021-09-29 21:25:36 -07:00
parent 4fe6b323e7
commit b8804bba87

View File

@@ -1852,13 +1852,12 @@ void spawn_mist_particles_with_sound(u32 soundMagic) {
}
void cur_obj_push_mario_away(f32 radius) {
f32 marioRelX = gMarioObject->oPosX - o->oPosX;
f32 marioRelZ = gMarioObject->oPosZ - o->oPosZ;
f32 marioRelX = (gMarioObject->oPosX - o->oPosX);
f32 marioRelZ = (gMarioObject->oPosZ - o->oPosZ);
f32 marioDist = (sqr(marioRelX) + sqr(marioRelZ));
if (marioDist < sqr(radius)) {
//! If this function pushes Mario out of bounds, it will trigger Mario's
// oob failsafe
marioDist = sqrtf(marioDist);
//! If this function pushes Mario out of bounds, it will trigger Mario's oob failsafe
gMarioStates[0].pos[0] += (radius - marioDist) / radius * marioRelX;
gMarioStates[0].pos[2] += (radius - marioDist) / radius * marioRelZ;
}