(svn r8523) -Codechange: move all the Network(Recv|Send)_(uintXX|string) functions to Packet.

This commit is contained in:
rubidium
2007-02-01 23:26:44 +00:00
parent 19c90a3bc0
commit 16ce6def09
7 changed files with 333 additions and 339 deletions

View File

@@ -48,10 +48,10 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CLIENT_INFO)(NetworkTCPSocketHandler
if (ci->client_index != NETWORK_EMPTY_INDEX) {
Packet *p = NetworkSend_Init(PACKET_SERVER_CLIENT_INFO);
NetworkSend_uint16(p, ci->client_index);
NetworkSend_uint8 (p, ci->client_playas);
NetworkSend_string(p, ci->client_name);
NetworkSend_string(p, ci->unique_id);
p->Send_uint16(ci->client_index);
p->Send_uint8 (ci->client_playas);
p->Send_string(ci->client_name);
p->Send_string(ci->unique_id);
NetworkSend_Packet(p, cs);
}
@@ -75,8 +75,8 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_COMPANY_INFO)
if (active == 0) {
p = NetworkSend_Init(PACKET_SERVER_COMPANY_INFO);
NetworkSend_uint8 (p, NETWORK_COMPANY_INFO_VERSION);
NetworkSend_uint8 (p, active);
p->Send_uint8 (NETWORK_COMPANY_INFO_VERSION);
p->Send_uint8 (active);
NetworkSend_Packet(p, cs);
return;
@@ -89,36 +89,32 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_COMPANY_INFO)
p = NetworkSend_Init(PACKET_SERVER_COMPANY_INFO);
NetworkSend_uint8 (p, NETWORK_COMPANY_INFO_VERSION);
NetworkSend_uint8 (p, active);
NetworkSend_uint8 (p, player->index);
p->Send_uint8 (NETWORK_COMPANY_INFO_VERSION);
p->Send_uint8 (active);
p->Send_uint8 (player->index);
NetworkSend_string(p, _network_player_info[player->index].company_name);
NetworkSend_uint32(p, _network_player_info[player->index].inaugurated_year);
NetworkSend_uint64(p, _network_player_info[player->index].company_value);
NetworkSend_uint64(p, _network_player_info[player->index].money);
NetworkSend_uint64(p, _network_player_info[player->index].income);
NetworkSend_uint16(p, _network_player_info[player->index].performance);
p->Send_string(_network_player_info[player->index].company_name);
p->Send_uint32(_network_player_info[player->index].inaugurated_year);
p->Send_uint64(_network_player_info[player->index].company_value);
p->Send_uint64(_network_player_info[player->index].money);
p->Send_uint64(_network_player_info[player->index].income);
p->Send_uint16(_network_player_info[player->index].performance);
/* Send 1 if there is a passord for the company else send 0 */
if (_network_player_info[player->index].password[0] != '\0') {
NetworkSend_uint8(p, 1);
} else {
NetworkSend_uint8(p, 0);
}
p->Send_uint8(StrEmpty(_network_player_info[player->index].password) ? 0 : 1);
for (i = 0; i < NETWORK_VEHICLE_TYPES; i++) {
NetworkSend_uint16(p, _network_player_info[player->index].num_vehicle[i]);
p->Send_uint16(_network_player_info[player->index].num_vehicle[i]);
}
for (i = 0; i < NETWORK_STATION_TYPES; i++) {
NetworkSend_uint16(p, _network_player_info[player->index].num_station[i]);
p->Send_uint16(_network_player_info[player->index].num_station[i]);
}
if (_network_player_info[player->index].players[0] == '\0') {
NetworkSend_string(p, "<none>");
p->Send_string("<none>");
} else {
NetworkSend_string(p, _network_player_info[player->index].players);
p->Send_string(_network_player_info[player->index].players);
}
NetworkSend_Packet(p, cs);
@@ -126,8 +122,8 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_COMPANY_INFO)
p = NetworkSend_Init(PACKET_SERVER_COMPANY_INFO);
NetworkSend_uint8 (p, NETWORK_COMPANY_INFO_VERSION);
NetworkSend_uint8 (p, 0);
p->Send_uint8 (NETWORK_COMPANY_INFO_VERSION);
p->Send_uint8 (0);
NetworkSend_Packet(p, cs);
}
@@ -144,7 +140,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR)(NetworkTCPSocketHandler *cs,
char str[100];
Packet *p = NetworkSend_Init(PACKET_SERVER_ERROR);
NetworkSend_uint8(p, error);
p->Send_uint8(error);
NetworkSend_Packet(p, cs);
GetNetworkErrorMsg(str, error, lastof(str));
@@ -201,7 +197,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CHECK_NEWGRFS)(NetworkTCPSocketHandl
for (c = _grfconfig; c != NULL; c = c->next) grf_count++;
NetworkSend_uint8 (p, grf_count);
p->Send_uint8 (grf_count);
for (c = _grfconfig; c != NULL; c = c->next) {
cs->Send_GRFIdentifier(p, c);
}
@@ -219,7 +215,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_NEED_PASSWORD)(NetworkTCPSocketHandl
//
Packet *p = NetworkSend_Init(PACKET_SERVER_NEED_PASSWORD);
NetworkSend_uint8(p, type);
p->Send_uint8(type);
NetworkSend_Packet(p, cs);
}
@@ -242,7 +238,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_WELCOME)
_network_game_info.clients_on++;
p = NetworkSend_Init(PACKET_SERVER_WELCOME);
NetworkSend_uint16(p, cs->index);
p->Send_uint16(cs->index);
NetworkSend_Packet(p, cs);
// Transmit info about all the active clients
@@ -273,7 +269,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_WAIT)
}
p = NetworkSend_Init(PACKET_SERVER_WAIT);
NetworkSend_uint8(p, waiting);
p->Send_uint8(waiting);
NetworkSend_Packet(p, cs);
}
@@ -320,9 +316,9 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP)
// Now send the _frame_counter and how many packets are coming
p = NetworkSend_Init(PACKET_SERVER_MAP);
NetworkSend_uint8(p, MAP_PACKET_START);
NetworkSend_uint32(p, _frame_counter);
NetworkSend_uint32(p, ftell(file_pointer));
p->Send_uint8 (MAP_PACKET_START);
p->Send_uint32(_frame_counter);
p->Send_uint32(ftell(file_pointer));
NetworkSend_Packet(p, cs);
fseek(file_pointer, 0, SEEK_SET);
@@ -340,7 +336,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP)
int res;
for (i = 0; i < sent_packets; i++) {
Packet *p = NetworkSend_Init(PACKET_SERVER_MAP);
NetworkSend_uint8(p, MAP_PACKET_NORMAL);
p->Send_uint8(MAP_PACKET_NORMAL);
res = (int)fread(p->buffer + p->size, 1, SEND_MTU - p->size, file_pointer);
if (ferror(file_pointer)) error("Error reading temporary network savegame!");
@@ -350,7 +346,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_MAP)
if (feof(file_pointer)) {
// Done reading!
Packet *p = NetworkSend_Init(PACKET_SERVER_MAP);
NetworkSend_uint8(p, MAP_PACKET_END);
p->Send_uint8(MAP_PACKET_END);
NetworkSend_Packet(p, cs);
// Set the status to DONE_MAP, no we will wait for the client
@@ -409,7 +405,7 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_JOIN)(NetworkTCPSocketHandler *cs, u
Packet *p = NetworkSend_Init(PACKET_SERVER_JOIN);
NetworkSend_uint16(p, client_index);
p->Send_uint16(client_index);
NetworkSend_Packet(p, cs);
}
@@ -429,12 +425,12 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_FRAME)
//
Packet *p = NetworkSend_Init(PACKET_SERVER_FRAME);
NetworkSend_uint32(p, _frame_counter);
NetworkSend_uint32(p, _frame_counter_max);
p->Send_uint32(_frame_counter);
p->Send_uint32(_frame_counter_max);
#ifdef ENABLE_NETWORK_SYNC_EVERY_FRAME
NetworkSend_uint32(p, _sync_seed_1);
p->Send_uint32(_sync_seed_1);
#ifdef NETWORK_SEND_DOUBLE_SEED
NetworkSend_uint32(p, _sync_seed_2);
p->Send_uint32(_sync_seed_2);
#endif
#endif
NetworkSend_Packet(p, cs);
@@ -453,11 +449,11 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_SYNC)
//
Packet *p = NetworkSend_Init(PACKET_SERVER_SYNC);
NetworkSend_uint32(p, _frame_counter);
NetworkSend_uint32(p, _sync_seed_1);
p->Send_uint32(_frame_counter);
p->Send_uint32(_sync_seed_1);
#ifdef NETWORK_SEND_DOUBLE_SEED
NetworkSend_uint32(p, _sync_seed_2);
p->Send_uint32(_sync_seed_2);
#endif
NetworkSend_Packet(p, cs);
}
@@ -480,14 +476,14 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_COMMAND)(NetworkTCPSocketHandler *cs
Packet *p = NetworkSend_Init(PACKET_SERVER_COMMAND);
NetworkSend_uint8(p, cp->player);
NetworkSend_uint32(p, cp->cmd);
NetworkSend_uint32(p, cp->p1);
NetworkSend_uint32(p, cp->p2);
NetworkSend_uint32(p, cp->tile);
NetworkSend_string(p, cp->text);
NetworkSend_uint8(p, cp->callback);
NetworkSend_uint32(p, cp->frame);
p->Send_uint8 (cp->player);
p->Send_uint32(cp->cmd);
p->Send_uint32(cp->p1);
p->Send_uint32(cp->p2);
p->Send_uint32(cp->tile);
p->Send_string(cp->text);
p->Send_uint8 (cp->callback);
p->Send_uint32(cp->frame);
NetworkSend_Packet(p, cs);
}
@@ -505,10 +501,10 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_CHAT)(NetworkTCPSocketHandler *cs, N
Packet *p = NetworkSend_Init(PACKET_SERVER_CHAT);
NetworkSend_uint8(p, action);
NetworkSend_uint16(p, client_index);
NetworkSend_uint8(p, self_send);
NetworkSend_string(p, msg);
p->Send_uint8 (action);
p->Send_uint16(client_index);
p->Send_uint8 (self_send);
p->Send_string(msg);
NetworkSend_Packet(p, cs);
}
@@ -526,8 +522,8 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_ERROR_QUIT)(NetworkTCPSocketHandler
Packet *p = NetworkSend_Init(PACKET_SERVER_ERROR_QUIT);
NetworkSend_uint16(p, client_index);
NetworkSend_uint8(p, errorno);
p->Send_uint16(client_index);
p->Send_uint8 (errorno);
NetworkSend_Packet(p, cs);
}
@@ -545,8 +541,8 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_QUIT)(NetworkTCPSocketHandler *cs, u
Packet *p = NetworkSend_Init(PACKET_SERVER_QUIT);
NetworkSend_uint16(p, client_index);
NetworkSend_string(p, leavemsg);
p->Send_uint16(client_index);
p->Send_string(leavemsg);
NetworkSend_Packet(p, cs);
}
@@ -581,8 +577,8 @@ DEF_SERVER_SEND_COMMAND_PARAM(PACKET_SERVER_RCON)(NetworkTCPSocketHandler *cs, u
{
Packet *p = NetworkSend_Init(PACKET_SERVER_RCON);
NetworkSend_uint16(p, color);
NetworkSend_string(p, command);
p->Send_uint16(color);
p->Send_string(command);
NetworkSend_Packet(p, cs);
}
@@ -621,7 +617,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_JOIN)
NetworkLanguage client_lang;
char client_revision[NETWORK_REVISION_LENGTH];
NetworkRecv_string(cs, p, client_revision, sizeof(client_revision));
p->Recv_string(client_revision, sizeof(client_revision));
#if defined(WITH_REV) || defined(WITH_REV_HACK)
// Check if the client has revision control enabled
@@ -633,10 +629,10 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_JOIN)
}
#endif
NetworkRecv_string(cs, p, name, sizeof(name));
playas = (Owner)NetworkRecv_uint8(cs, p);
client_lang = (NetworkLanguage)NetworkRecv_uint8(cs, p);
NetworkRecv_string(cs, p, unique_id, sizeof(unique_id));
p->Recv_string(name, sizeof(name));
playas = (Owner)p->Recv_uint8();
client_lang = (NetworkLanguage)p->Recv_uint8();
p->Recv_string(unique_id, sizeof(unique_id));
if (cs->has_quit) return;
@@ -694,8 +690,8 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_PASSWORD)
char password[NETWORK_PASSWORD_LENGTH];
const NetworkClientInfo *ci;
type = (NetworkPasswordType)NetworkRecv_uint8(cs, p);
NetworkRecv_string(cs, p, password, sizeof(password));
type = (NetworkPasswordType)p->Recv_uint8();
p->Recv_string(password, sizeof(password));
if (cs->status == STATUS_INACTIVE && type == NETWORK_GAME_PASSWORD) {
// Check game-password
@@ -841,14 +837,14 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND)
return;
}
cp->player = (Owner)NetworkRecv_uint8(cs, p);
cp->cmd = NetworkRecv_uint32(cs, p);
cp->p1 = NetworkRecv_uint32(cs, p);
cp->p2 = NetworkRecv_uint32(cs, p);
cp->tile = NetworkRecv_uint32(cs, p);
NetworkRecv_string(cs, p, cp->text, lengthof(cp->text));
cp->player = (Owner)p->Recv_uint8();
cp->cmd = p->Recv_uint32();
cp->p1 = p->Recv_uint32();
cp->p2 = p->Recv_uint32();
cp->tile = p->Recv_uint32();
p->Recv_string(cp->text, lengthof(cp->text));
callback = NetworkRecv_uint8(cs, p);
callback = p->Recv_uint8();
if (cs->has_quit) return;
@@ -930,7 +926,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_ERROR)
NetworkTCPSocketHandler *new_cs;
char str[100];
char client_name[NETWORK_CLIENT_NAME_LENGTH];
NetworkErrorCode errorno = (NetworkErrorCode)NetworkRecv_uint8(cs, p);
NetworkErrorCode errorno = (NetworkErrorCode)p->Recv_uint8();
// The client was never joined.. thank the client for the packet, but ignore it
if (cs->status < STATUS_DONE_MAP || cs->has_quit) {
@@ -969,7 +965,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_QUIT)
return;
}
NetworkRecv_string(cs, p, str, lengthof(str));
p->Recv_string(str, lengthof(str));
NetworkGetClientName(client_name, sizeof(client_name), cs);
@@ -986,7 +982,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_QUIT)
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_ACK)
{
uint32 frame = NetworkRecv_uint32(cs, p);
uint32 frame = p->Recv_uint32();
/* The client is trying to catch up with the server */
if (cs->status == STATUS_PRE_ACTIVE) {
@@ -1113,12 +1109,12 @@ void NetworkServer_HandleChat(NetworkAction action, DestType desttype, int dest,
DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_CHAT)
{
NetworkAction action = (NetworkAction)NetworkRecv_uint8(cs, p);
DestType desttype = (DestType)NetworkRecv_uint8(cs, p);
int dest = NetworkRecv_uint8(cs, p);
NetworkAction action = (NetworkAction)p->Recv_uint8();
DestType desttype = (DestType)p->Recv_uint8();
int dest = p->Recv_uint8();
char msg[MAX_TEXT_MSG_LEN];
NetworkRecv_string(cs, p, msg, MAX_TEXT_MSG_LEN);
p->Recv_string(msg, MAX_TEXT_MSG_LEN);
NetworkServer_HandleChat(action, desttype, dest, msg, cs->index);
}
@@ -1128,7 +1124,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_SET_PASSWORD)
char password[NETWORK_PASSWORD_LENGTH];
const NetworkClientInfo *ci;
NetworkRecv_string(cs, p, password, sizeof(password));
p->Recv_string(password, sizeof(password));
ci = DEREF_CLIENT_INFO(cs);
if (IsValidPlayer(ci->client_playas)) {
@@ -1141,7 +1137,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_SET_NAME)
char client_name[NETWORK_CLIENT_NAME_LENGTH];
NetworkClientInfo *ci;
NetworkRecv_string(cs, p, client_name, sizeof(client_name));
p->Recv_string(client_name, sizeof(client_name));
ci = DEREF_CLIENT_INFO(cs);
if (cs->has_quit) return;
@@ -1163,8 +1159,8 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_RCON)
if (_network_game_info.rcon_password[0] == '\0') return;
NetworkRecv_string(cs, p, pass, sizeof(pass));
NetworkRecv_string(cs, p, command, sizeof(command));
p->Recv_string(pass, sizeof(pass));
p->Recv_string(command, sizeof(command));
if (strcmp(pass, _network_game_info.rcon_password) != 0) {
DEBUG(net, 0, "[rcon] wrong password from client-id %d", cs->index);
@@ -1468,7 +1464,7 @@ bool NetworkServer_ReadPackets(NetworkTCPSocketHandler *cs)
Packet *p;
NetworkRecvStatus res;
while ((p = NetworkRecv_Packet(cs, &res)) != NULL) {
byte type = NetworkRecv_uint8(cs, p);
byte type = p->Recv_uint8();
if (type < PACKET_END && _network_server_packet[type] != NULL && !cs->has_quit) {
_network_server_packet[type](cs, p);
} else {