#include <macs2.h>
Classes | |
| struct | FrameInfo |
Public Member Functions | |
| AnimBlobView (const Common::Array< uint8 > &blob) | |
| bool | isValid () const |
| uint16 | sequencePosition () const |
| uint16 | repeatCounter () const |
| uint16 | loopStartPosition () const |
| uint16 | delayCounter () const |
| uint16 | sequenceLength () const |
| uint32 | frameDataOffset () const |
| uint16 | frameCount () const |
| bool | getFrameInfo (uint16 index, FrameInfo &out) const |
Public Attributes | |
| const Common::Array< uint8 > & | _blob |
Read-only structured view over an animation blob's raw byte array.
Blob binary layout (from advanceAnimFrame at 1010:1480): Header (12 bytes): +0x00: uint16 unknown (preserved across save/load) +0x02: uint16 sequencePosition (1-based index into sequence table) +0x04: uint16 repeatCounter +0x06: uint16 loopStartPosition +0x08: uint16 delayCounter +0x0A: uint16 sequenceLengthMinusOne (actual length = value + 1) Sequence table (sequenceLength - 1 bytes at offset 0x0C): Commands: 1=repeat(N), 2=delay(N), 3=jump(pos), >=10: frame index (value-10) Frame data (at offset 0x0B + sequenceLength): uint16 frameCount Per frame: int16 offsetX, int16 offsetY, uint16 unknown, uint16 width, uint16 height, byte[w*h] pixels