Merge branch 'overtime-in-skybox' into 'master'

Fix Overtime Barrier lasers appearing in skybox

Closes #881

See merge request KartKrew/Kart!1804
This commit is contained in:
Oni 2024-01-13 23:09:06 +00:00
commit 2c7af6e283
4 changed files with 9 additions and 1 deletions

View file

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

View file

@ -642,7 +642,7 @@ static void K_SpawnOvertimeLaser(fixed_t x, fixed_t y, fixed_t scale)
}
mo->angle = R_PointToAngle2(mo->x, mo->y, battleovertime.x, battleovertime.y) + ANGLE_90;
mo->renderflags |= (RF_DONTDRAW & ~(K_GetPlayerDontDrawFlag(player)));
mo->renderflags |= (RF_DONTDRAW & ~(K_GetPlayerDontDrawFlag(player))) | RF_HIDEINSKYBOX;
P_SetScale(mo, scale);

View file

@ -975,6 +975,7 @@ typedef enum
RF_ABSOLUTELIGHTLEVEL = 0x00010000, // mobj_t.lightlevel is absolute instead of relative
RF_REDUCEVFX = 0x00020000, // only mobj_t.owner can see this object
RF_HIDEINSKYBOX = 0x00040000, // do not render in skybox
RF_DONTDRAW = 0x00F00000, // --Don't generate a vissprite
RF_DONTDRAWP1 = 0x00100000, // No P1

View file

@ -2792,6 +2792,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;