Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
raphael60650 2021-08-28 18:28:07 +02:00
commit d0f3b201cf
2 changed files with 21 additions and 20 deletions

View file

@ -58,9 +58,9 @@ class NoGui:
def get(self):
return self.value
def progress(self, *args, **kwargs): print(args, kwargs)
def translate(self, *args, **kwargs): return ""
def log_error(self, *args, **kwargs): print(args, kwargs)
def progress(*args, **kwargs): print(args, kwargs)
def translate(*args, **kwargs): return ""
def log_error(*args, **kwargs): print(args, kwargs)
is_dev_version = False
button_install_mod = NoButton()
@ -148,7 +148,9 @@ class Game:
self.region = region_id_to_name[self.region_ID] if self.region_ID in region_id_to_name else self.region
@in_thread
def install_mod(self):
def install_mod(self): self.nothread_install_mod()
def nothread_install_mod(self):
"""
Patch the game to install the mod
"""
@ -348,7 +350,9 @@ class Game:
finalise(f"./file/Common_R{bmglang}.txt", rbmgcommon)
@in_thread
def patch_file(self):
def patch_file(self): self.nothread_patch_file()
def nothread_patch_file(self):
"""
Prepare all files to install the mod (track, bmg text, descriptive image, ...)
"""
@ -373,7 +377,7 @@ class Game:
for file in glob.glob(self.path + "/files/Scene/UI/MenuSingle_?.szs"): self.patch_bmg(file)
# MenuSingle could be any other file, Common and Menu are all the same in all other files.
self.patch_autoadd()
if self.patch_tracks() != 0: return
self.patch_tracks()
self.gui.button_install_mod.grid(row=2, column=1, columnspan=2, sticky="NEWS")
self.gui.button_install_mod.config(
@ -419,11 +423,9 @@ class Game:
new_4_3.paste(img_lang_4_3, (0, 0), img_lang_4_3)
new_4_3.save(dest_dir + f"/strapA_608x456{get_filename(get_nodir(file_lang))}.png")
def patch_tracks(self) -> int:
def patch_tracks(self) -> None:
"""
Download track's wu8 file and convert them to szs
:return: 0 if no error occured
"""
max_process = self.gui.intvar_process_track.get()
thread_list = {}
@ -496,5 +498,3 @@ class Game:
clean_process()
while clean_process() != 1: pass # End the process if all process ended
return 0

View file

@ -108,7 +108,9 @@ class Gui:
self.frame_game_path_action.columnconfigure(1, weight=1)
@in_thread
def use_path():
def use_path(): nothread_use_path()
def nothread_use_path():
self.frame_action.grid_forget()
try:
self.game.set_path(entry_game_path.get())
@ -117,12 +119,16 @@ class Gui:
self.frame_action.grid(row=3, column=1, sticky="NEWS")
except RomAlreadyPatched:
messagebox.showerror(self.translate("Error"), self.translate("This game is already modded"))
raise RomAlreadyPatched
except InvalidGamePath:
messagebox.showerror(self.translate("Error"), self.translate("The file path in invalid"))
raise InvalidGamePath
except InvalidFormat:
messagebox.showerror(self.translate("Error"), self.translate("This game's format is invalid"))
raise InvalidFormat
except:
self.log_error()
raise Exception
finally:
self.progress(show=False)
@ -132,14 +138,9 @@ class Gui:
@in_thread
def do_everything():
use_path().join()
self.game.patch_file().join()
self.game.install_mod().join()
if messagebox.askyesno(self.translate("Experimental functionality"),
self.translate("This will extract the selected ROM, prepare files and install mod. "
"Do you wish to continue ?")):
do_everything()
nothread_use_path()
self.game.nothread_patch_file()
self.game.nothread_install_mod()
self.button_do_everything = Button(self.frame_game_path_action, text=self.translate("Do everything"), relief=RIDGE, command=do_everything)
self.button_do_everything.grid(row=1, column=2, sticky="NEWS")