Isle
Loading...
Searching...
No Matches
flic.h File Reference
#include "decomp.h"
#include <windows.h>
Include dependency graph for flic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FLIC_CHUNK
 [AI] Represents a generic chunk header in a FLIC animation file. More...
 
struct  FLIC_HEADER
 [AI] Structure for the main header of a FLIC animation file. More...
 
struct  FLIC_FRAME
 [AI] Structure describing the header of a FLIC animation frame, used to organize frame subchunks and per-frame metadata. More...
 

Enumerations

enum  FLI_CHUNK_TYPE {
  FLI_CHUNK_COLOR256 = 4 , FLI_CHUNK_SS2 = 7 , FLI_CHUNK_COLOR64 = 11 , FLI_CHUNK_LC = 12 ,
  FLI_CHUNK_BLACK = 13 , FLI_CHUNK_BRUN = 15 , FLI_CHUNK_COPY = 16 , FLI_CHUNK_PSTAMP = 18 ,
  FLI_CHUNK_FRAME = 0xf1fa
}
 [AI] Enumerates the chunk types used in the FLIC animation file format. More...
 

Functions

void DecodeFLCFrame (LPBITMAPINFOHEADER p_bitmapHeader, BYTE *p_pixelData, FLIC_HEADER *p_flcHeader, FLIC_FRAME *p_flcFrame, BYTE *p_decodedColorMap)
 [AI] Decodes a single FLIC (FLI/FLC) animation frame and updates the pixel data and palette. More...
 

Enumeration Type Documentation

◆ FLI_CHUNK_TYPE

[AI] Enumerates the chunk types used in the FLIC animation file format.

These chunk types define the encoding, compression, and image/palette data present in a FLIC stream, as per the Autodesk FLIC file specification.

[AI] FLIC animation files (FLC/FLI) use different chunk types to store animation frames, palette data, and compress pixel data. Each chunk specifies how its contained data should be interpreted to reconstruct or update an animation frame.

Enumerator
FLI_CHUNK_COLOR256 

256-level color palette info. Updates the color lookup table with 256 entries. [AI]

FLI_CHUNK_SS2 

Word-oriented delta compression. Efficient for lines with word-aligned runs or minimal pixel changes. [AI].

FLI_CHUNK_COLOR64 

64-level color palette info. Updates only 64 palette entries. [AI]

FLI_CHUNK_LC 

Byte-oriented delta compression. Encodes lines with byte-level difference encoding. [AI].

FLI_CHUNK_BLACK 

Entire frame is filled with color index 0 (black). [AI].

FLI_CHUNK_BRUN 

Byte run-length compression. Lossless RLE for frame data. [AI].

FLI_CHUNK_COPY 

No compression; raw pixel data for the frame. [AI].

FLI_CHUNK_PSTAMP 

Postage stamp sized image for previews/thumbnails. [AI].

FLI_CHUNK_FRAME 

Marks the start of a FLIC animation frame. [AI].

Definition at line 13 of file flic.h.

Function Documentation

◆ DecodeFLCFrame()

void DecodeFLCFrame ( LPBITMAPINFOHEADER  p_bitmapHeader,
BYTE *  p_pixelData,
FLIC_HEADER p_flcHeader,
FLIC_FRAME p_flcFrame,
BYTE *  p_decodedColorMap 
)

[AI] Decodes a single FLIC (FLI/FLC) animation frame and updates the pixel data and palette.

[AI] Reads the frame, applies decompression and color/palette updates, and writes the updated result into the destination bitmap.

Parameters
p_bitmapHeader[AI] Pointer to the Windows DIB BITMAPINFOHEADER structure describing the destination bitmap. Must match the dimensions of the FLIC data.
p_pixelData[AI] Pointer to the raw pixel data buffer where decoded image output will be written.
p_flcHeader[AI] Pointer to the global FLIC_HEADER for this animation.
p_flcFrame[AI] Pointer to the frame header (FLIC_FRAME) describing this animation frame.
p_decodedColorMap[AI] Output flag, set to TRUE if this frame updates the color palette, FALSE otherwise. Used to signal palette changes.

Definition at line 457 of file flic.cpp.