diff --git a/src/game/behaviors/door.inc.c b/src/game/behaviors/door.inc.c index 3744f149..9622346b 100644 --- a/src/game/behaviors/door.inc.c +++ b/src/game/behaviors/door.inc.c @@ -22,6 +22,12 @@ void door_animation_and_reset(s32 sp18) { u8 door_allow_walk_through(void) { if (gCurrCourseNum != COURSE_NONE && gMarioStates[0].action == ACT_BUBBLED) { return TRUE; } if (o->oAction == 0 || o->oAction > 2) { return FALSE; } + + // special override for BBH's back door, camera gets stuck otherwise + if (gCurrCourseNum == COURSE_BBH && o->oDoorUnkF8 == 28) { + if (gCamera->mode != CAMERA_MODE_NEWCAM) { return FALSE; } + } + s32 cur = o->header.gfx.unk38.animFrame; s32 max = o->header.gfx.unk38.curAnim->unk08 - 2; return (cur >= max / 4 && cur <= 7 * max / 8);