diff --git a/pixi.toml b/pixi.toml index 490a2394..4086833f 100644 --- a/pixi.toml +++ b/pixi.toml @@ -58,4 +58,4 @@ precommit-uninstall = "pre-commit uninstall" robosim = { features = ["robosim"], no-default-feature = true } [target.linux-64.tasks] -main = "setsid python -m main" +main = "python -m main" diff --git a/utama_core/run/strategy_runner.py b/utama_core/run/strategy_runner.py index ae1c761a..f3cc805d 100644 --- a/utama_core/run/strategy_runner.py +++ b/utama_core/run/strategy_runner.py @@ -901,12 +901,18 @@ def _load_game(self): Side effect: Populates game, game_history and current_game_frame on self.my (and self.opp if present). """ - my_mapping = self.yellow_vision_to_cmd_mapping if self.my_team_is_yellow else self.blue_vision_to_cmd_mapping - opp_mapping = ( - (self.blue_vision_to_cmd_mapping if self.my_team_is_yellow else self.yellow_vision_to_cmd_mapping) - if self.opp - else None - ) + if self.mode == Mode.REAL: + my_mapping = ( + self.yellow_vision_to_cmd_mapping if self.my_team_is_yellow else self.blue_vision_to_cmd_mapping + ) + opp_mapping = ( + (self.blue_vision_to_cmd_mapping if self.my_team_is_yellow else self.yellow_vision_to_cmd_mapping) + if self.opp + else {} + ) + else: + my_mapping = None + opp_mapping = None my_current_game_frame, opp_current_game_frame = GameGater.wait_until_game_valid( self.my_team_is_yellow, @@ -918,8 +924,8 @@ def _load_game(self): self.my.position_refiner, is_pvp=self.opp is not None, rsim_env=self.rsim_env, - my_vision_to_cmd_mapping=my_mapping if self.mode == Mode.REAL else None, - opp_vision_to_cmd_mapping=opp_mapping if self.mode == Mode.REAL else None, + my_vision_to_cmd_mapping=my_mapping, + opp_vision_to_cmd_mapping=opp_mapping, ) self.my.position_refiner.start_filtering() @@ -1190,12 +1196,32 @@ def _run_step(self): real = self.mode == Mode.REAL if self.toggle_opp_first: if self.opp: - self._step_game(vision_frames, referee_data, True, real_responses=opp_res if real else None) - self._step_game(vision_frames, referee_data, False, real_responses=friendly_res if real else None) + self._step_game( + vision_frames, + referee_data, + True, + real_responses=opp_res if real else None, + ) + self._step_game( + vision_frames, + referee_data, + False, + real_responses=friendly_res if real else None, + ) else: - self._step_game(vision_frames, referee_data, False, real_responses=friendly_res if real else None) + self._step_game( + vision_frames, + referee_data, + False, + real_responses=friendly_res if real else None, + ) if self.opp: - self._step_game(vision_frames, referee_data, True, real_responses=opp_res if real else None) + self._step_game( + vision_frames, + referee_data, + True, + real_responses=opp_res if real else None, + ) self.toggle_opp_first = not self.toggle_opp_first # --- rate limiting ---