-
Notifications
You must be signed in to change notification settings - Fork 9
PAKFormat
eadmaster edited this page Nov 17, 2025
·
10 revisions
These files contain textures, sprite, and scene information. All data is stored in big endian byte bordering unless otherwise noted.
The latest PAK file is loaded in RAM at address 0x272000.
| Offset | Size | Notes |
|---|---|---|
| 0x00000000 | 4 bytes | ID ascii string for file. Is either "unkn" or "OVER" |
| 0x00000004 | 4 bytes | File Size |
| 0x00000008 | 4 bytes | Offset to texture information structure |
| 0x0000000C | 4 bytes | Offset to sprite information structure |
| 0x00000010 | 4 bytes | Offset to sprite group information structure |
| 0x00000014 | 4 bytes | Offset to unknown structure |
| 0x00000018 | 4 bytes | Offset to unknown structure |
| 0x0000001C | 4 bytes | Unknown data |
| 0x00000020 | 2 bytes | Number of textures |
| 0x00000022 | 2 bytes | Number of sprite groups |
| 0x00000024 | 2 bytes | Unknown data. Number of entries for data pointed to by offset 0x14? |
| 0x00000026 | 2 bytes | Number of entries for data pointed to by offset 0x18 |
| 0x00000028 | 2 bytes | Number of entries for data pointed to by offset 0x2C |
| 0x0000002A | 2 bytes | Number of entries for data pointed to by offset 0x30? + 2? |
| 0x0000002C | 4 bytes | Offset to unknown data. Structure of 4 bytes per entry |
| 0x00000030 | 4 bytes | Offset to unknown data. Appears to be structure of 4? bytes per entry |
| 0x00000030 | 4 bytes | |
| 0x00000034 | 12 bytes | Always 0xFFFFFFFF000000000001000F |
8-byte records containing the texture dimensions, used to compute the offsets for the CHR files.
| Relative Offset | Size | Notes |
|---|---|---|
| 0x00000000 | 4 bytes | Address. Overwritten with the actual CHR offset when loaded in RAM. Due to DMA transfers this address is padded to a multiple of 0x20 = 32 bytes. |
| 0x00000004 | 1 byte | Texture width (must be a multiple of 8) |
| 0x00000005 | 1 byte | Texture height |
| 0x00000006 | 2 bytes | Texture Index (can be used to swap textures in the same file) |
12-byte records containing the relative texture rendering coords.
| Relative Offset | Size | Notes |
|---|---|---|
| 0x00000000 | 2 bytes | Index. Reference to a single Texture information struct in the previous section (0-indexed) |
| 0x00000002 | 8 bytes | Relative coordinates. Serialized like this XXYYXXYYXXYYXXYY, from the top-left corner in clockwise order. Some values can be negative depending on the following flags. |
| 0x0000000A | 2 bytes | Origin-crossing flags? |