r3026 - in trunk/data/qcsrc/menu-div0test: . defaultskin item nexuiz

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Dec 15 15:01:47 EST 2007


Author: div0
Date: 2007-12-15 15:01:47 -0500 (Sat, 15 Dec 2007)
New Revision: 3026

Added:
   trunk/data/qcsrc/menu-div0test/nexuiz/checkbox_slider_invalid.c
Modified:
   trunk/data/qcsrc/menu-div0test/classes.c
   trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_c.tga
   trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_f.tga
   trunk/data/qcsrc/menu-div0test/draw.qc
   trunk/data/qcsrc/menu-div0test/draw.qh
   trunk/data/qcsrc/menu-div0test/item/button.c
   trunk/data/qcsrc/menu-div0test/item/slider.c
   trunk/data/qcsrc/menu-div0test/nexuiz/crosshairbutton.c
   trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c
Log:
de-wtf-ization, part 1


Modified: trunk/data/qcsrc/menu-div0test/classes.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/classes.c	2007-12-15 15:02:07 UTC (rev 3025)
+++ trunk/data/qcsrc/menu-div0test/classes.c	2007-12-15 20:01:47 UTC (rev 3026)
@@ -52,3 +52,4 @@
 #include "nexuiz/crosshairbutton.c"
 #include "nexuiz/playermodel.c"
 #include "nexuiz/dialog_news.c"
+#include "nexuiz/checkbox_slider_invalid.c"

Modified: trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_c.tga
===================================================================
(Binary files differ)

Modified: trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_f.tga
===================================================================
(Binary files differ)

Modified: trunk/data/qcsrc/menu-div0test/draw.qc
===================================================================
--- trunk/data/qcsrc/menu-div0test/draw.qc	2007-12-15 15:02:07 UTC (rev 3025)
+++ trunk/data/qcsrc/menu-div0test/draw.qc	2007-12-15 20:01:47 UTC (rev 3026)
@@ -69,6 +69,12 @@
 	drawpic(boxToGlobal(theOrigin, draw_shift, draw_scale), pic, boxToGlobalSize(theSize, draw_scale), theColor, theAlpha * draw_alpha, 0);
 }
 
+vector draw_PictureSize(string pic)
+{
+	pic = draw_UseSkinFor(pic);
+	return drawgetimagesize(pic);
+}
+
 void draw_Fill(vector theOrigin, vector theSize, vector theColor, float theAlpha)
 {
 	drawfill(boxToGlobal(theOrigin, draw_shift, draw_scale), boxToGlobalSize(theSize, draw_scale), theColor, theAlpha * draw_alpha, 0);

Modified: trunk/data/qcsrc/menu-div0test/draw.qh
===================================================================
--- trunk/data/qcsrc/menu-div0test/draw.qh	2007-12-15 15:02:07 UTC (rev 3025)
+++ trunk/data/qcsrc/menu-div0test/draw.qh	2007-12-15 20:01:47 UTC (rev 3026)
@@ -11,6 +11,7 @@
 void draw_VertButtonPicture(vector theOrigin, string pic, vector theSize, vector theColor, float theAlpha);
 void draw_BorderPicture(vector theOrigin, string pic, vector theSize, vector theColor, float theAlpha, vector theBorderSize);
 void draw_Picture(vector origin, string pic, vector size, vector color, float alpha);
+vector draw_PictureSize(string pic);
 void draw_Fill(vector theOrigin, vector theSize, vector theColor, float theAlpha);
 void draw_Text(vector origin, string text, vector size, vector color, float alpha, float allowColorCodes);
 void draw_CenterText(vector origin, string text, vector size, vector color, float alpha, float allowColorCodes);

Modified: trunk/data/qcsrc/menu-div0test/item/button.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/item/button.c	2007-12-15 15:02:07 UTC (rev 3025)
+++ trunk/data/qcsrc/menu-div0test/item/button.c	2007-12-15 20:01:47 UTC (rev 3026)
@@ -13,6 +13,7 @@
 	ATTRIB(Button, src, string, string_null)
 	ATTRIB(Button, srcSuffix, string, string_null)
 	ATTRIB(Button, src2, string, string_null) // is centered, same aspect, and stretched to label size
+	ATTRIB(Button, src2scale, float, 1)
 	ATTRIB(Button, srcMulti, float, 1) // 0: button square left, text right; 1: button stretched, text over it
 	ATTRIB(Button, buttonLeftOfText, float, 0)
 	ATTRIB(Button, focusable, float, 1)
@@ -139,6 +140,10 @@
 	{
 		bOrigin = me.keepspaceLeft * eX;
 		bSize = eY + eX * (1 - me.keepspaceLeft);
+
+		bOrigin += bSize * (0.5 - 0.5 * me.src2scale);
+		bSize = bSize * me.src2scale;
+
 		draw_Picture(bOrigin, me.src2, bSize, me.color2, me.alpha2);
 	}
 

Modified: trunk/data/qcsrc/menu-div0test/item/slider.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/item/slider.c	2007-12-15 15:02:07 UTC (rev 3025)
+++ trunk/data/qcsrc/menu-div0test/item/slider.c	2007-12-15 20:01:47 UTC (rev 3026)
@@ -55,6 +55,8 @@
 }
 string valueToTextSlider(entity me, float val)
 {
+	if(val < me.valueMin) return "";
+	if(val > me.valueMax) return "";
 	return ftos_decimals(val, me.valueDigits);
 }
 void configureSliderVisualsSlider(entity me, float sz, float theAlign, float theTextSpace, string gfx)

