From 5547ad59667870b1d62221f10435a43c36aceded Mon Sep 17 00:00:00 2001 From: James R Date: Mon, 13 Nov 2023 19:52:20 -0800 Subject: [PATCH] Add RF_REDUCEVFX, if reducevfx option is turned on, hide object for everyone except owner --- src/deh_tables.c | 1 + src/r_defs.h | 1 + src/r_things.cpp | 3 +++ 3 files changed, 5 insertions(+) diff --git a/src/deh_tables.c b/src/deh_tables.c index daaa3ec59..460c6b9a6 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -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}, diff --git a/src/r_defs.h b/src/r_defs.h index 8d84fbd6e..33933bed4 100644 --- a/src/r_defs.h +++ b/src/r_defs.h @@ -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 diff --git a/src/r_things.cpp b/src/r_things.cpp index deacfce92..48ea0e571 100644 --- a/src/r_things.cpp +++ b/src/r_things.cpp @@ -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; }