Ark of Time AN

From MultimediaWiki
(Redirected from Ark of Time AV)
Jump to navigation Jump to search

AN 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.