create_trans_table - Fills a color mapping table for translucency effects.
Allegro game programming library.
#include <allegro.h>
void create_trans_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 translucency
effects with the specified palette. When combining the colors c1 and c2 with
this table, the result will be a color somewhere between the two. The r, g,
and b parameters specify the solidity of each color component, ranging from 0
(totally transparent) to 255 (totally solid). For 50% solidity, pass 128.
This function treats source color #0 as a special case, leaving
the destination unchanged whenever a zero source pixel is encountered, so
that masked sprites will draw correctly. This function will take advantage
of the global rgb_map 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 trans_table;
...
/* Build a color lookup table for translucent drawing. */
create_trans_table(&trans_table, pal, 128, 128, 128, NULL);
color_map(3), create_light_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), extrans(3)