mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'shadows-gammaless' into 'master'
Shadows Gammaless See merge request KartKrew/Kart!775
This commit is contained in:
commit
340d3d53fb
2 changed files with 11 additions and 15 deletions
24
src/r_draw.c
24
src/r_draw.c
|
|
@ -197,6 +197,9 @@ CV_PossibleValue_t Color_cons_t[MAXSKINCOLORS+1];
|
|||
|
||||
#define TRANSTAB_AMTMUL10 (255.0f / 10.0f)
|
||||
|
||||
static void R_GenerateBlendTables(void);
|
||||
static void R_GenerateTranslucencyTable(UINT8 *table, RGBA_t* sourcepal, int style, UINT8 blendamt);
|
||||
|
||||
static void R_AllocateBlendTables(void)
|
||||
{
|
||||
INT32 i;
|
||||
|
|
@ -259,15 +262,15 @@ void R_GenerateBlendTables(void)
|
|||
const size_t offs = (0x10000 * i);
|
||||
const UINT8 alpha = (TRANSTAB_AMTMUL10 * ((float)(10-i)));
|
||||
|
||||
R_GenerateTranslucencyTable(blendtables[blendtab_add] + offs, AST_ADD, alpha);
|
||||
R_GenerateTranslucencyTable(blendtables[blendtab_subtract] + offs, AST_SUBTRACT, alpha);
|
||||
R_GenerateTranslucencyTable(blendtables[blendtab_reversesubtract] + offs, AST_REVERSESUBTRACT, alpha);
|
||||
R_GenerateTranslucencyTable(blendtables[blendtab_add] + offs, pGammaCorrectedPalette, AST_ADD, alpha);
|
||||
R_GenerateTranslucencyTable(blendtables[blendtab_subtract] + offs, pMasterPalette, AST_SUBTRACT, alpha); // intentionally uses pMasterPalette
|
||||
R_GenerateTranslucencyTable(blendtables[blendtab_reversesubtract] + offs, pGammaCorrectedPalette, AST_REVERSESUBTRACT, alpha);
|
||||
}
|
||||
|
||||
R_GenerateTranslucencyTable(blendtables[blendtab_modulate], AST_MODULATE, 0);
|
||||
R_GenerateTranslucencyTable(blendtables[blendtab_modulate], pGammaCorrectedPalette, AST_MODULATE, 0);
|
||||
}
|
||||
|
||||
void R_GenerateTranslucencyTable(UINT8 *table, int style, UINT8 blendamt)
|
||||
void R_GenerateTranslucencyTable(UINT8 *table, RGBA_t* sourcepal, int style, UINT8 blendamt)
|
||||
{
|
||||
INT16 bg, fg;
|
||||
RGBA_t backrgba, frontrgba, result;
|
||||
|
|
@ -277,18 +280,13 @@ void R_GenerateTranslucencyTable(UINT8 *table, int style, UINT8 blendamt)
|
|||
|
||||
for (bg = 0; bg <= 0xFF; bg++)
|
||||
{
|
||||
backrgba = pGammaCorrectedPalette[bg];
|
||||
backrgba = sourcepal[bg];
|
||||
for (fg = 0; fg <= 0xFF; fg++)
|
||||
{
|
||||
frontrgba = pGammaCorrectedPalette[fg];
|
||||
frontrgba = sourcepal[fg];
|
||||
|
||||
#if 0 // perfect implementation
|
||||
result.rgba = V_GammaEncode(ASTBlendPixel(backrgba, frontrgba, style, blendamt));
|
||||
table[((fg * 0x100) + bg)] = NearestPaletteColor(result.s.red, result.s.green, result.s.blue, pMasterPalette);
|
||||
#else // performance scrabbler
|
||||
result.rgba = ASTBlendPixel(backrgba, frontrgba, style, blendamt);
|
||||
table[((fg * 0x100) + bg)] = NearestPaletteColor(result.s.red, result.s.green, result.s.blue, pGammaCorrectedPalette);
|
||||
#endif
|
||||
table[((fg * 0x100) + bg)] = NearestPaletteColor(result.s.red, result.s.green, result.s.blue, sourcepal);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,8 +149,6 @@ enum
|
|||
extern UINT8 *blendtables[NUMBLENDMAPS];
|
||||
|
||||
void R_InitTranslucencyTables(void);
|
||||
void R_GenerateBlendTables(void);
|
||||
void R_GenerateTranslucencyTable(UINT8 *table, int style, UINT8 blendamt);
|
||||
|
||||
UINT8 *R_GetTranslucencyTable(INT32 alphalevel);
|
||||
UINT8 *R_GetBlendTable(int style, INT32 alphalevel);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue