SAGA/Datafiles/Animation
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
SAGA_ANIMATION_HEADER
Animation resources begin with the following header:
Type | Order | Name | Description |
INT16 | LE | magic | Magic number ( 0x68 ) |
INT16 | LE | animation_w | Logical screen width for animation |
INT16 | LE | animation_h | Logical screen height for animation |
BYTE | - | ? | ? (Appears to always be 0 ) |
BYTE | - | ? | ? (Appears to always be 0 ) |
BYTE | - | frame_count | Number of frames in animation ( sometimes off ) |
BYTE | - | control_code | Control code; 0 = play once, 1 = loop, >1 ? |
BYTE | - | ? | ? ( Varies ) |
BYTE | - | ? | ? ( Varies ) |
The entirety of an animation resource is actually a RLE codestream, but for sake of simplicity the header and individual frame headers are treated here separately.
SAGA_FRAME_HEADER
Immediately following the SAGA_ANIMATION_HEADER is an RLE marker indicating that the first frame header follows after.
Type | Order | Name | Description |
BYTE | - | mark_byte | RLE marker for frame header (0x15) |
Type | Order | Name | Description |
INT16 | BE | x_start_offset | Offset from x_position at which to begin decoding |
BYTE | - | y_start_offset | Offset from y_position at which to begin decoding |
BYTE | - | pad | Structure padding? (Always 0) |
INT16 | BE | x_position | Frame x position on logical screen |
INT16 | BE | y_position | Frame y position on logical screen |
INT16 | BE | width | Frame width |
INT16 | BE | height | Frame height |
The SAGA_FRAME_HEADER structure is unusual in that its members are big endian.
The RLE encoded frame data follows after; followed in turn by additional frames if present. See the ITE_RLE3 compression format.