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


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


       #include <allegro.h>

       void fixup_datafile(DATAFILE *data);


       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.


       set_gfx_mode(3alleg4), set_color_conversion(3alleg4)