diff --git a/src/engine/surface_collision.c b/src/engine/surface_collision.c index b298f752d..209d8f668 100644 --- a/src/engine/surface_collision.c +++ b/src/engine/surface_collision.c @@ -130,12 +130,15 @@ static s32 find_wall_collisions_from_list(struct SurfaceNode *surfaceNode, } // If Mario has a vanish cap, pass through the vanish cap wall. + u8 passThroughWall = FALSE; for (int i = 0; i < MAX_PLAYERS; i++) { if (gCurrentObject != NULL && gCurrentObject == gMarioStates[i].marioObj && (gMarioStates[i].flags & MARIO_VANISH_CAP)) { + passThroughWall = TRUE; continue; } } + if (passThroughWall) { continue; } } }