diff --git a/docs/game_specific_info.md b/docs/game_specific_info.md index e05a771..eaa0165 100644 --- a/docs/game_specific_info.md +++ b/docs/game_specific_info.md @@ -283,6 +283,18 @@ crypto: "23_chn": ["0000000000000000000000000000000000000000000000000000000000000000", "00000000000000000000000000000000", "0000000000000000"] ``` +| Option | Info | +|-----------------|------------------------------------------------------| +| `chart_deliver` | This option is used to delivery charts to the client | + +If you would like to use chart delivery, set this option to `True` and configure the directory to read from. Then put charts in your chart folder like this: +``` +chart_folder/23/music001736/001736_00.ma2 +chart_folder/23/music001736/001736_01.ma2 # PRiSM +chart_folder/24/music001901/001901_00.ma2 +chart_folder/24/music001901/001901_01.ma2 # PRiSM PLUS +``` + ## Hatsune Miku Project Diva ### SBZV diff --git a/titles/mai2/prism.py b/titles/mai2/prism.py index d5aae58..dbb00f6 100644 --- a/titles/mai2/prism.py +++ b/titles/mai2/prism.py @@ -34,6 +34,7 @@ class Mai2Prism(Mai2BuddiesPlus): padded_music_id = str(data["musicId"]).zfill(6) padded_level_id = str(data["level"]).zfill(2) + music_folder = f"music{padded_music_id}" if data["type"] == 0: target_filename = f"{padded_music_id}_{padded_level_id}.ma2" @@ -42,11 +43,11 @@ class Mai2Prism(Mai2BuddiesPlus): elif data["type"] == 2: target_filename = f"{padded_music_id}_{padded_level_id}_R.ma2" else: - self.logger.error("Valid MusicScore type!") + self.logger.error("Invalid MusicScore type!") return {"gameMusicScore": {"musicId": data["musicId"], "level": data["level"], "type": data["type"], "scoreData": ""}} - chart_path = os.path.join(self.game_config.charts.chart_folder, target_filename) + chart_path = os.path.join(self.game_config.charts.chart_folder, str(self.version), music_folder, target_filename) if os.path.isfile(chart_path): with open(chart_path, 'rb') as file: file_content = file.read() @@ -60,7 +61,7 @@ class Mai2Prism(Mai2BuddiesPlus): } } else: - self.logger.warning(f"Chart {target_filename} not found!") + self.logger.warning(f"Version {self.version} Chart {target_filename} not found!") return {"gameMusicScore": {"musicId": data["musicId"], "level": data["level"], "type": data["type"], "scoreData": ""}}