VAS

From MultimediaWiki
Jump to navigation Jump to search

This is a simple RLE-based animation format.

File header:

 2 bytes - palette mode (0 - external palette should be used, 1 - palette present)
 2 bytes - number of frames
 4 bytes - ?
 2 bytes - width
 2 bytes - height
 4 bytes - ?
 4xN bytes - frame offsets
 0 or 768 bytes - palette

Frame data is split into four VGA planes, each starting with a header:

 2 bytes - data size
 2 bytes - decoded size
 1 byte  - fill colour 1
 1 byte  - fill colour 2
 2 bytes - compression method

Method 0 uses byte opcodes with top two bits being the operation and low six bits being operation length minus one. Operations are:

  • 0 - run of the next byte value
  • 1 - run of fill colour 1
  • 2 - run of fill colour 2
  • 3 - raw data

Method 1 uses 16-bit opcodes, with top bit being the operation (leave unchanged or XOR with new data) and bottom 15 bits being the operation length minus one.