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

From Ōkami Speedrun Wiki
Jump to navigation Jump to search
(→‎File Format: adding padding to overall)
Line 11: Line 11:
! Start (Bytes in Hex) !! Width (Bytes in Hex) !! Type !! Field Name !! Note
! Start (Bytes in Hex) !! Width (Bytes in Hex) !! Type !! Field Name !! Note
|-
|-
| 0 || 4 || uint32 || number_of_entries || One for each exit destination definition.
| 0 || 4 || uint32 || Number of entries || Count of exit destination definition.
|-
|-
| 4 || 12 each || jumpEntry array || jumpEntries ||  
| 4 || 12 each || [[#jumpEntry]] array || [[#jumpEntry]] || One for each exit definition.
|-
|-
| || || || padding || Pad with zeroes for 64 bit alignment
| || || || padding || Pad with zeroes for 64 byte alignment
|}
|}


===jumpEntry===
===jumpEntry===
Describes a single exit destination.
{| class="wikitable dataStructure"
{| class="wikitable dataStructure"
|-
|-
! Start (Bytes in Hex) !! Width (Bytes in Hex) !! Type !! Field Name !! Note
! Start (Bytes in Hex) !! Width (Bytes in Hex) !! Type !! Field Description !! Note
|-
|-
| 0 || 2 || uint16 || x_coordinate ||
| 0 || 2 || int16 || X Coordinate || At destination.
|-
|-
| 2 || 2 || uint16 || 7_coordinate ||
| 2 || 2 || int16 || Y Coordinate || At destination.
|-
|-
| 4 || 2 || uint16 || z_coordinate ||
| 4 || 2 || int16 || Z Coordinate || At destination.
|-
|-
| 6 || 2 || uint16 || ammy_orientation ||
| 6 || 2 || uint16 || Ammy Orientation || Could be int16. Which way she faces at destination.
|-
|-
| 8 || 1 || uint8 || area_id || See Level File ID Table.
| 8 || 1 || uint8 || Area ID || See [[Level File ID Table.]]
|-
|-
| 9 || 1 || uint8 || region_id || See Level File ID Table.
| 9 || 1 || uint8 || Region ID || See [[Level File ID 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 || Source ID? || Seems to reference the other side of the exit, but doesn't appear to do anything when changed.
|-
|-
| 11 || 1 || uint8 || exit_id || Index into this file.
| 11 || 1 || uint8 || Exit ID || Index into this file.
|}
|}

Revision as of 19:53, 26 November 2021

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 Zone (.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 (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.
6 2 uint16 Ammy Orientation Could be int16. Which way she faces at destination.
8 1 uint8 Area ID See Level File ID Table.
9 1 uint8 Region ID See Level File ID Table.
10 1 uint8 Source ID? Seems to reference the other side of the exit, but doesn't appear to do anything when changed.
11 1 uint8 Exit ID Index into this file.