r2979 - in trunk/data/qcsrc: menu-div0test/nexuiz server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Nov 17 06:03:56 EST 2007


Author: div0
Date: 2007-11-17 06:03:56 -0500 (Sat, 17 Nov 2007)
New Revision: 2979

Modified:
   trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c
   trunk/data/qcsrc/menu-div0test/nexuiz/maplist.c
   trunk/data/qcsrc/server/g_world.qc
Log:
it can start games now


Modified: trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c	2007-11-17 10:48:26 UTC (rev 2978)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/dialog_multiplayer_create.c	2007-11-17 11:03:56 UTC (rev 2979)
@@ -94,6 +94,9 @@
 
 	me.gotoXY(me, me.rows - 1, 0);
 		me.TD(me, 1, me.columns, e = makeNexuizButton("Start!", '0 0 0'));
+			e.onClick = MapList_LoadMap;
+			e.onClickEntity = me.mapListBox;
+			me.mapListBox.startButton = e;
 
 	me.gameTypeChangeNotify(me);
 }

Modified: trunk/data/qcsrc/menu-div0test/nexuiz/maplist.c
===================================================================
--- trunk/data/qcsrc/menu-div0test/nexuiz/maplist.c	2007-11-17 10:48:26 UTC (rev 2978)
+++ trunk/data/qcsrc/menu-div0test/nexuiz/maplist.c	2007-11-17 11:03:56 UTC (rev 2979)
@@ -2,6 +2,7 @@
 CLASS(NexuizMapList) EXTENDS(NexuizListBox)
 	METHOD(NexuizMapList, configureNexuizMapList, void(entity))
 	ATTRIB(NexuizMapList, rowsPerItem, float, 4)
+	METHOD(NexuizMapList, draw, void(entity))
 	METHOD(NexuizMapList, drawListBoxItem, void(entity, float, vector, float))
 	METHOD(NexuizMapList, clickListBoxItem, void(entity, float, vector))
 	METHOD(NexuizMapList, resizeNotify, void(entity, vector, vector, vector, vector))
@@ -29,10 +30,16 @@
 	ATTRIB(NexuizMapList, g_maplistCache, string, string_null)
 	METHOD(NexuizMapList, g_maplistCacheToggle, void(entity, float))
 	METHOD(NexuizMapList, g_maplistCacheQuery, float(entity, float))
+
+	ATTRIB(NexuizMapList, startButton, entity, NULL)
+
+	ATTRIB(NexuizMapList, cvarName, string, "dummy")
+	METHOD(NexuizMapList, loadCvars, void(entity))
 ENDCLASS(NexuizMapList)
 entity makeNexuizMapList();
 void MapList_All(entity btn, entity me);
 void MapList_None(entity btn, entity me);
+void MapList_LoadMap(entity btn, entity me);
 #endif
 
 #ifdef IMPLEMENTATION
@@ -49,6 +56,11 @@
 	me.refilter(me);
 }
 
+void loadCvarsNexuizMapList(entity me)
+{
+	me.refilter(me);
+}
+
 float g_maplistCacheQueryNexuizMapList(entity me, float i)
 {
 	return stof(substring(me.g_maplistCache, i, 1));
@@ -87,6 +99,13 @@
 	}
 }
 
+void drawNexuizMapList(entity me)
+{
+	if(me.startButton)
+		me.startButton.disabled = ((me.selectedItem < 0) || (me.selectedItem >= me.nItems));
+	drawListBox(me);
+}
+
 void resizeNotifyNexuizMapList(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
 {
 	me.origin = absOrigin;
@@ -215,4 +234,22 @@
 	cvar_set("g_maplist", "");
 	me.refilter(me);
 }
+void MapList_LoadMap(entity btn, entity me)
+{
+	string m;
+	if(me.selectedItem >= me.nItems || me.selectedItem < 0)
+		return;
+	m = MapInfo_BSPName_ByID(me.selectedItem);
+	if not(m)
+		return;
+	if(MapInfo_CheckMap(m))
+	{
+		MapInfo_LoadMap(m);
+	}
+	else
+	{
+		print("Huh? Can't play this. Refiltering so this won't happen again.\n");
+		me.refilter(me);
+	}
+}
 #endif

Modified: trunk/data/qcsrc/server/g_world.qc
===================================================================
--- trunk/data/qcsrc/server/g_world.qc	2007-11-17 10:48:26 UTC (rev 2978)
+++ trunk/data/qcsrc/server/g_world.qc	2007-11-17 11:03:56 UTC (rev 2979)
@@ -700,6 +700,7 @@
 		bprint( "Maplist is empty!  Resetting it to default map list.\n" );
 #ifdef MAPINFO
 		cvar_set("g_maplist", temp = MapInfo_ListAllowedMaps());
+		localcmd("\nmenu_cmd sync\n");
 #else
 		cvar_set("g_maplist", temp = cvar_string("g_maplist_defaultlist"));
 #endif
@@ -825,6 +826,7 @@
 				bprint( "Maplist contains no single playable map!  Resetting it to default map list.\n" );
 #ifdef MAPINFO
 				cvar_set("g_maplist", MapInfo_ListAllowedMaps());
+				localcmd("\nmenu_cmd sync\n");
 #else
 				cvar_set("g_maplist", cvar_string("g_maplist_defaultlist"));
 #endif
@@ -1876,6 +1878,7 @@
 		bprint( "Maplist contains no single playable map!  Resetting it to default map list.\n" );
 #ifdef MAPINFO
 		cvar_set("g_maplist", MapInfo_ListAllowedMaps());
+		localcmd("\nmenu_cmd sync\n");
 #else
 		cvar_set("g_maplist", cvar_string("g_maplist_defaultlist"));
 #endif




More information about the nexuiz-commits mailing list