r3162 - in trunk/data/qcsrc/menu-div0test: item nexuiz

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Jan 17 05:43:19 EST 2008


Author: div0
Date: 2008-01-17 05:43:18 -0500 (Thu, 17 Jan 2008)
New Revision: 3162

Modified:
   trunk/data/qcsrc/menu-div0test/item/label.c
   trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c
   trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create_mutators.c
Log:
show selected mutators already in creategame dialog


Modified: trunk/data/qcsrc/menu-div0test/item/label.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/item/label.c	2008-01-17 09:16:27 UTC (rev 3161)
+++ trunk/data/qcsrc/menu-div0test/item/label.c	2008-01-17 10:43:18 UTC (rev 3162)
@@ -17,6 +17,7 @@
 	ATTRIB(Label, colorL, vector, '1 1 1')
 	ATTRIB(Label, disabled, float, 0)
 	ATTRIB(Label, disabledAlpha, float, 0.3)
+	ATTRIB(Label, textEntity, entity, NULL)
 ENDCLASS(Label)
 #endif
 
@@ -28,14 +29,14 @@
 void setTextLabel(entity me, string txt)
 {
 	me.text = txt;
-	me.realOrigin_x = me.align * (1 - me.keepspaceLeft - me.keepspaceRight - me.realFontSize_x * draw_TextWidth(me.text, 0)) + me.keepspaceLeft;
+	me.realOrigin_x = me.align * (1 - me.keepspaceLeft - me.keepspaceRight - min(me.realFontSize_x * draw_TextWidth(me.text, 0), (1 - me.keepspaceLeft - me.keepspaceRight))) + me.keepspaceLeft;
 }
 void resizeNotifyLabel(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
 {
 	// absSize_y is height of label
 	me.realFontSize_y = me.fontSize / absSize_y;
 	me.realFontSize_x = me.fontSize / absSize_x;
-	me.realOrigin_x = me.align * (1 - me.keepspaceLeft - me.keepspaceRight - me.realFontSize_x * draw_TextWidth(me.text, 0)) + me.keepspaceLeft;
+	me.realOrigin_x = me.align * (1 - me.keepspaceLeft - me.keepspaceRight - min(me.realFontSize_x * draw_TextWidth(me.text, 0), (1 - me.keepspaceLeft - me.keepspaceRight))) + me.keepspaceLeft;
 	me.realOrigin_y = 0.5 * (1 - me.realFontSize_y);
 }
 void configureLabelLabel(entity me, string txt, float sz, float algn)
@@ -46,15 +47,25 @@
 }
 void drawLabel(entity me)
 {
+	string t;
 	if(me.disabled)
 		draw_alpha *= me.disabledAlpha;
+
+	if(me.textEntity)
+	{
+		t = me.textEntity.toString(me.textEntity);
+		me.realOrigin_x = me.align * (1 - me.keepspaceLeft - me.keepspaceRight - min(me.realFontSize_x * draw_TextWidth(t, 0), (1 - me.keepspaceLeft - me.keepspaceRight))) + me.keepspaceLeft;
+	}
+	else
+		t = me.text;
+	
 	if(me.fontSize)
-		if(me.text)
+		if(t)
 		{
 			if(me.allowCut)
-				draw_Text(me.realOrigin, draw_TextShortenToWidth(me.text, 1 / me.realFontSize_x, 0), me.realFontSize, me.colorL, me.alpha, 0);
+				draw_Text(me.realOrigin, draw_TextShortenToWidth(t, (1 - me.keepspaceLeft - me.keepspaceRight) / me.realFontSize_x, 0), me.realFontSize, me.colorL, me.alpha, 0);
 			else
-				draw_Text(me.realOrigin, me.text, me.realFontSize, me.colorL, me.alpha, 0);
+				draw_Text(me.realOrigin, t, me.realFontSize, me.colorL, me.alpha, 0);
 		}
 }
 #endif

Modified: trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c	2008-01-17 09:16:27 UTC (rev 3161)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c	2008-01-17 10:43:18 UTC (rev 3162)
@@ -144,10 +144,13 @@
 		me.TD(me, 1, 0.7, e = makeNexuizInputBox(1, "bot_suffix"));
 	me.TR(me);
 	me.TR(me);
-		me.TD(me, 1, 3, e = makeNexuizButton("Mutators...", '0 0 0'));
+		me.TD(me, 1, 1, e = makeNexuizButton("Mutators...", '0 0 0'));
 			e.onClick = DialogOpenButton_Click;
 			e.onClickEntity = main.mutatorsDialog;
 			main.mutatorsDialog.refilterEntity = me.mapListBox;
+		me.TD(me, 1, 2, e0 = makeNexuizTextLabel(0, string_null));
+			e0.textEntity = main.mutatorsDialog;
+			e0.allowCut = 1;
 
 	me.gotoXY(me, me.rows - 1, 0);
 		me.TD(me, 1, me.columns, e = makeNexuizButton("Start!", '0 0 0'));

Modified: trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create_mutators.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create_mutators.c	2008-01-17 09:16:27 UTC (rev 3161)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create_mutators.c	2008-01-17 10:43:18 UTC (rev 3162)
@@ -1,5 +1,6 @@
 #ifdef INTERFACE
 CLASS(NexuizMutatorsDialog) EXTENDS(NexuizDialog)
+	METHOD(NexuizMutatorsDialog, toString, string(entity))
 	METHOD(NexuizMutatorsDialog, fill, void(entity))
 	METHOD(NexuizMutatorsDialog, showNotify, void(entity))
 	METHOD(NexuizMutatorsDialog, close, void(entity))
@@ -17,6 +18,37 @@
 {
         loadAllCvars(me);
 }
+string toStringNexuizMutatorsDialog(entity me)
+{
+	string s;
+	s = "";
+	if(cvar("g_instagib"))
+		s = strcat(s, ", InstaGib");
+	if(cvar("g_minstagib"))
+		s = strcat(s, ", MinstaGib");
+	if(cvar("g_nixnex"))
+		s = strcat(s, ", NixNex");
+	if(cvar("g_rocketarena"))
+		s = strcat(s, ", RL arena");
+	if(cvar("sv_gravity") < 800)
+		s = strcat(s, ", Low gravity");
+	if(cvar("g_cloaked"))
+		s = strcat(s, ", Cloaked");
+	if(cvar("g_footsteps"))
+		s = strcat(s, ", Steps");
+	if(cvar("g_grappling_hook"))
+		s = strcat(s, ", Hook");
+	if(cvar("g_laserguides_missile"))
+		s = strcat(s, ", LG missiles");
+	if(cvar("g_midair"))
+		s = strcat(s, ", Mid-air");
+	if(cvar("g_vampire"))
+		s = strcat(s, ", Vampire");
+	if(s == "")
+		return "None";
+	else
+		return substring(s, 2, strlen(s) - 2);
+}
 void fillNexuizMutatorsDialog(entity me)
 {
 	entity e, s;
@@ -56,7 +88,7 @@
 		s = makeNexuizSlider(80, 400, 40, "sv_gravity");
 			s.valueDigits = 0;
 			s.valueDisplayMultiplier = 0.125; // show gravity in percent
-		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(800, 0, s, "Low gravity"));
+		me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(800, 1, s, "Low gravity"));
 		me.TD(me, 1, 3, s);
 
 	me.gotoXY(me, me.rows - 1, 0);




More information about the nexuiz-commits mailing list