summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Haley2014-12-15 10:47:07 -0600
committerJames Haley2014-12-15 10:47:07 -0600
commitad3e1a25f971bea771960bb9efee75a277e56e2c (patch)
treeb80b2bc6d93a70500e511991e04f2c92549caee2
parent275671aaafbda33fe4ea0f01e4f05cdf1c148d33 (diff)
downloadchocolate-doom-ad3e1a25f971bea771960bb9efee75a277e56e2c.tar.gz
chocolate-doom-ad3e1a25f971bea771960bb9efee75a277e56e2c.tar.bz2
chocolate-doom-ad3e1a25f971bea771960bb9efee75a277e56e2c.zip
Upstream fix from SVE: MF_MVIS flag
The MVIS flag, if set on an object *without* MF_SHADOW, imparts total invisibility. This is the intended effect on players using double Shadow Armors.
-rw-r--r--src/strife/r_things.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/strife/r_things.c b/src/strife/r_things.c
index 23089985..2acb238c 100644
--- a/src/strife/r_things.c
+++ b/src/strife/r_things.c
@@ -445,7 +445,17 @@ R_DrawVisSprite
dc_translation = translationtables - 256 + (translation >> (MF_TRANSSHIFT - 8));
}
}
- else if (translation) // villsa [STRIFE] new translation tables
+ else if(vis->mobjflags & MF_MVIS)
+ {
+ // haleyjd 20141215: [STRIFE] Objects which are *only* MF_MVIS (players
+ // using double Shadow Armors, in particular) are totally invisible.
+ // Upstreamed after discovered in SVE. Note this causes a
+ // vanilla-accurate glitch with Shadow Acolytes - if they die while
+ // MF_MVIS is set, A_Fall fails to remove it and their corpse will
+ // completely disappear (that's also fixed in SVE, but not here).
+ return;
+ }
+ else if(translation) // villsa [STRIFE] new translation tables
{
colfunc = transcolfunc;
dc_translation = translationtables - 256 + (translation >> (MF_TRANSSHIFT - 8));