summaryrefslogtreecommitdiff
path: root/src/net_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/net_client.c')
-rw-r--r--src/net_client.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/net_client.c b/src/net_client.c
index a3281ac8..9a90b7e3 100644
--- a/src/net_client.c
+++ b/src/net_client.c
@@ -1,7 +1,7 @@
// Emacs style mode select -*- C++ -*-
//-----------------------------------------------------------------------------
//
-// $Id: net_client.c 685 2006-10-05 17:19:43Z fraggle $
+// $Id: net_client.c 688 2006-10-06 07:02:42Z fraggle $
//
// Copyright(C) 2005 Simon Howard
//
@@ -163,6 +163,7 @@
#include "net_packet.h"
#include "net_server.h"
#include "net_structrw.h"
+#include "w_checksum.h"
typedef enum
{
@@ -271,6 +272,11 @@ static net_server_recv_t recvwindow[BACKUPTICS];
static boolean need_to_acknowledge;
static unsigned int gamedata_recv_time;
+// Hash checksums of our wad directory and dehacked data.
+
+static md5_digest_t wad_md5sum;
+static md5_digest_t deh_md5sum;
+
// Average time between sending our ticcmd and receiving from the server
static fixed_t average_latency;
@@ -1158,6 +1164,8 @@ static void NET_CL_SendSYN(void)
NET_WriteInt16(packet, gamemission);
NET_WriteInt8(packet, lowres_turn);
NET_WriteInt8(packet, drone);
+ NET_WriteMD5Sum(packet, wad_md5sum);
+ NET_WriteMD5Sum(packet, deh_md5sum);
NET_WriteString(packet, net_player_name);
NET_Conn_SendPacket(&client_connection, packet);
NET_FreePacket(packet);
@@ -1179,6 +1187,11 @@ boolean NET_CL_Connect(net_addr_t *addr)
lowres_turn = true;
}
+ // Read checksums of our WAD directory and dehacked information
+
+ W_Checksum(wad_md5sum);
+ DEH_Checksum(deh_md5sum);
+
// create a new network I/O context and add just the
// necessary module