]> de.git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
added CSHIFT_VCSHIFT blend so v_cshift now affects underwater blending (as well as...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 7 Dec 2003 08:01:01 +0000 (08:01 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 7 Dec 2003 08:01:01 +0000 (08:01 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@3689 d7cf8633-e32d-0410-b094-e92efae38249

client.h
view.c

index c588db9d9c05ae4470b60d66c45a9b7ec2042a70..578cd68443b99772f5172e0fa75b4981d864706a 100644 (file)
--- a/client.h
+++ b/client.h
@@ -231,7 +231,8 @@ typedef struct
 #define        CSHIFT_DAMAGE   1
 #define        CSHIFT_BONUS    2
 #define        CSHIFT_POWERUP  3
-#define        NUM_CSHIFTS             4
+#define        CSHIFT_VCSHIFT  4
+#define        NUM_CSHIFTS             5
 
 #define        NAME_LENGTH     64
 
diff --git a/view.c b/view.c
index edb23b986c18ba4a6387dc6877dd17542ad09696..49879479d0ba4693b0cf765320014cd5e10ed0f2 100644 (file)
--- a/view.c
+++ b/view.c
@@ -450,10 +450,10 @@ void V_CalcViewBlend(void)
                {
                case CONTENTS_EMPTY:
                case CONTENTS_SOLID:
-                       cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = v_cshift.destcolor[0];
-                       cl.cshifts[CSHIFT_CONTENTS].destcolor[1] = v_cshift.destcolor[1];
-                       cl.cshifts[CSHIFT_CONTENTS].destcolor[2] = v_cshift.destcolor[2];
-                       cl.cshifts[CSHIFT_CONTENTS].percent = v_cshift.percent;
+                       cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = 0;
+                       cl.cshifts[CSHIFT_CONTENTS].destcolor[1] = 0;
+                       cl.cshifts[CSHIFT_CONTENTS].destcolor[2] = 0;
+                       cl.cshifts[CSHIFT_CONTENTS].percent = 0;
                        break;
                case CONTENTS_LAVA:
                        cl.cshifts[CSHIFT_CONTENTS].destcolor[0] = 255;
@@ -474,36 +474,44 @@ void V_CalcViewBlend(void)
                        cl.cshifts[CSHIFT_CONTENTS].percent = 128 >> 1;
                }
 
-               if (cl.items & IT_QUAD)
-               {
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
-                       cl.cshifts[CSHIFT_POWERUP].percent = 30;
-               }
-               else if (cl.items & IT_SUIT)
-               {
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 0;
-                       cl.cshifts[CSHIFT_POWERUP].percent = 20;
-               }
-               else if (cl.items & IT_INVISIBILITY)
-               {
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 100;
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 100;
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 100;
-                       cl.cshifts[CSHIFT_POWERUP].percent = 100;
-               }
-               else if (cl.items & IT_INVULNERABILITY)
+               if (gamemode != GAME_TRANSFUSION)
                {
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;
-                       cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 0;
-                       cl.cshifts[CSHIFT_POWERUP].percent = 30;
+                       if (cl.items & IT_QUAD)
+                       {
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 0;
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 255;
+                               cl.cshifts[CSHIFT_POWERUP].percent = 30;
+                       }
+                       else if (cl.items & IT_SUIT)
+                       {
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 0;
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 0;
+                               cl.cshifts[CSHIFT_POWERUP].percent = 20;
+                       }
+                       else if (cl.items & IT_INVISIBILITY)
+                       {
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 100;
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 100;
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 100;
+                               cl.cshifts[CSHIFT_POWERUP].percent = 100;
+                       }
+                       else if (cl.items & IT_INVULNERABILITY)
+                       {
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[0] = 255;
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[1] = 255;
+                               cl.cshifts[CSHIFT_POWERUP].destcolor[2] = 0;
+                               cl.cshifts[CSHIFT_POWERUP].percent = 30;
+                       }
+                       else
+                               cl.cshifts[CSHIFT_POWERUP].percent = 0;
                }
-               else
-                       cl.cshifts[CSHIFT_POWERUP].percent = 0;
+
+               cl.cshifts[CSHIFT_VCSHIFT].destcolor[0] = v_cshift.destcolor[0];
+               cl.cshifts[CSHIFT_VCSHIFT].destcolor[1] = v_cshift.destcolor[1];
+               cl.cshifts[CSHIFT_VCSHIFT].destcolor[2] = v_cshift.destcolor[2];
+               cl.cshifts[CSHIFT_VCSHIFT].percent = v_cshift.percent;
 
                // LordHavoc: fixed V_CalcBlend
                for (j = 0;j < NUM_CSHIFTS;j++)