about summary refs log tree commit diff
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/client/client.c5
-rw-r--r--src/engine/interface.h2
-rw-r--r--src/engine/network.c7
-rw-r--r--src/engine/network.h1
4 files changed, 15 insertions, 0 deletions
diff --git a/src/engine/client/client.c b/src/engine/client/client.c
index da241a72..6e1e88d6 100644
--- a/src/engine/client/client.c
+++ b/src/engine/client/client.c
@@ -305,6 +305,11 @@ void client_rcon(const char *cmd)
 	client_send_msg();
 }
 
+int client_connection_problems()
+{
+	return netclient_gotproblems(net);
+}
+
 static void client_send_input()
 {
 	int64 now = time_get();	
diff --git a/src/engine/interface.h b/src/engine/interface.h
index 7b8dd2b5..5cd8d604 100644
--- a/src/engine/interface.h
+++ b/src/engine/interface.h
@@ -804,6 +804,7 @@ float client_localtime();
 int client_state();
 const char *client_error_string();
 int *client_get_input(int tick);
+int client_connection_problems();
 
 void client_connect(const char *address);
 void client_disconnect();
@@ -812,6 +813,7 @@ void client_entergame();
 
 void client_rcon(const char *cmd);
 
+
 void client_serverbrowse_refresh(int lan);
 
 SERVER_INFO *client_serverbrowse_sorted_get(int index);
diff --git a/src/engine/network.c b/src/engine/network.c
index 202151b2..85b4604f 100644
--- a/src/engine/network.c
+++ b/src/engine/network.c
@@ -919,6 +919,13 @@ int netclient_state(NETCLIENT *c)
 	return NETSTATE_CONNECTING;
 }
 
+int netclient_gotproblems(NETCLIENT *c)
+{
+	if(time_get() - c->conn.last_recv_time > time_freq())
+		return 1;
+	return 0;
+}
+
 void netclient_stats(NETCLIENT *c, NETSTATS *stats)
 {
 	*stats = c->conn.stats;
diff --git a/src/engine/network.h b/src/engine/network.h
index 3deddcc6..338c5982 100644
--- a/src/engine/network.h
+++ b/src/engine/network.h
@@ -59,6 +59,7 @@ int netclient_send(NETCLIENT *c, NETPACKET *packet);
 int netclient_close(NETCLIENT *c);
 int netclient_update(NETCLIENT *c);
 int netclient_state(NETCLIENT *c);
+int netclient_gotproblems(NETCLIENT *c);
 void netclient_stats(NETCLIENT *c, NETSTATS *stats);
 const char *netclient_error_string(NETCLIENT *c);