commit ad3e1a25f971bea771960bb9efee75a277e56e2c
Author: James Haley <haleyjd@hotmail.com>
AuthorDate: Mon Dec 15 10:47:07 2014 -0600
Commit: James Haley <haleyjd@hotmail.com>
CommitDate: Mon Dec 15 10:47:07 2014 -0600
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.
---
src/strife/r_things.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
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));