r5607 - in trunk/data: . qcsrc/client qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Mon Jan 19 01:17:58 EST 2009


Author: div0
Date: 2009-01-19 01:17:57 -0500 (Mon, 19 Jan 2009)
New Revision: 5607

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/client/gibs.qc
   trunk/data/qcsrc/server/cl_player.qc
Log:
cl_gentle mode (test)


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-01-18 20:38:04 UTC (rev 5606)
+++ trunk/data/defaultNexuiz.cfg	2009-01-19 06:17:57 UTC (rev 5607)
@@ -1424,3 +1424,7 @@
 alias -camera_roll_right "set camera_roll 0"
 alias +camera_roll_left "set camera_roll -1"
 alias -camera_roll_left -camera_roll_right
+
+// "Gentle mode": show no blood
+seta sv_gentle 0 // force gentle mode for everyone, also remove references to acts of killing from the messages
+seta cl_gentle 0 // client side gentle mode (only replaces gibs)

Modified: trunk/data/qcsrc/client/gibs.qc
===================================================================
--- trunk/data/qcsrc/client/gibs.qc	2009-01-18 20:38:04 UTC (rev 5606)
+++ trunk/data/qcsrc/client/gibs.qc	2009-01-19 06:17:57 UTC (rev 5607)
@@ -88,8 +88,9 @@
 	mi = decompressShortVector(ReadShort());
 	ma = decompressShortVector(ReadShort());
 
+	if(cvar("cl_gentle"))
+		type |= 0x80; // set gentle bit
 	isgentle = (type & 0x80 || cvar("cl_gentle"));
-	type = type & 0x7F;
 
 	gibfactor = 1 - cvar("cl_nogibs");
 	if(gibfactor <= 0)
@@ -99,54 +100,65 @@
 
 	if(cvar("ekg"))
 		amount *= 5;
+	
+	self.origin = org; // for the sounds
 
