diff --git a/source/Game.py b/source/Game.py index 94f401d..dee983d 100644 --- a/source/Game.py +++ b/source/Game.py @@ -187,9 +187,17 @@ class Game: for ffp in fs[fp][nf]: count_rf(path=f) ### extracted_file = [] - max_step += 4 # PATCH main.dol and PATCH lecode.bin, converting, changing ID - self.gui.progress(show=True, indeter=False, statut=self.gui.translate("Installing mod"), max=max_step, + max_step += 5 # PATCH main.dol and PATCH lecode.bin, converting, changing ID, copying MyStuff Folder + + self.gui.progress(show=True, indeter=False, statut=self.gui.translate("Copying MyStuff"), max=max_step, step=0) + + mystuff_folder = self.gui.stringvar_mystuff_folder.get() + if mystuff_folder and mystuff_folder != "None": + shutil.copytree(mystuff_folder, self.path + "/files/", dirs_exist_ok=True) + + self.gui.progress(show=True, indeter=False, statut=self.gui.translate("Installing mod"), + add=1) def replace_file(path, file, subpath="/") -> None: """ diff --git a/source/Gui.py b/source/Gui.py index 529ca11..76b178c 100644 --- a/source/Gui.py +++ b/source/Gui.py @@ -40,6 +40,7 @@ class Gui: self.stringvar_mark_track_from_version = StringVar(value="None") self.stringvar_sort_track_by = StringVar(value="name") self.boolvar_use_debug_mode = BooleanVar(value=False) + self.stringvar_mystuff_folder = StringVar(value=None) self.root.title(self.translate("MKWFaraphel Installer")) self.root.resizable(False, False) @@ -85,6 +86,16 @@ class Gui: self.menu_advanced.add_checkbutton(label=self.translate("Don't check for update"), variable=self.boolvar_dont_check_for_update, command=lambda: self.option.edit("dont_check_for_update", self.boolvar_dont_check_for_update)) self.menu_advanced.add_checkbutton(label=self.translate("Use debug mode"), variable=self.boolvar_use_debug_mode) + def select_mystuff_folder(index, init=False): + self.stringvar_mystuff_folder.set(None) + if not init: + mystuff_dir = filedialog.askdirectory() + if mystuff_dir: self.stringvar_mystuff_folder.set(mystuff_dir) + self.menu_advanced.entryconfig(index, label=f"Apply MyStuff Folder ({self.stringvar_mystuff_folder.get()!r} selected)") + + self.menu_advanced.add_command(command=lambda index=self.menu_advanced.index("end")+1: select_mystuff_folder(index)) + select_mystuff_folder(self.menu_advanced.index("end"), init=True) + self.menu_advanced.add_separator() self.menu_advanced.add_command(label=self.translate("Number of track conversion process", " :")) self.menu_advanced.add_radiobutton(label=self.translate("1 ", "process"), variable=self.intvar_process_track, value=1, command=lambda: self.option.edit("process_track", 1))