shithub: choc

Download patch

ref: ad3e1a25f971bea771960bb9efee75a277e56e2c
parent: 275671aaafbda33fe4ea0f01e4f05cdf1c148d33
author: James Haley <haleyjd@hotmail.com>
date: Mon Dec 15 05:47:07 EST 2014

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.

--- a/src/strife/r_things.c
+++ b/src/strife/r_things.c
@@ -445,7 +445,17 @@
             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));