diff --git a/scenes/ai_battle/game.py b/scenes/ai_battle/game.py index c4aace4..40ca7a5 100644 --- a/scenes/ai_battle/game.py +++ b/scenes/ai_battle/game.py @@ -100,21 +100,21 @@ class AIBattleGameScreen(GameScreen): def init_tja(self, song: Path): """Initialize the TJA file""" - self.tja = TJAParser(song, start_delay=self.start_delay) + self.parser = TJAParser(song, start_delay=self.start_delay) self.movie = None session_data = global_data.session_data[global_data.player_num] - session_data.song_title = self.tja.metadata.title.get(global_data.config['general']['language'].lower(), self.tja.metadata.title['en']) - if self.tja.metadata.wave.exists() and self.tja.metadata.wave.is_file() and self.song_music is None: - self.song_music = audio.load_music_stream(self.tja.metadata.wave, 'song') + session_data.song_title = self.parser.metadata.title.get(global_data.config['general']['language'].lower(), self.parser.metadata.title['en']) + if self.parser.metadata.wave.exists() and self.parser.metadata.wave.is_file() and self.song_music is None: + self.song_music = audio.load_music_stream(self.parser.metadata.wave, 'song') - tja_copy = copy.deepcopy(self.tja) - self.player_1 = PlayerNoChara(self.tja, global_data.player_num, session_data.selected_difficulty, False, global_data.modifiers[global_data.player_num]) - self.player_1.gauge = AIGauge(self.player_1.player_num, self.player_1.difficulty, self.tja.metadata.course_data[self.player_1.difficulty].level, self.player_1.total_notes, self.player_1.is_2p) + tja_copy = copy.deepcopy(self.parser) + self.player_1 = PlayerNoChara(self.parser, global_data.player_num, session_data.selected_difficulty, False, global_data.modifiers[global_data.player_num]) + self.player_1.gauge = AIGauge(self.player_1.player_num, self.player_1.difficulty, self.parser.metadata.course_data[self.player_1.difficulty].level, self.player_1.total_notes, self.player_1.is_2p) ai_modifiers = copy.deepcopy(global_data.modifiers[global_data.player_num]) ai_modifiers.auto = True self.player_2 = AIPlayer(tja_copy, PlayerNum.AI, session_data.selected_difficulty, True, ai_modifiers, AIDifficulty.LVL_2) - self.start_ms = (get_current_ms() - self.tja.metadata.offset*1000) - self.precise_start = time.time() - self.tja.metadata.offset + self.start_ms = (get_current_ms() - self.parser.metadata.offset*1000) + self.precise_start = time.time() - self.parser.metadata.offset self.total_notes = len(self.player_1.don_notes) + len(self.player_1.kat_notes) logger.info(f"TJA initialized for two-player song: {song}") @@ -140,7 +140,7 @@ class AIBattleGameScreen(GameScreen): if self.transition.is_finished: self.start_song(self.current_ms) else: - self.start_ms = current_time - self.tja.metadata.offset*1000 + self.start_ms = current_time - self.parser.metadata.offset*1000 self.update_background(current_time) self.update_audio(self.current_ms) diff --git a/scenes/dan/game_dan.py b/scenes/dan/game_dan.py index d443d2e..240ebcd 100644 --- a/scenes/dan/game_dan.py +++ b/scenes/dan/game_dan.py @@ -90,7 +90,7 @@ class DanGameScreen(GameScreen): self.player_1.is_dan = True self.player_1.gauge = DanGauge(global_data.player_num, self.total_notes) self.song_info = SongInfo(song.metadata.title.get(global_data.config["general"]["language"], "en"), genre_index) - self.bpm = self.tja.metadata.bpm + self.bpm = self.parser.metadata.bpm logger.info(f"TJA initialized for song: {song.file_path}") @@ -103,19 +103,19 @@ class DanGameScreen(GameScreen): song, genre_index, difficulty, level = songs[self.song_index] session_data.selected_difficulty = difficulty self.player_1.difficulty = difficulty - self.tja = TJAParser(song.file_path, start_delay=self.start_delay) + self.parser = TJAParser(song.file_path, start_delay=self.start_delay) if self.song_music is not None: audio.unload_music_stream(self.song_music) self.song_music = None self.song_started = False - if self.tja.metadata.wave.exists() and self.tja.metadata.wave.is_file() and self.song_music is None: - self.song_music = audio.load_music_stream(self.tja.metadata.wave, 'song') - self.player_1.parser = self.tja + if self.parser.metadata.wave.exists() and self.parser.metadata.wave.is_file() and self.song_music is None: + self.song_music = audio.load_music_stream(self.parser.metadata.wave, 'song') + self.player_1.parser = self.parser self.player_1.reset_chart() self.dan_transition.start() - self.song_info = SongInfo(self.tja.metadata.title.get(global_data.config["general"]["language"], "en"), genre_index) - self.start_ms = (get_current_ms() - self.tja.metadata.offset*1000) + self.song_info = SongInfo(self.parser.metadata.title.get(global_data.config["general"]["language"], "en"), genre_index) + self.start_ms = (get_current_ms() - self.parser.metadata.offset*1000) def _calculate_dan_info(self): """Calculate all dan info data for drawing""" @@ -205,7 +205,7 @@ class DanGameScreen(GameScreen): if self.transition.is_finished and self.dan_transition.is_finished: self.start_song(self.current_ms) else: - self.start_ms = current_time - self.tja.metadata.offset*1000 + self.start_ms = current_time - self.parser.metadata.offset*1000 self.update_background(current_time) if self.song_music is not None: diff --git a/scenes/practice/game.py b/scenes/practice/game.py index eaa5aff..cf43cb8 100644 --- a/scenes/practice/game.py +++ b/scenes/practice/game.py @@ -46,16 +46,16 @@ class PracticeGameScreen(GameScreen): def init_tja(self, song: Path): """Initialize the TJA file""" - self.tja = TJAParser(song, start_delay=self.start_delay) + self.parser = TJAParser(song, start_delay=self.start_delay) self.scrobbling_tja = TJAParser(song, start_delay=self.start_delay) - global_data.session_data[global_data.player_num].song_title = self.tja.metadata.title.get(global_data.config['general']['language'].lower(), self.tja.metadata.title['en']) - if self.tja.metadata.wave.exists() and self.tja.metadata.wave.is_file() and self.song_music is None: - self.song_music = audio.load_music_stream(self.tja.metadata.wave, 'song') - self.player_1 = PracticePlayer(self.tja, global_data.player_num, global_data.session_data[global_data.player_num].selected_difficulty, False, global_data.modifiers[global_data.player_num]) - notes, branch_m, branch_e, branch_n = self.tja.notes_to_position(self.player_1.difficulty) + global_data.session_data[global_data.player_num].song_title = self.parser.metadata.title.get(global_data.config['general']['language'].lower(), self.parser.metadata.title['en']) + if self.parser.metadata.wave.exists() and self.parser.metadata.wave.is_file() and self.song_music is None: + self.song_music = audio.load_music_stream(self.parser.metadata.wave, 'song') + self.player_1 = PracticePlayer(self.parser, global_data.player_num, global_data.session_data[global_data.player_num].selected_difficulty, False, global_data.modifiers[global_data.player_num]) + notes, branch_m, branch_e, branch_n = self.parser.notes_to_position(self.player_1.difficulty) self.scrobble_timeline = notes.timeline _, self.scrobble_note_list, self.bars = apply_modifiers(notes, self.player_1.modifiers) - self.start_ms = (get_current_ms() - self.tja.metadata.offset*1000) + self.start_ms = (get_current_ms() - self.parser.metadata.offset*1000) self.scrobble_index = 0 self.scrobble_time = self.bars[self.scrobble_index].hit_ms self.scrobble_move = Animation.create_move(200, total_distance=0) @@ -110,7 +110,7 @@ class PracticeGameScreen(GameScreen): self.pause_time = start_time audio.play_music_stream(self.song_music, 'music') - audio.seek_music_stream(self.song_music, (self.pause_time - self.start_delay)/1000 - self.tja.metadata.offset) + audio.seek_music_stream(self.song_music, (self.pause_time - self.start_delay)/1000 - self.parser.metadata.offset) self.song_started = True self.start_ms = get_current_ms() - self.pause_time @@ -156,7 +156,7 @@ class PracticeGameScreen(GameScreen): if self.transition.is_finished: self.start_song(self.current_ms) else: - self.start_ms = current_time - self.tja.metadata.offset*1000 + self.start_ms = current_time - self.parser.metadata.offset*1000 self.update_background(current_time) if self.song_music is not None: diff --git a/scenes/two_player/game.py b/scenes/two_player/game.py index af5e3ae..4a71b4d 100644 --- a/scenes/two_player/game.py +++ b/scenes/two_player/game.py @@ -24,7 +24,7 @@ logger = logging.getLogger(__name__) class TwoPlayerGameScreen(GameScreen): def on_screen_start(self): super().on_screen_start() - scene_preset = self.tja.metadata.scene_preset + scene_preset = self.parser.metadata.scene_preset if self.background is not None: self.background.unload() self.background = Background(PlayerNum.TWO_PLAYER, self.bpm, scene_preset=scene_preset) @@ -83,20 +83,20 @@ class TwoPlayerGameScreen(GameScreen): def init_tja(self, song: Path): """Initialize the TJA file""" - self.tja = TJAParser(song, start_delay=self.start_delay) - if self.tja.metadata.bgmovie != Path() and self.tja.metadata.bgmovie.exists(): - self.movie = VideoPlayer(self.tja.metadata.bgmovie) + self.parser = TJAParser(song, start_delay=self.start_delay) + if self.parser.metadata.bgmovie != Path() and self.parser.metadata.bgmovie.exists(): + self.movie = VideoPlayer(self.parser.metadata.bgmovie) self.movie.set_volume(0.0) else: self.movie = None - global_data.session_data[PlayerNum.P1].song_title = self.tja.metadata.title.get(global_data.config['general']['language'].lower(), self.tja.metadata.title['en']) - if self.tja.metadata.wave.exists() and self.tja.metadata.wave.is_file() and self.song_music is None: - self.song_music = audio.load_music_stream(self.tja.metadata.wave, 'song') + global_data.session_data[PlayerNum.P1].song_title = self.parser.metadata.title.get(global_data.config['general']['language'].lower(), self.parser.metadata.title['en']) + if self.parser.metadata.wave.exists() and self.parser.metadata.wave.is_file() and self.song_music is None: + self.song_music = audio.load_music_stream(self.parser.metadata.wave, 'song') - tja_copy = copy.deepcopy(self.tja) - self.player_1 = Player(self.tja, PlayerNum.P1, global_data.session_data[PlayerNum.P1].selected_difficulty, False, global_data.modifiers[PlayerNum.P1]) + tja_copy = copy.deepcopy(self.parser) + self.player_1 = Player(self.parser, PlayerNum.P1, global_data.session_data[PlayerNum.P1].selected_difficulty, False, global_data.modifiers[PlayerNum.P1]) self.player_2 = Player(tja_copy, PlayerNum.P2, global_data.session_data[PlayerNum.P2].selected_difficulty, True, global_data.modifiers[PlayerNum.P2]) - self.start_ms = (get_current_ms() - self.tja.metadata.offset*1000) + self.start_ms = (get_current_ms() - self.parser.metadata.offset*1000) logger.info(f"TJA initialized for two-player song: {song}") def spawn_ending_anims(self): @@ -122,7 +122,7 @@ class TwoPlayerGameScreen(GameScreen): if self.transition.is_finished: self.start_song(self.current_ms) else: - self.start_ms = current_time - self.tja.metadata.offset*1000 + self.start_ms = current_time - self.parser.metadata.offset*1000 self.update_background(current_time) if self.song_music is not None: