about summary refs log tree commit diff
path: root/src/engine/client
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-09-29 11:34:49 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-09-29 11:34:49 +0000
commiteac9658b7395a45d0b48cad340fd9ccf7bec0fde (patch)
treed5bd824038a9b095dd8ea5d9ab4cca88ce1afb0f /src/engine/client
parent6d44adb7114a0be6ecb1b0fabc6fe69d308cad1c (diff)
downloadzcatch-eac9658b7395a45d0b48cad340fd9ccf7bec0fde.tar.gz
zcatch-eac9658b7395a45d0b48cad340fd9ccf7bec0fde.zip
added voting gui and a lot of other minor changes
Diffstat (limited to 'src/engine/client')
-rw-r--r--src/engine/client/ec_client.c13
-rw-r--r--src/engine/client/ec_srvbrowse.c13
2 files changed, 18 insertions, 8 deletions
diff --git a/src/engine/client/ec_client.c b/src/engine/client/ec_client.c
index 845a3f22..1ae1d51a 100644
--- a/src/engine/client/ec_client.c
+++ b/src/engine/client/ec_client.c
@@ -78,6 +78,9 @@ static int mapdownload_crc = 0;
 static int mapdownload_amount = -1;
 static int mapdownload_totalsize = -1;
 
+/* */
+static SERVER_INFO current_server_info = {0};
+
 /* current time */
 static int current_tick = 0;
 static float intratick = 0;
@@ -490,6 +493,7 @@ void client_connect(const char *server_address_str)
 
 	dbg_msg("client", "connecting to '%s'", server_address_str);
 
+	mem_zero(&current_server_info, sizeof(current_server_info));
 	str_copy(buf, server_address_str, sizeof(buf));
 
 	for(k = 0; buf[k]; k++)
@@ -534,7 +538,9 @@ void client_disconnect_with_reason(const char *reason)
 	mapdownload_crc = 0;
 	mapdownload_totalsize = -1;
 	mapdownload_amount = 0;
-	
+
+	/* clear the current server info */
+	mem_zero(&current_server_info, sizeof(current_server_info));
 }
 
 void client_disconnect()
@@ -1069,7 +1075,10 @@ static void client_process_packet(NETCHUNK *packet)
 						if(msg != NETMSG_SNAPEMPTY && snapshot_crc((SNAPSHOT*)tmpbuffer3) != crc)
 						{
 							if(config.debug)
-								dbg_msg("client", "snapshot crc error #%d - tick=%d wantedcrc=%d gotcrc=%d compressed_size=%d", snapcrcerrors, game_tick, crc, snapshot_crc((SNAPSHOT*)tmpbuffer3), complete_size);
+							{
+								dbg_msg("client", "snapshot crc error #%d - tick=%d wantedcrc=%d gotcrc=%d compressed_size=%d delta_tick=%d",
+									snapcrcerrors, game_tick, crc, snapshot_crc((SNAPSHOT*)tmpbuffer3), complete_size, delta_tick);
+							}
 								
 							snapcrcerrors++;
 							if(snapcrcerrors > 10)
diff --git a/src/engine/client/ec_srvbrowse.c b/src/engine/client/ec_srvbrowse.c
index 20a80e97..d40b921c 100644
--- a/src/engine/client/ec_srvbrowse.c
+++ b/src/engine/client/ec_srvbrowse.c
@@ -502,7 +502,7 @@ void client_serverbrowse_refresh(int type)
 	}
 }
 
-static void client_serverbrowse_request(SERVERENTRY *entry)
+static void client_serverbrowse_request(NETADDR *addr, SERVERENTRY *entry)
 {
 	/*unsigned char buffer[sizeof(SERVERBROWSE_GETINFO)+1];*/
 	NETCHUNK p;
@@ -510,15 +510,15 @@ static void client_serverbrowse_request(SERVERENTRY *entry)
 	if(config.debug)
 	{
 		dbg_msg("client", "requesting server info from %d.%d.%d.%d:%d",
-			entry->addr.ip[0], entry->addr.ip[1], entry->addr.ip[2],
-			entry->addr.ip[3], entry->addr.port);
+			addr->ip[0], addr->ip[1], addr->ip[2],
+			addr->ip[3], addr->port);
 	}
 	
 	/*mem_copy(buffer, SERVERBROWSE_GETINFO, sizeof(SERVERBROWSE_GETINFO));
 	buffer[sizeof(SERVERBROWSE_GETINFO)] = current_token;*/
 	
 	p.client_id = -1;
-	p.address = entry->addr;
+	p.address = *addr;
 	p.flags = NETSENDFLAG_CONNLESS;
 	/*p.data_size = sizeof(buffer);
 	p.data = buffer;
@@ -529,7 +529,8 @@ static void client_serverbrowse_request(SERVERENTRY *entry)
 	p.data = SERVERBROWSE_OLD_GETINFO;
 	netclient_send(net, &p);
 	
-	entry->request_time = time_get();
+	if(entry)
+		entry->request_time = time_get();
 }
 
 void client_serverbrowse_update()
@@ -600,7 +601,7 @@ void client_serverbrowse_update()
 			break;
 			
 		if(entry->request_time == 0)
-			client_serverbrowse_request(entry);
+			client_serverbrowse_request(&entry->addr, entry);
 		
 		count++;
 		entry = entry->next_req;