MOD file
Jump to navigation
Jump to search
To do: Cleanup.
The following is an unabridged copy of my current notes on the MOD file format.
MOD files practice 0x20 alignment for sections ??? Section (0x00000000) { 0x08 Subheader { 0x04 int # Section identifier (0x00000000) 0x04 int # Size of Container } Container { ??? ) ) Visual Geometry (0x00000010) { 0x08 Subheader { 0x04 int # Section identifier (0x00000010) 0x04 int # Size of Container } Container { 0x04 int # Number of Geometry Vertex structs (var %10) 0x14 unk # Padding? 0x0C struct # Geometry Vertex { 0x04 float # X position 0x04 float # Y position 0x04 float # Z position } [•] Repeated %10 times. } } ??? section (0x00000013) { } ??? section (0x00000011) { 0x08 Subheader { 0x04 int # Section identifier (0x00000011) 0x04 int # Size of Container } Container { 0x04 int # Number of ??? structs (var %11) 0x14 unk # Padding? 0x0C struct # ??? { 0x04 float # 0x04 float # 0x04 float # } [•] Repeated %11 times. } } ??? section (0x00000018) { 0x08 Subheader { 0x04 int # Section identifier (0x00000018) 0x04 int # Size of Container } Container { 0x04 int # Number of ??? structs (var %18) 0x14 unk # Padding? 0x20 struct # ??? { 0x04 float # 0x04 float # 0x04 float # 0x04 float # 0x04 float # 0x04 float # 0x04 float # 0x04 float # } [•] Repeated %18 times. } } Textures (0x00000020) { 0x08 Subheader { 0x04 int # Section identifier (0x00000020) 0x04 int # Size of Container } Container { 0x04 int # Number of texture files (var %20) 0x14 unk # Padding? TXE file { } [•] Repeated %20 times. } } ??? section (0x00000022) { 0x08 Subheader { 0x04 int # Section identifier (0x00000022) 0x04 int # Size of Container } Container { 0x04 int # Number of ??? structs (var %22) 0x14 unk # Padding? 0x20 struct # ??? { 0x04 unk 0x04 data 0x18 unk } [•] Repeated %22 times?? } ) ??? section (0x00000030) { 0x08 Subheader { 0x04 int # Section identifier (0x00000030) 0x04 int # Size of Container } Container { 0x04 int # Number of ??? structs (var %30) 0x14 unk # Padding? 0x20 struct # ??? { 0x04 int 0x04 unk 0x04 int? 0x14 unk } [•] Repeated %30 times?? } ) ??? section (0x00000040) { 0x08 Subheader { 0x04 int # Section identifier (0x00000040) 0x04 int # Size of Container } Container { 0x04 int # Number of ??? structs (var %40) 0x14 unk # Padding? 0x20 struct # ??? { 0x04 int? 0x1C unk } [•] Repeated %40 times?? } } ??? section (0x00000050) 0x08 Subheader { 0x04 int # Section identifier (0x00000050) 0x04 int # Size of Container } Container { ??? } } Floor Collision Geometry (0x00000060) { 0x08 Subheader { 0x04 int # Section identifier (0x00000060) 0x04 int # Size of Container } Container { 0x04 int # Number of ?something? structs (var %60) 0x14 unk # Padding? 0x4C? struct # ?something? { } [•] Repeated %60 times. } } ??? section (0x00000100) { 0x08 Subheader { 0x04 int # Section identifier (0x00000100) 0x04 int # Size of Container } Container { ??? } } MapMgr bounds + Coll tris? (0x00000110) { 0x08 Subheader { 0x04 int # Section identifier (0x00000110) 0x04 int # Size of Container } Container { mapMgr bounds { 0x04 float # X1 0x04 float # Y1 0x04 float # Z1 0x04 float # X2 0x04 float # Y2 0x04 float # Z2 } 0x04 float Coll tris? { 0x?? ints } } }
Credits: Minty_Meeo