summaryrefslogtreecommitdiff
path: root/src/net_server.c
diff options
context:
space:
mode:
authorSimon Howard2006-10-14 12:55:02 +0000
committerSimon Howard2006-10-14 12:55:02 +0000
commit2561fee6091fec2248a102e951cc108f3e2ea4b7 (patch)
treed07f15e3cb6308918c69600303891f317d103934 /src/net_server.c
parent94bff80737b6e3d04ad9c02b06739a431e0396f9 (diff)
downloadchocolate-doom-2561fee6091fec2248a102e951cc108f3e2ea4b7.tar.gz
chocolate-doom-2561fee6091fec2248a102e951cc108f3e2ea4b7.tar.bz2
chocolate-doom-2561fee6091fec2248a102e951cc108f3e2ea4b7.zip
Display a different message from the normal WAD directory warning if
players are mixing Freedoom/Original IWADs. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 698
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