Difference between revisions of "Object Placement (.TAT/.TRE/.TSC) File Format"

From Ōkami Speedrun Wiki
Jump to navigation Jump to search
(more note)
(→‎Object Entry: location is signed)
Line 35: Line 35:
| 7 || 3 || <code>PackedTuple<uint8_t></code> || Rotation around axis (x, y, z).
| 7 || 3 || <code>PackedTuple<uint8_t></code> || Rotation around axis (x, y, z).
|-
|-
| 10 || 6 || <code>PackedTuple<uint16_t></code> || Location (x, y, z)
| 10 || 6 || <code>PackedTuple<int16_t></code> || Location (x, y, z)
|-
|-
| 16 || 4 || <code>uint8_t[4]</code> || Unknown
| 16 || 4 || <code>uint8_t[4]</code> || Unknown

Revision as of 20:12, 1 August 2025

Note: This page pertains to Reverse Engineering of Okami File Formats.

Object placement format.

TSC has objects from category 0x09 (gt), contains various general and interactable objects. Contains bloomable trees from category 0x0B.

TRE has objects from category 0x0B (vt), contains mainly vegetation like grass and trees.

File Format

Header

Start (Byte) Width (Bytes) Type Description
0 4 uint32_t Number of Entries
4 40 * numEntries TObjEntry[numEntries] Entries
padding Pad zeroes for 16 byte alignment

Object Entry

Start (Byte) Width (Bytes) Type Description
0 1 uint8_t Object Table Index
1 1 uint8_t Object category. 0x09 = gt/, 0x0B = vt/
2 1 uint8_t Unknown
3 1 uint8_t Unknown
4 3 PackedTuple<uint8_t> Size (width, height, depth).
7 3 PackedTuple<uint8_t> Rotation around axis (x, y, z).
10 6 PackedTuple<int16_t> Location (x, y, z)
16 4 uint8_t[4] Unknown
20 1 uint8_t Unknown
21 4 uint8_t[4] Unknown
25 1 uint8_t Unknown. Usually 0xFF.
26 1 uint8_t Unknown
27 1 uint8_t Tree bloom index.
28 12 uint8_t[12] Unkown/padding