Added: trunk/data/qcsrc/menu-div0test/nexuiz/checkbox_slider_invalid.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/checkbox_slider_invalid.c	                        (rev 0)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/checkbox_slider_invalid.c	2007-12-15 20:01:47 UTC (rev 3026)
@@ -0,0 +1,61 @@
+#ifdef INTERFACE
+CLASS(NexuizSliderCheckBox) EXTENDS(CheckBox)
+	METHOD(NexuizSliderCheckBox, configureNexuizSliderCheckBox, void(entity, float, entity, string))
+	METHOD(NexuizSliderCheckBox, setChecked, void(entity, float))
+	METHOD(NexuizSliderCheckBox, draw, void(entity))
+	ATTRIB(NexuizSliderCheckBox, fontSize, float, SKINFONTSIZE_NORMAL)
+	ATTRIB(NexuizSliderCheckBox, image, string, SKINGFX_CHECKBOX)
+
+	ATTRIB(NexuizSliderCheckBox, color, vector, SKINCOLOR_CHECKBOX_N)
+	ATTRIB(NexuizSliderCheckBox, colorC, vector, SKINCOLOR_CHECKBOX_C)
+	ATTRIB(NexuizSliderCheckBox, colorF, vector, SKINCOLOR_CHECKBOX_F)
+	ATTRIB(NexuizSliderCheckBox, colorD, vector, SKINCOLOR_CHECKBOX_D)
+
+	ATTRIB(NexuizSliderCheckBox, disabledAlpha, float, SKINALPHA_DISABLED)
+
+	ATTRIB(NexuizSliderCheckBox, controlledSlider, entity, NULL)
+	ATTRIB(NexuizSliderCheckBox, offValue, float, -1)
+	ATTRIB(NexuizSliderCheckBox, savedValue, float, -1)
+ENDCLASS(NexuizSliderCheckBox)
+entity makeNexuizSliderCheckBox(float, entity, string);
+#endif
+
+#ifdef IMPLEMENTATION
+entity makeNexuizSliderCheckBox(float theOffValue, entity theControlledSlider, string theText)
+{
+	entity me;
+	me = spawnNexuizSliderCheckBox();
+	me.configureNexuizSliderCheckBox(me, theOffValue, theControlledSlider, theText);
+	return me;
+}
+void configureNexuizSliderCheckBoxNexuizSliderCheckBox(entity me, float theOffValue, entity theControlledSlider, string theText)
+{
+	me.offValue = theOffValue;
+	me.checked = 0;
+	me.checked = (theControlledSlider.value == theOffValue);
+	if(!me.checked)
+		me.savedValue = theControlledSlider.value;
+	else
+		me.savedValue = theControlledSlider.valueMin; 
+	me.controlledSlider = theControlledSlider;
+	me.configureCheckBox(me, theText, me.fontSize, me.image);
+}
+void drawNexuizSliderCheckBox(entity me)
+{
+	me.checked = (me.controlledSlider.value == me.offValue);
+	if(!me.checked)
+		me.savedValue = me.controlledSlider.value;
+	drawCheckBox(me);
+}
+void setCheckedNexuizSliderCheckBox(entity me, float val)
+{
+	if(me.checked == val)
+		return;
+	me.checked = val;
+	if(val)
+		me.controlledSlider.setValue(me.controlledSlider, me.offValue);
+	else
+		me.controlledSlider.setValue(me.controlledSlider, me.savedValue);
+}
+
+#endif

