mirror of
https://github.com/Faraphel/Atlas-Install.git
synced 2025-07-06 12:48:22 +02:00
added "track selection" menu allowing you to only install mod for 3, 2 or 1 star track (track from other Mario Kart are not affected)
This commit is contained in:
parent
be9036310b
commit
6d1411e199
5 changed files with 32 additions and 8 deletions
|
@ -22,6 +22,9 @@ def __init__(self):
|
||||||
self.boolvar_dont_check_for_update = BooleanVar(value=self.option["dont_check_for_update"])
|
self.boolvar_dont_check_for_update = BooleanVar(value=self.option["dont_check_for_update"])
|
||||||
self.boolvar_dont_check_track_sha1 = BooleanVar(value=self.option["dont_check_track_sha1"])
|
self.boolvar_dont_check_track_sha1 = BooleanVar(value=self.option["dont_check_track_sha1"])
|
||||||
self.intvar_process_track = IntVar(value=self.option["process_track"])
|
self.intvar_process_track = IntVar(value=self.option["process_track"])
|
||||||
|
self.boolvar_use_1star_track = BooleanVar(value=True)
|
||||||
|
self.boolvar_use_2star_track = BooleanVar(value=True)
|
||||||
|
self.boolvar_use_3star_track = BooleanVar(value=True)
|
||||||
|
|
||||||
self.root.title(self.translate("MKWFaraphel Installer"))
|
self.root.title(self.translate("MKWFaraphel Installer"))
|
||||||
self.root.resizable(False, False)
|
self.root.resizable(False, False)
|
||||||
|
@ -46,6 +49,12 @@ def __init__(self):
|
||||||
self.menu_format.add_radiobutton(label="CISO", variable=self.stringvar_game_format, value="CISO", command=lambda: self.change_option("format", "CISO"))
|
self.menu_format.add_radiobutton(label="CISO", variable=self.stringvar_game_format, value="CISO", command=lambda: self.change_option("format", "CISO"))
|
||||||
self.menu_format.add_radiobutton(label="WBFS", variable=self.stringvar_game_format, value="WBFS", command=lambda: self.change_option("format", "WBFS"))
|
self.menu_format.add_radiobutton(label="WBFS", variable=self.stringvar_game_format, value="WBFS", command=lambda: self.change_option("format", "WBFS"))
|
||||||
|
|
||||||
|
self.menu_trackselection = Menu(self.menu_bar, tearoff=0)
|
||||||
|
self.menu_bar.add_cascade(label=self.translate("Track selection"), menu=self.menu_trackselection)
|
||||||
|
self.menu_trackselection.add_checkbutton(label=self.translate("Select"," 1 ","star"), variable=self.boolvar_use_1star_track)
|
||||||
|
self.menu_trackselection.add_checkbutton(label=self.translate("Select"," 2 ","stars"), variable=self.boolvar_use_2star_track)
|
||||||
|
self.menu_trackselection.add_checkbutton(label=self.translate("Select"," 3 ","stars"), variable=self.boolvar_use_3star_track)
|
||||||
|
|
||||||
self.menu_advanced = Menu(self.menu_bar, tearoff=0)
|
self.menu_advanced = Menu(self.menu_bar, tearoff=0)
|
||||||
self.menu_bar.add_cascade(label=self.translate("Advanced"), menu=self.menu_advanced)
|
self.menu_bar.add_cascade(label=self.translate("Advanced"), menu=self.menu_advanced)
|
||||||
self.menu_advanced.add_checkbutton(label=self.translate("Disable downloads"), variable=self.boolvar_disable_download, command=lambda: self.change_option("disable_download", self.boolvar_disable_download))
|
self.menu_advanced.add_checkbutton(label=self.translate("Disable downloads"), variable=self.boolvar_disable_download, command=lambda: self.change_option("disable_download", self.boolvar_disable_download))
|
||||||
|
|
|
@ -9,7 +9,7 @@ def create_lecode_config(self):
|
||||||
else: warning = ""
|
else: warning = ""
|
||||||
|
|
||||||
if "score" in track:
|
if "score" in track:
|
||||||
if track["score"] > 0:
|
if 0 < track["score"] <= 3:
|
||||||
return "★" * track["score"] + "☆" * (3 - track["score"]) + warning + " "
|
return "★" * track["score"] + "☆" * (3 - track["score"]) + warning + " "
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ def create_lecode_config(self):
|
||||||
|
|
||||||
for cup in ctconfig["cup"]: # defined cup section
|
for cup in ctconfig["cup"]: # defined cup section
|
||||||
_cup_config = ctconfig["cup"][cup]
|
_cup_config = ctconfig["cup"][cup]
|
||||||
if int(cup) >= 9: # Course qui ne sont ni les originales, ni les courses aléatoires.
|
if int(cup) >= 9: # Track that are not original and not random selection
|
||||||
cup = f'\nC "{_cup_config["name"]}"\n'
|
cup = f'\nC "{_cup_config["name"]}"\n'
|
||||||
ctfile.write(cup)
|
ctfile.write(cup)
|
||||||
rctfile.write(cup)
|
rctfile.write(cup)
|
||||||
|
@ -55,7 +55,16 @@ def create_lecode_config(self):
|
||||||
ctfile.write(get_ctfile_text(_course_config, race=False))
|
ctfile.write(get_ctfile_text(_course_config, race=False))
|
||||||
rctfile.write(get_ctfile_text(_course_config, race=True))
|
rctfile.write(get_ctfile_text(_course_config, race=True))
|
||||||
|
|
||||||
for i, _course_config in enumerate(ctconfig["tracks_list"]): # undefined cup section
|
tracks_list = ctconfig["tracks_list"]
|
||||||
|
if not self.boolvar_use_1star_track.get(): # if 1 star track are disabled, remove them
|
||||||
|
tracks_list = list(filter(lambda track: track.get("score") != 1, tracks_list))
|
||||||
|
if not self.boolvar_use_2star_track.get(): # if 2 stars track are disabled, remove them
|
||||||
|
tracks_list = list(filter(lambda track: track.get("score") != 2, tracks_list))
|
||||||
|
if not self.boolvar_use_3star_track.get(): # if 3 stars track are disabled, remove them
|
||||||
|
tracks_list = list(filter(lambda track: track.get("score") != 3, tracks_list))
|
||||||
|
# using dict.get allow track that with no "score" attribute to not raise an exception by returning None
|
||||||
|
|
||||||
|
for i, _course_config in enumerate(tracks_list): # undefined cup section
|
||||||
if i % 4 == 0:
|
if i % 4 == 0:
|
||||||
cup = f'\nC "TL{i//4}"\n'
|
cup = f'\nC "TL{i//4}"\n'
|
||||||
ctfile.write(cup)
|
ctfile.write(cup)
|
||||||
|
@ -65,8 +74,8 @@ def create_lecode_config(self):
|
||||||
rctfile.write(get_ctfile_text(_course_config, race=True))
|
rctfile.write(get_ctfile_text(_course_config, race=True))
|
||||||
|
|
||||||
for _ in range(1, 4-(i%4)): # Complete cup if track are missing
|
for _ in range(1, 4-(i%4)): # Complete cup if track are missing
|
||||||
ctfile.write(f' T T44; T44; 0x00; "_"; ""; "-"\n')
|
ctfile.write(EMPTY_TRACK)
|
||||||
rctfile.write(f' T T44; T44; 0x00; "_"; ""; "-"\n')
|
rctfile.write(EMPTY_TRACK)
|
||||||
|
|
||||||
except:
|
except:
|
||||||
self.log_error()
|
self.log_error()
|
||||||
|
|
|
@ -19,6 +19,8 @@ region_ID = {
|
||||||
"E": "USA"
|
"E": "USA"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EMPTY_TRACK = ' T T44; T44; 0x00; "_"; ""; "-"\n'
|
||||||
|
|
||||||
with open("./translation.json", encoding="utf-8") as f:
|
with open("./translation.json", encoding="utf-8") as f:
|
||||||
translation_dict = json.load(f)
|
translation_dict = json.load(f)
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ def patch_track(self, tracks, total_track="?"):
|
||||||
"./file/Track/%N.szs", "--szs", "--overwrite", "--autoadd-path",
|
"./file/Track/%N.szs", "--szs", "--overwrite", "--autoadd-path",
|
||||||
"./file/auto-add/"], creationflags=CREATE_NO_WINDOW, stderr=subprocess.PIPE)
|
"./file/auto-add/"], creationflags=CREATE_NO_WINDOW, stderr=subprocess.PIPE)
|
||||||
else:
|
else:
|
||||||
messagebox.showerror(self.translate("Erreor"),
|
messagebox.showerror(self.translate("Error"),
|
||||||
self.translate("Can't convert track.\nEnable track download and retry."))
|
self.translate("Can't convert track.\nEnable track download and retry."))
|
||||||
return -1
|
return -1
|
||||||
elif self.boolvar_del_track_after_conv.get(): os.remove(get_track_wu8(track_file))
|
elif self.boolvar_del_track_after_conv.get(): os.remove(get_track_wu8(track_file))
|
||||||
|
|
|
@ -61,7 +61,11 @@
|
||||||
"Can't convert track.\nEnable track download and retry.": "Impossible de convertir la course.\nRéactiver le téléchargement des courses et réessayer.",
|
"Can't convert track.\nEnable track download and retry.": "Impossible de convertir la course.\nRéactiver le téléchargement des courses et réessayer.",
|
||||||
"Too much track had a conversion issue.": "Trop de course ont eu une erreur de conversion.",
|
"Too much track had a conversion issue.": "Trop de course ont eu une erreur de conversion.",
|
||||||
"La course": "The track",
|
"La course": "The track",
|
||||||
"do not have been properly converted.": "n'a pas été correctement converti."
|
"do not have been properly converted.": "n'a pas été correctement converti.",
|
||||||
|
"Track selection": "Sélection de course",
|
||||||
|
"Select": "Sélectionner",
|
||||||
|
"star": "étoile",
|
||||||
|
"stars": "étoiles"
|
||||||
},
|
},
|
||||||
"ge": {
|
"ge": {
|
||||||
"Random: All tracks": "Zufällig: Alle Spuren",
|
"Random: All tracks": "Zufällig: Alle Spuren",
|
||||||
|
|
Loading…
Reference in a new issue