summaryrefslogtreecommitdiff
path: root/src/net_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/net_server.c')
-rw-r--r--src/net_server.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/net_server.c b/src/net_server.c
index ed664a93..9223588c 100644
--- a/src/net_server.c
+++ b/src/net_server.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: net_server.c 694 2006-10-11 22:55:06Z fraggle $
+// $Id: net_server.c 698 2006-10-14 12:55:02Z fraggle $
//
// Copyright(C) 2005 Simon Howard
//
@@ -226,6 +226,10 @@ typedef struct
md5_digest_t wad_md5sum;
md5_digest_t deh_md5sum;
+ // Is this client is playing with the Freedoom IWAD?
+
+ unsigned int is_freedoom;
+
} net_client_t;
// structure used for the recv window
@@ -560,6 +564,7 @@ static void NET_SV_ParseSYN(net_packet_t *packet,
unsigned int cl_gamemode, cl_gamemission;
unsigned int cl_recording_lowres;
unsigned int cl_drone;
+ unsigned int is_freedoom;
md5_digest_t deh_md5sum, wad_md5sum;
char *player_name;
char *client_version;
@@ -601,7 +606,8 @@ static void NET_SV_ParseSYN(net_packet_t *packet,
|| !NET_ReadInt8(packet, &cl_recording_lowres)
|| !NET_ReadInt8(packet, &cl_drone)
|| !NET_ReadMD5Sum(packet, wad_md5sum)
- || !NET_ReadMD5Sum(packet, deh_md5sum))
+ || !NET_ReadMD5Sum(packet, deh_md5sum)
+ || !NET_ReadInt8(packet, &is_freedoom))
{
return;
}
@@ -696,6 +702,7 @@ static void NET_SV_ParseSYN(net_packet_t *packet,
memcpy(client->wad_md5sum, wad_md5sum, sizeof(md5_digest_t));
memcpy(client->deh_md5sum, deh_md5sum, sizeof(md5_digest_t));
+ client->is_freedoom = is_freedoom;
// Check the connecting client is playing the same game as all
// the other clients
@@ -1323,11 +1330,13 @@ static void NET_SV_SendWaitingData(net_client_t *client)
{
NET_WriteMD5Sum(packet, controller->wad_md5sum);
NET_WriteMD5Sum(packet, controller->deh_md5sum);
+ NET_WriteInt8(packet, controller->is_freedoom);
}
else
{
NET_WriteMD5Sum(packet, client->wad_md5sum);
NET_WriteMD5Sum(packet, client->deh_md5sum);
+ NET_WriteInt8(packet, client->is_freedoom);
}
// send packet to client and free