Palette

Since the image data are available as indexed 8bpp bitmaps, it is necessary to interpret the data accordingly - this is controlled via the palettes.

Published on 06/10/2018, updated on 03/18/2019

ADR x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0000 0000 50 50 41 4C xx xx xx xx  

The pallet information is very easy to read in.
They each consist of a header and a data segment.

Palette-Header

ADR x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0000 0000 68 65 61 64 xx xx xx xx xx xx xx xx  
Palette format version? Data type: uint32
Probably defines which palette format version the palette will follow. All Outpost2 palettes seem to have version 0x01.

Palette Data

ADR x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0000 0000 64 61 74 61 xx xx xx xx  

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;

ADR x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0000 0000 xx xx xx 04  
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 0x04.

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:

comments

add a comment

Your comment may not be displayed immediately and will be moderated for spam prevention reasons.