src/console_cmds.cpp
changeset 9428 1ba05b499957
parent 9426 a77c8a4abcf5
child 9441 6f3d3595b42c
--- a/src/console_cmds.cpp	Fri May 30 09:32:24 2008 +0000
+++ b/src/console_cmds.cpp	Fri May 30 18:20:26 2008 +0000
@@ -10,17 +10,14 @@
 #include "landscape.h"
 #include "saveload.h"
 #include "variables.h"
-#include "network/network_data.h"
-#include "network/network_client.h"
-#include "network/network_server.h"
-#include "network/network_udp.h"
+#include "network/network.h"
+#include "network/network_func.h"
 #include "command_func.h"
 #include "settings_func.h"
 #include "fios.h"
 #include "fileio.h"
 #include "screenshot.h"
 #include "genworld.h"
-#include "network/network.h"
 #include "strings_func.h"
 #include "viewport_func.h"
 #include "window_func.h"
@@ -425,8 +422,8 @@
 	}
 
 	if (ci != NULL) {
-		banip = inet_ntoa(*(struct in_addr *)&ci->client_ip);
-		SEND_COMMAND(PACKET_SERVER_ERROR)(NetworkFindClientStateFromIndex(index), NETWORK_ERROR_KICKED);
+		banip = GetPlayerIP(ci);
+		NetworkServerSendError(index, NETWORK_ERROR_KICKED);
 		IConsolePrint(CC_DEFAULT, "Client banned");
 	} else {
 		IConsolePrint(CC_DEFAULT, "Client not online, banned IP");
@@ -539,43 +536,19 @@
 	if (_network_server) {
 		IConsoleCmdExec(argv[2]);
 	} else {
-		SEND_COMMAND(PACKET_CLIENT_RCON)(argv[1], argv[2]);
+		NetworkClientSendRcon(argv[1], argv[2]);
 	}
 	return true;
 }
 
 DEF_CONSOLE_CMD(ConStatus)
 {
-	static const char* const stat_str[] = {
-		"inactive",
-		"authorizing",
-		"authorized",
-		"waiting",
-		"loading map",
-		"map done",
-		"ready",
-		"active"
-	};
-
-	NetworkTCPSocketHandler *cs;
-
 	if (argc == 0) {
 		IConsoleHelp("List the status of all clients connected to the server. Usage 'status'");
 		return true;
 	}
 
-	FOR_ALL_CLIENTS(cs) {
-		int lag = NetworkCalculateLag(cs);
-		const NetworkClientInfo *ci = DEREF_CLIENT_INFO(cs);
-		const char* status;
-
-		status = (cs->status < (ptrdiff_t)lengthof(stat_str) ? stat_str[cs->status] : "unknown");
-		IConsolePrintF(CC_INFO, "Client #%1d  name: '%s'  status: '%s'  frame-lag: %3d  company: %1d  IP: %s  unique-id: '%s'",
-			cs->index, ci->client_name, status, lag,
-			ci->client_playas + (IsValidPlayer(ci->client_playas) ? 1 : 0),
-			GetPlayerIP(ci), ci->unique_id);
-	}
-
+	NetworkServerShowStatusToConsole();
 	return true;
 }
 
@@ -629,7 +602,7 @@
 	}
 
 	if (ci != NULL) {
-		SEND_COMMAND(PACKET_SERVER_ERROR)(NetworkFindClientStateFromIndex(index), NETWORK_ERROR_KICKED);
+		NetworkServerSendError(index, NETWORK_ERROR_KICKED);
 	} else {
 		IConsoleError("Client not found");
 	}
@@ -640,8 +613,6 @@
 DEF_CONSOLE_CMD(ConResetCompany)
 {
 	const Player *p;
-	NetworkTCPSocketHandler *cs;
-	const NetworkClientInfo *ci;
 	PlayerID index;
 
 	if (argc == 0) {
@@ -672,15 +643,11 @@
 		return true;
 	}
 
-	/* Check if the company has active players */
-	FOR_ALL_CLIENTS(cs) {
-		ci = DEREF_CLIENT_INFO(cs);
-		if (ci->client_playas == index) {
-			IConsoleError("Cannot remove company: a client is connected to that company.");
-			return true;
-		}
+	if (NetworkCompanyHasPlayers(index)) {
+		IConsoleError("Cannot remove company: a client is connected to that company.");
+		return false;
 	}
-	ci = NetworkFindClientInfoFromIndex(NETWORK_SERVER_INDEX);
+	const NetworkClientInfo *ci = NetworkFindClientInfoFromIndex(NETWORK_SERVER_INDEX);
 	if (ci->client_playas == index) {
 		IConsoleError("Cannot remove company: the server is connected to that company.");
 		return true;
@@ -1187,9 +1154,9 @@
 	if (argc != 2) return false;
 
 	if (!_network_server) {
-		SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0 /* param does not matter */, argv[1]);
+		NetworkClientSendChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0 /* param does not matter */, argv[1]);
 	} else {
-		NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, argv[1], NETWORK_SERVER_INDEX);
+		NetworkServerSendChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, argv[1], NETWORK_SERVER_INDEX);
 	}
 
 	return true;
@@ -1241,9 +1208,9 @@
 	}
 
 	if (!_network_server) {
-		SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT_COMPANY, DESTTYPE_TEAM, atoi(argv[1]), argv[2]);
+		NetworkClientSendChat(NETWORK_ACTION_CHAT_COMPANY, DESTTYPE_TEAM, atoi(argv[1]), argv[2]);
 	} else {
-		NetworkServer_HandleChat(NETWORK_ACTION_CHAT_COMPANY, DESTTYPE_TEAM, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX);
+		NetworkServerSendChat(NETWORK_ACTION_CHAT_COMPANY, DESTTYPE_TEAM, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX);
 	}
 
 	return true;
@@ -1260,9 +1227,9 @@
 	if (argc != 3) return false;
 
 	if (!_network_server) {
-		SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2]);
+		NetworkClientSendChat(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2]);
 	} else {
-		NetworkServer_HandleChat(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX);
+		NetworkServerSendChat(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX);
 	}
 
 	return true;
@@ -1291,7 +1258,7 @@
 	ttd_strlcpy(_network_player_info[_local_player].password, argv[0], sizeof(_network_player_info[_local_player].password));
 
 	if (!_network_server) {
-		SEND_COMMAND(PACKET_CLIENT_SET_PASSWORD)(_network_player_info[_local_player].password);
+		NetworkClientSetPassword();
 	} else {
 		HashCurrentCompanyPassword();
 	}