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)
 
(3 intermediate revisions by one other user 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==
Line 13: Line 13:
| 0 || 4 || uint32 || Number of entries || Count of exit destination definition.
| 0 || 4 || uint32 || Number of entries || Count of exit destination definition.
|-
|-
| 4 || 12 each || [[#jumpEntry]] array || [[#jumpEntry]] || One for each exit definition.
| 4 || 12 each || [[#jumpEntry|jumpEntry]] array || [[#jumpEntry|jumpEntry]] || One for each exit definition.
|-
|-
| || || || padding || Pad with zeroes for 64 byte alignment
| || || || padding || Pad with zeroes for 64 byte alignment
Line 21: Line 21:
Describes a single exit destination.
Describes a single exit destination.


{| class="wikitable dataStructure"
{| class="wikitable"
|-
! Start (Byte) !! Width (Bytes) !! Type !! Field Name !! Note
! Start (Bytes in Hex) !! Width (Bytes in Hex) !! Type !! Field Description !! Note
|-
| 0 || 2 || int16 || X Coordinate || At destination.
|-
| 2 || 2 || int16 || Y Coordinate || At destination.
|-
|-
| 4 || 2 || int16 || Z Coordinate || At destination.
| 0 || 6 || PackedTuple<int16> || coordinates || Location on destination map (x, y, z)
|-
|-
| 6 || 2 || uint16 || Ammy Orientation || Could be int16. Which way she faces at destination.
| 6 || 2 || uint16 || orient || Ammy's orientation. Could be int16.
|-
|-
| 8 || 1 || uint8 || Area ID || See [[Level File ID Table.]]
| 8 || 1 || uint8 || area_id || Destination area ID. See [[Map Table]].
|-
|-
| 9 || 1 || uint8 || Region ID || See [[Level File ID Table.]]
| 9 || 1 || uint8 || region_id || Destination region ID. See [[Map Table]].
|-
|-
| 10 || 1 || uint8 || Source ID? || Seems to reference the other side of the exit, but doesn't appear to do anything when changed.
| 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.
| 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.