Modified: trunk/data/qcsrc/menu-div0test/nexuiz/crosshairbutton.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/crosshairbutton.c	2007-12-15 15:02:07 UTC (rev 3025)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/crosshairbutton.c	2007-12-15 20:01:47 UTC (rev 3026)
@@ -57,6 +57,12 @@
 {
 	me.color2 = eX * cvar("crosshair_color_red") + eY * cvar("crosshair_color_green") + eZ * cvar("crosshair_color_blue");
 	me.alpha2 = cvar("crosshair_color_alpha");
+	me.src2scale = min((draw_PictureSize(me.src2) * eY * cvar("crosshair_size")) / me.size_y, (draw_PictureSize(me.src2) * eX * cvar("crosshair_size")) / me.size_x, 0.8);
+	if(!me.checked && !me.focused)
+	{
+		me.alpha2 *= me.disabledAlpha;
+		me.color2 = '1 1 1';
+	}
 	drawCheckBox(me);
 }
 #endif

Modified: trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c	2007-12-15 15:02:07 UTC (rev 3025)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c	2007-12-15 20:01:47 UTC (rev 3026)
@@ -36,56 +36,59 @@
 			me.TDNoMargin(me, 1, 2 / n, e = makeNexuizColorButton(2, 1, i), '1 0 0');
 	me.TR(me);
 		pms = makeNexuizPlayerModelSelector();
-		me.TD(me, 1, 0.5, e = makeNexuizButton("<<", '0 0 0'));
+		me.TD(me, 1, 0.3, e = makeNexuizButton("<<", '0 0 0'));
 			e.onClick = PlayerModelSelector_Prev_Click;
 			e.onClickEntity = pms;
-		me.TD(me, me.rows - me.currentRow - 1, 2.5, pms);
-		me.TD(me, 1, 0.5, e = makeNexuizButton(">>", '0 0 0'));
+		me.TD(me, me.rows - me.currentRow - 1, 2.4, pms);
+		me.TD(me, 1, 0.3, e = makeNexuizButton(">>", '0 0 0'));
 			e.onClick = PlayerModelSelector_Next_Click;
 			e.onClickEntity = pms;
 
 	me.gotoXY(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Field of View:"));
-		me.TD(me, 1, 2, e = makeNexuizSlider(90, 130, 1, "fov"));
+		me.TD(me, 1, 2, e = makeNexuizSlider(60, 130, 1, "fov"));
 	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Zoom Factor:"));
 		me.TD(me, 1, 2, e = makeNexuizSlider(2, 10, 1, "cl_zoomfactor"));
 	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Zoom Speed:"));
-		me.TD(me, 1, 2, e = makeNexuizSlider(-1, 5, 1, "cl_zoomspeed"));
+		me.TD(me, 1, 2, e = makeNexuizSlider(1, 8, 0.5, "cl_zoomspeed"));
 	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 2.8, e = makeNexuizSliderCheckBox(-1, e, "Instant Zoom"));
+	me.TR(me);
+	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair:"));
 		n = 10;
 		for(i = 1; i <= n; ++i)
 			me.TDNoMargin(me, 1, 2 / n, e = makeNexuizCrosshairButton(3, i), '0 0 0');
 	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Size:"));
-		me.TD(me, 1, 2, e = makeNexuizSlider(0.10, 1, 0.05, "crosshair_size"));
+		me.TD(me, 1, 2, e = makeNexuizSlider(0.40, 2, 0.05, "crosshair_size"));
 	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"));
 	me.TR(me);
-		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Color Red:"));
+		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Red:"));
 		me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_red"));
 	me.TR(me);
-		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Color Green:"));
+		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Green:"));
 		me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_green"));
 	me.TR(me);
-		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Color Blue:"));
+		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair Blue:"));
 		me.TD(me, 1, 2, e = makeNexuizSlider(0, 1, 0.01, "crosshair_color_blue"));
 	me.TR(me);
-		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Hud Style:"));
-		me.TD(me, 1, 2, e = makeNexuizTextSlider("sbar_hudselector"));
-			e.addValue(e, "Old", "0");
-			e.addValue(e, "New", "1");
-			e.configureNexuizTextSliderValues(e);
 	me.TR(me);
-		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Hud Size:"));
+		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "HUD size:"));
 		me.TD(me, 1, 2, e = makeNexuizTextSlider("viewsize"));
-			e.addValue(e, "Disabled", "120");
-			e.addValue(e, "Simple", "110");
+			e.addValue(e, "None", "120");
+			e.addValue(e, "Reduced", "110");
 			e.addValue(e, "Full", "100");
 			e.configureNexuizTextSliderValues(e);
+	me.TR(me);
+		me.TDempty(me, 0.2);
+		me.TD(me, 1, 2.8, e = makeNexuizCheckBox(1, "sbar_hudselector", "Use alternate HUD layout"));
+			setDependent(e, "viewsize", 0, 110);
 
 	me.gotoXY(me, me.rows - 1, 0);
 		me.TD(me, 1, me.columns, makeNexuizCommandButton("Apply immediately", '0 0 0', "color -1 -1;name $_cl_name", COMMANDBUTTON_APPLY));




More information about the nexuiz-commits mailing list