Add RF_HIDEINSKYBOX, stop rendering object in skybox

This commit is contained in:
James R 2024-01-09 22:04:58 -08:00 committed by NepDisk
parent ff07fcf232
commit dc25bafd27
3 changed files with 8 additions and 0 deletions

View file

@ -6196,6 +6196,7 @@ struct int_const_s const INT_CONST[] = {
{"RF_SHADOWEFFECTS",RF_SHADOWEFFECTS},
{"RF_DROPSHADOW",RF_DROPSHADOW},
{"RF_ABSOLUTELIGHTLEVEL",RF_ABSOLUTELIGHTLEVEL},
{"RF_HIDEINSKYBOX",RF_HIDEINSKYBOX},
{"RF_DONTDRAW",RF_DONTDRAW},
{"RF_DONTDRAWP1",RF_DONTDRAWP1},
{"RF_DONTDRAWP2",RF_DONTDRAWP2},

View file

@ -944,6 +944,7 @@ typedef enum
RF_DROPSHADOW = (RF_SHADOWDRAW | RF_SHADOWEFFECTS | RF_FULLDARK),
RF_ABSOLUTELIGHTLEVEL = 0x00010000, // mobj_t.lightlevel is absolute instead of relative
RF_HIDEINSKYBOX = 0x00020000, // do not render in skybox
RF_DONTDRAW = 0x00F00000, // --Don't generate a vissprite
RF_DONTDRAWP1 = 0x00100000, // No P1

View file

@ -2660,6 +2660,12 @@ void R_AddSprites(sector_t *sec, INT32 lightlevel)
limit_dist = (fixed_t)(cv_drawdist.value) * mapobjectscale;
for (thing = sec->thinglist; thing; thing = thing->snext)
{
// do not render in skybox
if ((thing->renderflags & RF_HIDEINSKYBOX) /*&& portalskipprecipmobjs*/)
{
continue;
}
if (R_ThingWithinDist(thing, limit_dist))
{
const INT32 oldobjectsdrawn = objectsdrawn;