r4906 - in branches/nexuiz-2.0: . data/gfx/menu/default data/gfx/menu/silver data/gfx/menu/simplygray data/gfx/menu/wickedblack data/gfx/menu/wickedblue data/gfx/menu/wickedgreen data/gfx/menu/wickedred data/gfx/menu/wickedwhite data/gfx/menu/wickedyellow data/gfx/menu/wickedz data/gfx/menu/xaw data/qcsrc/menu data/qcsrc/menu/nexuiz data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Oct 27 04:20:27 EDT 2008
Author: div0
Date: 2008-10-27 04:20:19 -0400 (Mon, 27 Oct 2008)
New Revision: 4906
Modified:
branches/nexuiz-2.0/.patchsets
branches/nexuiz-2.0/data/gfx/menu/default/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/silver/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/simplygray/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/wickedred/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/wickedz/skinvalues.txt
branches/nexuiz-2.0/data/gfx/menu/xaw/skinvalues.txt
branches/nexuiz-2.0/data/qcsrc/menu/menu.qc
branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/skinlist.c
branches/nexuiz-2.0/data/qcsrc/menu/skin-customizables.inc
branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc
branches/nexuiz-2.0/data/qcsrc/server/scores.qc
branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc
Log:
r4899 | div0 | 2008-10-26 22:08:25 +0100 (Sun, 26 Oct 2008) | 2 lines
add missile ammo to the ammo check
r4900 | div0 | 2008-10-26 22:42:18 +0100 (Sun, 26 Oct 2008) | 2 lines
fixed reverse logic in qcstatus
r4901 | div0 | 2008-10-27 07:38:23 +0100 (Mon, 27 Oct 2008) | 2 lines
show title and author of each skin
r4902 | div0 | 2008-10-27 07:41:04 +0100 (Mon, 27 Oct 2008) | 2 lines
add the new values to the skins
r4903 | div0 | 2008-10-27 07:42:07 +0100 (Mon, 27 Oct 2008) | 2 lines
oops, wrong destructor...
r4904 | div0 | 2008-10-27 08:47:56 +0100 (Mon, 27 Oct 2008) | 2 lines
typo fix
r4905 | div0 | 2008-10-27 09:10:22 +0100 (Mon, 27 Oct 2008) | 3 lines
make removing entities safer by clearing ALL their fields before removing (can't the engine do this?);
fix TAG Seeker aiming at respawning players
Modified: branches/nexuiz-2.0/.patchsets
===================================================================
--- branches/nexuiz-2.0/.patchsets 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/.patchsets 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,2 +1,2 @@
master = svn://svn.icculus.org/nexuiz/trunk
-revisions_applied = 1-4897
+revisions_applied = 1-4905
Modified: branches/nexuiz-2.0/data/gfx/menu/default/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/default/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/default/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,3 +1,6 @@
+title Generic
+author Morphed
+
// font sizes (used for everything)
FONTSIZE_NORMAL 12
HEIGHT_NORMAL 1.5
@@ -156,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.4 0.4 0.7'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '1 1 1'
Modified: branches/nexuiz-2.0/data/gfx/menu/silver/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/silver/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/silver/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,3 +1,6 @@
+title Silver
+author tZork
+
// font sizes (used for everything)
FONTSIZE_NORMAL 12
HEIGHT_NORMAL 1.5
@@ -156,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.4 0.4 0.7'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '1 1 1'
Modified: branches/nexuiz-2.0/data/gfx/menu/simplygray/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/simplygray/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/simplygray/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,3 +1,6 @@
+title Simply Gray
+author ???
+
// font sizes (used for everything)
FONTSIZE_NORMAL 12
HEIGHT_NORMAL 1.5
@@ -156,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.4 0.4 0.7'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '1 1 1'
Modified: branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedblack/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,4 +1,5 @@
-// Values for Wicked 2 Black by sev
+title Wicked 2 Black
+author sev
// font sizes (used for everything)
FONTSIZE_NORMAL 12
@@ -158,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.75 0.75 0.75'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '1 1 1'
Modified: branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedblue/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,4 +1,5 @@
-// Values for Wicked 2 Blue by sev
+title Wicked 2 Blue
+author sev
// font sizes (used for everything)
FONTSIZE_NORMAL 12
@@ -158,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.75 0.75 0.75'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '0.5 0.75 1'
Modified: branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedgreen/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,4 +1,5 @@
-// Values for Wicked 2 Green by sev
+title Wicked 2 Green
+author sev
// font sizes (used for everything)
FONTSIZE_NORMAL 12
@@ -158,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.75 0.75 0.75'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '0.5 1 0'
Modified: branches/nexuiz-2.0/data/gfx/menu/wickedred/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedred/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedred/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,4 +1,5 @@
-// Values for Wicked 2 Red by sev
+title Wicked 2 Red
+author sev
// font sizes (used for everything)
FONTSIZE_NORMAL 12
@@ -158,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.75 0.75 0.75'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '1 0 0'
Modified: branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedwhite/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,4 +1,5 @@
-// Values for Wicked 2 White by sev
+title Wicked 2 White
+author sev
// font sizes (used for everything)
FONTSIZE_NORMAL 12
@@ -158,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.75 0.75 0.75'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '1 1 1'
Modified: branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedyellow/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,4 +1,5 @@
-// Values for Wicked 2 Yellow by sev
+title Wicked 2 Yellow
+author sev
// font sizes (used for everything)
FONTSIZE_NORMAL 12
@@ -158,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.75 0.75 0.75'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '1 0.875 0'
Modified: branches/nexuiz-2.0/data/gfx/menu/wickedz/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/wickedz/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/wickedz/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,3 +1,6 @@
+title Wicked Z
+author [-z-]
+
// Values for Wicked Z by -z-
// Based on sev's wicked series
// http://alientrap.org/forum/viewtopic.php?t=3430
@@ -170,6 +173,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.75 0.75 0.75'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '0.5 0.4 0'
Modified: branches/nexuiz-2.0/data/gfx/menu/xaw/skinvalues.txt
===================================================================
--- branches/nexuiz-2.0/data/gfx/menu/xaw/skinvalues.txt 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/gfx/menu/xaw/skinvalues.txt 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,3 +1,6 @@
+title Xaw
+author divVerent
+
// font sizes (used for everything)
FONTSIZE_NORMAL 12
HEIGHT_NORMAL 1.5
@@ -156,6 +159,10 @@
ALPHA_SERVERLIST_FAVORITE 0.8
COLOR_SERVERLIST_FAVORITE '1 1 1'
+// item: skin list
+COLOR_SKINLIST_TITLE '1 1 1'
+COLOR_SKINLIST_AUTHOR '0.5 0.5 0.5'
+
// item: slider
// uses "slider" images
COLOR_SLIDER_N '1 1 1'
Modified: branches/nexuiz-2.0/data/qcsrc/menu/menu.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/menu.qc 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/qcsrc/menu/menu.qc 2008-10-27 08:20:19 UTC (rev 4906)
@@ -83,6 +83,11 @@
draw_currentSkin = strzone(draw_currentSkin);
while((s = fgets(fh)))
{
+ // these two are handled by skinlist.qc
+ if(substring(s, 0, 6) == "title ")
+ continue;
+ if(substring(s, 0, 7) == "author ")
+ continue;
n = tokenize_sane(s);
if(n >= 2)
Skin_ApplySetting(argv(0), substring(s, argv_start_index(1), argv_end_index(-1) - argv_start_index(1)));
Modified: branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/skinlist.c
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/skinlist.c 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/qcsrc/menu/nexuiz/skinlist.c 2008-10-27 08:20:19 UTC (rev 4906)
@@ -8,7 +8,7 @@
METHOD(NexuizSkinList, setSkin, void(entity))
METHOD(NexuizSkinList, loadCvars, void(entity))
METHOD(NexuizSkinList, saveCvars, void(entity))
- METHOD(NexuizSkinList, skinName, string(entity, float))
+ METHOD(NexuizSkinList, skinParameter, string(entity, float, float))
METHOD(NexuizSkinList, clickListBoxItem, void(entity, float, vector))
METHOD(NexuizSkinList, keyDown, float(entity, float, float, float))
METHOD(NexuizSkinList, destroy, void(entity))
@@ -19,7 +19,8 @@
ATTRIB(NexuizSkinList, columnPreviewSize, float, 0)
ATTRIB(NexuizSkinList, columnNameOrigin, float, 0)
ATTRIB(NexuizSkinList, columnNameSize, float, 0)
- ATTRIB(NexuizSkinList, realUpperMargin, float, 0)
+ ATTRIB(NexuizSkinList, realUpperMargin1, float, 0)
+ ATTRIB(NexuizSkinList, realUpperMargin2, float, 0)
ATTRIB(NexuizSkinList, origin, vector, '0 0 0')
ATTRIB(NexuizSkinList, itemAbsSize, vector, '0 0 0')
@@ -35,6 +36,12 @@
#ifdef IMPLEMENTATION
+#define SKINPARM_NAME 0
+#define SKINPARM_TITLE 1
+#define SKINPARM_AUTHOR 2
+#define SKINPARM_PREVIEW 3
+#define SKINPARM_COUNT 4
+
entity makeNexuizSkinList()
{
entity me;
@@ -58,7 +65,7 @@
n = me.nItems;
for(i = 0; i < n; ++i)
{
- if(me.skinName(me, i) == s)
+ if(me.skinParameter(me, i, SKINPARM_NAME) == s)
{
me.selectedItem = i;
break;
@@ -68,26 +75,61 @@
void saveCvarsNexuizSkinList(entity me)
{
- cvar_set("menu_skin", me.skinName(me, me.selectedItem));
+ cvar_set("menu_skin", me.skinParameter(me, me.selectedItem, SKINPARM_NAME));
}
-string skinNameNexuizSkinList(entity me, float i)
+string skinParameterNexuizSkinList(entity me, float i, float key)
{
- string s;
- s = search_getfilename(me.skinlist, i);
- s = substring(s, 9, strlen(s) - 9 - 15); // gfx/menu/, skinvalues.txt
- return s;
+ return bufstr_get(me.skinlist, i * SKINPARM_COUNT + key);
}
void getSkinsNexuizSkinList(entity me)
{
- me.skinlist = search_begin("gfx/menu/*/skinvalues.txt", TRUE, TRUE);
- me.nItems = search_getsize(me.skinlist);
+ float glob, buf, i, n, fh;
+ string s;
+
+ buf = buf_create();
+ glob = search_begin("gfx/menu/*/skinvalues.txt", TRUE, TRUE);
+ if(glob < 0)
+ {
+ me.skinlist = buf;
+ me.nItems = 0;
+ return;
+ }
+
+ n = search_getsize(glob);
+ for(i = 0; i < n; ++i)
+ {
+ s = search_getfilename(glob, i);
+ bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_NAME, substring(s, 9, strlen(s) - 24)); // the * part
+ bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_TITLE, "<TITLE>");
+ bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_AUTHOR, "<AUTHOR>");
+ bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_PREVIEW, strcat("/gfx/menu/", substring(s, 9, strlen(s) - 24), "/skinpreview"));
+ fh = fopen(s, FILE_READ);
+ if(fh < 0)
+ {
+ print("Warning: can't open skinvalues.txt file\n");
+ continue;
+ }
+ while((s = fgets(fh)))
+ {
+ // these two are handled by skinlist.qc
+ if(substring(s, 0, 6) == "title ")
+ bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_TITLE, substring(s, 6, strlen(s) - 6));
+ else if(substring(s, 0, 7) == "author ")
+ bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_AUTHOR, substring(s, 7, strlen(s) - 7));
+ }
+ }
+
+ search_end(glob);
+
+ me.skinlist = buf;
+ me.nItems = n;
}
void destroyNexuizSkinList(entity me)
{
- search_end(me.skinlist);
+ buf_del(me.skinlist);
}
void resizeNotifyNexuizSkinList(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
@@ -98,7 +140,8 @@
me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize_y * me.itemHeight));
me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize_x * (1 - me.controlWidth)));
- me.realUpperMargin = 0.5 * (1 - me.realFontSize_y);
+ me.realUpperMargin1 = 0.5 * (1 - 2.5 * me.realFontSize_y);
+ me.realUpperMargin2 = me.realUpperMargin1 + 1.5 * me.realFontSize_y;
me.columnPreviewOrigin = 0;
me.columnPreviewSize = me.itemAbsSize_y / me.itemAbsSize_x * 4 / 3;
@@ -113,11 +156,17 @@
if(isSelected)
draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
- s = me.skinName(me, i);
- draw_Picture(me.columnPreviewOrigin * eX, strcat("/gfx/menu/", s, "/skinpreview"), me.columnPreviewSize * eX + eY, '1 1 1', 1);
+ s = me.skinParameter(me, i, SKINPARM_PREVIEW);
+ draw_Picture(me.columnPreviewOrigin * eX, s, me.columnPreviewSize * eX + eY, '1 1 1', 1);
+ s = me.skinParameter(me, i, SKINPARM_NAME);
+ s = strcat(s, ": ", me.skinParameter(me, i, SKINPARM_TITLE));
s = draw_TextShortenToWidth(s, me.columnNameSize / me.realFontSize_x, 0);
- draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0) * me.realFontSize_x)) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+ draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0) * me.realFontSize_x)) * eX, s, me.realFontSize, SKINCOLOR_SKINLIST_TITLE, SKINALPHA_TEXT, 0);
+
+ s = me.skinParameter(me, i, SKINPARM_AUTHOR);
+ s = draw_TextShortenToWidth(s, me.columnNameSize / me.realFontSize_x, 0);
+ draw_Text(me.realUpperMargin2 * eY + (me.columnNameOrigin + 1.00 * (me.columnNameSize - draw_TextWidth(s, 0) * me.realFontSize_x)) * eX, s, me.realFontSize, SKINCOLOR_SKINLIST_AUTHOR, SKINALPHA_TEXT, 0);
}
void setSkinNexuizSkinList(entity me)
Modified: branches/nexuiz-2.0/data/qcsrc/menu/skin-customizables.inc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/menu/skin-customizables.inc 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/qcsrc/menu/skin-customizables.inc 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1,5 +1,8 @@
#if 0
"Perl code to convert this to a skinvalues.txt file.";
+print "title <TITLE>\n";
+print "author <AUTHOR>\n";
+print "\n";
while(<DATA>)
{
chomp;
@@ -188,6 +191,10 @@
SKINFLOAT(ALPHA_SERVERLIST_FAVORITE, 0.8);
SKINVECTOR(COLOR_SERVERLIST_FAVORITE, '1 1 1');
+ // item: skin list
+ SKINVECTOR(COLOR_SKINLIST_TITLE, '1 1 1');
+ SKINVECTOR(COLOR_SKINLIST_AUTHOR, '0.4 0.4 0.7');
+
// item: slider
SKINSTRING(GFX_SLIDER, "slider");
SKINVECTOR(COLOR_SLIDER_N, '1 1 1');
Modified: branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/g_world.qc 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/qcsrc/server/g_world.qc 2008-10-27 08:20:19 UTC (rev 4906)
@@ -209,6 +209,7 @@
world_already_spawned = TRUE;
remove = remove_safely; // during spawning, watch what you remove!
+ remove_empty_template = spawn(); // make an empty entity
compressShortVector_init();
Modified: branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc 2008-10-27 08:20:19 UTC (rev 4906)
@@ -1293,9 +1293,10 @@
objerror_builtin(s);
}
+entity remove_empty_template;
void remove_unsafely(entity e)
-{
- e.classname = "";
+{
+ copyentity(remove_empty_template, e); // zero all fields
remove_builtin(e);
}
Modified: branches/nexuiz-2.0/data/qcsrc/server/scores.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/scores.qc 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/qcsrc/server/scores.qc 2008-10-27 08:20:19 UTC (rev 4906)
@@ -439,9 +439,9 @@
s = strcat(s, ":spectator");
*/
if(p.classname == "player" || g_arena || g_lms)
+ s = GetPlayerScoreString(p, 2);
+ else
s = "-666";
- else
- s = GetPlayerScoreString(p, 2);
if(p.clientstatus)
strunzone(p.clientstatus);
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc 2008-10-27 08:10:22 UTC (rev 4905)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_seeker.qc 2008-10-27 08:20:19 UTC (rev 4906)
@@ -51,6 +51,10 @@
self.switchweapon = self.switchweapon * cvar("g_balance_seeker_missile_decel");
if (self.enemy != world)
+ if (self.enemy.takedamage != DAMAGE_AIM || self.enemy.deadflag != DEAD_NO)
+ self.enemy = world;
+
+ if (self.enemy != world)
{
e = self.enemy;
turnrate = cvar("g_balance_seeker_missile_turnrate"); // how fast to turn
@@ -144,8 +148,13 @@
self.frame = self.frame +1;
self.nextthink = time + 0.05;
+ if (self.enemy != world)
+ if (self.enemy.takedamage != DAMAGE_AIM || self.enemy.deadflag != DEAD_NO)
+ self.enemy = world;
+
if(self.frame == 5)
- { self.think = Seeker_Missile_Think;
+ {
+ self.think = Seeker_Missile_Think;
self.nextthink = time + cvar("g_balance_seeker_missile_activate_delay");
self.effects = EF_LOWPRECISION | EF_NOSHADOW | EF_ROCKET;
@@ -153,7 +162,6 @@
self.movetype = MOVETYPE_BOUNCEMISSILE;
else
self.movetype = MOVETYPE_FLYMISSILE;
-
}
}
@@ -295,9 +303,8 @@
self.event_damage = SUB_Null;
sound (self, CHAN_PROJECTILE, "weapons/laserimpact.wav", 1, ATTN_NORM);
- if (other.classname == "player")
+ if (other.takedamage && other.deadflag == DEAD_NO)
{
-
entity e;
e = spawn();
e.cnt = cvar("g_balance_seeker_missile_count");
@@ -469,7 +476,7 @@
else if (req == WR_SETUP)
weapon_setup(WEP_SEEKER);
else if (req == WR_CHECKAMMO1)
- return self.ammo_rockets >= cvar("g_balance_seeker_tag_ammo");
+ return self.ammo_rockets >= cvar("g_balance_seeker_tag_ammo") + cvar("g_balance_seeker_missile_ammo");
else if (req == WR_CHECKAMMO2)
return self.ammo_rockets >= cvar("g_balance_seeker_flac_ammo");
else if (req == WR_SUICIDEMESSAGE)
More information about the nexuiz-commits
mailing list