play_memory_fli - Plays a FLI or FLC animation from memory. Allegro game
programming library.
#include <allegro.h>
int play_memory_fli(const void *fli_data, BITMAP *bmp, int
loop, int (*callback)());
Plays an Autodesk Animator FLI or FLC animation on the specified BITMAP, reading
the data from a copy of the file which is held in memory. You can obtain the
`fli_data' pointer by allocating a block of memory and reading an FLI file
into it, or by importing an FLI into a grabber datafile. If `loop' is not
zero, the player will cycle when it reaches the end of the file, otherwise it
will play through the animation once and then return. Read the beginning of
chapter "FLIC routines" for a description of the callback parameter.
Playing animations from memory is obviously faster than cuing them
directly from disk, and is particularly useful with short, looped FLI's.
Animations can easily get very large, though, so in most cases you will
probably be better just using play_fli(). You can think of this function as
a wrapper on top of open_memory_fli(), next_fli_frame() and close_fli().
Example:
int ret = play_memory_fli(anim_data, screen, 0, NULL);
if (ret == FLI_ERROR)
abort_on_error("Corrupted animation data?");
The FLI player returns FLI_OK if it reached the end of the file, FLI_ERROR if
something went wrong, and the value returned by the callback function if that
was what stopped it.
play_fli(3), install_timer(3), fli_frame(3)