diff options
Diffstat (limited to 'src/net_client.c')
-rw-r--r-- | src/net_client.c | 15 |
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 |