Editing MOD file
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
{{todo|Cleanup.}} | {{todo|Cleanup.}} | ||
+ | The following is an unabridged copy of my current notes on the MOD file format. | ||
− | + | <pre> | |
+ | 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. | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 0x08 Subheader { | ||
− | 0x04 | ||
− | 0x04 | ||
− | } | ||
− | Container { | ||
− | 0x04 | ||
− | 0x14 ??? | ||
− | |||
− | 0x04 float | ||
− | 0x04 float | ||
− | 0x04 float | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 0x04 | ||
− | 0x04 | ||
− | |||
− | |||
− | 0x04 | ||
− | |||
− | 0x04 | ||
− | |||
− | |||
− | |||
− | |||
− | } [•] Repeated % | ||
} | } | ||
− | + | Textures (0x00000020) { | |
− | + | 0x08 Subheader { | |
− | + | 0x04 int # Section identifier (0x00000020) | |
− | 0x08 Subheader { | + | 0x04 int # Size of Container |
− | 0x04 int | + | } |
− | 0x04 int | + | Container { |
− | } | + | 0x04 int # Number of texture files (var %20) |
− | Container { | + | 0x14 unk # Padding? |
− | 0x04 int | + | TXE file { |
− | 0x14 | + | } [•] Repeated %20 times. |
− | + | } | |
− | |||
− | |||
− | |||
− | } [•] Repeated % | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | } | ||
} | } | ||
− | + | ??? 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?? | |
− | + | } | |
− | |||
− | |||
− | |||
− | 0x08 Subheader { | ||
− | 0x04 int # | ||
− | 0x04 int # Size of Container | ||
− | } | ||
− | Container { | ||
− | 0x04 int # Number of | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 0x14 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | } [•] Repeated %22 times?? | ||
− | } | ||
) | ) | ||
− | + | ||
− | + | ??? section (0x00000030) { | |
− | 0x08 Subheader { | + | 0x08 Subheader { |
− | 0x04 int # | + | 0x04 int # Section identifier (0x00000030) |
− | 0x04 int # Size of Container | + | 0x04 int # Size of Container |
− | } | + | } |
− | Container { | + | Container { |
− | 0x04 int # Number of | + | 0x04 int # Number of ??? structs (var %30) |
− | + | 0x14 unk # Padding? | |
− | + | 0x20 struct # ??? { | |
− | + | 0x04 int | |
− | + | 0x04 unk | |
− | + | 0x04 int? | |
− | + | 0x14 unk | |
− | + | } [•] Repeated %30 times?? | |
− | 0x04 | + | } |
− | 0x04 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | } [•] 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?? | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 0x08 Subheader { | ||
− | 0x04 int # | ||
− | 0x04 int # Size of Container | ||
− | } | ||
− | Container { | ||
− | 0x04 int # Number of | ||
− | 0x14 | ||
− | 0x20 | ||
− | 0x04 int? | ||
− | 0x1C | ||
− | } [•] 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? { | |
− | + | ||
− | + | ||
− | + | ||
− | 0x08 Subheader { | + | } [•] Repeated %60 times. |
− | 0x04 int # | + | } |
− | 0x04 int # Size of Container | ||
− | } | ||
− | Container { | ||
− | 0x04 int # Number of | ||
− | 0x14 | ||
− | 0x4C? | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | } [•] 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 | |
− | + | } | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 0x08 Subheader { | ||
− | 0x04 int # | ||
− | 0x04 int # Size of Container | ||
− | } | ||
− | Container { | ||
− | |||
− | 0x04 float # | ||
− | 0x04 float # | ||
− | 0x04 float # | ||
− | 0x04 float # | ||
− | 0x04 float # | ||
− | 0x04 float # | ||
− | } | ||
− | 0x04 float | ||
− | |||
− | |||
− | Coll tris? { | ||
− | 0x?? ints | ||
− | } | ||
− | } | ||
} | } | ||
− | + | </pre> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Credits|[[User:Minty_Meeo|Minty_Meeo]]}} | {{Credits|[[User:Minty_Meeo|Minty_Meeo]]}} |