Ark of Time AN: Difference between revisions
Jump to navigation
Jump to search
(document another game format) |
m (Kostya moved page Ark of Time AV to Ark of Time AN: typo in the extension) |
(No difference)
|
Revision as of 10:04, 27 November 2022
AV is an animation format used in Ark of Time game.
Container format (all numbers are little-endian):
Header: 4 bytes - header size N bytes - flags for each frame (variable-length) 0x1400 bytes - ignored frames in the following format: 4 bytes - frame size N bytes - frame data
Flags are variable-length pieces of information:
1 byte - initial flags 2 bytes - frame delay if (initial_flags & 2) // no additional data, it signals that actual frame data is present if (initial_flags & 8) 2 bytes - unknown if (initial_flags & 0x20) // something related to displaying subtitles 2 bytes - unknown 1 byte - unknown 1 byte - unknown 1 byte - unknown if (initial_flags & 0x40) 1 byte - also something related to subtitles if (initial_flags & 0x80) // should not happen simultaneously with flag 0x40 1 byte - also something related to subtitles if (initial_flags & 0x10) 768 bytes - VGA palette
Frames are packed using very simple copy/skip method: read a byte, top bit of it is a copy/skip marker (if set - read data from stream, otherwise skip it), low 7 bits are copy/skip length (0 means that 16-bit actual length should be read); depending on it either read the requested amount of pixels from the stream or skip them.