Add FOF flag for splat flat rendering

This commit is contained in:
MascaraSnake 2020-06-12 08:27:10 +02:00
parent a79862285e
commit 8dd3c78b05
5 changed files with 6 additions and 1 deletions

View file

@ -2186,6 +2186,7 @@ udmf
134217728 = "Ripple effect";
268435456 = "Don't copy light level";
536870912 = "Bouncy";
1073741824 = "Cut cyan flat pixels";
}
}
}

View file

@ -9820,6 +9820,7 @@ struct {
{"FF_RIPPLE",FF_RIPPLE}, ///< Ripple the flats
{"FF_COLORMAPONLY",FF_COLORMAPONLY}, ///< Only copy the colormap, not the lightlevel
{"FF_BOUNCY",FF_BOUNCY}, ///< Bounces players
{"FF_SPLAT",FF_SPLAT}, ///< Use splat flat renderer (treat cyan pixels as invisible)
// FOF special flags
{"FS_PUSHABLES",FS_PUSHABLES},

View file

@ -5697,6 +5697,8 @@ static ffloor_t *P_AddFakeFloor(sector_t *sec, sector_t *sec2, line_t *master, I
if (sec2->hasslope)
sec->hasslope = true;
if (!udmf && master->flags & ML_EFFECT6)
fflr->flags |= FF_SPLAT; //TODO: Temporary
fflr->spawnflags = fflr->flags = flags;
fflr->master = master;
fflr->norender = INFTICS;

View file

@ -147,6 +147,7 @@ typedef enum
FF_RIPPLE = 0x8000000, ///< Ripple the flats
FF_COLORMAPONLY = 0x10000000, ///< Only copy the colormap, not the lightlevel
FF_BOUNCY = 0x20000000, ///< Bounces players
FF_SPLAT = 0x40000000, ///< Use splat flat renderer (treat cyan pixels as invisible)
} ffloortype_e;
typedef enum

View file

@ -984,7 +984,7 @@ void R_DrawSinglePlane(visplane_t *pl)
if (pl->ffloor->flags & FF_TRANSLUCENT)
{
spanfunctype = (pl->ffloor->master->flags & ML_EFFECT6) ? SPANDRAWFUNC_TRANSSPLAT : SPANDRAWFUNC_TRANS;
spanfunctype = (pl->ffloor->flags & FF_SPLAT) ? SPANDRAWFUNC_TRANSSPLAT : SPANDRAWFUNC_TRANS;
// Hacked up support for alpha value in software mode Tails 09-24-2002
if (pl->ffloor->alpha < 12)