EGMC (File Format): Difference between revisions
m
→Format
>Aruki (Created page with "The '''EGMC''' file format is in Metroid Prime 2 and 3. Its extension stands for '''''E'''ditor Object to Static '''G'''eometry '''M'''ap '''C'''ooked''. It's a simplistic for...") |
>Aruki m (→Format) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The '''EGMC''' file format is in Metroid Prime 2 and 3. Its extension stands for '''''E'''ditor Object to Static '''G'''eometry '''M'''ap '''C'''ooked''. It's a simplistic format whose main responsibility is mapping PointOfInterest script objects to static world geometry, which allows world meshes to be scanned. The same POI can be mapped to multiple meshes, and likewise, the same mesh can be mapped to multiple POIs (which can be toggled on or off via script connections so only one POI is active at a time). | The '''EGMC''' file format is in Metroid Prime 2 and 3. Its extension stands for '''''E'''ditor Object to Static '''G'''eometry '''M'''ap '''C'''ooked''. It's a simplistic format whose main responsibility is mapping PointOfInterest script objects to static world geometry, which allows world meshes to be scanned. The same POI can be mapped to multiple meshes, and likewise, the same mesh can be mapped to multiple POIs (which can be toggled on or off via script connections so only one POI is active at a time). | ||
__TOC__ | __TOC__ | ||
Line 7: | Line 5: | ||
== Format == | == Format == | ||
This is an extremely simple format; it's just an array of a small struct mapping a surface group ID to a PointOfInterest instance. | |||
{| class="wikitable" | |||
! Offset | |||
! Type | |||
! Count | |||
! Name | |||
|- | |||
| 0x0 | |||
| u32 | |||
| 1 | |||
| '''Mapping Count''' | |||
|- | |||
| 0x4 | |||
| [[#Mapping|Mapping]] | |||
| ''Mapping Count'' | |||
| '''Mapping Array''' | |||
|- | |||
| colspan=4 {{unknown|End of file}} | |||
|} | |||
=== Mapping === | |||
{| class="wikitable" | {| class="wikitable" | ||
! Offset | ! Offset | ||
! Type | ! Type | ||
! | ! Name | ||
! Notes | |||
|- | |- | ||
| 0x00 | | 0x00 | ||
| u32 | | u32 | ||
| ''' | | '''Surface Group ID''' | ||
| Area-relative surface group ID. | |||
|- | |- | ||
| 0x04 | | 0x04 | ||
| u32 | | u32 | ||
| '''PointOfInterest | | '''PointOfInterest Instance ID''' | ||
| | |||
|- | |- | ||
| 0x08 | | 0x08 | ||
| colspan= | | colspan=3 {{unknown|End of mapping}} | ||
|} | |} | ||