mirror of https://github.com/pmret/papermario.git
parent
30aa49d4a8
commit
884140f419
|
@ -33,13 +33,13 @@ def parse_palette(data):
|
||||||
|
|
||||||
def add_file_ext(name: str) -> str:
|
def add_file_ext(name: str) -> str:
|
||||||
if name.startswith("party_"):
|
if name.startswith("party_"):
|
||||||
return name + ".png"
|
return "party/" + name + ".png"
|
||||||
elif name.endswith("_hit") or name.endswith("_shape"):
|
elif name.endswith("_hit") or name.endswith("_shape"):
|
||||||
return name + ".bin" # TODO: xml
|
return "geom/" + name + ".bin" # TODO: xml
|
||||||
elif name.endswith("_tex"):
|
elif name.endswith("_tex"):
|
||||||
return name + ".bin" # TODO: texture archive
|
return "tex/" + name + ".bin" # TODO: texture archive
|
||||||
elif name.endswith("_bg"):
|
elif name.endswith("_bg"):
|
||||||
return name + ".png"
|
return "bg/" + name + ".png"
|
||||||
else:
|
else:
|
||||||
return name + ".bin"
|
return name + ".bin"
|
||||||
|
|
||||||
|
@ -71,6 +71,10 @@ class N64SegPm_map_data(N64Segment):
|
||||||
def split(self, rom_bytes):
|
def split(self, rom_bytes):
|
||||||
fs_dir = options.opts.asset_path / self.dir / self.name
|
fs_dir = options.opts.asset_path / self.dir / self.name
|
||||||
(fs_dir / "title").mkdir(parents=True, exist_ok=True)
|
(fs_dir / "title").mkdir(parents=True, exist_ok=True)
|
||||||
|
(fs_dir / "party").mkdir(parents=True, exist_ok=True)
|
||||||
|
(fs_dir / "bg").mkdir(parents=True, exist_ok=True)
|
||||||
|
(fs_dir / "tex").mkdir(parents=True, exist_ok=True)
|
||||||
|
(fs_dir / "geom").mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
data = rom_bytes[self.rom_start : self.rom_end]
|
data = rom_bytes[self.rom_start : self.rom_end]
|
||||||
|
|
||||||
|
@ -176,11 +180,11 @@ class N64SegPm_map_data(N64Segment):
|
||||||
)
|
)
|
||||||
w.write_array(f, bytes[raster_offset:])
|
w.write_array(f, bytes[raster_offset:])
|
||||||
|
|
||||||
write_bg_png(bytes, path)
|
write_bg_png(bytes, fs_dir / "bg" / f"{name}.png")
|
||||||
|
|
||||||
# sbk_bg has an alternative palette
|
# sbk_bg has an alternative palette
|
||||||
if name == "sbk_bg":
|
if name == "sbk_bg":
|
||||||
write_bg_png(bytes, fs_dir / f"{name}.alt.png", header_offset=0x10)
|
write_bg_png(bytes, fs_dir / "bg" / f"{name}.alt.png", header_offset=0x10)
|
||||||
else:
|
else:
|
||||||
with open(path, "wb") as f:
|
with open(path, "wb") as f:
|
||||||
f.write(bytes)
|
f.write(bytes)
|
||||||
|
|
Loading…
Reference in New Issue