Zones (.MEH/.SCA/.SCI) File Format
Note: This page pertains to Reverse Engineering of Okami.
Explanation
This file describes different zones that trigger things when Ammy enters them, such as: loading zones, triggering events, the ability to examine an object, showing tooltips, or making Issun indicate things.
When describing a loading zone, it refers to Exit Destination (.JMP) Format for the destination.
File Format
Overall
| Start (Byte) | Width (Bytes) | Type | Field Name | Note |
|---|---|---|---|---|
| 0 | 4 | uint32 | header | File extension followed by 00. |
| 4 | 2 | uint16 | unknown | Always 00 01 or 01 00. |
| 6 | 2 | uint16 | entry_count | Number of zones. |
| 8 | 8 | uint64 | padding | Not entirely accurate - all 00 in SCA and SCI, but not in MEH |
| 16 | ZoneEntry array | entries | One for each zone definition. | |
| 00 | padding | Pad for 32 byte alignment. |
ZoneEntry Format
Describes a single zone definition.
| Start (Byte) | Width (Bytes) | Type | Field Name | Note |
|---|---|---|---|---|
| 0 | 8 | uint64 | pre_entry | Always 00. |
| 8 | 1 | uint8 | always01 | Always 01. |
| 9 | 1 | uint8 | zone_shape | 01 for quadrilateral prism, 02 for cylinder. |
| 10 | 2 | uint16 | pad | Always 00 00. |
| 12 | 4 | float | y | Bottom Y value. |
| 16 | 4 | float | height | Height of zone. |
| 20 | 4 | float | radius | Radius of zone if cylinder. |
| 24 | 8 | float[2] | p1 | Initial point of shape: center if cylinder (x, z) |
| 32 | 8 | float[2] | p2 | Second point of quadrilateral, connects to p1 and p3. |
| 40 | 8 | float[2] | p3 | Third point of quadrilateral, connects to p2 and p4. |
| 48 | 8 | float[2] | p4 | Fourth point of quadrilateral, connects to p3 and p1. |
| 56 | 1 | uint8 | unknown2 | Unknown. |
| 57 | 1 | uint8 | entry_type | See below. |
| 58 | 2 | uint16 | effect_index | Only partially known. It's an index into something - on a dialogue, if you change this, something different is said. But is it the flag index or an index into another file? |
| 60 | 116 (100 if PS2) | uint8 | unknown_data | Unknown. |
entry_type
| Value | Meaning |
|---|---|
| 00 | Bit Flag (dialogue, fight triggers, etc.) |
| 01 | Loading Zone |
| 02 | Unknown |
| 03 | Unknown |
| 04 | Examine |
| 05 | Issun indicates and object by jumping to it and glowing gold. |
| 06 | Issun jumps around Ammy glowing green. |
| 07 | Unknown |
| 08 | Unknown |
| 09 | Seems to give the area outer collisions but you can still jump in through the top. |
| 0A | Examine Tooltip |