diff --git a/src/game/mario.c b/src/game/mario.c index 490f73c3..7e1d1661 100644 --- a/src/game/mario.c +++ b/src/game/mario.c @@ -534,6 +534,7 @@ void mario_set_bubbled(struct MarioState* m) { gCutsceneTimer = 0; if (m->playerIndex == 0) { + if (m->statusForCamera) { m->statusForCamera->action = m->action; } soft_reset_camera(m->area->camera); } } diff --git a/src/game/mario_actions_automatic.c b/src/game/mario_actions_automatic.c index db4dae18..26ed4699 100644 --- a/src/game/mario_actions_automatic.c +++ b/src/game/mario_actions_automatic.c @@ -1113,6 +1113,7 @@ s32 act_bubbled(struct MarioState* m) { m->marioObj->header.gfx.node.flags &= ~GRAPH_RENDER_INVISIBLE; m->invincTimer = 30 * 3; if (m->playerIndex == 0) { + if (m->statusForCamera) { m->statusForCamera->action = m->action; } soft_reset_camera(m->area->camera); } u8 underWater = (m->pos[1] < ((f32)m->waterLevel)); diff --git a/src/game/mario_actions_cutscene.c b/src/game/mario_actions_cutscene.c index e640a521..38555e3d 100644 --- a/src/game/mario_actions_cutscene.c +++ b/src/game/mario_actions_cutscene.c @@ -753,6 +753,7 @@ void general_star_dance_handler(struct MarioState *m, s32 isInWater) { set_mario_action(m, isInWater ? ACT_WATER_IDLE : (m->pos[1] <= m->floorHeight ? ACT_IDLE : ACT_FREEFALL), 0); } if (gServerSettings.stayInLevelAfterStar) { + if (m->statusForCamera) { m->statusForCamera->action = m->action; } soft_reset_camera(m->area->camera); } }