diff --git a/rust/src/game_manager.rs b/rust/src/game_manager.rs index b967f17..8ef01da 100644 --- a/rust/src/game_manager.rs +++ b/rust/src/game_manager.rs @@ -719,12 +719,15 @@ impl Game { player_id: Option, ) { if let Some(map) = &mut self.current_map { - let ball = map.bind_mut().spawn_ball(transform, velocity, player_id); - if let Some(ball) = &ball { + let mut ball = map.bind_mut().spawn_ball(transform, velocity, player_id); + if let Some(ball) = &mut ball { self.world_ball = Some(ball.clone()); ball.signals() .on_ball_pickup() .connect_other(self, |s, player_id| s.handle_ball_pickup(player_id)); + if self.current_replay_playback.is_some() { + ball.set_visible(false); + } } self.run_deferred(move |_| { if let Some(ball) = ball @@ -861,6 +864,9 @@ impl Game { .spawn_player(id, team, id == self.self_id.unwrap_or(0), None, true); if let Some(character) = &mut character { + if self.current_replay_playback.is_some() { + character.set_visible(false); + } if let Some(player) = self.find_player(id) { character .dyn_bind_mut() @@ -943,6 +949,9 @@ impl Game { true, ); if let Some(character) = &mut character { + if self.current_replay_playback.is_some() { + character.set_visible(false); + } character .dyn_bind_mut() .swap_weapon(player.last_held_weapon, true);