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