r3316 - trunk/data/qcsrc/menu/nexuiz

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Jan 30 13:42:40 EST 2008


Author: div0
Date: 2008-01-30 13:42:40 -0500 (Wed, 30 Jan 2008)
New Revision: 3316

Modified:
   trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer.c
   trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c
   trunk/data/qcsrc/menu/nexuiz/util.qc
   trunk/data/qcsrc/menu/nexuiz/util.qh
Log:
bring back the harsh non-"Player" enforcement


Modified: trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer.c	2008-01-30 16:50:16 UTC (rev 3315)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer.c	2008-01-30 18:42:40 UTC (rev 3316)
@@ -16,10 +16,12 @@
 	mc = makeNexuizTabController(me.rows - 2);
 	me.TR(me);
 		me.TD(me, 1, 1, e = mc.makeTabButton(mc, "Join",  makeNexuizServerListTab()));
+			setDependentStringNotEqual(e, "_cl_name", "Player");
 		me.TD(me, 1, 1, e = mc.makeTabButton(mc, "Player Setup",  makeNexuizPlayerSettingsTab()));
-		if(cvar_string("_cl_name") == "Player")
-			e.onClick(e, e.onClickEntity); // lol animation
+			if(cvar_string("_cl_name") == "Player")
+				e.onClick(e, e.onClickEntity); // lol animation
 		me.TD(me, 1, 1, e = mc.makeTabButton(mc, "Create",  makeNexuizServerCreateTab()));
+			setDependentStringNotEqual(e, "_cl_name", "Player");
 	me.TR(me);
 	me.TR(me);
 		me.TD(me, me.rows - 2, me.columns, mc);

Modified: trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c	2008-01-30 16:50:16 UTC (rev 3315)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c	2008-01-30 18:42:40 UTC (rev 3316)
@@ -1,10 +1,13 @@
 #ifdef INTERFACE
 CLASS(NexuizPlayerSettingsTab) EXTENDS(NexuizTab)
 	METHOD(NexuizPlayerSettingsTab, fill, void(entity))
+	METHOD(NexuizPlayerSettingsTab, draw, void(entity))
 	ATTRIB(NexuizPlayerSettingsTab, title, string, "Player Setup")
 	ATTRIB(NexuizPlayerSettingsTab, intendedWidth, float, 0.9)
 	ATTRIB(NexuizPlayerSettingsTab, rows, float, 22)
 	ATTRIB(NexuizPlayerSettingsTab, columns, float, 6.5)
+	ATTRIB(NexuizPlayerSettingsTab, playerNameLabel, entity, NULL)
+	ATTRIB(NexuizPlayerSettingsTab, playerNameLabelAlpha, float, 0)
 ENDCLASS(NexuizPlayerSettingsTab)
 entity makeNexuizPlayerSettingsTab();
 #endif
@@ -17,13 +20,22 @@
 	me.configureDialog(me);
 	return me;
 }
