Difference between revisions of "Robot Animation"

From MultimediaWiki
Jump to navigation Jump to search
(finish palette chunk)
(overall organization)
Line 6: Line 6:
 
== Container Format ==
 
== Container Format ==
 
All multi-byte numbers are little-endian.
 
All multi-byte numbers are little-endian.
 +
 +
The general organization of a Robot file is as follows:
 +
 +
<header>
 +
<unknown block>
 +
<palette>
 +
<video frame size table>
 +
<frame size table>
 +
<padding>
 +
<frame 1>
 +
<frame 2>
 +
...
 +
<frame n>
  
 
A Robot file begins with the following variable-length header.
 
A Robot file begins with the following variable-length header.
Line 44: Line 57:
 
These are the known Robot format versions known to be associated with particular games and SCI engine revisions:
 
These are the known Robot format versions known to be associated with particular games and SCI engine revisions:
  
* Version 4: [http://www.mobygames.com/game/daryl-f-gates-police-quest-swat Police Quest: SWAT]
+
* Version 4: [http://www.mobygames.com/game/daryl-f-gates-police-quest-swat Police Quest: SWAT] (demo)
 
* Version 5: SCI 2.1 and SCI 3
 
* Version 5: SCI 2.1 and SCI 3
 
* Version 6: SCI 3
 
* Version 6: SCI 3
  
 
[[Category:Game Formats]]
 
[[Category:Game Formats]]

Revision as of 20:28, 1 June 2016

Robot files are animation files used in various Sierra computer games. It is a container format that encapsulates video and possibly audio.

Container Format

All multi-byte numbers are little-endian.

The general organization of a Robot file is as follows:

<header>
<unknown block>
<palette>
<video frame size table>
<frame size table>
<padding>
<frame 1>
<frame 2>
...
<frame n>

A Robot file begins with the following variable-length header.

bytes 0-5    signature and probably a version (16 00 53 4f 4c 00; bytes 2-4 are 'SOL')
bytes 6-7    version
bytes 8-9    audio chunk size
bytes 10-11  silence chunk size
bytes 12-13  unknown
bytes 14-15  frame count
bytes 16-17  palette data size
bytes 18-19  unknown chunk data size
bytes 20-24  unknown
byte 25      has sound
bytes 26-59  unknown
bytes 60..   unknown data chunk, size defined by bytes 18-19

After the header is a palette chunk. The size of the palette chunk is defined it bytes 16-17 of the header. The first 37 or 38 bytes have the following format:

bytes 0-24   unknown
byte 25      first palette index to replace
bytes 29-30  palette count
byte 32      palette format (0 = variable, 1 = constant)
bytes 33-[36,37]  unknown
byte [37,38]..  palette components

The palette is 256 total entries, though the palette encoded in this chunk is only likely to encode a partial palette since the other colors are reserved for other parts of the game's user interface.

Replace (palette count) entries in the palette starting with the index specified by byte 25. The palette components are ordered red - green - blue - red - green - blue - etc. The palette components begin at index 37 for constant palettes and 38 for variable palettes.

Each palette component is 8 bits.

Video Format

Audio Format

Versions and Games

These are the known Robot format versions known to be associated with particular games and SCI engine revisions: