diff options
author | James Haley | 2014-12-15 10:47:07 -0600 |
---|---|---|
committer | James Haley | 2014-12-15 10:47:07 -0600 |
commit | ad3e1a25f971bea771960bb9efee75a277e56e2c (patch) | |
tree | b80b2bc6d93a70500e511991e04f2c92549caee2 /src | |
parent | 275671aaafbda33fe4ea0f01e4f05cdf1c148d33 (diff) | |
download | chocolate-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.
Diffstat (limited to 'src')
-rw-r--r-- | src/strife/r_things.c | 12 |
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)); |