File Extension: | BAM |
Content: | Animations and Icons |
Header:
Offset | Size | Description |
0000h | 0004h | FileType |
0004h | 0004h | FileRevision |
0008h | 0002h | FrameCount |
000Ah | 0002h | AnimationCount |
000Ch | 0004h | FrameHeaderTableOffset |
0010h | 0004h | ColorTableOffset |
0014h | 0004 | SequenceTableOffset |
FrameHeader:
Offset | Size | Description |
0000h | 0002h | FrameWidth |
0002h | 0002h | FrameHeight |
0004h | 0002h | FramePositionHorizontal |
0006h | 0002h | FramePositionVertical |
0008h | 0004h | FrameDataOffset |
SequenceHeader:
Offset | Size | Description |
0000h | 0002h | SequenceSize (counted in Frames) |
0002h | 0002h | SequenceOffset (countedin Frames) |
Color:
Offset | Size | Description |
0000h | 0001h | ColorComponentRed |
0001h | 0001h | ColorComponentGreen |
0002h | 0001h | ColorComponentBlue |
0003h | 0001h | ColorComponentAlpha (not implemented) |
ColorTable:
Offset | Size | Description |
0000h | 256*Color | ColorTable |
Special ColorTable Entries:
Index | Description | Default Value |
00h | ColorBackground (Transparent) | Green(00h,FFh,00h,00h) |
01h | ColorItemFrame | Cyan(00h,FFh,FFh,00h) |
SequenceElement:
Offset | Size | Description |
0000h | 0002h | FrameIndex |
FrameDataElement:
Offset | Size | Description |
0000h | 0001h | ColorTableIndex |
Transparent Pixels in FrameData are RLE Compressed:
00 (StartByte) XX (Number Of Transparent Pixels+1)
<FrameDataElement> ::= <Pixel> | <RLEPixel>;
<Pixel> ::= 01h..FFh;
<RLEPixel> ::= 00h <TransparentPixelCount>;
<TransparentPixelCount> ::= 00h..FFh;