From 8994bbf299c896a09e15955261dd9192949c7422 Mon Sep 17 00:00:00 2001 From: Stewie Date: Fri, 12 Aug 2022 21:49:23 -0400 Subject: [PATCH] Adjust extract_All_Story_Files Add Section and Destination parameters - update Extract_Theirsce_XML - Add theirsce file as parameter - Add destination and section - update extract_All_Story_Files so it works with new parameters --- ToolsTOR.py | 66 +++++++++++++++++------------------------------------ 1 file changed, 21 insertions(+), 45 deletions(-) diff --git a/ToolsTOR.py b/ToolsTOR.py index 0c30721..bc43d0f 100644 --- a/ToolsTOR.py +++ b/ToolsTOR.py @@ -67,13 +67,17 @@ class ToolsTOR(ToolsTales): # Extract the story files def extract_All_Story_Files(self,debug=False): - + i = 1 self.mkdir( self.story_XML_patch + "XML") listFiles = [self.dat_archive_extract + 'SCPK/' + ele for ele in os.listdir( os.path.join(self.dat_archive_extract, "SCPK"))] for scpk_file in listFiles: - - self.extract_TheirSce_XML(scpk_file) + + theirsce = self.get_theirsce_from_scpk(scpk_file) + self.extract_TheirSce_XML(theirsce, scpk_file, self.story_XML_patch, "Story") self.id = 1 + print("Writing file %05d.." % i, end="\r") # Not healthy + i += 1 + print("Writing file %05d..." % (i-1)) # Extract all the skits files def extract_Skits(self): @@ -112,52 +116,27 @@ class ToolsTOR(ToolsTales): for i in range(nbFiles): data = scpk.read(filesSize[i]) + + if self.is_compressed(data) and data[:8] != b"THEIRSCE": + data_decompressed = comptolib.decompress_data(data) + + if data_decompressed[:8] == b"THEIRSCE": + return io.BytesIO(data_decompressed) - scpk.read(4) - nbFiles = struct.unpack("