-	if(type == 1) // full gibbage
+	switch(type)
 	{
-		sound (self, CHAN_PAIN, "misc/gib.wav", VOL_BASE, ATTN_NORM);
+		case 0x01:
+			sound (self, CHAN_PAIN, "misc/gib.wav", VOL_BASE, ATTN_NORM);
 
-		if(random() < amount)
-			TossGib("models/gibs/eye.md3", org, vel + randomvec() * 150, 0);
-		te_bloodshower(org + mi, org + ma, 1200, 1000 * amount);
-		if(random() < amount)
-			TossGib("models/gibs/bloodyskull.md3", org, vel + randomvec() * 100, 0);
+			if(random() < amount)
+				TossGib("models/gibs/eye.md3", org, vel + randomvec() * 150, 0);
+			te_bloodshower(org + mi, org + ma, 1200, 1000 * amount);
+			if(random() < amount)
+				TossGib("models/gibs/bloodyskull.md3", org, vel + randomvec() * 100, 0);
 
-		for(c = 0; c < amount; ++c)
-		{
-			randomvalue = amount - c;
-				
-			if(random() < randomvalue)
-				TossGib ("models/gibs/arm.md3", org, vel + randomvec() * (random() * 120 + 90),0);
-			if(random() < randomvalue)
-				TossGib ("models/gibs/arm.md3", org, vel + randomvec() * (random() * 120 + 90),0);
-			if(random() < randomvalue)
-				TossGib ("models/gibs/chest.md3", org + '0 0 -12', vel + randomvec() * (random() * 120 + 80),0);
-			if(random() < randomvalue)
-				TossGib ("models/gibs/smallchest.md3", org, vel + randomvec() * (random() * 120 + 80),0);
-			if(random() < randomvalue)
-				TossGib ("models/gibs/leg1.md3", org + '0 0 -5', vel + randomvec() * (random() * 120 + 85),0);
-			if(random() < randomvalue)
-				TossGib ("models/gibs/leg2.md3", org + '0 0 -9', vel + randomvec() * (random() * 120 + 85),0);
+			for(c = 0; c < amount; ++c)
+			{
+				randomvalue = amount - c;
+					
+				if(random() < randomvalue)
+					TossGib ("models/gibs/arm.md3", org, vel + randomvec() * (random() * 120 + 90),0);
+				if(random() < randomvalue)
+					TossGib ("models/gibs/arm.md3", org, vel + randomvec() * (random() * 120 + 90),0);
+				if(random() < randomvalue)
+					TossGib ("models/gibs/chest.md3", org + '0 0 -12', vel + randomvec() * (random() * 120 + 80),0);
+				if(random() < randomvalue)
+					TossGib ("models/gibs/smallchest.md3", org, vel + randomvec() * (random() * 120 + 80),0);
+				if(random() < randomvalue)
+					TossGib ("models/gibs/leg1.md3", org + '0 0 -5', vel + randomvec() * (random() * 120 + 85),0);
+				if(random() < randomvalue)
+					TossGib ("models/gibs/leg2.md3", org + '0 0 -9', vel + randomvec() * (random() * 120 + 85),0);
 
-			// these splat on impact
-			if(random() < randomvalue)
-				TossGib ("models/gibs/chunk.mdl", org, vel + randomvec() * 450,1);
-			if(random() < randomvalue)
-				TossGib ("models/gibs/chunk.mdl", org, vel + randomvec() * 450,1);
-			if(random() < randomvalue)
-				TossGib ("models/gibs/chunk.mdl", org, vel + randomvec() * 450,1);
-			if(random() < randomvalue)
-				TossGib ("models/gibs/chunk.mdl", org, vel + randomvec() * 450,1);
-		}
+				// these splat on impact
+				if(random() < randomvalue)
+					TossGib ("models/gibs/chunk.mdl", org, vel + randomvec() * 450,1);
+				if(random() < randomvalue)
+					TossGib ("models/gibs/chunk.mdl", org, vel + randomvec() * 450,1);
+				if(random() < randomvalue)
+					TossGib ("models/gibs/chunk.mdl", org, vel + randomvec() * 450,1);
+				if(random() < randomvalue)
+					TossGib ("models/gibs/chunk.mdl", org, vel + randomvec() * 450,1);
+			}
+			break;
+		case 0x02:
+			pointparticles(particleeffectnum("blood"), org, vel, amount);
+			break;
+		case 0x03:
+			if(random() < amount)
+				TossGib ("models/gibs/chunk.mdl", org, vel, 1);
+			break;
+		case 0x81:
+			pointparticles(particleeffectnum("damage_dissolve"), org, vel, amount);
+			break;
+		case 0x82:
+			pointparticles(particleeffectnum("damage_hit"), org, vel, amount);
+			break;
+		case 0x83:
+			// no gibs in gentle mode, sorry
+			break;
 	}
-	else if(type == 2) // just blood
-	{
-		pointparticles(particleeffectnum("blood"), org, vel, amount);
-	}
-	else if(type == 3) // single gib
-	{
-		if(random() < amount)
-			TossGib ("models/gibs/chunk.mdl", org, vel, 1);
-	}
 }
 
 void GibSplash_Precache()

Modified: trunk/data/qcsrc/server/cl_player.qc
===================================================================
--- trunk/data/qcsrc/server/cl_player.qc	2009-01-18 20:38:04 UTC (rev 5606)
+++ trunk/data/qcsrc/server/cl_player.qc	2009-01-19 06:17:57 UTC (rev 5607)
@@ -547,7 +547,6 @@
 		if(sv_gentle > 0) {
 			// remove corpse
 			PlayerCorpseDamage (inflictor, attacker, 100.0, deathtype, hitloc, force);
-			pointparticles(particleeffectnum("damage_dissolve"), self.origin, force, 1);
 		}
 	}
 }




More information about the nexuiz-commits mailing list