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

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Nov 29 03:48:23 EST 2007


Author: div0
Date: 2007-11-29 03:48:21 -0500 (Thu, 29 Nov 2007)
New Revision: 2997

Added:
   trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_c.tga
   trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_f.tga
   trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_n.tga
   trunk/data/qcsrc/menu-div0test/nexuiz/crosshairbutton.c
Modified:
   trunk/data/qcsrc/menu-div0test/classes.c
   trunk/data/qcsrc/menu-div0test/item/button.c
   trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c
   trunk/data/qcsrc/menu-div0test/skin.qh
Log:
add real crosshair buttons


Modified: trunk/data/qcsrc/menu-div0test/classes.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/classes.c	2007-11-29 07:56:24 UTC (rev 2996)
+++ trunk/data/qcsrc/menu-div0test/classes.c	2007-11-29 08:48:21 UTC (rev 2997)
@@ -48,3 +48,4 @@
 #include "nexuiz/gametypebutton.c"
 #include "nexuiz/maplist.c"
 #include "nexuiz/image.c"
+#include "nexuiz/crosshairbutton.c"

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


Property changes on: trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_c.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

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


Property changes on: trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_f.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

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


Property changes on: trunk/data/qcsrc/menu-div0test/defaultskin/crosshairbutton_n.tga
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/data/qcsrc/menu-div0test/item/button.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/item/button.c	2007-11-29 07:56:24 UTC (rev 2996)
+++ trunk/data/qcsrc/menu-div0test/item/button.c	2007-11-29 08:48:21 UTC (rev 2997)
@@ -26,6 +26,7 @@
 	ATTRIB(Button, colorF, vector, '1 1 1')
 	ATTRIB(Button, colorD, vector, '1 1 1')
 	ATTRIB(Button, color2, vector, '1 1 1')
+	ATTRIB(Button, alpha2, float, 1)
 
 	ATTRIB(Button, origin, vector, '0 0 0')
 	ATTRIB(Button, size, vector, '0 0 0')
@@ -138,7 +139,7 @@
 	{
 		bOrigin = me.keepspaceLeft * eX;
 		bSize = eY + eX * (1 - me.keepspaceLeft);
-		draw_Picture(bOrigin, me.src2, bSize, me.color2, 1);
+		draw_Picture(bOrigin, me.src2, bSize, me.color2, me.alpha2);
 	}
 
 	draw_alpha = save;

Added: trunk/data/qcsrc/menu-div0test/nexuiz/crosshairbutton.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/crosshairbutton.c	                        (rev 0)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/crosshairbutton.c	2007-11-29 08:48:21 UTC (rev 2997)
@@ -0,0 +1,62 @@
+#ifdef INTERFACE
+CLASS(NexuizCrosshairButton) EXTENDS(RadioButton)
+	METHOD(NexuizCrosshairButton, configureNexuizCrosshairButton, void(entity, float, float))
+	METHOD(NexuizCrosshairButton, setChecked, void(entity, float))
+	METHOD(NexuizCrosshairButton, draw, void(entity))
+	ATTRIB(NexuizCrosshairButton, fontSize, float, SKINFONTSIZE_NORMAL)
+	ATTRIB(NexuizCrosshairButton, image, string, SKINGFX_CROSSHAIRBUTTON)
+
+	ATTRIB(NexuizCrosshairButton, useDownAsChecked, float, 1)
+
+	ATTRIB(NexuizCrosshairButton, cvarName, string, string_null)
+	ATTRIB(NexuizCrosshairButton, cvarValueFloat, float, 0)
+	METHOD(NexuizCrosshairButton, loadCvars, void(entity))
+	METHOD(NexuizCrosshairButton, saveCvars, void(entity))
+
+	ATTRIB(NexuizCrosshairButton, disabledAlpha, float, SKINALPHA_DISABLED)
+ENDCLASS(NexuizCrosshairButton)
+entity makeNexuizCrosshairButton(float, float);
+#endif
+
+#ifdef IMPLEMENTATION
+entity makeNexuizCrosshairButton(float theGroup, float theCrosshair)
+{
+	entity me;
+	me = spawnNexuizCrosshairButton();
+	me.configureNexuizCrosshairButton(me, theGroup, theCrosshair);
+	return me;
+}
+void configureNexuizCrosshairButtonNexuizCrosshairButton(entity me, float theGroup, float theCrosshair)
+{
+	me.cvarName = "crosshair";
+	me.cvarValueFloat = theCrosshair;
+	me.loadCvars(me);
+	me.configureRadioButton(me, string_null, me.fontSize, me.image, theGroup, 0);
+	me.srcMulti = 1;
+	me.src2 = strzone(strcat("/gfx/crosshair", ftos(me.cvarValueFloat)));
+}
+void setCheckedNexuizCrosshairButton(entity me, float val)
+{
+	if(val != me.checked)
+	{
+		me.checked = val;
+		me.saveCvars(me);
+	}
+}
+void loadCvarsNexuizCrosshairButton(entity me)
+{
+	me.checked = (cvar(me.cvarName) == me.cvarValueFloat);
+}
+void saveCvarsNexuizCrosshairButton(entity me)
+{
+	if(me.checked)
+		cvar_set(me.cvarName, ftos(me.cvarValueFloat));
+	// TODO on an apply button, read _cl_color and execute the color command for it
+}
+void drawNexuizCrosshairButton(entity me)
+{
+	me.color2 = eX * cvar("crosshair_color_red") + eY * cvar("crosshair_color_green") + eZ * cvar("crosshair_color_blue");
+	me.alpha2 = cvar("crosshair_color_alpha");
+	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-11-29 07:56:24 UTC (rev 2996)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c	2007-11-29 08:48:21 UTC (rev 2997)
@@ -1,7 +1,7 @@
 #ifdef INTERFACE
 CLASS(NexuizPlayerSettingsTab) EXTENDS(NexuizTab)
 	METHOD(NexuizPlayerSettingsTab, fill, void(entity))
-	ATTRIB(NexuizPlayerSettingsTab, title, string, "Settings")
+	ATTRIB(NexuizPlayerSettingsTab, title, string, "Player setup")
 	ATTRIB(NexuizPlayerSettingsTab, intendedWidth, float, 0.9)
 	ATTRIB(NexuizPlayerSettingsTab, rows, float, 22)
 	ATTRIB(NexuizPlayerSettingsTab, columns, float, 6.5)
@@ -46,7 +46,9 @@
 		me.TD(me, 1, 2, e = makeNexuizSlider(-1, 5, 1, "cl_zoomspeed"));
 	me.TR(me);
 		me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair:"));
-		me.TD(me, 1, 2, e = makeNexuizSlider(0, 10, 1, "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"));

Modified: trunk/data/qcsrc/menu-div0test/skin.qh
===================================================================
--- trunk/data/qcsrc/menu-div0test/skin.qh	2007-11-29 07:56:24 UTC (rev 2996)
+++ trunk/data/qcsrc/menu-div0test/skin.qh	2007-11-29 08:48:21 UTC (rev 2997)
@@ -57,6 +57,7 @@
 
 const string SKINGFX_COLORBUTTON = "colorbutton";
 const string SKINGFX_COLORBUTTON_COLOR = "color";
+const string SKINGFX_CROSSHAIRBUTTON = "crosshairbutton";
 const string SKINGFX_SCROLLBAR = "scrollbar";
 const vector SKINCOLOR_SCROLLBAR_N = '1 1 1';
 const vector SKINCOLOR_SCROLLBAR_F = '1 1 1';




More information about the nexuiz-commits mailing list