summaryrefslogtreecommitdiff
path: root/setgen.py
diff options
context:
space:
mode:
Diffstat (limited to 'setgen.py')
-rw-r--r--setgen.py22
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)
+