Difference between revisions of "Animal Group (.ANS) File Format"

From Ōkami Speedrun Wiki
Jump to navigation Jump to search
(Describing the .ANS format.)
 
(file format category)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{RE}}
{{File Format}}


==Explanation==
==Explanation==
Line 14: Line 14:
| 4 || 40 || ANSEntry array || groups || Animal group definition
| 4 || 40 || ANSEntry array || groups || Animal group definition
|-
|-
|  ||  || padding || 00 || pad zeroes for 4 byte alignment
|  ||  || padding || 00 || Pad zeroes for 4 byte alignment
|}
|}


Line 31: Line 31:
| 3 || 1 || uint8 || unknown3 || Unknown. Always 00. Padding?
| 3 || 1 || uint8 || unknown3 || Unknown. Always 00. Padding?
|-
|-
| 4 || 3 || PackedTuple\<uint8\> || size || Animal size (width, height, depth)
| 4 || 3 || PackedTuple<uint8> || size || Animal size (width, height, depth)
|-
|-
| 7 || 3 || PackedTuple\<uint8\> || rotation || Rotation around axis (x, y, z)
| 7 || 3 || PackedTuple<uint8> || rotation || Rotation around axis (x, y, z)
|-
|-
| 10 || 6 || PackedTuple\<uint16\> || coordinates || Location (x, y, z)
| 10 || 6 || PackedTuple<uint16> || coordinates || Location (x, y, z)
|-
|-
| 16 || 1 || uint8 || texture || Which animal texture to use.
| 16 || 1 || uint8 || texture || Which animal texture to use.

Latest revision as of 17:14, 23 June 2025

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

Explanation

This file defines each group of animals on a single map.

File Format

Overall

Start (Byte) Width (Bytes) Type Field Name Note
0 4 uint32 Number of Entries Count of animal definitions
4 40 ANSEntry array groups Animal group definition
padding 00 Pad zeroes for 4 byte alignment

ANSEntry

Describes a single animal group.

Start (Byte) Width (Bytes) Type Field Name Note
0 1 uint8 an_id See Animal ID Table
1 1 uint8 cat_id Category ID: 05 is animals
2 1 uint8 unknown2 Unknown. Always 03.
3 1 uint8 unknown3 Unknown. Always 00. Padding?
4 3 PackedTuple<uint8> size Animal size (width, height, depth)
7 3 PackedTuple<uint8> rotation Rotation around axis (x, y, z)
10 6 PackedTuple<uint16> coordinates Location (x, y, z)
16 1 uint8 texture Which animal texture to use.
17 1 uint8 unknown5 Unknown.
18 1 uint8 group_id Offset for the bit that marks the animal group as fed.
19 1 uint8 tod Time of day the animal group appears: 0 = Always, 1 = Day Only, 2 = Night Only
20 2 uint16 unknown6 Unknown. Always 00. Padding?
22 1 uint8 an_id2 Always matches an_id.
23 1 uint8 unknown8 Unknown. Always 00. Padding?
24 1 uint8 unknown9 Unknown.
25 1 uint8 unknowna Unknown.
26 1 uint8 unknownb Unknown.
27 1 uint8 unknownc Unknown.
28 12 uint8 array padding All 00