added add_original_track_prefix, swap_original_order, enable_random_cup and keep_original_track option to the ct_config. The last one have bmg issue.

This commit is contained in:
Faraphel 2022-02-01 00:19:50 +01:00
parent a55ed656d9
commit 438e303b3b
4 changed files with 34 additions and 11 deletions

1
.gitignore vendored
View file

@ -9,3 +9,4 @@
/option.json
/scripts/tmp/
/Pack/MKWFaraphel/file/generated/
/Pack/UltraDupraMegaSupraMKW/

View file

@ -13,7 +13,9 @@ class CT_Config:
tags_color: dict = None, prefix_list: list = None, suffix_list: list = None,
tag_retro: str = "Retro", default_track: dict = None, pack_path: str = "",
file_process: dict = None, file_structure: dict = None, default_sort: str = "",
cup: list = None, tracks_list: list = None,
cup: list = None, tracks_list: list = None, add_original_track_prefix: bool = True,
swap_original_order: bool = True, keep_original_track: bool = True,
enable_random_cup: bool = True,
*args, **kwargs):
self.version = version
@ -23,6 +25,11 @@ class CT_Config:
self.region = region
self.cheat_region = cheat_region
self.add_original_track_prefix = add_original_track_prefix
self.swap_original_order = swap_original_order
self.keep_original_track = keep_original_track # display issue, bad bmg.
self.enable_random_cup = enable_random_cup
self.ordered_cups = []
self.unordered_tracks = []
@ -106,12 +113,21 @@ class CT_Config:
"""
with open(directory + "CTFILE.txt", "w", encoding="utf-8") as ctfile, \
open(directory + "RCTFILE.txt", "w", encoding="utf-8") as rctfile:
lecode_flags = []
if self.add_original_track_prefix: lecode_flags.append("N$F_WII")
if self.swap_original_order: lecode_flags.append("N$SWAP")
if not self.keep_original_track: lecode_flags.append("N$NONE")
else: lecode_flags.append("N$SHOW")
header = (
"#CT-CODE\n"
"[RACING-TRACK-LIST]\n"
"%LE-FLAGS=1\n"
"%WIIMM-CUP=1\n"
"N N$SWAP | N$F_WII\n\n"
f"%WIIMM-CUP={int(self.enable_random_cup)}\n"
f"N {' | '.join(lecode_flags)}\n"
"\n"
)
ctfile.write(header); rctfile.write(header)
@ -153,14 +169,20 @@ class CT_Config:
"""
CT_ICON_WIDTH = 128
default_cups = [
"left", "right",
default_cups = ["left", "right"]
"mushroom", "shell", "flower", "banana",
"star", "leaf", "special", "lightning",
"random"
]
if self.keep_original_track:
if self.swap_original_order:
default_cups.extend(
["mushroom", "shell", "flower", "banana",
"star", "leaf", "special", "lightning"]
)
else:
default_cups.extend(
["mushroom", "flower", "star", "special",
"shell", "banana", "leaf", "lightning"]
)
if self.enable_random_cup: default_cups.append("random")
total_cup_count = self.get_cup_count() + len(default_cups) # +10 because left, right, start at 0, 8 normal cup
ct_icon = Image.new("RGBA", (CT_ICON_WIDTH, CT_ICON_WIDTH * (total_cup_count + 2)))

View file

@ -320,6 +320,7 @@ class Game:
track_id = bmgtrack[start_track_id:start_track_id + 2]
track_id = hex((int(track_id[0]) - 1) * 5 + (int(track_id[1]) - 1) + 0x7020)[2:]
if not self.common.ct_config.add_original_track_prefix: prefix = ""
f.write(f" {track_id}\t= {prefix}{track_name}\n")
def patch_bmg(self, gamefile: str) -> None:

View file

@ -33,7 +33,6 @@ def patch(lecode_file: str = f"./file/lecode-PAL.bin",
cmd.extend(["--copy-tracks", path])
for path in move_track_paths:
cmd.extend(["--move-tracks", path])
print(cmd)
subprocess.run(
cmd,