Provided by: allegro4-doc_4.4.3.1-4.1build3_all bug

NAME

       create_color_table  -  Fills  a  color  mapping  table  for  customised effects. Allegro game programming
       library.

SYNOPSIS

       #include <allegro.h>

       void create_color_table(COLOR_MAP *table, const PALETTE pal, void (*blend)(PALETTE pal, int x, int y, RGB
       *rgb), void (*callback)(int pos));

DESCRIPTION

       Fills  the specified color mapping table with lookup data for doing customised effects with the specified
       palette, calling the blend function to determine the results of each color combination.

       Your blend routine will be passed a pointer to the palette and the two indices of the colors which are to
       be  combined,  and  should fill in the RGB structure with the desired result in 0-63 format. Allegro will
       then search the palette for the closest match to the RGB color that you requested, so it  doesn't  matter
       if the palette has no exact match for this color.

       If the callback function is not NULL, it will be called 256 times during the calculation, allowing you to
       display a progress indicator. Example:

          COLOR_MAP greyscale_table;
          ...
          void return_grey_color(const PALETTE pal,
                                 int x, int y, RGB *rgb)
          {
             ...
          }
          ...
             /* Build a color lookup table for greyscale effect. */
             create_color_table(&greyscale_table, pal,
                                return_grey_color, NULL);

SEE ALSO

       color_map(3alleg4),               create_light_table(3alleg4),               create_trans_table(3alleg4),
       create_blender_table(3alleg4),            draw_trans_sprite(3alleg4),           draw_lit_sprite(3alleg4),
       draw_gouraud_sprite(3alleg4), rgb_map(3alleg4), excolmap(3alleg4)