home *** CD-ROM | disk | FTP | other *** search
-
- #include "aados.h"
- #include "aafli.h"
-
- Errval fli_read_display_frame(Jfile ff, Vscreen *v, Boolean see_colors)
- {
- Fli_frame fframe;
- Cbuf *cbuf;
-
- if (dos_read(ff, &fframe, (long)sizeof(fframe)) != sizeof(fframe) )
- return(AA_ERR_SHORTREAD);
- if (fframe.type != FLIF_MAGIC)
- return(AA_ERR_BADDATA);
- if ((fframe.size -= sizeof(fframe)) != 0) /* may be an empty frame */
- {
- if ((cbuf = aa_malloc((unsigned)fframe.size)) == NULL)
- {
- char buf[80];
- sprintf(buf, "Can't find %ld bytes", fframe.size);
- return(AA_ERR_NOMEM);
- }
- if (dos_read(ff, cbuf, fframe.size) != fframe.size)
- {
- aa_free(cbuf);
- return(AA_ERR_SHORTREAD);
- }
- fli_uncomp(v, &fframe, cbuf, see_colors);
- aa_free(cbuf);
- }
- return(AA_SUCCESS);
- }
-
- Errval fli_next_frame(Jfile ff)
- {
- return(fli_read_display_frame(ff, &aa_screen, TRUE) );
- }
-
-