summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
authorPatric Stout <truebrain@openttd.org>2021-08-14 23:24:02 +0200
committerGitHub <noreply@github.com>2021-08-14 23:24:02 +0200
commit1ef4d3cf19160745cd473d5de09f6f53bc6fd240 (patch)
tree0cdd6f821827c1f907b7adad108c55a99cd3ec8c /src/network
parent3d55ea2d4d1259fd34f30395743b10521b7ec11a (diff)
downloadopenttd-1ef4d3cf19160745cd473d5de09f6f53bc6fd240.tar.xz
Remove: COMPANY_INFO packets and related code (#9475)
Diffstat (limited to 'src/network')
-rw-r--r--src/network/core/core.h2
-rw-r--r--src/network/core/tcp_game.cpp4
-rw-r--r--src/network/core/tcp_game.h40
-rw-r--r--src/network/network.cpp2
-rw-r--r--src/network/network_client.cpp25
-rw-r--r--src/network/network_client.h4
-rw-r--r--src/network/network_server.cpp115
-rw-r--r--src/network/network_server.h2
8 files changed, 8 insertions, 186 deletions
diff --git a/src/network/core/core.h b/src/network/core/core.h
index 3e470ef5f..84d5b6201 100644
--- a/src/network/core/core.h
+++ b/src/network/core/core.h
@@ -71,8 +71,6 @@ public:
* Reopen the socket so we can send/receive stuff again.
*/
void Reopen() { this->has_quit = false; }
-
- void SendCompanyInformation(Packet *p, const struct Company *c, const struct NetworkCompanyStats *stats, uint max_len = NETWORK_COMPANY_NAME_LENGTH);
};
#endif /* NETWORK_CORE_CORE_H */
diff --git a/src/network/core/tcp_game.cpp b/src/network/core/tcp_game.cpp
index 7a1d18349..9ac53c597 100644
--- a/src/network/core/tcp_game.cpp
+++ b/src/network/core/tcp_game.cpp
@@ -73,8 +73,6 @@ NetworkRecvStatus NetworkGameSocketHandler::HandlePacket(Packet *p)
case PACKET_SERVER_ERROR: return this->Receive_SERVER_ERROR(p);
case PACKET_CLIENT_GAME_INFO: return this->Receive_CLIENT_GAME_INFO(p);
case PACKET_SERVER_GAME_INFO: return this->Receive_SERVER_GAME_INFO(p);
- case PACKET_CLIENT_COMPANY_INFO: return this->Receive_CLIENT_COMPANY_INFO(p);
- case PACKET_SERVER_COMPANY_INFO: return this->Receive_SERVER_COMPANY_INFO(p);
case PACKET_SERVER_CLIENT_INFO: return this->Receive_SERVER_CLIENT_INFO(p);
case PACKET_SERVER_NEED_GAME_PASSWORD: return this->Receive_SERVER_NEED_GAME_PASSWORD(p);
case PACKET_SERVER_NEED_COMPANY_PASSWORD: return this->Receive_SERVER_NEED_COMPANY_PASSWORD(p);
@@ -161,8 +159,6 @@ NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_JOIN(Packet *p) { ret
NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_ERROR(Packet *p) { return this->ReceiveInvalidPacket(PACKET_SERVER_ERROR); }
NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_GAME_INFO(Packet *p) { return this->ReceiveInvalidPacket(PACKET_CLIENT_GAME_INFO); }
NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_GAME_INFO(Packet *p) { return this->ReceiveInvalidPacket(PACKET_SERVER_GAME_INFO); }
-NetworkRecvStatus NetworkGameSocketHandler::Receive_CLIENT_COMPANY_INFO(Packet *p) { return this->ReceiveInvalidPacket(PACKET_CLIENT_COMPANY_INFO); }
-NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_COMPANY_INFO(Packet *p) { return this->ReceiveInvalidPacket(PACKET_SERVER_COMPANY_INFO); }
NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_CLIENT_INFO(Packet *p) { return this->ReceiveInvalidPacket(PACKET_SERVER_CLIENT_INFO); }
NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_NEED_GAME_PASSWORD(Packet *p) { return this->ReceiveInvalidPacket(PACKET_SERVER_NEED_GAME_PASSWORD); }
NetworkRecvStatus NetworkGameSocketHandler::Receive_SERVER_NEED_COMPANY_PASSWORD(Packet *p) { return this->ReceiveInvalidPacket(PACKET_SERVER_NEED_COMPANY_PASSWORD); }
diff --git a/src/network/core/tcp_game.h b/src/network/core/tcp_game.h
index cbef799cf..833b9077f 100644
--- a/src/network/core/tcp_game.h
+++ b/src/network/core/tcp_game.h
@@ -38,9 +38,9 @@ enum PacketGameType {
PACKET_CLIENT_JOIN, ///< The client telling the server it wants to join.
PACKET_SERVER_ERROR, ///< Server sending an error message to the client.
- /* Packets used for the pre-game lobby (unused, but remain for backward/forward compatibility). */
- PACKET_CLIENT_COMPANY_INFO, ///< Request information about all companies.
- PACKET_SERVER_COMPANY_INFO, ///< Information about a single company.
+ /* Unused packet types, formerly used for the pre-game lobby. */
+ PACKET_CLIENT_UNUSED, ///< Unused.
+ PACKET_SERVER_UNUSED, ///< Unused.
/* Packets used to get the game info. */
PACKET_SERVER_GAME_INFO, ///< Information about the server.
@@ -201,40 +201,6 @@ protected:
virtual NetworkRecvStatus Receive_SERVER_GAME_INFO(Packet *p);
/**
- * Request company information (in detail).
- * @param p The packet that was just received.
- */
- virtual NetworkRecvStatus Receive_CLIENT_COMPANY_INFO(Packet *p);
-
- /**
- * Sends information about the companies (one packet per company):
- * uint8 Version of the structure of this packet (NETWORK_COMPANY_INFO_VERSION).
- * bool Contains data (false marks the end of updates).
- * uint8 ID of the company.
- * string Name of the company.
- * uint32 Year the company was inaugurated.
- * uint64 Value.
- * uint64 Money.
- * uint64 Income.
- * uint16 Performance (last quarter).
- * bool Company is password protected.
- * uint16 Number of trains.
- * uint16 Number of lorries.
- * uint16 Number of busses.
- * uint16 Number of planes.
- * uint16 Number of ships.
- * uint16 Number of train stations.
- * uint16 Number of lorry stations.
- * uint16 Number of bus stops.
- * uint16 Number of airports and heliports.
- * uint16 Number of harbours.
- * bool Company is an AI.
- * string Client names (comma separated list)
- * @param p The packet that was just received.
- */
- virtual NetworkRecvStatus Receive_SERVER_COMPANY_INFO(Packet *p);
-
- /**
* Send information about a client:
* uint32 ID of the client (always unique on a server. 1 = server, 0 is invalid).
* uint8 ID of the company the client is playing as (255 for spectators).
diff --git a/src/network/network.cpp b/src/network/network.cpp
index 929e50450..07b4840d2 100644
--- a/src/network/network.cpp
+++ b/src/network/network.cpp
@@ -640,7 +640,7 @@ public:
{
_networking = true;
new ClientNetworkGameSocketHandler(s, this->connection_string);
- MyClient::SendInformationQuery(false);
+ MyClient::SendInformationQuery();
}
};
diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp
index d2b5b489b..3196f4ce9 100644
--- a/src/network/network_client.cpp
+++ b/src/network/network_client.cpp
@@ -331,19 +331,11 @@ static_assert(NETWORK_SERVER_ID_LENGTH == 16 * 2 + 1);
/**
* Query the server for server information.
*/
-NetworkRecvStatus ClientNetworkGameSocketHandler::SendInformationQuery(bool request_company_info)
+NetworkRecvStatus ClientNetworkGameSocketHandler::SendInformationQuery()
{
my_client->status = STATUS_GAME_INFO;
my_client->SendPacket(new Packet(PACKET_CLIENT_GAME_INFO));
- if (request_company_info) {
- my_client->status = STATUS_COMPANY_INFO;
- _network_join_status = NETWORK_JOIN_STATUS_GETTING_COMPANY_INFO;
- SetWindowDirty(WC_NETWORK_STATUS_WINDOW, WN_NETWORK_STATUS_WINDOW_JOIN);
-
- my_client->SendPacket(new Packet(PACKET_CLIENT_COMPANY_INFO));
- }
-
return NETWORK_RECV_STATUS_OKAY;
}
@@ -567,7 +559,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_BANNED(Packet *
NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_GAME_INFO(Packet *p)
{
- if (this->status != STATUS_COMPANY_INFO && this->status != STATUS_GAME_INFO) return NETWORK_RECV_STATUS_MALFORMED_PACKET;
+ if (this->status != STATUS_GAME_INFO) return NETWORK_RECV_STATUS_MALFORMED_PACKET;
NetworkGameList *item = NetworkGameListAddItem(this->connection_string);
@@ -582,17 +574,6 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_GAME_INFO(Packe
UpdateNetworkGameWindow();
- /* We will receive company info next, so keep connection open. */
- if (this->status == STATUS_COMPANY_INFO) return NETWORK_RECV_STATUS_OKAY;
- return NETWORK_RECV_STATUS_CLOSE_QUERY;
-}
-
-NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_COMPANY_INFO(Packet *p)
-{
- if (this->status != STATUS_COMPANY_INFO) return NETWORK_RECV_STATUS_MALFORMED_PACKET;
-
- /* Unused, but this packet is part of the "this will never change" packet group. */
-
return NETWORK_RECV_STATUS_CLOSE_QUERY;
}
@@ -688,7 +669,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_ERROR(Packet *p
* NETWORK_ERROR_NOT_EXPECTED on requesting the game info. Show a special
* error popup in that case.
*/
- if (error == NETWORK_ERROR_NOT_EXPECTED && (this->status == STATUS_GAME_INFO || this->status == STATUS_COMPANY_INFO)) {
+ if (error == NETWORK_ERROR_NOT_EXPECTED && this->status == STATUS_GAME_INFO) {
ShowErrorMessage(STR_NETWORK_ERROR_SERVER_TOO_OLD, INVALID_STRING_ID, WL_CRITICAL);
return NETWORK_RECV_STATUS_CLOSE_QUERY;
}
diff --git a/src/network/network_client.h b/src/network/network_client.h
index 37deece81..85f954a12 100644
--- a/src/network/network_client.h
+++ b/src/network/network_client.h
@@ -23,7 +23,6 @@ private:
enum ServerStatus {
STATUS_INACTIVE, ///< The client is not connected nor active.
STATUS_GAME_INFO, ///< We are trying to get the game information.
- STATUS_COMPANY_INFO, ///< We are trying to get company information.
STATUS_JOIN, ///< We are trying to join a server.
STATUS_NEWGRFS_CHECK, ///< Last action was checking NewGRFs.
STATUS_AUTH_GAME, ///< Last action was requesting game (server) password.
@@ -46,7 +45,6 @@ protected:
NetworkRecvStatus Receive_SERVER_BANNED(Packet *p) override;
NetworkRecvStatus Receive_SERVER_ERROR(Packet *p) override;
NetworkRecvStatus Receive_SERVER_GAME_INFO(Packet *p) override;
- NetworkRecvStatus Receive_SERVER_COMPANY_INFO(Packet *p) override;
NetworkRecvStatus Receive_SERVER_CLIENT_INFO(Packet *p) override;
NetworkRecvStatus Receive_SERVER_NEED_GAME_PASSWORD(Packet *p) override;
NetworkRecvStatus Receive_SERVER_NEED_COMPANY_PASSWORD(Packet *p) override;
@@ -82,7 +80,7 @@ public:
NetworkRecvStatus CloseConnection(NetworkRecvStatus status) override;
void ClientError(NetworkRecvStatus res);
- static NetworkRecvStatus SendInformationQuery(bool request_company_info);
+ static NetworkRecvStatus SendInformationQuery();
static NetworkRecvStatus SendJoin();
static NetworkRecvStatus SendCommand(const CommandPacket *cp);
diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp
index c817acc90..fecaa2e00 100644
--- a/src/network/network_server.cpp
+++ b/src/network/network_server.cpp
@@ -362,64 +362,6 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::SendGameInfo()
return NETWORK_RECV_STATUS_OKAY;
}
-/** Send the client information about the companies. */
-NetworkRecvStatus ServerNetworkGameSocketHandler::SendCompanyInfo()
-{
- /* Fetch the latest version of the stats */
- NetworkCompanyStats company_stats[MAX_COMPANIES];
- NetworkPopulateCompanyStats(company_stats);
-
- /* Make a list of all clients per company */
- std::string clients[MAX_COMPANIES];
-
- /* Add the local player (if not dedicated) */
- const NetworkClientInfo *ci = NetworkClientInfo::GetByClientID(CLIENT_ID_SERVER);
- if (ci != nullptr && Company::IsValidID(ci->client_playas)) {
- clients[ci->client_playas] = ci->client_name;
- }
-
- for (NetworkClientSocket *csi : NetworkClientSocket::Iterate()) {
- std::string client_name = static_cast<ServerNetworkGameSocketHandler*>(csi)->GetClientName();
-
- ci = csi->GetInfo();
- if (ci != nullptr && Company::IsValidID(ci->client_playas)) {
- if (!clients[ci->client_playas].empty()) {
- clients[ci->client_playas] += ", ";
- }
-
- clients[ci->client_playas] += client_name;
- }
- }
-
- /* Now send the data */
-
- Packet *p;
-
- for (const Company *company : Company::Iterate()) {
- p = new Packet(PACKET_SERVER_COMPANY_INFO);
-
- p->Send_uint8 (NETWORK_COMPANY_INFO_VERSION);
- p->Send_bool (true);
- this->SendCompanyInformation(p, company, &company_stats[company->index]);
-
- if (clients[company->index].empty()) {
- p->Send_string("<none>");
- } else {
- p->Send_string(clients[company->index]);
- }
-
- this->SendPacket(p);
- }
-
- p = new Packet(PACKET_SERVER_COMPANY_INFO);
-
- p->Send_uint8 (NETWORK_COMPANY_INFO_VERSION);
- p->Send_bool (false);
-
- this->SendPacket(p);
- return NETWORK_RECV_STATUS_OKAY;
-}
-
/**
* Send an error to the client, and close its connection.
* @param error The error to disconnect for.
@@ -835,11 +777,6 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_GAME_INFO(Packe
return this->SendGameInfo();
}
-NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_COMPANY_INFO(Packet *p)
-{
- return this->SendCompanyInfo();
-}
-
NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_NEWGRFS_CHECKED(Packet *p)
{
if (this->status != STATUS_NEWGRFS_CHECK) {
@@ -1447,58 +1384,6 @@ NetworkRecvStatus ServerNetworkGameSocketHandler::Receive_CLIENT_MOVE(Packet *p)
}
/**
- * Package some generic company information into a packet.
- * @param p The packet that will contain the data.
- * @param c The company to put the of into the packet.
- * @param stats The statistics to put in the packet.
- * @param max_len The maximum length of the company name.
- */
-void NetworkSocketHandler::SendCompanyInformation(Packet *p, const Company *c, const NetworkCompanyStats *stats, uint max_len)
-{
- /* Grab the company name */
- char company_name[NETWORK_COMPANY_NAME_LENGTH];
- SetDParam(0, c->index);
-
- assert(max_len <= lengthof(company_name));
- GetString(company_name, STR_COMPANY_NAME, company_name + max_len - 1);
-
- /* Get the income */
- Money income = 0;
- if (_cur_year - 1 == c->inaugurated_year) {
- /* The company is here just 1 year, so display [2], else display[1] */
- for (uint i = 0; i < lengthof(c->yearly_expenses[2]); i++) {
- income -= c->yearly_expenses[2][i];
- }
- } else {
- for (uint i = 0; i < lengthof(c->yearly_expenses[1]); i++) {
- income -= c->yearly_expenses[1][i];
- }
- }
-
- /* Send the information */
- p->Send_uint8 (c->index);
- p->Send_string(company_name);
- p->Send_uint32(c->inaugurated_year);
- p->Send_uint64(c->old_economy[0].company_value);
- p->Send_uint64(c->money);
- p->Send_uint64(income);
- p->Send_uint16(c->old_economy[0].performance_history);
-
- /* Send 1 if there is a password for the company else send 0 */
- p->Send_bool (!_network_company_states[c->index].password.empty());
-
- for (uint i = 0; i < NETWORK_VEH_END; i++) {
- p->Send_uint16(stats->num_vehicle[i]);
- }
-
- for (uint i = 0; i < NETWORK_VEH_END; i++) {
- p->Send_uint16(stats->num_station[i]);
- }
-
- p->Send_bool(c->is_ai);
-}
-
-/**
* Populate the company stats.
* @param stats the stats to update
*/
diff --git a/src/network/network_server.h b/src/network/network_server.h
index 76bc95dbc..419d1e6be 100644
--- a/src/network/network_server.h
+++ b/src/network/network_server.h
@@ -25,7 +25,6 @@ class ServerNetworkGameSocketHandler : public NetworkClientSocketPool::PoolItem<
protected:
NetworkRecvStatus Receive_CLIENT_JOIN(Packet *p) override;
NetworkRecvStatus Receive_CLIENT_GAME_INFO(Packet *p) override;
- NetworkRecvStatus Receive_CLIENT_COMPANY_INFO(Packet *p) override;
NetworkRecvStatus Receive_CLIENT_GAME_PASSWORD(Packet *p) override;
NetworkRecvStatus Receive_CLIENT_COMPANY_PASSWORD(Packet *p) override;
NetworkRecvStatus Receive_CLIENT_GETMAP(Packet *p) override;
@@ -42,7 +41,6 @@ protected:
NetworkRecvStatus Receive_CLIENT_MOVE(Packet *p) override;
NetworkRecvStatus SendGameInfo();
- NetworkRecvStatus SendCompanyInfo();
NetworkRecvStatus SendNewGRFCheck();
NetworkRecvStatus SendWelcome();
NetworkRecvStatus SendNeedGamePassword();