Add RF_REDUCEVFX, if reducevfx option is turned on, hide object for everyone except owner

This commit is contained in:
James R 2023-11-13 19:52:20 -08:00
parent 049efe809f
commit 5547ad5966
3 changed files with 5 additions and 0 deletions

View file

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

View file

@ -973,6 +973,7 @@ typedef enum
RF_DROPSHADOW = (RF_SHADOWDRAW | RF_SHADOWEFFECTS | RF_FULLDARK),
RF_ABSOLUTELIGHTLEVEL = 0x00010000, // mobj_t.lightlevel is absolute instead of relative
RF_REDUCEVFX = 0x00020000, // only mobj_t.owner can see this object
RF_DONTDRAW = 0x00F00000, // --Don't generate a vissprite
RF_DONTDRAWP1 = 0x00100000, // No P1

View file

@ -3758,6 +3758,9 @@ boolean R_ThingVisible (mobj_t *thing)
|| (viewssnum == 3 && (thing->renderflags & RF_DONTDRAWP4)))
return false;
if ((thing->renderflags & RF_REDUCEVFX) && cv_reducevfx.value && thing->owner != players[displayplayers[viewssnum]].mo)
return false;
return true;
}