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;