From 79889722ac533f31724a0ed88e013406a3229174 Mon Sep 17 00:00:00 2001 From: Earthnuker Date: Sun, 8 Oct 2017 03:05:17 +0200 Subject: [PATCH] Updated parse_save.py to use PascalString and PrefixedArray --- parse_save.py | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/parse_save.py b/parse_save.py index ebdc246..61962f6 100644 --- a/parse_save.py +++ b/parse_save.py @@ -1,18 +1,20 @@ -from construct import * -from pprint import pprint -ScrapSaveVar = Struct( - 'name'/PascalString(Int32ul,encoding='utf-8'), - 'data'/PascalString(Int32ul,encoding='utf-8'), -) -ScrapSave = 'ScarpSaveGame'/Struct( - 'title'/PascalString(Int32ul,encoding='utf-8'), - 'id'/PascalString(Int32ul,encoding='utf-8'), - 'data'/PrefixedArray(Int32ul,ScrapSaveVar), - Terminated - ) -with open("Save0.sav", 'rb') as sav_file: - save = ScrapSave.parse_stream(sav_file) - print("ID:",save.id) - print("Title:",save.title) - for var in save.data: - print(" - {}: {}".format(var.name,var.data)) \ No newline at end of file +from construct import * +from pprint import pprint +ScrapSaveVar = Struct( + 'name'/PascalString(Int32ul,encoding='utf-8'), + 'data'/PascalString(Int32ul,encoding='utf-8'), +) +ScrapSave = 'ScarpSaveGame'/Struct( + 'title'/PascalString(Int32ul,encoding='utf-8'), + 'id'/PascalString(Int32ul,encoding='utf-8'), + 'data'/PrefixedArray(Int32ul,ScrapSaveVar), + Terminated + ) +with open("Save0.sav", 'rb') as sav_file: + save = ScrapSave.parse_stream(sav_file) + print("ID:",save.id) + print("Title:",save.title) + for var in save.data: + print(" - {}: {}".format(var.name,var.data)) + #for block in save.data: + # print("{}: {}".format(block.v_name, block.v_data))