summaryrefslogtreecommitdiff
path: root/src/net_structrw.c
diff options
context:
space:
mode:
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)
{