(svn r6932) -Codechange: Send server messages with format NETWORK_ACTION_SERVER_MESSAGE so it is
authorDarkvater
Tue, 24 Oct 2006 22:23:08 +0000
changeset 4944 f597859bba38
parent 4943 d3b8e26a7071
child 4945 d20e68851e70
(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
network_data.h
network_server.c
players.c
--- a/network.c	Tue Oct 24 22:19:12 2006 +0000
+++ b/network.c	Tue Oct 24 22:23:08 2006 +0000
@@ -130,11 +130,17 @@
 	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 @@
 
 		_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 @@
 	/* 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);
--- a/network_data.h	Tue Oct 24 22:19:12 2006 +0000
+++ b/network_data.h	Tue Oct 24 22:23:08 2006 +0000
@@ -98,6 +98,7 @@
 typedef enum {
 	NETWORK_ACTION_JOIN,
 	NETWORK_ACTION_LEAVE,
+	NETWORK_ACTION_SERVER_MESSAGE,
 	NETWORK_ACTION_CHAT,
 	NETWORK_ACTION_CHAT_COMPANY,
 	NETWORK_ACTION_CHAT_CLIENT,
--- a/network_server.c	Tue Oct 24 22:19:12 2006 +0000
+++ b/network_server.c	Tue Oct 24 22:23:08 2006 +0000
@@ -752,7 +752,7 @@
 			/* 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 @@
 
 		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();
--- a/players.c	Tue Oct 24 22:19:12 2006 +0000
+++ b/players.c	Tue Oct 24 22:23:08 2006 +0000
@@ -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;
 }