diff options
Diffstat (limited to 'setgen.py')
-rw-r--r-- | setgen.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/setgen.py b/setgen.py new file mode 100644 index 0000000..e627066 --- /dev/null +++ b/setgen.py @@ -0,0 +1,22 @@ +import struct + +names = {} +names['PATH'] = '/Maps/forest/pathdata.bin' +names['3D00'] = '/Maps/forest/base.brres' + +header = struct.pack('>4sI', b'MSet', len(names)) +entrydata = b'' +stringtable = b'' +currentoffset = 8 + (8 * len(names)) + +for key,path in names.items(): + entrydata += struct.pack('>4sI', key.encode('Shift-JIS'), currentoffset) + + encpath = path.encode('Shift-JIS') + stringtable += encpath + stringtable += b'\0' + currentoffset += len(encpath) + 0 + + +open('SMGoldwood.fileset', 'wb').write(header + entrydata + stringtable) + |