summaryrefslogtreecommitdiff
path: root/scenegen_.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scenegen_.py48
1 files changed, 0 insertions, 48 deletions
diff --git a/scenegen_.py b/scenegen_.py
deleted file mode 100644
index 418d1b9..0000000
--- a/scenegen_.py
+++ /dev/null
@@ -1,48 +0,0 @@
-import struct
-
-from collections import OrderedDict
-
-from gameobjects.matrix44 import *
-from gameobjects.vector3 import *
-
-
-class Node:
- pass
-
-nodes = OrderedDict()
-
-BaseNode = Node()
-BaseNode.mtx = Matrix44()
-BaseNode.brres_key = '3D00'
-BaseNode.model_name = 'WorldBase'
-BaseNode.lm_type = 0
-nodes['Base'] = BaseNode
-
-
-
-# todo: string table optimisation
-
-header = struct.pack('>4sI', b'MScn', len(nodes))
-entrydata = b''
-stringtable = b''
-stringoffsets = {}
-currentoffset = 8 + (0x40 * len(nodes))
-
-for key,node in nodes.items():
- #nodekey, brreskey, lmtype, nameoffset, matrix
- enc_name = node.model_name.encode('Shift-JIS')
- if enc_name not in stringoffsets:
- stringoffsets[enc_name] = currentoffset
- stringtable += enc_name + b'\0'
- currentoffset += len(enc_name) + 1
-
- nameoffs = stringoffsets[enc_name]
-
-
- entrydata += struct.pack('>4s4sII', key.encode('Shift-JIS'), node.brres_key.encode('Shift-JIS'), node.lm_type, stringoffsets[enc_name])
- for f in list(node.mtx.transposed_components())[0:12]:
- entrydata += struct.pack('>f', f)
-
-
-open('scenedata.bin', 'wb').write(header + entrydata + stringtable)
-