+void drawNexuizPlayerSettingsTab(entity me)
+{
+	if(cvar_string("_cl_name") == "Player")
+		me.playerNameLabel.alpha = ((mod(time * 2, 2) < 1) ? 1 : 0);
+	else
+		me.playerNameLabel.alpha = me.playerNameLabelAlpha;
+	drawContainer(me);
+}
 void fillNexuizPlayerSettingsTab(entity me)
 {
 	entity e, pms, sl;
 	float i, n;
 
 	me.TR(me);
-		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Player Name:"));
+		me.TD(me, 1, 1, me.playerNameLabel = makeNexuizTextLabel(0, "Player Name:"));
+			me.playerNameLabelAlpha = me.playerNameLabel.alpha;
 		me.TD(me, 1, 2, e = makeNexuizInputBox(1, "_cl_name"));
 			e.forbiddenCharacters = "\r\n\\\""; // don't care, isn't getting saved
 	me.TR(me);

Modified: trunk/data/qcsrc/menu/nexuiz/util.qc
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/util.qc	2008-01-30 16:50:16 UTC (rev 3315)
+++ trunk/data/qcsrc/menu/nexuiz/util.qc	2008-01-30 18:42:40 UTC (rev 3316)
@@ -34,21 +34,35 @@
 .float cvar2Min_setDependent;
 .float cvar2Max_setDependent;
 .float op_setDependent;
+.string cvarString_setDependent;
+.string cvarValue_setDependent;
 void setDependent_Check(entity e)
 {
 	float f;
-	f = cvar(e.cvar_setDependent);
-	if(e.cvarMin_setDependent <= e.cvarMax_setDependent)
-		e.disabled = ((f < e.cvarMin_setDependent) || (f > e.cvarMax_setDependent));
+	string s;
+	if(e.cvarString_setDependent)
+	{
+		s = cvar_string(e.cvarString_setDependent);
+		e.disabled = (cvar_string(e.cvarString_setDependent) == e.cvarValue_setDependent);
+	}
 	else
-		e.disabled = ((f >= e.cvarMax_setDependent) && (f <= e.cvarMin_setDependent));
-	if(e.cvar2_setDependent)
 	{
-		f = cvar(e.cvar2_setDependent);
-		if(e.cvar2Min_setDependent <= e.cvar2Max_setDependent)
-			e.disabled = (e.disabled + ((f < e.cvar2Min_setDependent) || (f > e.cvar2Max_setDependent)) > e.op_setDependent);
-		else
-			e.disabled = (e.disabled + ((f >= e.cvar2Max_setDependent) && (f <= e.cvar2Min_setDependent)) > e.op_setDependent);
+		if(e.cvar_setDependent)
+		{
+			f = cvar(e.cvar_setDependent);
+			if(e.cvarMin_setDependent <= e.cvarMax_setDependent)
+				e.disabled = ((f < e.cvarMin_setDependent) || (f > e.cvarMax_setDependent));
+			else
+				e.disabled = ((f >= e.cvarMax_setDependent) && (f <= e.cvarMin_setDependent));
+		}
+		if(e.cvar2_setDependent)
+		{
+			f = cvar(e.cvar2_setDependent);
+			if(e.cvar2Min_setDependent <= e.cvar2Max_setDependent)
+				e.disabled = (e.disabled + ((f < e.cvar2Min_setDependent) || (f > e.cvar2Max_setDependent)) > e.op_setDependent);
+			else
+				e.disabled = (e.disabled + ((f >= e.cvar2Max_setDependent) && (f <= e.cvar2Min_setDependent)) > e.op_setDependent);
+		}
 	}
 }
 void setDependent_Draw(entity e)
@@ -66,6 +80,16 @@
 	e.draw = setDependent_Draw;
 	setDependent_Check(e);
 }
+void setDependentStringNotEqual(entity e, string theCvarName, string theCvarValue)
+{
+	e.draw_setDependent = e.draw;
+	e.cvarString_setDependent = theCvarName;
+	e.cvarValue_setDependent = theCvarValue;
+	e.cvar_setDependent = string_null;
+	e.cvar2_setDependent = string_null;
+	e.draw = setDependent_Draw;
+	setDependent_Check(e);
+}
 void setDependentAND(entity e, string theCvarName, float theCvarMin, float theCvarMax, string theCvar2Name, float theCvar2Min, float theCvar2Max)
 {
 	e.draw_setDependent = e.draw;

Modified: trunk/data/qcsrc/menu/nexuiz/util.qh
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/util.qh	2008-01-30 16:50:16 UTC (rev 3315)
+++ trunk/data/qcsrc/menu/nexuiz/util.qh	2008-01-30 18:42:40 UTC (rev 3316)
@@ -5,3 +5,4 @@
 void setDependent(entity e, string theCvarName, float theCvarMin, float theCvarMax);
 void setDependentAND(entity e, string theCvarName, float theCvarMin, float theCvarMax, string theCvar2Name, float theCvar2Min, float theCvar2Max);
 void setDependentOR(entity e, string theCvarName, float theCvarMin, float theCvarMax, string theCvar2Name, float theCvar2Min, float theCvar2Max);
+void setDependentStringNotEqual(entity e, string theCvarName, string theCvarValue);




More information about the nexuiz-commits mailing list