From 929cfa6687abff4d7278b9e89798c2d53e074bfe Mon Sep 17 00:00:00 2001 From: Darkvater Date: Tue, 24 Oct 2006 22:23:08 +0000 Subject: [PATCH] (svn r6932) -Codechange: Send server messages with format NETWORK_ACTION_SERVER_MESSAGE so it is general colour like the rest of the server messages. Spectators speak in grey. --- network.c | 12 +++++++++--- network_data.h | 1 + network_server.c | 4 ++-- players.c | 7 +++---- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/network.c b/network.c index 377a1681cb..a909239661 100644 --- a/network.c +++ b/network.c @@ -130,11 +130,17 @@ void CDECL NetworkTextMessage(NetworkAction action, uint16 color, bool self_send va_end(va); switch (action) { + case NETWORK_ACTION_SERVER_MESSAGE: + color = 1; + snprintf(message, sizeof(message), "*** %s", buf); + break; case NETWORK_ACTION_JOIN: + color = 1; GetString(temp, STR_NETWORK_CLIENT_JOINED, lastof(temp)); snprintf(message, sizeof(message), "*** %s %s", name, temp); break; case NETWORK_ACTION_LEAVE: + color = 1; GetString(temp, STR_NETWORK_ERR_LEFT, lastof(temp)); snprintf(message, sizeof(message), "*** %s %s (%s)", name, temp, buf); break; @@ -303,13 +309,13 @@ void CheckMinPlayers(void) _min_players_paused = true; DoCommandP(0, 1, 0, NULL, CMD_PAUSE); - NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, "Game paused (not enough players)", NETWORK_SERVER_INDEX); + NetworkServer_HandleChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "Game paused (not enough players)", NETWORK_SERVER_INDEX); } else { if (!_min_players_paused) return; _min_players_paused = false; DoCommandP(0, 0, 0, NULL, CMD_PAUSE); - NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, "Game unpaused (enough players)", NETWORK_SERVER_INDEX); + NetworkServer_HandleChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "Game unpaused (enough players)", NETWORK_SERVER_INDEX); } } @@ -605,7 +611,7 @@ void NetworkCloseClient(NetworkClientState *cs) /* When the client was PRE_ACTIVE, the server was in pause mode, so unpause */ if (cs->status == STATUS_PRE_ACTIVE && _network_pause_on_join) { DoCommandP(0, 0, 0, NULL, CMD_PAUSE); - NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, "Game unpaused", NETWORK_SERVER_INDEX); + NetworkServer_HandleChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "Game unpaused", NETWORK_SERVER_INDEX); } closesocket(cs->socket); diff --git a/network_data.h b/network_data.h index 40a2b57045..80724a8de7 100644 --- a/network_data.h +++ b/network_data.h @@ -98,6 +98,7 @@ typedef enum { typedef enum { NETWORK_ACTION_JOIN, NETWORK_ACTION_LEAVE, + NETWORK_ACTION_SERVER_MESSAGE, NETWORK_ACTION_CHAT, NETWORK_ACTION_CHAT_COMPANY, NETWORK_ACTION_CHAT_CLIENT, diff --git a/network_server.c b/network_server.c index f8e4b61c8c..61f32335ee 100644 --- a/network_server.c +++ b/network_server.c @@ -752,7 +752,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_MAP_OK) /* Now pause the game till the client is in sync */ DoCommandP(0, 1, 0, NULL, CMD_PAUSE); - NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, "Game paused (incoming client)", NETWORK_SERVER_INDEX); + NetworkServer_HandleChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "Game paused (incoming client)", NETWORK_SERVER_INDEX); } } else { // Wrong status for this packet, give a warning to client, and close connection @@ -958,7 +958,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_ACK) if (_network_pause_on_join) { DoCommandP(0, 0, 0, NULL, CMD_PAUSE); - NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, "Game unpaused (client connected)", NETWORK_SERVER_INDEX); + NetworkServer_HandleChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "Game unpaused (client connected)", NETWORK_SERVER_INDEX); } CheckMinPlayers(); diff --git a/players.c b/players.c index ca3f44b053..e71e07efde 100644 --- a/players.c +++ b/players.c @@ -30,10 +30,9 @@ uint16 GetDrawStringPlayerColor(PlayerID player) { - /* Get the color for DrawString-subroutines which matches the color of the - * player - */ - if (player == PLAYER_SPECTATOR || player == PLAYER_SPECTATOR - 1) return 1; + /* Get the color for DrawString-subroutines which matches the color + * of the player */ + if (!IsValidPlayer(player)) return _colour_gradient[COLOUR_WHITE][4] | IS_PALETTE_COLOR; return (_colour_gradient[_player_colors[player]][4]) | IS_PALETTE_COLOR; }