From b65c4617a657cf2cc5848efcc8753bcc6f67fdca Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 17 Sep 2006 20:37:26 +0000 Subject: Split off query data into a net_querydata_t structure in net_structrw.c Subversion-branch: /trunk/chocolate-doom Subversion-revision: 612 --- src/net_structrw.c | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'src/net_structrw.c') 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) { -- cgit v1.2.3