network.c
changeset 4944 f597859bba38
parent 4943 d3b8e26a7071
child 5108 aeaef6fe53b7
equal deleted inserted replaced
4943:d3b8e26a7071 4944:f597859bba38
   128 	va_start(va, str);
   128 	va_start(va, str);
   129 	vsnprintf(buf, lengthof(buf), str, va);
   129 	vsnprintf(buf, lengthof(buf), str, va);
   130 	va_end(va);
   130 	va_end(va);
   131 
   131 
   132 	switch (action) {
   132 	switch (action) {
       
   133 		case NETWORK_ACTION_SERVER_MESSAGE:
       
   134 			color = 1;
       
   135 			snprintf(message, sizeof(message), "*** %s", buf);
       
   136 			break;
   133 		case NETWORK_ACTION_JOIN:
   137 		case NETWORK_ACTION_JOIN:
       
   138 			color = 1;
   134 			GetString(temp, STR_NETWORK_CLIENT_JOINED, lastof(temp));
   139 			GetString(temp, STR_NETWORK_CLIENT_JOINED, lastof(temp));
   135 			snprintf(message, sizeof(message), "*** %s %s", name, temp);
   140 			snprintf(message, sizeof(message), "*** %s %s", name, temp);
   136 			break;
   141 			break;
   137 		case NETWORK_ACTION_LEAVE:
   142 		case NETWORK_ACTION_LEAVE:
       
   143 			color = 1;
   138 			GetString(temp, STR_NETWORK_ERR_LEFT, lastof(temp));
   144 			GetString(temp, STR_NETWORK_ERR_LEFT, lastof(temp));
   139 			snprintf(message, sizeof(message), "*** %s %s (%s)", name, temp, buf);
   145 			snprintf(message, sizeof(message), "*** %s %s (%s)", name, temp, buf);
   140 			break;
   146 			break;
   141 		case NETWORK_ACTION_GIVE_MONEY:
   147 		case NETWORK_ACTION_GIVE_MONEY:
   142 			if (self_send) {
   148 			if (self_send) {
   301 	if (NetworkCountPlayers() < _network_min_players) {
   307 	if (NetworkCountPlayers() < _network_min_players) {
   302 		if (_min_players_paused) return;
   308 		if (_min_players_paused) return;
   303 
   309 
   304 		_min_players_paused = true;
   310 		_min_players_paused = true;
   305 		DoCommandP(0, 1, 0, NULL, CMD_PAUSE);
   311 		DoCommandP(0, 1, 0, NULL, CMD_PAUSE);
   306 		NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, "Game paused (not enough players)", NETWORK_SERVER_INDEX);
   312 		NetworkServer_HandleChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "Game paused (not enough players)", NETWORK_SERVER_INDEX);
   307 	} else {
   313 	} else {
   308 		if (!_min_players_paused) return;
   314 		if (!_min_players_paused) return;
   309 
   315 
   310 		_min_players_paused = false;
   316 		_min_players_paused = false;
   311 		DoCommandP(0, 0, 0, NULL, CMD_PAUSE);
   317 		DoCommandP(0, 0, 0, NULL, CMD_PAUSE);
   312 		NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, "Game unpaused (enough players)", NETWORK_SERVER_INDEX);
   318 		NetworkServer_HandleChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "Game unpaused (enough players)", NETWORK_SERVER_INDEX);
   313 	}
   319 	}
   314 }
   320 }
   315 
   321 
   316 // Find all IP-aliases for this host
   322 // Find all IP-aliases for this host
   317 static void NetworkFindIPs(void)
   323 static void NetworkFindIPs(void)
   603 	}
   609 	}
   604 
   610 
   605 	/* When the client was PRE_ACTIVE, the server was in pause mode, so unpause */
   611 	/* When the client was PRE_ACTIVE, the server was in pause mode, so unpause */
   606 	if (cs->status == STATUS_PRE_ACTIVE && _network_pause_on_join) {
   612 	if (cs->status == STATUS_PRE_ACTIVE && _network_pause_on_join) {
   607 		DoCommandP(0, 0, 0, NULL, CMD_PAUSE);
   613 		DoCommandP(0, 0, 0, NULL, CMD_PAUSE);
   608 		NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, "Game unpaused", NETWORK_SERVER_INDEX);
   614 		NetworkServer_HandleChat(NETWORK_ACTION_SERVER_MESSAGE, DESTTYPE_BROADCAST, 0, "Game unpaused", NETWORK_SERVER_INDEX);
   609 	}
   615 	}
   610 
   616 
   611 	closesocket(cs->socket);
   617 	closesocket(cs->socket);
   612 	cs->writable = false;
   618 	cs->writable = false;
   613 	cs->has_quit = true;
   619 	cs->has_quit = true;