diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonLanguageMenu.d.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonLanguageMenu.d.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonLanguageMenu.d/message/Common.bmg.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/blyt/cup_icon_64x64_common.brlyt b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/blyt/cup_icon_64x64_common.brlyt similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/blyt/cup_icon_64x64_common.brlyt rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/blyt/cup_icon_64x64_common.brlyt diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/blyt/cup_icon_64x64_common.brlyt.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/blyt/cup_icon_64x64_common.brlyt.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/blyt/cup_icon_64x64_common.brlyt.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/blyt/cup_icon_64x64_common.brlyt.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/ctrl/Back.brctr b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/ctrl/Back.brctr similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/ctrl/Back.brctr rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/ctrl/Back.brctr diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/ctrl/Back.brctr.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/ctrl/Back.brctr.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/ctrl/Back.brctr.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/ctrl/Back.brctr.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/ctrl/CupSelectCup.brctr b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/ctrl/CupSelectCup.brctr similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/ctrl/CupSelectCup.brctr rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/ctrl/CupSelectCup.brctr diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/ctrl/CupSelectCup.brctr.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/ctrl/CupSelectCup.brctr.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/ctrl/CupSelectCup.brctr.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/ctrl/CupSelectCup.brctr.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/timg/ct_icons.tpl.png b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/timg/ct_icons.tpl.png similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/timg/ct_icons.tpl.png rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/timg/ct_icons.tpl.png diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/timg/ct_icons.tpl.png.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/timg/ct_icons.tpl.png.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/button/timg/ct_icons.tpl.png.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/button/timg/ct_icons.tpl.png.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/blyt/cup_icon_64x64_common.brlyt b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/blyt/cup_icon_64x64_common.brlyt similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/blyt/cup_icon_64x64_common.brlyt rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/blyt/cup_icon_64x64_common.brlyt diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/blyt/cup_icon_64x64_common.brlyt.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/blyt/cup_icon_64x64_common.brlyt.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/blyt/cup_icon_64x64_common.brlyt.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/blyt/cup_icon_64x64_common.brlyt.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/ctrl/CourseSelectCup.brctr b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/ctrl/CourseSelectCup.brctr similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/ctrl/CourseSelectCup.brctr rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/ctrl/CourseSelectCup.brctr diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/ctrl/CourseSelectCup.brctr.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/ctrl/CourseSelectCup.brctr.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/ctrl/CourseSelectCup.brctr.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/ctrl/CourseSelectCup.brctr.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/timg/ct_icons.tpl.png b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/timg/ct_icons.tpl.png similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/timg/ct_icons.tpl.png rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/timg/ct_icons.tpl.png diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/timg/ct_icons.tpl.png.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/timg/ct_icons.tpl.png.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/control/timg/ct_icons.tpl.png.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/control/timg/ct_icons.tpl.png.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/demo/blyt/course_name.brlyt b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/demo/blyt/course_name.brlyt similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/demo/blyt/course_name.brlyt rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/demo/blyt/course_name.brlyt diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/demo/blyt/course_name.brlyt.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/demo/blyt/course_name.brlyt.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/demo/blyt/course_name.brlyt.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/demo/blyt/course_name.brlyt.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/demo/timg/tt_hatena_64x64.tpl.png b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/demo/timg/tt_hatena_64x64.tpl.png similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/demo/timg/tt_hatena_64x64.tpl.png rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/demo/timg/tt_hatena_64x64.tpl.png diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/demo/timg/tt_hatena_64x64.tpl.png.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/demo/timg/tt_hatena_64x64.tpl.png.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/CommonMenu.d/demo/timg/tt_hatena_64x64.tpl.png.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/CommonMenu.d/demo/timg/tt_hatena_64x64.tpl.png.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/MultiplayerLanguage.d.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/MultiplayerLanguage.d.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/MultiplayerLanguage.d/message/Common.bmg.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/RaceLanguage.d.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/RaceLanguage.d.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/RaceLanguage.d.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/RaceLanguage.d.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/RaceLanguage.d/message/Common.bmg b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/RaceLanguage.d/message/Common.bmg similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/RaceLanguage.d/message/Common.bmg rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/RaceLanguage.d/message/Common.bmg diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/RaceLanguage.d/message/Common.bmg.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/RaceLanguage.d/message/Common.bmg.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/Scene/UI/RaceLanguage.d/message/Common.bmg.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/Scene/UI/RaceLanguage.d/message/Common.bmg.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/StaticR.rel b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/StaticR.rel similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/StaticR.rel rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/StaticR.rel diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/StaticR.rel.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/StaticR.rel.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/StaticR.rel.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/StaticR.rel.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-JAP.bin b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-JAP.bin similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-JAP.bin rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-JAP.bin diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-JAP.bin.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-JAP.bin.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-JAP.bin.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-JAP.bin.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-KOR.bin b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-KOR.bin similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-KOR.bin rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-KOR.bin diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-KOR.bin.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-KOR.bin.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-KOR.bin.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-KOR.bin.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-PAL.bin b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-PAL.bin similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-PAL.bin rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-PAL.bin diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-PAL.bin.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-PAL.bin.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-PAL.bin.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-PAL.bin.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-USA.bin b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-USA.bin similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-USA.bin rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-USA.bin diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-USA.bin.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-USA.bin.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/rel/lecode-USA.bin.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/rel/lecode-USA.bin.json diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/thp/video.thp b/Pack/MKWFaraphel/essentials/_PREPATCH/files/thp/video.thp similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/thp/video.thp rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/thp/video.thp diff --git a/Pack/MKWFaraphel/essentials/_PATCH/files/thp/video.thp.json b/Pack/MKWFaraphel/essentials/_PREPATCH/files/thp/video.thp.json similarity index 100% rename from Pack/MKWFaraphel/essentials/_PATCH/files/thp/video.thp.json rename to Pack/MKWFaraphel/essentials/_PREPATCH/files/thp/video.thp.json diff --git a/source/mkw/ExtractedGame.py b/source/mkw/ExtractedGame.py index fd01022..9dd6d7b 100644 --- a/source/mkw/ExtractedGame.py +++ b/source/mkw/ExtractedGame.py @@ -139,21 +139,34 @@ class ExtractedGame: copy_tracks_directories=[ogtracks_directory, cttracks_directory] ) + def _install_all_patch(self, mod_config: ModConfig, patch_directory_name: str) -> Generator[dict, None, None]: + """ + for all directory that are in the root of the mod, and don't start with an underscore, + for all the subdirectory named by the patch_directory_name, apply the patch + :param mod_config: the mod to install + """ + yield {} # yield an empty dict so that if nothing is yielded by the Patch, still is considered a generator + for part_directory in mod_config.get_mod_directory().glob("[!_]*"): + for patch_directory in part_directory.glob(patch_directory_name): + yield from Patch(patch_directory, mod_config, self._special_file).install(self) + + def install_all_prepatch(self, mod_config: ModConfig) -> Generator[dict, None, None]: + """ + Install all patchs of the mod_config into the game. + Used before the lecode patch is applied + :param mod_config: the mod to install + """ + yield {"description": "Installing all Pre-Patch...", "determinate": False} + yield from self._install_all_patch(mod_config, "_PREPATCH/") + def install_all_patch(self, mod_config: ModConfig) -> Generator[dict, None, None]: """ - Install all patchs of the mod_config into the game + Install all patchs of the mod_config into the game. + Used after the lecode patch is applied :param mod_config: the mod to install """ yield {"description": "Installing all Patch...", "determinate": False} - - # prepare special files data - yield from self.prepare_special_file(mod_config) - - # for all directory that are in the root of the mod, and don't start with an underscore, - # for all the subdirectory named "_PATCH", apply the patch - for part_directory in mod_config.get_mod_directory().glob("[!_]*"): - for patch_directory in part_directory.glob("_PATCH/"): - yield from Patch(patch_directory, mod_config, self._special_file).install(self) + yield from self._install_all_patch(mod_config, "_PATCH/") def convert_to(self, output_type: wit.Extension) -> Generator[dict, None, wit.WITPath | None]: """ diff --git a/source/mkw/Game.py b/source/mkw/Game.py index 3a888d7..4df4808 100644 --- a/source/mkw/Game.py +++ b/source/mkw/Game.py @@ -137,14 +137,16 @@ class Game: # patch the game yield from extracted_game.prepare_dol() - yield from extracted_game.install_all_patch(mod_config) - yield from extracted_game.recreate_all_szs() + yield from extracted_game.prepare_special_file(mod_config) + yield from extracted_game.install_all_prepatch(mod_config) yield from extracted_game.patch_lecode( mod_config, cache_directory, cache_cttracks_directory, cache_ogtracks_directory, ) + yield from extracted_game.install_all_patch(mod_config) + yield from extracted_game.recreate_all_szs() # convert the extracted game into a file converted_game: WITPath = yield from extracted_game.convert_to(output_type)