r5637 - in trunk/data/qcsrc/menu: . item nexuiz
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Jan 23 05:51:34 EST 2009
Author: div0
Date: 2009-01-23 05:51:33 -0500 (Fri, 23 Jan 2009)
New Revision: 5637
Added:
trunk/data/qcsrc/menu/nexuiz/cvarlist.c
trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc_cvars.c
Modified:
trunk/data/qcsrc/menu/classes.c
trunk/data/qcsrc/menu/item/label.c
trunk/data/qcsrc/menu/mbuiltin.qh
trunk/data/qcsrc/menu/nexuiz/campaign.c
trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc.c
trunk/data/qcsrc/menu/nexuiz/mainwindow.c
trunk/data/qcsrc/menu/nexuiz/util.qc
trunk/data/qcsrc/menu/nexuiz/util.qh
trunk/data/qcsrc/menu/skin-customizables.inc
Log:
cvar list editor
Modified: trunk/data/qcsrc/menu/classes.c
===================================================================
--- trunk/data/qcsrc/menu/classes.c 2009-01-23 06:33:47 UTC (rev 5636)
+++ trunk/data/qcsrc/menu/classes.c 2009-01-23 10:51:33 UTC (rev 5637)
@@ -76,3 +76,5 @@
#include "nexuiz/dialog_multiplayer_demo.c"
#include "nexuiz/demolist.c"
#include "nexuiz/colorpicker.c"
+#include "nexuiz/cvarlist.c"
+#include "nexuiz/dialog_settings_misc_cvars.c"
Modified: trunk/data/qcsrc/menu/item/label.c
===================================================================
--- trunk/data/qcsrc/menu/item/label.c 2009-01-23 06:33:47 UTC (rev 5636)
+++ trunk/data/qcsrc/menu/item/label.c 2009-01-23 10:51:33 UTC (rev 5637)
@@ -20,6 +20,7 @@
ATTRIB(Label, disabled, float, 0)
ATTRIB(Label, disabledAlpha, float, 0.3)
ATTRIB(Label, textEntity, entity, NULL)
+ ATTRIB(Label, allowWrap, float, 0)
ENDCLASS(Label)
#endif
@@ -54,6 +55,7 @@
void drawLabel(entity me)
{
string t;
+ vector o;
if(me.disabled)
draw_alpha *= me.disabledAlpha;
@@ -68,8 +70,19 @@
if(me.fontSize)
if(t)
{
- if(me.allowCut)
+ if(me.allowCut) // FIXME allowCut incompatible with align != 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 if(me.allowWrap) // FIXME allowWrap incompatible with align != 0
+ {
+ getWrappedLine_remaining = t;
+ o = me.realOrigin;
+ while(getWrappedLine_remaining)
+ {
+ t = getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight) / me.realFontSize_x);
+ draw_Text(o, t, me.realFontSize, me.colorL, me.alpha, 0);
+ o_y += me.realFontSize_y;
+ }
+ }
else
draw_Text(me.realOrigin, t, me.realFontSize, me.colorL, me.alpha, 0);
}
Modified: trunk/data/qcsrc/menu/mbuiltin.qh
===================================================================
--- trunk/data/qcsrc/menu/mbuiltin.qh 2009-01-23 06:33:47 UTC (rev 5636)
+++ trunk/data/qcsrc/menu/mbuiltin.qh 2009-01-23 10:51:33 UTC (rev 5637)
@@ -287,6 +287,8 @@
void(float bufhandle, float string_index, string str) bufstr_set = #447;
float(float bufhandle, string str, float order) bufstr_add = #448;
void(float bufhandle, float string_index) bufstr_free = #449;
+void(float bufhandle, string pattern, string antipattern) buf_cvarlist = #517;
+string(string name) cvar_description = #518;
//DP_QC_CRC16
//idea: div0
@@ -302,6 +304,7 @@
float CVAR_TYPEFLAG_PRIVATE = 4;
float CVAR_TYPEFLAG_ENGINE = 8;
float CVAR_TYPEFLAG_HASDESCRIPTION = 16;
+float CVAR_TYPEFLAG_READONLY = 32;
//DP_QC_URI_ESCAPE
//idea: div0
Modified: trunk/data/qcsrc/menu/nexuiz/campaign.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/campaign.c 2009-01-23 06:33:47 UTC (rev 5636)
+++ trunk/data/qcsrc/menu/nexuiz/campaign.c 2009-01-23 10:51:33 UTC (rev 5637)
@@ -52,7 +52,7 @@
void rewrapCampaign(float w, float l0, float emptyheight)
{
float i, j;
- float n, take, cantake, l;
+ float n, l;
string r, s;
for(i = 0; i < campaign_entries; ++i)
{
@@ -70,33 +70,13 @@
r = strcat(r, "\n");
continue;
}
- for(;;)
+
+ getWrappedLine_remaining = s;
+ while(getWrappedLine_remaining)
{
- cantake = draw_TextLengthUpToWidth(s, w, 0);
- if(cantake > 0 && cantake < strlen(s))
- {
- take = cantake - 1;
- while(take > 0 && substring(s, take, 1) != " ")
- --take;
- if(take == 0)
- {
- if(--l < 0) goto toolong;
- r = strcat(r, substring(s, 0, cantake), "\n");
- s = substring(s, cantake, strlen(s) - cantake);
- }
- else
- {
- if(--l < 0) goto toolong;
- r = strcat(r, substring(s, 0, take), "\n");
- s = substring(s, take + 1, strlen(s) - take);
- }
- }
- else
- {
- if(--l < 0) goto toolong;
- r = strcat(r, s, "\n");
- break;
- }
+ s = getWrappedLine(w);
+ if(--l < 0) goto toolong;
+ r = strcat(r, s, "\n");
}
}
goto nottoolong;
Added: trunk/data/qcsrc/menu/nexuiz/cvarlist.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/cvarlist.c (rev 0)
+++ trunk/data/qcsrc/menu/nexuiz/cvarlist.c 2009-01-23 10:51:33 UTC (rev 5637)
@@ -0,0 +1,172 @@
+#ifdef INTERFACE
+CLASS(NexuizCvarList) EXTENDS(NexuizListBox)
+ METHOD(NexuizCvarList, configureNexuizCvarList, void(entity))
+ ATTRIB(NexuizCvarList, rowsPerItem, float, 1)
+ METHOD(NexuizCvarList, drawListBoxItem, void(entity, float, vector, float))
+ METHOD(NexuizCvarList, resizeNotify, void(entity, vector, vector, vector, vector))
+ METHOD(NexuizCvarList, keyDown, float(entity, float, float, float))
+
+ ATTRIB(NexuizCvarList, realFontSize, vector, '0 0 0')
+ ATTRIB(NexuizCvarList, realUpperMargin, float, 0)
+ ATTRIB(NexuizCvarList, columnNameOrigin, float, 0)
+ ATTRIB(NexuizCvarList, columnNameSize, float, 0)
+ ATTRIB(NexuizCvarList, columnValueOrigin, float, 0)
+ ATTRIB(NexuizCvarList, columnValueSize, float, 0)
+
+ METHOD(NexuizCvarList, setSelected, void(entity, float))
+ ATTRIB(NexuizCvarList, controlledTextbox, entity, NULL)
+ ATTRIB(NexuizCvarList, cvarNameBox, entity, NULL)
+ ATTRIB(NexuizCvarList, cvarDescriptionBox, entity, NULL)
+ ATTRIB(NexuizCvarList, cvarTypeBox, entity, NULL)
+ ATTRIB(NexuizCvarList, cvarValueBox, entity, NULL)
+ ATTRIB(NexuizCvarList, cvarDefaultBox, entity, NULL)
+
+ ATTRIB(NexuizCvarList, handle, float, -1)
+ ATTRIB(NexuizCvarList, cvarName, string, string_null)
+ ATTRIB(NexuizCvarList, cvarDescription, string, string_null)
+ ATTRIB(NexuizCvarList, cvarType, string, string_null)
+ ATTRIB(NexuizCvarList, cvarDefault, string, string_null)
+ENDCLASS(NexuizCvarList)
+entity makeNexuizCvarList();
+void CvarList_Filter_Change(entity box, entity me);
+void CvarList_Value_Change(entity box, entity me);
+void CvarList_Revert_Click(entity btn, entity me);
+#endif
+
+#ifdef IMPLEMENTATION
+entity makeNexuizCvarList()
+{
+ entity me;
+ me = spawnNexuizCvarList();
+ me.configureNexuizCvarList(me);
+ return me;
+}
+void configureNexuizCvarListNexuizCvarList(entity me)
+{
+ me.configureNexuizListBox(me);
+
+ me.handle = buf_create();
+ buf_cvarlist(me.handle, "", "_");
+ me.nItems = buf_getsize(me.handle);
+}
+void setSelectedNexuizCvarList(entity me, float i)
+{
+ string s;
+
+ setSelectedListBox(me, i);
+ if(me.nItems == 0)
+ return;
+
+ if(me.cvarName)
+ strunzone(me.cvarName);
+ if(me.cvarDescription)
+ strunzone(me.cvarDescription);
+ if(me.cvarType)
+ strunzone(me.cvarType);
+ if(me.cvarDefault)
+ strunzone(me.cvarDefault);
+ me.cvarName = strzone(bufstr_get(me.handle, me.selectedItem));
+ me.cvarDescription = strzone(cvar_description(me.cvarName));
+ me.cvarDefault = strzone(cvar_defstring(me.cvarName));
+
+ float t;
+ t = cvar_type(me.cvarName);
+ me.cvarType = "";
+ if(t & CVAR_TYPEFLAG_SAVED)
+ me.cvarType = strcat(me.cvarType, ", will be saved to config.cfg");
+ else
+ me.cvarType = strcat(me.cvarType, ", will not be saved");
+ if(t & CVAR_TYPEFLAG_PRIVATE)
+ me.cvarType = strcat(me.cvarType, ", private");
+ if(t & CVAR_TYPEFLAG_ENGINE)
+ me.cvarType = strcat(me.cvarType, ", engine setting");
+ if(t & CVAR_TYPEFLAG_READONLY)
+ me.cvarType = strcat(me.cvarType, ", read only");
+ me.cvarType = strzone(substring(me.cvarType, 2, strlen(me.cvarType) - 2));
+
+ me.cvarNameBox.setText(me.cvarNameBox, me.cvarName);
+ me.cvarDescriptionBox.setText(me.cvarDescriptionBox, me.cvarDescription);
+ me.cvarTypeBox.setText(me.cvarTypeBox, me.cvarType);
+ me.cvarDefaultBox.setText(me.cvarDefaultBox, me.cvarDefault);
+
+ // this one can handle tempstrings
+ s = cvar_string(me.cvarName);
+ me.cvarValueBox.setText(me.cvarValueBox, s);
+ me.cvarValueBox.cursorPos = strlen(s);
+}
+void CvarList_Filter_Change(entity box, entity me)
+{
+ buf_cvarlist(me.handle, box.text, "_");
+ me.nItems = buf_getsize(me.handle);
+
+ me.setSelected(me, 0);
+}
+void resizeNotifyNexuizCvarList(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
+{
+ resizeNotifyNexuizListBox(me, relOrigin, relSize, absOrigin, absSize);
+
+ me.realFontSize_y = me.fontSize / (absSize_y * me.itemHeight);
+ me.realFontSize_x = me.fontSize / (absSize_x * (1 - me.controlWidth));
+ me.realUpperMargin = 0.5 * (1 - me.realFontSize_y);
+
+ me.columnNameOrigin = 0;
+ me.columnValueSize = me.realFontSize_x * 20;
+ me.columnNameSize = 1 - me.columnValueSize - me.realFontSize_x;
+ me.columnValueOrigin = me.columnNameOrigin + me.columnNameSize + me.realFontSize_x;
+
+ me.setSelected(me, me.selectedItem);
+}
+void drawListBoxItemNexuizCvarList(entity me, float i, vector absSize, float isSelected)
+{
+ string k, v, d;
+ float t;
+
+ vector theColor;
+ float theAlpha;
+
+ string s;
+
+ if(isSelected)
+ draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
+
+ k = bufstr_get(me.handle, i);
+
+ v = cvar_string(k);
+ d = cvar_defstring(k);
+ t = cvar_type(k);
+ if(t & CVAR_TYPEFLAG_SAVED)
+ theAlpha = SKINALPHA_CVARLIST_SAVED;
+ else
+ theAlpha = SKINALPHA_CVARLIST_TEMPORARY;
+ if(v == d)
+ theColor = SKINCOLOR_CVARLIST_UNCHANGED;
+ else
+ theColor = SKINCOLOR_CVARLIST_CHANGED;
+
+ s = draw_TextShortenToWidth(k, me.columnNameSize / me.realFontSize_x, 0);
+ draw_Text(me.realUpperMargin * eY + me.columnNameOrigin * eX, s, me.realFontSize, theColor, theAlpha, 0);
+ s = draw_TextShortenToWidth(v, me.columnValueSize / me.realFontSize_x, 0);
+ draw_Text(me.realUpperMargin * eY + me.columnValueOrigin * eX, s, me.realFontSize, theColor, theAlpha, 0);
+}
+
+float keyDownNexuizCvarList(entity me, float scan, float ascii, float shift)
+{
+ if(keyDownListBox(me, scan, ascii, shift))
+ return 1;
+ else if(!me.controlledTextbox)
+ return 0;
+ else
+ return me.controlledTextbox.keyDown(me.controlledTextbox, scan, ascii, shift);
+}
+
+void CvarList_Value_Change(entity box, entity me)
+{
+ cvar_set(me.cvarNameBox.text, box.text);
+}
+
+void CvarList_Revert_Click(entity btn, entity me)
+{
+ me.cvarValueBox.setText(me.cvarValueBox, me.cvarDefault);
+ me.cvarValueBox.cursorPos = strlen(me.cvarDefault);
+}
+#endif
Modified: trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc.c 2009-01-23 06:33:47 UTC (rev 5636)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc.c 2009-01-23 10:51:33 UTC (rev 5637)
@@ -49,5 +49,12 @@
me.TD(me, 1, 2.8/3, e = makeNexuizRadioButton(1, "showspeed", "3", "km/h"));
me.TD(me, 1, 2.8/3, e = makeNexuizRadioButton(1, "showspeed", "4", "mph"));
me.TD(me, 1, 2.8/3, e = makeNexuizRadioButton(1, "showspeed", "5", "knots"));
+ me.TR(me);
+ me.TR(me);
+ me.TDempty(me, 0.5);
+ me.TD(me, 1, 2, e = makeNexuizButton("Advanced settings...", '0 0 0'));
+ e.onClick = DialogOpenButton_Click;
+ e.onClickEntity = main.cvarsDialog;
+ me.TDempty(me, 0.5);
}
#endif
Added: trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc_cvars.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc_cvars.c (rev 0)
+++ trunk/data/qcsrc/menu/nexuiz/dialog_settings_misc_cvars.c 2009-01-23 10:51:33 UTC (rev 5637)
@@ -0,0 +1,69 @@
+#ifdef INTERFACE
+CLASS(NexuizCvarsDialog) EXTENDS(NexuizDialog)
+ METHOD(NexuizCvarsDialog, toString, string(entity))
+ METHOD(NexuizCvarsDialog, fill, void(entity))
+ METHOD(NexuizCvarsDialog, showNotify, void(entity))
+ ATTRIB(NexuizCvarsDialog, title, string, "Advanced settings")
+ ATTRIB(NexuizCvarsDialog, color, vector, SKINCOLOR_DIALOG_CVARS)
+ ATTRIB(NexuizCvarsDialog, intendedWidth, float, 0.8)
+ ATTRIB(NexuizCvarsDialog, rows, float, 25)
+ ATTRIB(NexuizCvarsDialog, columns, float, 6)
+ENDCLASS(NexuizCvarsDialog)
+#endif
+
+#ifdef IMPLEMENTATION
+void showNotifyNexuizCvarsDialog(entity me)
+{
+ loadAllCvars(me);
+}
+string toStringNexuizCvarsDialog(entity me)
+{
+ return "XXX";
+}
+void fillNexuizCvarsDialog(entity me)
+{
+ entity e, cvarlist, btn;
+ cvarlist = makeNexuizCvarList();
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Cvar filter:"));
+ me.TD(me, 1, 0.5, btn = makeNexuizButton("Clear", '0 0 0'));
+ me.TD(me, 1, me.columns - 1.5, e = makeNexuizInputBox(0, string_null));
+ e.onChange = CvarList_Filter_Change;
+ e.onChangeEntity = cvarlist;
+ btn.onClick = InputBox_Clear_Click;
+ btn.onClickEntity = e;
+ cvarlist.controlledTextbox = e; // this COULD also be the Value box, but this leads to accidentally editing stuff
+ me.TR(me);
+ me.TD(me, me.rows - me.currentRow - 7, me.columns, cvarlist);
+ me.gotoRC(me, me.rows - 7, 0);
+ me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Setting:"));
+ me.TD(me, 1, me.columns - 1, e = makeNexuizTextLabel(0, string_null));
+ cvarlist.cvarNameBox = e;
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Type:"));
+ me.TD(me, 1, me.columns - 1, e = makeNexuizTextLabel(0, string_null));
+ cvarlist.cvarTypeBox = e;
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Value:"));
+ me.TD(me, 1, me.columns - 2, e = makeNexuizInputBox(0, string_null));
+ cvarlist.cvarValueBox = e;
+ e.onChange = CvarList_Value_Change;
+ e.onChangeEntity = cvarlist;
+ me.TD(me, 1, 1, e = makeNexuizButton(string_null, SKINCOLOR_CVARLIST_REVERTBUTTON));
+ cvarlist.cvarDefaultBox = e;
+ e.onClick = CvarList_Revert_Click;
+ e.onClickEntity = cvarlist;
+ e.allowCut = 1;
+ e.marginLeft = e.marginRight = 0.5;
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeNexuizTextLabel(0, "Description:"));
+ me.TD(me, 1, me.columns - 1, e = makeNexuizTextLabel(0, string_null));
+ cvarlist.cvarDescriptionBox = e;
+ e.allowWrap = 1;
+ me.gotoRC(me, me.rows - 1, 0);
+ me.TD(me, 1, me.columns, e = makeNexuizButton("OK", '0 0 0'));
+ e.onClick = Dialog_Close;
+ e.onClickEntity = me;
+}
+
+#endif
Modified: trunk/data/qcsrc/menu/nexuiz/mainwindow.c
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/mainwindow.c 2009-01-23 06:33:47 UTC (rev 5636)
+++ trunk/data/qcsrc/menu/nexuiz/mainwindow.c 2009-01-23 10:51:33 UTC (rev 5637)
@@ -8,6 +8,7 @@
ATTRIB(MainWindow, winnerDialog, entity, NULL)
ATTRIB(MainWindow, radarDialog, entity, NULL)
ATTRIB(MainWindow, serverInfoDialog, entity, NULL)
+ ATTRIB(MainWindow, cvarsDialog, entity, NULL)
ATTRIB(MainWindow, mainNexposee, entity, NULL)
ATTRIB(MainWindow, fadedAlpha, float, SKINALPHA_BEHIND)
ENDCLASS(MainWindow)
@@ -59,6 +60,10 @@
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+ me.cvarsDialog = i = spawnNexuizCvarsDialog();
+ i.configureDialog(i);
+ me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
me.mainNexposee = n = spawnNexuizNexposee();
/*
if(checkextension("DP_GECKO_SUPPORT"))
Modified: trunk/data/qcsrc/menu/nexuiz/util.qc
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/util.qc 2009-01-23 06:33:47 UTC (rev 5636)
+++ trunk/data/qcsrc/menu/nexuiz/util.qc 2009-01-23 10:51:33 UTC (rev 5637)
@@ -312,3 +312,40 @@
campaign_won_previous = cvar(strcat("g_campaign", campaign_name, "_won"));
}
}
+
+string getWrappedLine_remaining;
+string getWrappedLine(float w)
+{
+ float cantake;
+ float take;
+ string s;
+
+ s = getWrappedLine_remaining;
+
+ cantake = draw_TextLengthUpToWidth(s, w, 0);
+ if(cantake > 0 && cantake < strlen(s))
+ {
+ take = cantake - 1;
+ while(take > 0 && substring(s, take, 1) != " ")
+ --take;
+ if(take == 0)
+ {
+ getWrappedLine_remaining = substring(s, cantake, strlen(s) - cantake);
+ if(getWrappedLine_remaining == "")
+ getWrappedLine_remaining = string_null;
+ return substring(s, 0, cantake);
+ }
+ else
+ {
+ getWrappedLine_remaining = substring(s, take + 1, strlen(s) - take);
+ if(getWrappedLine_remaining == "")
+ getWrappedLine_remaining = string_null;
+ return substring(s, 0, take);
+ }
+ }
+ else
+ {
+ getWrappedLine_remaining = string_null;
+ return s;
+ }
+}
Modified: trunk/data/qcsrc/menu/nexuiz/util.qh
===================================================================
--- trunk/data/qcsrc/menu/nexuiz/util.qh 2009-01-23 06:33:47 UTC (rev 5636)
+++ trunk/data/qcsrc/menu/nexuiz/util.qh 2009-01-23 10:51:33 UTC (rev 5637)
@@ -9,3 +9,6 @@
void setDependentOR(entity e, string theCvarName, float theCvarMin, float theCvarMax, string theCvar2Name, float theCvar2Min, float theCvar2Max);
void setDependentAND3(entity e, string theCvarName, float theCvarMin, float theCvarMax, string theCvar2Name, float theCvar2Min, float theCvar2Max, string theCvar3Name, float theCvar3Min, float theCvar3Max);
void setDependentStringNotEqual(entity e, string theCvarName, string theCvarValue);
+
+string getWrappedLine_remaining;
+string getWrappedLine(float w);
Modified: trunk/data/qcsrc/menu/skin-customizables.inc
===================================================================
--- trunk/data/qcsrc/menu/skin-customizables.inc 2009-01-23 06:33:47 UTC (rev 5636)
+++ trunk/data/qcsrc/menu/skin-customizables.inc 2009-01-23 10:51:33 UTC (rev 5637)
@@ -53,6 +53,7 @@
SKINVECTOR(COLOR_DIALOG_WEAPONS, '1 0.7 0.7');
SKINVECTOR(COLOR_DIALOG_RADAR, '0.7 0.7 1');
SKINVECTOR(COLOR_DIALOG_SERVERINFO, '0.7 0.7 1');
+ SKINVECTOR(COLOR_DIALOG_CVARS, '1 0 0');
// nexposee positions of windows (they are the scale transformation
// centers, NOT the actual positions of the windows!)
@@ -119,6 +120,13 @@
// item: crosshair button
SKINSTRING(GFX_CROSSHAIRBUTTON, "crosshairbutton");
+ // item: cvar list
+ SKINFLOAT(ALPHA_CVARLIST_SAVED, 1);
+ SKINFLOAT(ALPHA_CVARLIST_TEMPORARY, 0.7);
+ SKINVECTOR(COLOR_CVARLIST_CHANGED, '1 1 0.4');
+ SKINVECTOR(COLOR_CVARLIST_REVERTBUTTON, '1 0 0');
+ SKINVECTOR(COLOR_CVARLIST_UNCHANGED, '1 1 1');
+
// item: dialog
SKINSTRING(GFX_DIALOGBORDER, "border");
SKINSTRING(GFX_CLOSEBUTTON, "closebutton");
More information about the nexuiz-commits
mailing list