This implementation supports:
* Encoding in column- or row-major order (based on a very rough
heuristic).
* Preserving the colours of transparent pixels.
* Cutting off the borders of a transparent frame (if there is no colour
to preserve).
Signed-off-by: Graham <gpe@openrs2.org>
It's basically a simplified MIDI file (lacks support for SMPTE and most
meta/system messages) encoded in a smarter way.
This implementation can decode anything in the 550 cache, convert it to
MIDI format and then re-encode it bit-for-bit identically to the
original.
Signed-off-by: Graham <gpe@openrs2.org>