void draw_gouraud_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4);
/* Some one time initialisation code. */
COLOR_MAP global_light_table;
create_light_table(&global_trans_table, my_palette,
0, 0, 0, NULL);
...
if (get_color_depth() == 8)
color_map = &global_light_table;
else
set_trans_blender(0, 0, 0, 128);
/* Enemies are in shadow unless lit by torch. */
draw_gouraud_sprite(buffer, menacing_spy, x, y,
light_strength_on_corner_1,
light_strength_on_corner_2,
light_strength_on_corner_3,
light_strength_on_corner_4);