r3027 - in trunk/data/qcsrc/menu-div0test: . defaultskin item nexuiz
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sat Dec 15 16:50:29 EST 2007
Author: div0
Date: 2007-12-15 16:50:27 -0500 (Sat, 15 Dec 2007)
New Revision: 3027
Added:
trunk/data/qcsrc/menu-div0test/defaultskin/charmap.tga
trunk/data/qcsrc/menu-div0test/defaultskin/charmapbutton.tga
Modified:
trunk/data/qcsrc/menu-div0test/classes.c
trunk/data/qcsrc/menu-div0test/item/inputbox.c
trunk/data/qcsrc/menu-div0test/nexuiz/checkbox_slider_invalid.c
trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c
trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c
trunk/data/qcsrc/menu-div0test/skin.qh
Log:
charmap in menu
Modified: trunk/data/qcsrc/menu-div0test/classes.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/classes.c 2007-12-15 20:01:47 UTC (rev 3026)
+++ trunk/data/qcsrc/menu-div0test/classes.c 2007-12-15 21:50:27 UTC (rev 3027)
@@ -53,3 +53,4 @@
#include "nexuiz/playermodel.c"
#include "nexuiz/dialog_news.c"
#include "nexuiz/checkbox_slider_invalid.c"
+#include "nexuiz/charmap.c"
Added: trunk/data/qcsrc/menu-div0test/defaultskin/charmap.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/qcsrc/menu-div0test/defaultskin/charmap.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/data/qcsrc/menu-div0test/defaultskin/charmapbutton.tga
===================================================================
(Binary files differ)
Property changes on: trunk/data/qcsrc/menu-div0test/defaultskin/charmapbutton.tga
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/data/qcsrc/menu-div0test/item/inputbox.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/item/inputbox.c 2007-12-15 20:01:47 UTC (rev 3026)
+++ trunk/data/qcsrc/menu-div0test/item/inputbox.c 2007-12-15 21:50:27 UTC (rev 3027)
@@ -3,6 +3,7 @@
METHOD(InputBox, configureInputBox, void(entity, string, float, float, string))
METHOD(InputBox, draw, void(entity))
METHOD(InputBox, setText, void(entity, string))
+ METHOD(InputBox, enterText, void(entity, string))
METHOD(InputBox, keyDown, float(entity, float, float, float))
METHOD(InputBox, mouseRelease, float(entity, vector))
METHOD(InputBox, mousePress, float(entity, vector))
@@ -19,6 +20,7 @@
ATTRIB(InputBox, dragScrollPos, vector, '0 0 0')
ATTRIB(InputBox, pressed, float, 0)
ATTRIB(InputBox, editColorCodes, float, 1)
+ ATTRIB(InputBox, forbiddenCharacters, string, "")
ATTRIB(InputBox, color, vector, '1 1 1')
ATTRIB(InputBox, colorF, vector, '1 1 1')
ENDCLASS(InputBox)
@@ -68,14 +70,23 @@
return mouseDragInputBox(me, pos);
}
+void enterTextInputBox(entity me, string ch)
+{
+ float i;
+ for(i = 0; i < strlen(ch); ++i)
+ if(strstrofs(me.forbiddenCharacters, substring(ch, i, 1), 0) > -1)
+ return;
+ me.setText(me, strcat(substring(me.text, 0, me.cursorPos), ch, substring(me.text, me.cursorPos, strlen(me.text) - me.cursorPos)));
+ me.cursorPos += strlen(ch);
+}
+
float keyDownInputBox(entity me, float key, float ascii, float shift)
{
me.lastChangeTime = time;
me.dragScrollTimer = 0;
if(ascii >= 32 && ascii != 127)
{
- me.setText(me, strcat(substring(me.text, 0, me.cursorPos), chr(ascii), substring(me.text, me.cursorPos, strlen(me.text) - me.cursorPos)));
- me.cursorPos += 1;
+ me.enterText(me, chr(ascii));
return 1;
}
switch(key)
Modified: trunk/data/qcsrc/menu-div0test/nexuiz/checkbox_slider_invalid.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/checkbox_slider_invalid.c 2007-12-15 20:01:47 UTC (rev 3026)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/checkbox_slider_invalid.c 2007-12-15 21:50:27 UTC (rev 3027)
@@ -1,6 +1,6 @@
#ifdef INTERFACE
CLASS(NexuizSliderCheckBox) EXTENDS(CheckBox)
- METHOD(NexuizSliderCheckBox, configureNexuizSliderCheckBox, void(entity, float, entity, string))
+ METHOD(NexuizSliderCheckBox, configureNexuizSliderCheckBox, void(entity, float, float, entity, string))
METHOD(NexuizSliderCheckBox, setChecked, void(entity, float))
METHOD(NexuizSliderCheckBox, draw, void(entity))
ATTRIB(NexuizSliderCheckBox, fontSize, float, SKINFONTSIZE_NORMAL)
@@ -15,25 +15,26 @@
ATTRIB(NexuizSliderCheckBox, controlledSlider, entity, NULL)
ATTRIB(NexuizSliderCheckBox, offValue, float, -1)
+ ATTRIB(NexuizSliderCheckBox, inverted, float, 0)
ATTRIB(NexuizSliderCheckBox, savedValue, float, -1)
ENDCLASS(NexuizSliderCheckBox)
-entity makeNexuizSliderCheckBox(float, entity, string);
+entity makeNexuizSliderCheckBox(float, float, entity, string);
#endif
#ifdef IMPLEMENTATION
-entity makeNexuizSliderCheckBox(float theOffValue, entity theControlledSlider, string theText)
+entity makeNexuizSliderCheckBox(float theOffValue, float isInverted, entity theControlledSlider, string theText)
{
entity me;
me = spawnNexuizSliderCheckBox();
- me.configureNexuizSliderCheckBox(me, theOffValue, theControlledSlider, theText);
+ me.configureNexuizSliderCheckBox(me, theOffValue, isInverted, theControlledSlider, theText);
return me;
}
-void configureNexuizSliderCheckBoxNexuizSliderCheckBox(entity me, float theOffValue, entity theControlledSlider, string theText)
+void configureNexuizSliderCheckBoxNexuizSliderCheckBox(entity me, float theOffValue, float isInverted, entity theControlledSlider, string theText)
{
me.offValue = theOffValue;
- me.checked = 0;
+ me.inverted = isInverted;
me.checked = (theControlledSlider.value == theOffValue);
- if(!me.checked)
+ if(theControlledSlider.value == median(theControlledSlider.valueMin, theControlledSlider.value, theControlledSlider.valueMax))
me.savedValue = theControlledSlider.value;
else
me.savedValue = theControlledSlider.valueMin;
@@ -42,8 +43,8 @@
}
void drawNexuizSliderCheckBox(entity me)
{
- me.checked = (me.controlledSlider.value == me.offValue);
- if(!me.checked)
+ me.checked = ((me.controlledSlider.value == me.offValue) != me.inverted);
+ if(me.controlledSlider.value == median(me.controlledSlider.valueMin, me.controlledSlider.value, me.controlledSlider.valueMax))
me.savedValue = me.controlledSlider.value;
drawCheckBox(me);
}
@@ -52,10 +53,10 @@
if(me.checked == val)
return;
me.checked = val;
- if(val)
+ if(val == me.inverted)
+ me.controlledSlider.setValue(me.controlledSlider, median(me.controlledSlider.valueMin, me.savedValue, me.controlledSlider.valueMax));
+ else
me.controlledSlider.setValue(me.controlledSlider, me.offValue);
- else
- me.controlledSlider.setValue(me.controlledSlider, me.savedValue);
}
#endif
Modified: trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c 2007-12-15 20:01:47 UTC (rev 3026)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c 2007-12-15 21:50:27 UTC (rev 3027)
@@ -9,6 +9,7 @@
ATTRIB(NexuizServerCreateTab, mapListBox, entity, NULL)
ATTRIB(NexuizServerCreateTab, sliderFraglimit, entity, NULL)
+ ATTRIB(NexuizServerCreateTab, sliderTimelimit, entity, NULL)
ATTRIB(NexuizServerCreateTab, checkboxFraglimit, entity, NULL)
ENDCLASS(NexuizServerCreateTab)
entity makeNexuizServerCreateTab();
@@ -79,14 +80,21 @@
me.gotoXY(me, 3, 3.5); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 3, e = makeNexuizTextLabel(0, "Settings:"));
me.TR(me);
- me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Time limit:"));
- me.TD(me, 1, 2, e = makeNexuizSlider(1.0, 60.0, 0.5, "timelimit_override"));
+ me.sliderTimelimit = makeNexuizSlider(1.0, 60.0, 0.5, "timelimit_override");
+ me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(0, 1, me.sliderTimelimit, "Time limit:"));
+ me.TD(me, 1, 2, me.sliderTimelimit);
me.TR(me);
- me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Point limit:"));
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeNexuizSliderCheckBox(-1, 0, me.sliderTimelimit, "Use map specified default"));
+ me.TR(me);
+ me.sliderFraglimit = makeNexuizSlider(1.0, 2000.0, 5, "fraglimit_override");
+ me.TD(me, 1, 1, e = makeNexuizSliderCheckBox(0, 1, me.sliderFraglimit, "Point limit:"));
me.checkboxFraglimit = e;
- me.TD(me, 1, 2, e = makeNexuizSlider(1.0, 2000.0, 5, "fraglimit_override"));
- me.sliderFraglimit = e;
+ me.TD(me, 1, 2, me.sliderFraglimit);
me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeNexuizSliderCheckBox(-1, 0, me.sliderFraglimit, "Use map specified default"));
+ me.TR(me);
me.TD(me, 1, 1, e = makeNexuizButton("Mutators...", '0 0 0'));
e.onClick = DialogOpenButton_Click;
e.onClickEntity = main.mutatorsDialog;
Modified: trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c 2007-12-15 20:01:47 UTC (rev 3026)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_playersetup.c 2007-12-15 21:50:27 UTC (rev 3027)
@@ -25,7 +25,15 @@
me.TR(me);
me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Player Name:"));
me.TD(me, 1, 2, e = makeNexuizInputBox(1, "_cl_name"));
+ e.forbiddenCharacters = "\r\n\\\""; // don't care, isn't getting saved
me.TR(me);
+ me.TDempty(me, 1);
+ me.TD(me, 5, 2, e = makeNexuizCharmap(e));
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Shirt Color:"));
n = 16 - !cvar("developer");
for(i = 0; i < n; ++i)
@@ -55,7 +63,7 @@
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.TD(me, 1, 2.8, e = makeNexuizSliderCheckBox(-1, 0, e, "Instant Zoom"));
me.TR(me);
me.TR(me);
me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Crosshair:"));
Modified: trunk/data/qcsrc/menu-div0test/skin.qh
===================================================================
--- trunk/data/qcsrc/menu-div0test/skin.qh 2007-12-15 20:01:47 UTC (rev 3026)
+++ trunk/data/qcsrc/menu-div0test/skin.qh 2007-12-15 21:50:27 UTC (rev 3027)
@@ -73,3 +73,6 @@
const vector SKINCOLOR_MAPLIST_AUTHOR = '0.4 0.4 0.7';
const float SKINALPHA_DISABLED = 0.2;
+
+const string SKINGFX_CHARMAP = "charmap";
+const string SKINGFX_CHARMAP_SELECTED = "charmapbutton";
More information about the nexuiz-commits
mailing list