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; |