about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2007-12-19 19:56:38 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2007-12-19 19:56:38 +0000
commit34698e13e9c98d4665f31157d32639b426afbed6 (patch)
tree257b655e2017c3078b5dd6bd366e57b827e826a3
parentf65e608dc94fdebe8c66d3e0b8680860ce1fe00c (diff)
downloadzcatch-34698e13e9c98d4665f31157d32639b426afbed6.tar.gz
zcatch-34698e13e9c98d4665f31157d32639b426afbed6.zip
added version to server browser. fixed so that you can join a server even if you have
-rw-r--r--src/engine/e_interface.h1
-rw-r--r--src/engine/server/es_server.c2
-rw-r--r--src/game/client/gc_menu.cpp9
-rw-r--r--src/game/g_version.h2
-rw-r--r--src/game/server/gs_server.cpp5
5 files changed, 15 insertions, 4 deletions
diff --git a/src/engine/e_interface.h b/src/engine/e_interface.h
index f17865a6..111d5e54 100644
--- a/src/engine/e_interface.h
+++ b/src/engine/e_interface.h
@@ -750,6 +750,7 @@ void mods_connected(int client_id);
 
 const char *modc_net_version();
 const char *mods_net_version();
+const char *mods_version();
 
 /* server */
 int server_getclientinfo(int client_id, CLIENT_INFO *info);
diff --git a/src/engine/server/es_server.c b/src/engine/server/es_server.c
index 488fb929..7cdaa0dc 100644
--- a/src/engine/server/es_server.c
+++ b/src/engine/server/es_server.c
@@ -667,7 +667,7 @@ static void server_send_serverinfo(NETADDR4 *addr)
 	
 	packer_reset(&p);
 	packer_add_raw(&p, SERVERBROWSE_INFO, sizeof(SERVERBROWSE_INFO));
-	packer_add_string(&p, mods_net_version(), 32);
+	packer_add_string(&p, mods_version(), 32);
 	packer_add_string(&p, config.sv_name, 64);
 	packer_add_string(&p, config.sv_map, 32);
 
diff --git a/src/game/client/gc_menu.cpp b/src/game/client/gc_menu.cpp
index 11428ae7..e56077ef 100644
--- a/src/game/client/gc_menu.cpp
+++ b/src/game/client/gc_menu.cpp
@@ -926,6 +926,7 @@ static void menu2_render_serverbrowser(RECT main_view)
 		COL_PLAYERS,
 		COL_PING,
 		COL_PROGRESS,
+		COL_VERSION,
 	};
 	
 	static column cols[] = {
@@ -936,6 +937,7 @@ static void menu2_render_serverbrowser(RECT main_view)
 		{COL_MAP,		BROWSESORT_MAP,			"Map", 		1, 100.0f, 0, {0}, {0}},
 		{COL_PLAYERS,	BROWSESORT_NUMPLAYERS,	"Players",	1, 60.0f, 0, {0}, {0}},
 		{-1,			-1,						" ",		1, 10.0f, 0, {0}, {0}},
+		{COL_VERSION,	-1,						"Ver",		1, 40.0f, FIXED, {0}, {0}},
 		{COL_PROGRESS,	BROWSESORT_PROGRESSION,	"%",		1, 20.0f, FIXED, {0}, {0}},
 		{COL_PING,		BROWSESORT_PING,		"Ping",		1, 40.0f, FIXED, {0}, {0}},
 	};
@@ -1144,6 +1146,13 @@ static void menu2_render_serverbrowser(RECT main_view)
 					item->progression = 100;
 				ui2_draw_browse_icon(item->progression, &button);
 			}
+			else if(id == COL_VERSION)
+			{
+				const char *version = item->version;
+				if(strcmp(version, "0.3 e2d7973c6647a13c") == 0) // TODO: remove me later on
+					version = "0.3.0";
+				ui2_do_label(&button, version, 20.0f, 1);
+			}			
 			else if(id == COL_GAMETYPE)
 			{
 				const char *type = "???";
diff --git a/src/game/g_version.h b/src/game/g_version.h
index 8f261c0f..f9bbcf92 100644
--- a/src/game/g_version.h
+++ b/src/game/g_version.h
@@ -1,4 +1,4 @@
 /* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
 #include "generated/nethash.c"
-#define TEEWARS_VERSION "0.3.0-dev"
+#define TEEWARS_VERSION "0.3.1"
 #define TEEWARS_NETVERSION "0.3 " TEEWARS_NETVERSION_HASH
diff --git a/src/game/server/gs_server.cpp b/src/game/server/gs_server.cpp
index 3e0685a8..fa8b38d5 100644
--- a/src/game/server/gs_server.cpp
+++ b/src/game/server/gs_server.cpp
@@ -1924,11 +1924,11 @@ void mods_message(int msg, int client_id)
 		players[client_id].color_feet = msg_unpack_int();
 
 		// check for invalid chars
-		const char *p = name;
+		unsigned char *p = (unsigned char *)name;
 		while (*p)
 		{
 			if(*p < 32)
-				return;
+				*p = ' ';
 			p++;
 		}
 
@@ -2086,3 +2086,4 @@ void mods_postsnap()
 }
 
 extern "C" const char *mods_net_version() { return TEEWARS_NETVERSION; }
+extern "C" const char *mods_version() { return TEEWARS_VERSION; }