mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Refactor R_SpriteIsFlashing into R_ThingIsFlashing
Checks for boss fret AND hitlag.
This commit is contained in:
parent
93bd404072
commit
fbe3106890
2 changed files with 27 additions and 8 deletions
|
|
@ -757,17 +757,32 @@ void R_DrawFlippedMaskedColumn(column_t *column, column_t *brightmap)
|
||||||
dc_texturemid = basetexturemid;
|
dc_texturemid = basetexturemid;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean R_SpriteIsFlashing(vissprite_t *vis)
|
static boolean hitlag_is_flashing(mobj_t *thing)
|
||||||
{
|
{
|
||||||
return (!(vis->cut & SC_PRECIP)
|
return
|
||||||
&& (vis->mobj->flags & (MF_ENEMY|MF_BOSS))
|
(thing->hitlag > 0) &&
|
||||||
&& (vis->mobj->flags2 & MF2_FRET)
|
(thing->eflags & (MFE_DAMAGEHITLAG));
|
||||||
&& !(vis->mobj->flags & MF_GRENADEBOUNCE));
|
}
|
||||||
|
|
||||||
|
static boolean baddie_is_flashing(mobj_t *thing)
|
||||||
|
{
|
||||||
|
return
|
||||||
|
(thing->flags & (MF_ENEMY|MF_BOSS)) &&
|
||||||
|
(thing->flags2 & (MF2_FRET)) &&
|
||||||
|
!(thing->flags & MF_GRENADEBOUNCE);
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean R_ThingIsFlashing(mobj_t *thing)
|
||||||
|
{
|
||||||
|
return
|
||||||
|
hitlag_is_flashing(thing) ||
|
||||||
|
baddie_is_flashing(thing);
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT8 *R_GetSpriteTranslation(vissprite_t *vis)
|
UINT8 *R_GetSpriteTranslation(vissprite_t *vis)
|
||||||
{
|
{
|
||||||
if ((vis->mobj->hitlag > 0 && (vis->mobj->eflags & MFE_DAMAGEHITLAG)) || R_SpriteIsFlashing(vis))
|
if (!(vis->cut & SC_PRECIP) &&
|
||||||
|
R_ThingIsFlashing(vis->mobj))
|
||||||
{
|
{
|
||||||
return R_GetTranslationColormap(TC_HITLAG, 0, GTC_CACHE);
|
return R_GetTranslationColormap(TC_HITLAG, 0, GTC_CACHE);
|
||||||
}
|
}
|
||||||
|
|
@ -845,8 +860,11 @@ static void R_DrawVisSprite(vissprite_t *vis)
|
||||||
R_SetColumnFunc(COLDRAWFUNC_DROPSHADOW, false);
|
R_SetColumnFunc(COLDRAWFUNC_DROPSHADOW, false);
|
||||||
dc_transmap = vis->transmap;
|
dc_transmap = vis->transmap;
|
||||||
}
|
}
|
||||||
else if (R_SpriteIsFlashing(vis)) // Bosses "flash"
|
else if (!(vis->cut & SC_PRECIP) &&
|
||||||
|
R_ThingIsFlashing(vis->mobj)) // Bosses "flash"
|
||||||
|
{
|
||||||
R_SetColumnFunc(COLDRAWFUNC_TRANS, false); // translate certain pixels to white
|
R_SetColumnFunc(COLDRAWFUNC_TRANS, false); // translate certain pixels to white
|
||||||
|
}
|
||||||
else if (vis->mobj->color && vis->transmap) // Color mapping
|
else if (vis->mobj->color && vis->transmap) // Color mapping
|
||||||
{
|
{
|
||||||
R_SetColumnFunc(COLDRAWFUNC_TRANSTRANS, false);
|
R_SetColumnFunc(COLDRAWFUNC_TRANSTRANS, false);
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,8 @@ boolean R_ThingIsFullBright (mobj_t *thing);
|
||||||
boolean R_ThingIsSemiBright (mobj_t *thing);
|
boolean R_ThingIsSemiBright (mobj_t *thing);
|
||||||
boolean R_ThingIsFullDark (mobj_t *thing);
|
boolean R_ThingIsFullDark (mobj_t *thing);
|
||||||
|
|
||||||
|
boolean R_ThingIsFlashing(mobj_t *thing);
|
||||||
|
|
||||||
// --------------
|
// --------------
|
||||||
// MASKED DRAWING
|
// MASKED DRAWING
|
||||||
// --------------
|
// --------------
|
||||||
|
|
@ -211,7 +213,6 @@ extern UINT32 visspritecount;
|
||||||
void R_ClipSprites(drawseg_t* dsstart, portal_t* portal);
|
void R_ClipSprites(drawseg_t* dsstart, portal_t* portal);
|
||||||
void R_ClipVisSprite(vissprite_t *spr, INT32 x1, INT32 x2, drawseg_t* dsstart, portal_t* portal);
|
void R_ClipVisSprite(vissprite_t *spr, INT32 x1, INT32 x2, drawseg_t* dsstart, portal_t* portal);
|
||||||
|
|
||||||
boolean R_SpriteIsFlashing(vissprite_t *vis);
|
|
||||||
UINT8 *R_GetSpriteTranslation(vissprite_t *vis);
|
UINT8 *R_GetSpriteTranslation(vissprite_t *vis);
|
||||||
|
|
||||||
// ----------
|
// ----------
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue