summaryrefslogtreecommitdiff
path: root/src/net_structrw.c
diff options
context:
space:
mode:
authorSimon Howard2006-09-17 20:37:26 +0000
committerSimon Howard2006-09-17 20:37:26 +0000
commitb65c4617a657cf2cc5848efcc8753bcc6f67fdca (patch)
treecc1ce1f0348a38fa3f208c4af48bfcd5bc332890 /src/net_structrw.c
parente48ea79eb19b130f2aa569401f57e460d6417091 (diff)
downloadchocolate-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.c38
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)
{