diff --git a/src/engine/surface_collision.c b/src/engine/surface_collision.c index da49d2d6b..24d008a43 100644 --- a/src/engine/surface_collision.c +++ b/src/engine/surface_collision.c @@ -164,6 +164,10 @@ static s32 find_wall_collisions_from_list(struct SurfaceNode *surfaceNode, f32 dist = sqrtf(dX * dX + dZ * dZ); if (dist > radius) { continue; } + if (dist < __FLT_EPSILON__) { + dist = __FLT_EPSILON__; + } + cNorm[0] = dX / dist; cNorm[1] = 0; cNorm[2] = dZ / dist;