Provided by: allegro4-doc_4.4.2-10_all bug

NAME

       fixup_datafile - Fixes truecolor images in compiled datafiles. Allegro game programming library.

SYNOPSIS

       #include <allegro.h>

       void fixup_datafile(DATAFILE *data);

DESCRIPTION

       If  you  are  using  compiled  datafiles  (produced  by the dat2s and dat2c utilities) on a platform that
       doesn't support constructors (currently  any  non  GCC-based  platform),  or  if  the  datafiles  contain
       truecolor  images, you must call this function once after your set the video mode that you will be using.
       This will ensure the datafiles are properly initialised in the first case and convert  the  color  values
       into  the  appropriate  format  in  the second case. It handles flipping between RGB and BGR formats, and
       converting between different color depths whenever that can be done without  changing  the  size  of  the
       image  (ie.  changing 15<->16-bit hicolor for both bitmaps and RLE sprites, and 24<->32-bit truecolor for
       RLE sprites).

       Note that you can only call this once and expect it  to  work  correctly,  because  after  the  call  the
       DATAFILE  you  fixed  up  is permanently converted to whatever is the current component ordering for your
       screen mode. If you call fixup_datafile again, the function assumes you have a freshly  loaded  datafile.
       It cannot "undo" the previous conversion.

       If  your  program  supports  changing resolution and/or color depth during runtime, you have two choices:
       either call fixup_datafile() just once and hope that the component ordering and bit depth doesn't  change
       when the screen mode changes (unlikely). Or, you can reload your datafiles when the screen mode changes.

SEE ALSO

       set_gfx_mode(3alleg4), set_color_conversion(3alleg4)