create_light_table man page

create_light_table — Fills a color mapping table for lighting effects. Allegro game programming library.


#include <allegro.h>

void create_light_table(COLOR_MAP *table, const PALETTE pal, int r, g, b, void (*callback)(int pos));


Fills the specified color mapping table with lookup data for doing  lighting effects with the specified palette. When combining the colors c1  and c2 with this table, c1 is treated as a light level from 0-255. At  light level 255 the table will output color c2 unchanged, at light level  0 it will output the r, g, b value you specify to this function, and at  intermediate light levels it will output a color somewhere between the  two extremes. The r, g, and b values are in the range 0-63.

This function will take advantage of the global rgb_ap variable to speed up color conversions. 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 light_table;
   /* Build a color lookup table for lighting effects. */
   create_light_table(&light_table, pal, 0, 0, 0, NULL);

See Also

color_map(3), create_trans_table(3), create_color_table(3), create_blender_table(3), draw_trans_sprite(3), draw_lit_sprite(3), draw_gouraud_sprite(3), rgb_map(3), ex3d(3), exshade(3), extrans(3)

Referenced By

color_map(3), create_blender_table(3), create_color_table(3), create_trans_table(3), ex3d(3), exshade(3), extrans(3), rgb_map(3).

version 4.4.2 Allegro manual