oracular (3) load_datafile_callback.3alleg4.gz

Provided by: allegro4-doc_4.4.3.1-5_all bug

NAME

       load_datafile_callback  -  Loads  a  datafile  into  memory,  calling  a  hook  per  object. Allegro game
       programming library.

SYNOPSIS

       #include <allegro.h>

       DATAFILE *load_datafile_callback(const char *filename, void (*callback)(DATAFILE *d));

DESCRIPTION

       Loads a datafile into memory, calling the specified hook function once  for  each  object  in  the  file,
       passing  it  a pointer to the object just read. You can use this to implement very simple loading screens
       where every time the hook is called, the screen is updated to let the user know  your  program  is  still
       loading from disk:

          void load_callback(DATAFILE *dat_obj)
          {
             static const char indicator[] = "-\\|/-.oOXOo.";
             static int current = 0;

             /* Show a different character every time. */
             textprintf_ex(screen, font, 0, 0, makecol(0, 0, 0),
                           makecol(255, 255, 255), "%c Loading %c",
                           indicator[current], indicator[current]);
             /* Increase index and check if we need to reset it. */
             current++;
             if (!indicator[current])
                current = 0;
          }
             ...
             dat = load_datafile_callback("data.dat", load_callback);

RETURN VALUE

       Returns  a pointer to the DATAFILE or NULL on error. Remember to free this DATAFILE later to avoid memory
       leaks.

SEE ALSO

       load_datafile(3alleg4),             unload_datafile(3alleg4),              load_datafile_object(3alleg4),
       set_color_conversion(3alleg4),            fixup_datafile(3alleg4),            packfile_password(3alleg4),
       find_datafile_object(3alleg4), register_datafile_object(3alleg4)