fix SCPK and skit packing typos

This commit is contained in:
Mc-muffin
2023-05-22 20:48:10 -05:00
parent 8231f65196
commit 30a3bf59d1
2 changed files with 8 additions and 6 deletions

View File

@@ -22,19 +22,21 @@ class Scpk():
self._rsce_pos = 0
def from_path(self, path="") -> typing.Self:
@staticmethod
def from_path(path="") -> 'Scpk':
with FileIO(path) as f:
if f.read(4) != MAGIC:
raise ValueError("Not an SCPK file!")
self = Scpk()
self.unk1 = f.read_uint16()
self.unk2 = f.read_uint16()
self.file_amount = f.read_uint32()
file_amount = f.read_uint32()
assert f.read_uint32() == 0, "scpk padding is not zero!" # padding?
self.files = []
sizes = []
for _ in range(self.file_amount):
for _ in range(file_amount):
sizes.append(f.read_uint32())
for i, size in enumerate(sizes):

View File

@@ -654,7 +654,7 @@ class ToolsTOR(ToolsTales):
# TODO: use pathlib for everything
out_path = Path(self.skit_XML_patch) / "New"
xml_path = Path(self.skit_XML_patch) / "XML"
pak2_path = Path(self.dat_archive_extract) / "SCPK"
pak2_path = Path(self.dat_archive_extract) / "PAK2"
for file in tqdm(list(pak2_path.glob("*.pak2"))):
with open(file, "rb") as f:
@@ -841,7 +841,7 @@ class ToolsTOR(ToolsTales):
scpk_path = Path(self.dat_archive_extract) / "SCPK"
for file in tqdm(list(scpk_path.glob("*.scpk"))):
curr_scpk = Scpk().from_path(file)
curr_scpk = Scpk.from_path(file)
old_rsce = Theirsce(curr_scpk.rsce)
new_rsce = self.get_new_theirsce(old_rsce, xml_path / file.with_suffix(".xml").name)
new_rsce.seek(0)