Updated parse_save.py to use PascalString and PrefixedArray
This commit is contained in:
parent
1dd2871dfb
commit
79889722ac
|
@ -1,18 +1,20 @@
|
||||||
from construct import *
|
from construct import *
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
ScrapSaveVar = Struct(
|
ScrapSaveVar = Struct(
|
||||||
'name'/PascalString(Int32ul,encoding='utf-8'),
|
'name'/PascalString(Int32ul,encoding='utf-8'),
|
||||||
'data'/PascalString(Int32ul,encoding='utf-8'),
|
'data'/PascalString(Int32ul,encoding='utf-8'),
|
||||||
)
|
)
|
||||||
ScrapSave = 'ScarpSaveGame'/Struct(
|
ScrapSave = 'ScarpSaveGame'/Struct(
|
||||||
'title'/PascalString(Int32ul,encoding='utf-8'),
|
'title'/PascalString(Int32ul,encoding='utf-8'),
|
||||||
'id'/PascalString(Int32ul,encoding='utf-8'),
|
'id'/PascalString(Int32ul,encoding='utf-8'),
|
||||||
'data'/PrefixedArray(Int32ul,ScrapSaveVar),
|
'data'/PrefixedArray(Int32ul,ScrapSaveVar),
|
||||||
Terminated
|
Terminated
|
||||||
)
|
)
|
||||||
with open("Save0.sav", 'rb') as sav_file:
|
with open("Save0.sav", 'rb') as sav_file:
|
||||||
save = ScrapSave.parse_stream(sav_file)
|
save = ScrapSave.parse_stream(sav_file)
|
||||||
print("ID:",save.id)
|
print("ID:",save.id)
|
||||||
print("Title:",save.title)
|
print("Title:",save.title)
|
||||||
for var in save.data:
|
for var in save.data:
|
||||||
print(" - {}: {}".format(var.name,var.data))
|
print(" - {}: {}".format(var.name,var.data))
|
||||||
|
#for block in save.data:
|
||||||
|
# print("{}: {}".format(block.v_name, block.v_data))
|
||||||
|
|
Loading…
Reference in New Issue