diff options
author | Simon Howard | 2006-10-14 12:55:02 +0000 |
---|---|---|
committer | Simon Howard | 2006-10-14 12:55:02 +0000 |
commit | 2561fee6091fec2248a102e951cc108f3e2ea4b7 (patch) | |
tree | d07f15e3cb6308918c69600303891f317d103934 /src/net_server.c | |
parent | 94bff80737b6e3d04ad9c02b06739a431e0396f9 (diff) | |
download | chocolate-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.c | 13 |
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 |