added function to create blend tables
This commit is contained in:
parent
a13e9cb4af
commit
230a4aefcc
21
2d/palette.c
21
2d/palette.c
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: palette.c,v 1.10 2003-06-10 17:50:50 btb Exp $ */
|
/* $Id: palette.c,v 1.11 2004-05-12 22:06:02 btb Exp $ */
|
||||||
/*
|
/*
|
||||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||||
|
@ -402,3 +402,22 @@ void gr_make_cthru_table(ubyte * table, ubyte r, ubyte g, ubyte b )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void gr_make_blend_table(ubyte *blend_table, ubyte r, ubyte g, ubyte b)
|
||||||
|
{
|
||||||
|
int i, j;
|
||||||
|
float alpha;
|
||||||
|
ubyte r1, g1, b1;
|
||||||
|
|
||||||
|
for (j = 0; j < GR_FADE_LEVELS; j++)
|
||||||
|
{
|
||||||
|
alpha = 1.0 - (float)j / ((float)GR_FADE_LEVELS - 1);
|
||||||
|
for (i = 0; i < 255; i++)
|
||||||
|
{
|
||||||
|
r1 = (ubyte)((1.0 - alpha) * (float)gr_palette[i * 3 + 0] + (alpha * (float)r));
|
||||||
|
g1 = (ubyte)((1.0 - alpha) * (float)gr_palette[i * 3 + 1] + (alpha * (float)g));
|
||||||
|
b1 = (ubyte)((1.0 - alpha) * (float)gr_palette[i * 3 + 2] + (alpha * (float)b));
|
||||||
|
blend_table[i + j * 256] = gr_find_closest_color(r1, g1, b1);
|
||||||
|
}
|
||||||
|
blend_table[i + j * 256] = 255; // leave white alone
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
2004-05-12 Bradley Bell <btb@icculus.org>
|
2004-05-12 Bradley Bell <btb@icculus.org>
|
||||||
|
|
||||||
|
* 2d/palette.c, include/palette.h: added function to create blend
|
||||||
|
tables
|
||||||
|
|
||||||
* maths/rand.c, maths/tables.c, maths/vecmat.c: formatting
|
* maths/rand.c, maths/tables.c, maths/vecmat.c: formatting
|
||||||
|
|
||||||
2004-05-11 Bradley Bell <btb@icculus.org>
|
2004-05-11 Bradley Bell <btb@icculus.org>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: palette.h,v 1.3 2002-10-11 03:37:58 btb Exp $ */
|
/* $Id: palette.h,v 1.4 2004-05-12 22:06:02 btb Exp $ */
|
||||||
/*
|
/*
|
||||||
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
|
||||||
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
|
||||||
|
@ -67,6 +67,7 @@ extern int gr_palette_fade_out(ubyte *pal, int nsteps, int allow_keys );
|
||||||
extern int gr_palette_fade_in(ubyte *pal,int nsteps, int allow_keys );
|
extern int gr_palette_fade_in(ubyte *pal,int nsteps, int allow_keys );
|
||||||
extern void gr_palette_load( ubyte * pal );
|
extern void gr_palette_load( ubyte * pal );
|
||||||
extern void gr_make_cthru_table(ubyte * table, ubyte r, ubyte g, ubyte b );
|
extern void gr_make_cthru_table(ubyte * table, ubyte r, ubyte g, ubyte b );
|
||||||
|
extern void gr_make_blend_table(ubyte *blend_table, ubyte r, ubyte g, ubyte b);
|
||||||
extern int gr_find_closest_color_current( int r, int g, int b );
|
extern int gr_find_closest_color_current( int r, int g, int b );
|
||||||
extern void gr_palette_read(ubyte * palette);
|
extern void gr_palette_read(ubyte * palette);
|
||||||
extern void init_computed_colors(void);
|
extern void init_computed_colors(void);
|
||||||
|
|
Loading…
Reference in a new issue