From 54daa0bf9ba4c019f5a5c89e57938cb871de6a09 Mon Sep 17 00:00:00 2001 From: Shiz Date: Sat, 11 Mar 2017 17:14:32 +0100 Subject: [PATCH] Don't rely on a fixed offset length. --- README.md | 2 +- rpatool | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9b670cd..9471936 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Currently, only writing to RPAv2/RPAv3 archives is supported. Usage ----- - rpatool [-l|-x|-c|-d] [-a] [-o OUTFILE] [-2] [-3] [-k KEY] + rpatool [-l|-x|-c|-d|-a] [-o OUTFILE] [-2] [-3] [-k KEY] [-p COUNT] [-h] [-v] [-V] ARCHIVE [FILE [FILE ...]] diff --git a/rpatool b/rpatool index 13f4d21..2cc4b2e 100755 --- a/rpatool +++ b/rpatool @@ -57,10 +57,11 @@ class RenPyArchive: if self.version == 2 or self.version == 3: # Fetch metadata. metadata = self.handle.readline() - offset = int(metadata[8:24], 16) + vals = metadata.split() + offset = int(vals[1], 16) if self.version == 3: self.key = 0 - for subkey in metadata[25:].split(): + for subkey in vals[2:]: self.key ^= int(subkey, 16) # Load in indexes.