# HG changeset patch # User Darkvater # Date 1161177466 0 # Node ID 801b93ae218cea0726573b0f7a610ef753992b60 # Parent 663954e4486faab8385189607ab49a4dd141fa77 (svn r6820) -Codechange: Some more const correctness, coding style. -Codechange: Add FOR_ALL_ACTIVE_CLIENT_INFOS macro that will loop all clients skipping inactive ones. diff -r 663954e4486f -r 801b93ae218c console_cmds.c --- a/console_cmds.c Wed Oct 18 10:57:32 2006 +0000 +++ b/console_cmds.c Wed Oct 18 13:17:46 2006 +0000 @@ -658,10 +658,10 @@ DEF_CONSOLE_CMD(ConResetCompany) { - Player *p; - NetworkClientState *cs; - NetworkClientInfo *ci; - byte index; + const Player *p; + const NetworkClientState *cs; + const NetworkClientInfo *ci; + PlayerID index; if (argc == 0) { IConsoleHelp("Remove an idle company from the game. Usage: 'reset_company '"); @@ -721,13 +721,11 @@ return true; } - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { - if (ci->client_index != NETWORK_EMPTY_INDEX) { - IConsolePrintF(8, "Client #%1d name: '%s' company: %1d IP: %s", - ci->client_index, ci->client_name, - ci->client_playas + (IsValidPlayer(ci->client_playas) ? 1 : 0), - GetPlayerIP(ci)); - } + FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { + IConsolePrintF(8, "Client #%1d name: '%s' company: %1d IP: %s", + ci->client_index, ci->client_name, + ci->client_playas + (IsValidPlayer(ci->client_playas) ? 1 : 0), + GetPlayerIP(ci)); } return true; @@ -748,9 +746,7 @@ } if (argc < 2) return false; - - if (_networking) // We are in network-mode, first close it! - NetworkDisconnect(); + if (_networking) NetworkDisconnect(); // we are in network-mode, first close it! ip = argv[1]; /* Default settings: default port and new company */ diff -r 663954e4486f -r 801b93ae218c network.c --- a/network.c Wed Oct 18 10:57:32 2006 +0000 +++ b/network.c Wed Oct 18 13:17:46 2006 +0000 @@ -55,7 +55,7 @@ { NetworkClientInfo *ci; - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { + for (ci = _network_client_info; ci != endof(_network_client_info); ci++) { if (ci->client_index == client_index) return ci; } @@ -70,7 +70,7 @@ NetworkClientInfo *ci; uint32 ip_number = inet_addr(ip); - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { + for (ci = _network_client_info; ci != endof(_network_client_info); ci++) { if (ci->client_ip == ip_number) return ci; } diff -r 663954e4486f -r 801b93ae218c network_data.h --- a/network_data.h Wed Oct 18 10:57:32 2006 +0000 +++ b/network_data.h Wed Oct 18 13:17:46 2006 +0000 @@ -198,7 +198,8 @@ #define SEND_COMMAND(type) NetworkPacketSend_ ## type ## _command #define RECEIVE_COMMAND(type) NetworkPacketReceive_ ## type ## _command -#define FOR_ALL_CLIENTS(cs) for (cs = _clients; cs != &_clients[MAX_CLIENTS] && cs->socket != INVALID_SOCKET; cs++) +#define FOR_ALL_CLIENTS(cs) for (cs = _clients; cs != endof(_clients) && cs->socket != INVALID_SOCKET; cs++) +#define FOR_ALL_ACTIVE_CLIENT_INFOS(ci) for (ci = _network_client_info; ci != endof(_network_client_info); ci++) if (ci->client_index != NETWORK_EMPTY_INDEX) Packet *NetworkSend_Init(PacketType type); void NetworkSend_uint8(Packet *packet, uint8 data); diff -r 663954e4486f -r 801b93ae218c network_gui.c --- a/network_gui.c Wed Oct 18 10:57:32 2006 +0000 +++ b/network_gui.c Wed Oct 18 13:17:46 2006 +0000 @@ -1048,9 +1048,7 @@ { const NetworkClientInfo *ci; - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { - // Skip non-active items - if (ci->client_index == NETWORK_EMPTY_INDEX) continue; + FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { if (client_no == 0) return ci; client_no--; } @@ -1123,12 +1121,10 @@ static bool CheckClientListHeight(Window *w) { int num = 0; - NetworkClientInfo *ci; + const NetworkClientInfo *ci; // Should be replaced with a loop through all clients - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { - // Skip non-active items - if (ci->client_index == NETWORK_EMPTY_INDEX) continue; + FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { num++; } @@ -1307,10 +1303,7 @@ y = CLNWND_OFFSET; - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { - // Skip non-active items - if (ci->client_index == NETWORK_EMPTY_INDEX) continue; - + FOR_ALL_ACTIVE_CLIENT_INFOS(ci) { if (_selected_clientlist_item == i++) { // Selected item, highlight it GfxFillRect(1, y, 248, y + CLNWND_ROWSIZE - 1, 0); colour = 0xC;