diff --git a/src/game/interaction.c b/src/game/interaction.c index 5b46adde..ee2ae40b 100644 --- a/src/game/interaction.c +++ b/src/game/interaction.c @@ -944,6 +944,7 @@ u32 interact_star_or_key(struct MarioState *m, UNUSED u32 interactType, struct O if (grandStar) { return set_mario_action(m, ACT_JUMBO_STAR_CUTSCENE, 0); } + save_file_do_save(gCurrSaveFileNum - 1, TRUE); if (!noExit || gServerSettings.stayInLevelAfterStar != 2) { return set_mario_action(m, starGrabAction, noExit + 2 * grandStar); diff --git a/src/game/mario_actions_automatic.c b/src/game/mario_actions_automatic.c index 4cb40a77..595f67b6 100644 --- a/src/game/mario_actions_automatic.c +++ b/src/game/mario_actions_automatic.c @@ -1016,6 +1016,8 @@ s32 act_bubbled(struct MarioState* m) { if (m->playerIndex == 0) { if (m->numLives == -1) { m->marioObj->header.gfx.node.flags |= GRAPH_RENDER_INVISIBLE; + level_trigger_warp(m, WARP_OP_DEATH); + return set_mario_action(m, ACT_SOFT_BONK, 0); } else { m->marioObj->header.gfx.node.flags &= ~GRAPH_RENDER_INVISIBLE; }