Since the image data are available as indexed 8bpp bitmaps, it is necessary to interpret the data accordingly - this is controlled via the palettes.
The pallet information is very easy to read in.
They each consist of a header and a data segment.
|Palette format version?||Data type: uint32
Probably defines which palette format version the palette will follow. All Outpost2 palettes seem to have version 0x01.
The data section records the individual pallet entries. The number of pallet entries results from the block length / 4.
The individual entries have the following simple structure;
|red component||Data type: uint8
Specifies the red portion of the color.
|green component||Data type: uint8
Specifies the green portion of the color.
|blue component||Data type: uint8
Specifies the blue portion of the color.
|unknown - flags?||Data type: uint8
It is unclear what this value means because it seems to be
The only thing left to say about the palettes is that the following rules apply to palettes to be used for animations:
- The first color is ALWAYS transparent, no matter what value is specified there.
- The palette entries 1-24 in palettes 1-8 are to be regarded as player colors.
Where the colors come from apart from player 1 is still unclear.
The following graphic can be regarded as a reference: