Mercurial > hg > openttd
changeset 15067:ed83091c3644 draft
(svn r19693) -Codechange: split STATUS_INACTIVE to two states
author | smatz <smatz@openttd.org> |
---|---|
date | Thu, 22 Apr 2010 17:26:57 +0000 |
parents | 6658375b72ef |
children | 67e618b529da |
files | src/network/core/tcp_game.h src/network/network_server.cpp |
diffstat | 2 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/network/core/tcp_game.h +++ b/src/network/core/tcp_game.h @@ -77,6 +77,7 @@ /** Status of a client */ enum ClientStatus { STATUS_INACTIVE, ///< The client is not connected nor active + STATUS_NEWGRFS_CHECK, ///< The client is checking NewGRFs STATUS_AUTH_GAME, ///< The client is authorizing with game (server) password STATUS_AUTH_COMPANY, ///< The client is authorizing with company password STATUS_AUTHORIZED, ///< The client is authorized
--- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -656,7 +656,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_NEWGRFS_CHECKED) { - if (cs->status != STATUS_INACTIVE) { + if (cs->status != STATUS_NEWGRFS_CHECK) { /* Illegal call, return error and ignore the packet */ return SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_NOT_EXPECTED); } @@ -739,7 +739,10 @@ /* Make sure companies to which people try to join are not autocleaned */ if (Company::IsValidID(playas)) _network_company_states[playas].months_empty = 0; + cs->status = STATUS_NEWGRFS_CHECK; + if (_grfconfig == NULL) { + /* Behave as if we received PACKET_CLIENT_NEWGRFS_CHECKED */ return RECEIVE_COMMAND(PACKET_CLIENT_NEWGRFS_CHECKED)(cs, NULL); } @@ -1703,6 +1706,7 @@ { static const char * const stat_str[] = { "inactive", + "checking NewGRFs", "authorizing (server password)", "authorizing (company password)", "authorized",