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