diff options
author | Simon Howard | 2006-09-17 20:37:26 +0000 |
---|---|---|
committer | Simon Howard | 2006-09-17 20:37:26 +0000 |
commit | b65c4617a657cf2cc5848efcc8753bcc6f67fdca (patch) | |
tree | cc1ce1f0348a38fa3f208c4af48bfcd5bc332890 /src/net_structrw.c | |
parent | e48ea79eb19b130f2aa569401f57e460d6417091 (diff) | |
download | chocolate-doom-b65c4617a657cf2cc5848efcc8753bcc6f67fdca.tar.gz chocolate-doom-b65c4617a657cf2cc5848efcc8753bcc6f67fdca.tar.bz2 chocolate-doom-b65c4617a657cf2cc5848efcc8753bcc6f67fdca.zip |
Split off query data into a net_querydata_t structure in net_structrw.c
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 612
Diffstat (limited to 'src/net_structrw.c')
-rw-r--r-- | src/net_structrw.c | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/src/net_structrw.c b/src/net_structrw.c index 4f5890e9..c947fb30 100644 --- a/src/net_structrw.c +++ b/src/net_structrw.c @@ -1,7 +1,7 @@ // Emacs style mode select -*- C++ -*- //----------------------------------------------------------------------------- // -// $Id: net_structrw.c 593 2006-09-01 20:45:45Z fraggle $ +// $Id: net_structrw.c 612 2006-09-17 20:37:26Z fraggle $ // // Copyright(C) 2005 Simon Howard // @@ -100,6 +100,42 @@ boolean NET_ReadSettings(net_packet_t *packet, net_gamesettings_t *settings) && NET_ReadSInt8(packet, (signed int *) &settings->loadgame); } +boolean NET_ReadQueryData(net_packet_t *packet, net_querydata_t *query) +{ + boolean result; + + query->version = NET_ReadString(packet); + + result = query->version != NULL + && NET_ReadInt8(packet, (unsigned int *) &query->server_state) + && NET_ReadInt8(packet, (unsigned int *) &query->num_players) + && NET_ReadInt8(packet, (unsigned int *) &query->max_players) + && NET_ReadInt8(packet, (unsigned int *) &query->gamemode) + && NET_ReadInt8(packet, (unsigned int *) &query->gamemission); + + if (result) + { + query->description = NET_ReadString(packet); + + return query->description != NULL; + } + else + { + return false; + } +} + +void NET_WriteQueryData(net_packet_t *packet, net_querydata_t *query) +{ + NET_WriteString(packet, query->version); + NET_WriteInt8(packet, query->server_state); + NET_WriteInt8(packet, query->num_players); + NET_WriteInt8(packet, query->max_players); + NET_WriteInt8(packet, query->gamemode); + NET_WriteInt8(packet, query->gamemission); + NET_WriteString(packet, query->description); +} + void NET_WriteTiccmdDiff(net_packet_t *packet, net_ticdiff_t *diff, boolean lowres_turn) { |