diff --git a/src/game/camera.c b/src/game/camera.c index 500da623d..92a949bd9 100644 --- a/src/game/camera.c +++ b/src/game/camera.c @@ -10874,7 +10874,7 @@ void cutscene_palette_editor(struct Camera *c) { if (!pressed && m->action != ACT_TAKING_OFF_CAP && m->action != ACT_PUTTING_ON_CAP) { if (m->flags & MARIO_CAP_ON_HEAD) { if (m->action == ACT_IDLE) { - set_mario_action(m, ACT_TAKING_OFF_CAP, 0); + set_mario_action(m, ACT_TAKING_OFF_CAP, 1); // Add palette editor action arg } else { cutscene_take_cap_off(m); gCamera->paletteEditorCap = true; diff --git a/src/game/mario_actions_cutscene.c b/src/game/mario_actions_cutscene.c index 3d8d9e27a..060b78c00 100644 --- a/src/game/mario_actions_cutscene.c +++ b/src/game/mario_actions_cutscene.c @@ -1882,20 +1882,21 @@ s32 act_putting_on_cap(struct MarioState *m) { } // coop custom action +// actionArg == 1: the action was inited from CUTSCENE_PALETTE_EDITOR s32 act_taking_off_cap(struct MarioState *m) { s16 animFrame = set_character_animation(m, CHAR_ANIM_TAKE_CAP_OFF_THEN_ON); switch (animFrame) { case 0: - if (gCamera->cutscene != CUTSCENE_PALETTE_EDITOR) { + if (m->actionArg != 1) { enable_time_stop_if_alone(); } break; case 12: cutscene_take_cap_off(m); - if (gCamera->cutscene == CUTSCENE_PALETTE_EDITOR) { gCamera->paletteEditorCap = true; } + if (m->actionArg == 1) { gCamera->paletteEditorCap = true; } break; default: - if (animFrame >= 30) { + if (animFrame >= 30 || gCamera->cutscene != CUTSCENE_PALETTE_EDITOR) { set_mario_action(m, ACT_IDLE, 0); disable_time_stop(); }