r5567 - in trunk/data: . qcsrc/client qcsrc/menu/nexuiz scripts

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Jan 16 05:45:03 EST 2009


Author: div0
Date: 2009-01-16 05:45:00 -0500 (Fri, 16 Jan 2009)
New Revision: 5567

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/client/View.qc
   trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c
   trunk/data/scripts/entities.def
Log:
allow overriding the crosshair color, and scaling alpha and size for the weapon specific CHs


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-01-16 10:24:20 UTC (rev 5566)
+++ trunk/data/defaultNexuiz.cfg	2009-01-16 10:45:00 UTC (rev 5567)
@@ -85,6 +85,7 @@
 _cl_playerskin 0
 crosshair 5
 seta crosshair_per_weapon 0
+seta crosshair_color_override 0 // when 1, crosshair_color_* overrides the per-weapon color
 seta crosshair_laser 15
 seta crosshair_laser_color_red 1
 seta crosshair_laser_color_green 0.65

Modified: trunk/data/qcsrc/client/View.qc
===================================================================
--- trunk/data/qcsrc/client/View.qc	2009-01-16 10:24:20 UTC (rev 5566)
+++ trunk/data/qcsrc/client/View.qc	2009-01-16 10:45:00 UTC (rev 5567)
@@ -446,24 +446,39 @@
 		float wcross_alpha, wcross_style;
 		vector wcross_color, wcross_size;
 		string wcross_name;
+		float wcross_sizefloat;
+
+		wcross_style = cvar("crosshair");
+		wcross_color_x = cvar("crosshair_color_red");
+		wcross_color_y = cvar("crosshair_color_green");
+		wcross_color_z = cvar("crosshair_color_blue");
+		wcross_alpha = cvar("crosshair_color_alpha");
+		wcross_sizefloat = cvar("crosshair_size");
+
 		if (cvar("crosshair_per_weapon")) {
 			e = get_weaponinfo(activeweapon);
-			if (e && e.netname)
+			if (e && e.netname != "")
+			{
 				wcross_wep = strcat("_", e.netname);
+
+				wcross_style = cvar(strcat("crosshair", wcross_wep));
+
+				if(!cvar("crosshair_color_override"))
+				{
+					wcross_color_x = cvar(strcat("crosshair", wcross_wep, "_color_red"));
+					wcross_color_y = cvar(strcat("crosshair", wcross_wep, "_color_green"));
+					wcross_color_z = cvar(strcat("crosshair", wcross_wep, "_color_blue"));
+				}
+
+				wcross_alpha *= cvar(strcat("crosshair", wcross_wep, "_color_alpha"));
+
+				wcross_sizefloat *= cvar(strcat("crosshair", wcross_wep, "_size"));
+			}
 		}
 		
-
-		wcross_style = cvar(strcat("crosshair", wcross_wep));
-		wcross_name = strcat("gfx/crosshair", ftos(wcross_style));
-		
-		wcross_color_x = cvar(strcat("crosshair", wcross_wep, "_color_red"));
-		wcross_color_y = cvar(strcat("crosshair", wcross_wep, "_color_green"));
-		wcross_color_z = cvar(strcat("crosshair", wcross_wep, "_color_blue"));
-		wcross_alpha = cvar(strcat("crosshair", wcross_wep, "_color_alpha"));
-
 		wcross_size = drawgetimagesize(wcross_name);
-		wcross_size_x *= cvar(strcat("crosshair", wcross_wep, "_size"));
-		wcross_size_y *= cvar(strcat("crosshair", wcross_wep, "_size"));
+		wcross_size_x *= wcross_sizefloat;
+		wcross_size_y *= wcross_sizefloat;
 
 		drawpic('0.5 0 0' * (vid_conwidth - wcross_size_x) + '0 0.5 0' * (vid_conheight - wcross_size_y), strcat("gfx/crosshair", ftos(wcross_style)), wcross_size, wcross_color, wcross_alpha, DRAWFLAG_NORMAL);
 	}

Modified: trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c	2009-01-16 10:24:20 UTC (rev 5566)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c	2009-01-16 10:45:00 UTC (rev 5567)
@@ -93,8 +93,11 @@
 			e0.allowCut = 1;
 	me.TR(me);
 	me.TR(me);
-		me.TD(me, 1, 2.8, e = makeNexuizCheckBox(0, "crosshair_per_weapon", "Per weapon crosshairs"));
+		me.TD(me, 1, 3, e = makeNexuizCheckBox(0, "crosshair_per_weapon", "Per weapon crosshairs"));
 	me.TR(me);
+		me.TD(me, 1, 3, e = makeNexuizCheckBox(1, "crosshair_color_override", "Per weapon crosshair colors"));
+		setDependent(e, "crosshair_per_weapon", 1, 1);
+	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair:"));
 		for(i = 1; i <= 10; ++i) {
 			me.TDNoMargin(me, 1, 2 / 10, e = makeNexuizCrosshairButton(3, i), '0 0 0');
@@ -109,23 +112,21 @@
 	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Size:"));
 		me.TD(me, 1, 2, e = makeNexuizSlider(0.40, 2, 0.05, "crosshair_size"));
-		setDependent(e, "crosshair_per_weapon", 0, 0);
 	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Alpha:"));
 		me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_alpha"));
-		setDependent(e, "crosshair_per_weapon", 0, 0);
 	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Red:"));
 		me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_red"));
-		setDependent(e, "crosshair_per_weapon", 0, 0);
+		setDependentOR(e, "crosshair_per_weapon", 0, 0, "crosshair_color_override", 1, 1);
 	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Green:"));
 		me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_green"));
-		setDependent(e, "crosshair_per_weapon", 0, 0);
+		setDependentOR(e, "crosshair_per_weapon", 0, 0, "crosshair_color_override", 1, 1);
 	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Blue:"));
 		me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_blue"));
-		setDependent(e, "crosshair_per_weapon", 0, 0);
+		setDependentOR(e, "crosshair_per_weapon", 0, 0, "crosshair_color_override", 1, 1);
 	me.TR(me);
 	/*
 	 * not supported by the current csqc code

Modified: trunk/data/scripts/entities.def
===================================================================
--- trunk/data/scripts/entities.def	2009-01-16 10:24:20 UTC (rev 5566)
+++ trunk/data/scripts/entities.def	2009-01-16 10:45:00 UTC (rev 5567)
@@ -697,6 +697,7 @@
 target: target to activate when a teleporter targeting this is used
 angle: direction in which player will look when teleported, OR use
 angles: pitch and yaw when coming out of the teleporter (also specifies the direction the player will aim when coming out)
+cnt: weight for random selection, in case a teleporter points at multiple misc_teleporter_dest
 */
 
 /*QUAKED onslaught_controlpoint (0 .5 .8) (-32 -32 0) (32 32 128) 
@@ -914,7 +915,7 @@
 Touching this will teleport players to the location of the targeted misc_teleporter_dest entity.
 Note that in Nexuiz, teleporters preserve momentum of the player using them.
 -------- KEYS --------
-target: this must point to a misc_teleporter_dest entity.
+target: this must point to a misc_teleporter_dest entity. If it points to more than one, a destination is randomly selected on teleport.
 */
 
 /*QUAKED weapon_crylink (1 0 .5) (-30 -30 0) (30 30 32) FLOATING




More information about the nexuiz-commits mailing list