20,365
edits
m (localizing image) |
m (wikilink tweaks) |
||
| (5 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
{{OBD_File_Header | type=M3GM | prev=M3GA | next=Mtrl | name=Geometry | family= | {{OBD_File_Header | type=M3GM | prev=M3GA | next=Mtrl | name=Geometry | family=General | align=center}} | ||
[[ | [[Image:m3gm_all.gif]] | ||
| Line 9: | Line 9: | ||
{{OBDtr|0x00|res_id |FF0000|01 D7 00 00|215 | 00215-door_1_0.M3GM}} | {{OBDtr|0x00|res_id |FF0000|01 D7 00 00|215 | 00215-door_1_0.M3GM}} | ||
{{OBDtr|0x04|lev_id |FFFF00|01 00 00 06|3 | level 3}} | {{OBDtr|0x04|lev_id |FFFF00|01 00 00 06|3 | level 3}} | ||
{{OBDtr|0x08| | {{OBDtr|0x08|uint32 |FFC8C8|00 00 00 00|0 | geometry flags; runtime only }} | ||
{{OBDtr|0x0C|link |FFFFC8|01 DA 00 00|218 | link to [[OBD:PNTA| | {{OBDtr|0x0C|link |FFFFC8|01 DA 00 00|218 | link to 00218-.[[OBD:PNTA|PNTA]] (vertex XYZs) }} | ||
{{OBDtr|0x10|link |FFFFC8|01 F7 00 00|247 | link to [[OBD:VCRA| | {{OBDtr|0x10|link |FFFFC8|01 F7 00 00|247 | link to 00247-.[[OBD:VCRA|VCRA]] (vertex normals) }} | ||
{{OBDtr|0x14|link |FFFFC8|01 F0 00 00|240 | link to 00240-. | {{OBDtr|0x14|link |FFFFC8|01 F0 00 00|240 | link to 00240-.OBD:VCRA|VCRA (face normals) }} | ||
{{OBDtr|0x18|link |FFFFC8|01 ED 00 00|237 | link to [[OBD:TXCA| | {{OBDtr|0x18|link |FFFFC8|01 ED 00 00|237 | link to 00237-.[[OBD:TXCA|TXCA]] (vertex UVs) }} | ||
{{OBDtr|0x1C|link |FFFFC8|01 0C 01 00|268 | link to [[OBD:IDXA_M3GM_1| | {{OBDtr|0x1C|link |FFFFC8|01 0C 01 00|268 | link to 00268-.[[OBD:IDXA_M3GM_1|IDXA]] (type 1, triangle strips) }} | ||
{{OBDtr|0x20|link |FFFFC8|01 11 01 00|273 | link to [[OBD:IDXA_M3GM_2| | {{OBDtr|0x20|link |FFFFC8|01 11 01 00|273 | link to 00273-.[[OBD:IDXA_M3GM_2|IDXA]] (type 2, face grouping by normal) }} | ||
{{OBDtr|0x24|link |FFFFC8|01 D8 00 00|216 | link to 00216-.[[OBD:TXMP|TXMP]] (texture) }} | {{OBDtr|0x24|link |FFFFC8|01 D8 00 00|216 | link to 00216-.[[OBD:TXMP|TXMP]] (texture) }} | ||
{{OBDtr|0x28|link |C8FFC8|00 00 00 00|unused| obsolete GMAN (geometry animation) link; never used in Oni}} | {{OBDtr|0x28|link |C8FFC8|00 00 00 00|unused| obsolete GMAN (geometry animation) link; never used in Oni}} | ||
|} | |} | ||
| Line 50: | Line 49: | ||
{{OBDtr|0x00|res_id |FF0000|01 63 00 00|99 | 00099-axes.M3GM}} | {{OBDtr|0x00|res_id |FF0000|01 63 00 00|99 | 00099-axes.M3GM}} | ||
{{OBDtr|0x04|lev_id |FFFF00|01 00 00 00|0 | level 0}} | {{OBDtr|0x04|lev_id |FFFF00|01 00 00 00|0 | level 0}} | ||
{{OBDtr|0x08| | {{OBDtr|0x08|uint32 |FFC8C8|00 00 00 00|0 | runtime geometry flags (supposedly the same as for PC and Mac) }} | ||
{{OBDtr|0x0C| | {{OBDtr|0x0C|uint32 |FFC8C8|60 00 00 00|96 | number of faces (same as in second VCRA on PC and Mac) }} | ||
{{OBDtr|0x10| | {{OBDtr|0x10|link |FFFFC8|01 64 00 00|100 | link to [[OBD:PNTA|00100-.PNTA]] (vertex XYZs) }} | ||
{{OBDtr|0x14|link |FFFFC8|01 65 00 00|101 | link to [[OBD:TXCA|00101-.TXCA]] (vertex UVs) }} | {{OBDtr|0x14|link |FFFFC8|01 65 00 00|101 | link to [[OBD:TXCA|00101-.TXCA]] (vertex UVs) }} | ||
{{OBDtr|0x18|link |FFFFC8|01 66 00 00|102 | link to [[OBD:IDXA_M3GM_1|00102-.IDXA]] (triangle strips) }} | {{OBDtr|0x18|link |FFFFC8|01 66 00 00|102 | link to [[OBD:IDXA_M3GM_1|00102-.IDXA]] (triangle strips) }} | ||
{{OBDtr|0x1C| | {{OBDtr|0x1C|uint32 |FFC8C8|6C 00 00 00|108 | number of vertices (same as in PNTA and TXCA); also size of .raw part in bytes }} | ||
{{OBDtr|0x20|offset |FFFFC8|A0 8E 01 00| 0x00018EA0 | offset into the .raw file where the the 108 compressed vertex normals are stored: | {{OBDtr|0x20|offset |FFFFC8|A0 8E 01 00| 0x00018EA0 | offset into the .raw file where the the 108 compressed vertex normals are stored: | ||
'''2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D F8 F8 C2 55''' | '''2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D F8 F8 C2 55''' | ||
| Line 68: | Line 67: | ||
{{OBDtr|0x24|link |FFFFC8|01 67 00 00|103 | texture link (to the empty 00103-_AXIS.[[OBD:TXMP|TXMP]]; the actually relevant 00104-_axis.TXMP is orphaned) }} | {{OBDtr|0x24|link |FFFFC8|01 67 00 00|103 | texture link (to the empty 00103-_AXIS.[[OBD:TXMP|TXMP]]; the actually relevant 00104-_axis.TXMP is orphaned) }} | ||
{{OBDtr|0x28|link |C8FFC8|00 00 00 00|unused| supposedly the same GMAN link (geometry animation) as for PC and Mac }} | {{OBDtr|0x28|link |C8FFC8|00 00 00 00|unused| supposedly the same GMAN link (geometry animation) as for PC and Mac }} | ||
|} | |} | ||
;OniBrowser being able to load PS2 M3GMs (a mystery of the modern times) | ;OniBrowser being able to load PS2 M3GMs (a mystery of the modern times) | ||
:Somehow OniBrowser is able to display M3GMs from PS2 instance files (except those with textures), even though all the links ( | :Somehow OniBrowser is able to display M3GMs from PS2 instance files (except those with textures), even though all the links (PNТA, TXCA, IDXA) are in the wrong positions. Apparently, in the case of M3GM, OniBrowser reads in all the fields past 0x0C as a bunch of non-typed instance links, then identifies their types and populates the PNTA, VCRA, TXCA and IDXA references with the first encountered instance of the matching type. | ||
;Compressed vertex normals | ;Compressed vertex normals | ||
[[Image:Four-fold tetrahedron.jpg|right|160px]] | [[Image:Four-fold tetrahedron.jpg|right|160px]] | ||
| Line 80: | Line 78: | ||
{{OBD_File_Footer | type=M3GM | prev=M3GA | next=Mtrl | name=Geometry | family= | {{OBD_File_Footer | type=M3GM | prev=M3GA | next=Mtrl | name=Geometry | family=General | align=center}} | ||
{{OBD}} | {{OBD}} | ||