diff --git a/src/components/nikumaru.rs b/src/components/nikumaru.rs index 63c9563..bb04cc9 100644 --- a/src/components/nikumaru.rs +++ b/src/components/nikumaru.rs @@ -7,6 +7,7 @@ use crate::framework::error::GameResult; use crate::player::Player; use crate::shared_game_state::{SharedGameState, TimingMode}; +#[derive(Clone, Copy)] pub struct NikumaruCounter { pub tick: usize, pub shown: bool, diff --git a/src/scene/game_scene.rs b/src/scene/game_scene.rs index 9f2370c..7c867be 100644 --- a/src/scene/game_scene.rs +++ b/src/scene/game_scene.rs @@ -1710,7 +1710,6 @@ impl Scene for GameScene { match state.textscript_vm.mode { ScriptMode::Map if state.control_flags.control_enabled() => { - self.nikumaru.draw(state, ctx, &self.frame)?; self.hud_player1.draw(state, ctx, &self.frame)?; self.hud_player2.draw(state, ctx, &self.frame)?; self.boss_life_bar.draw(state, ctx, &self.frame)?; @@ -1774,6 +1773,8 @@ impl Scene for GameScene { } self.fade.draw(state, ctx, &self.frame)?; + self.nikumaru.draw(state, ctx, &self.frame)?; + if state.textscript_vm.mode == ScriptMode::Map && self.map_name_counter > 0 { let map_name = if self.stage.data.name == "u" { state.constants.title.intro_text.chars() diff --git a/src/scripting/tsc/text_script.rs b/src/scripting/tsc/text_script.rs index 766046b..52d3c0d 100644 --- a/src/scripting/tsc/text_script.rs +++ b/src/scripting/tsc/text_script.rs @@ -1063,6 +1063,7 @@ impl TextScriptVM { new_scene.player1.cond.set_interacted(false); new_scene.player2.cond.set_interacted(false); new_scene.frame.wait = game_scene.frame.wait; + new_scene.nikumaru = game_scene.nikumaru; let skip = state.textscript_vm.flags.cutscene_skip(); state.control_flags.set_tick_world(true);