Difference between revisions of "Exit Destination (.JMP) File Format"

From Ōkami Speedrun Wiki
Jump to navigation Jump to search
(changing level file id link to Map Table)
 
(7 intermediate revisions by 2 users not shown)
Line 3: Line 3:
==Explanation==
==Explanation==


This file defines the destinations for exits. This does not define the loading zones themselves, but is referred to by them. (See Zone (.MEH/.SCA/.SCI) File Format for that.)
This file defines the destinations for exits. This does not define the loading zones themselves, but is referred to by them. (See [[Zones (.MEH/.SCA/.SCI) File Format]] for that.)


==File Format==
==File Format==
<pre>
===Overall===
uint32_t number_of_entries    // One for each exit destination definition.
{| class="wikitable dataStructure"
|-
! Start (Bytes in Hex) !! Width (Bytes in Hex) !! Type !! Field Name !! Note
|-
| 0 || 4 || uint32 || Number of entries || Count of exit destination definition.
|-
| 4 || 12 each || [[#jumpEntry|jumpEntry]] array || [[#jumpEntry|jumpEntry]] || One for each exit definition.
|-
| || || || padding || Pad with zeroes for 64 byte alignment
|}


For each entry:
===jumpEntry===
    uint16 x_coordinate
Describes a single exit destination.
    uint16 y_coordinate
    uint16 z_coordinate
    uint16 ammy_orientation
    uint8  area_id            // See Level File ID Table.
    uint8  region_id          // See Level File ID Table.
    uint8  unknown            // Seems to reference the other side of the exit, but doesn't appear to do anything when changed.
    uint8  exit_id            // Index into this file.


Pad with zeroes for 64 byte alignment.
{| class="wikitable"
</pre>
! Start (Byte) !! Width (Bytes) !! Type !! Field Name !! Note
|-
| 0 || 6 || PackedTuple<int16> || coordinates || Location on destination map (x, y, z)
|-
| 6 || 2 || uint16 || orient || Ammy's orientation. Could be int16.
|-
| 8 || 1 || uint8 || area_id || Destination area ID. See [[Map Table]].
|-
| 9 || 1 || uint8 || region_id || Destination region ID. See [[Map Table]].
|-
| 10 || 1 || uint8 || unknown || Seems to reference the other side of the exit but doesn't do anything when changed?
|-
| 11 || 1 || uint8 || exit_id || Index into this file.
|}

Latest revision as of 21:12, 30 July 2023

Note: This page pertains to Reverse Engineering of Okami.

Explanation

This file defines the destinations for exits. This does not define the loading zones themselves, but is referred to by them. (See Zones (.MEH/.SCA/.SCI) File Format for that.)

File Format

Overall

Start (Bytes in Hex) Width (Bytes in Hex) Type Field Name Note
0 4 uint32 Number of entries Count of exit destination definition.
4 12 each jumpEntry array jumpEntry One for each exit definition.
padding Pad with zeroes for 64 byte alignment

jumpEntry

Describes a single exit destination.

Start (Byte) Width (Bytes) Type Field Name Note
0 6 PackedTuple<int16> coordinates Location on destination map (x, y, z)
6 2 uint16 orient Ammy's orientation. Could be int16.
8 1 uint8 area_id Destination area ID. See Map Table.
9 1 uint8 region_id Destination region ID. See Map Table.
10 1 uint8 unknown Seems to reference the other side of the exit but doesn't do anything when changed?
11 1 uint8 exit_id Index into this file.