X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fgame%2Fg_netmsg.pas;h=b24022f26280c1101adf89242f7ca0cfb0f2d1a9;hp=a88513acac78c6a4f5bcb799c91af45f2588e739;hb=652c380f1fe8a394de7793f6f386eb0df284d2aa;hpb=9abb24523fd7fcb7778fda5920f7d0b39175eb61 diff --git a/src/game/g_netmsg.pas b/src/game/g_netmsg.pas index a88513a..b24022f 100644 --- a/src/game/g_netmsg.pas +++ b/src/game/g_netmsg.pas @@ -5,6 +5,8 @@ interface uses g_net, g_triggers, Classes, SysUtils, md5; const + NET_PROTO_VERSION = 1; + NET_MSG_INFO = 100; NET_MSG_CHAT = 101; @@ -310,7 +312,10 @@ var PID: Word; Color: TRGB; I: Integer; + ProtoVer, Zero: Byte; begin + Zero := e_Raw_Read_Byte(P); + ProtoVer := e_Raw_Read_Byte(P); Ver := e_Raw_Read_String(P); Pw := e_Raw_Read_String(P); PName := e_Raw_Read_String(P); @@ -320,7 +325,7 @@ begin B := e_Raw_Read_Byte(P); T := e_Raw_Read_Byte(P); - if Ver <> GAME_VERSION then + if (Ver <> GAME_VERSION) or (ProtoVer <> NET_PROTO_VERSION) or (Zero <> 0) then begin g_Console_Add(_lc[I_NET_MSG] + _lc[I_NET_MSG_HOST_REJECT] + _lc[I_NET_DISC_VERSION]); @@ -2686,6 +2691,8 @@ begin e_Buffer_Clear(@NetOut); e_Buffer_Write(@NetOut, Byte(NET_MSG_INFO)); + e_Buffer_Write(@NetOut, Byte(0)); // to kill old clients + e_Buffer_Write(@NetOut, Byte(NET_PROTO_VERSION)); e_Buffer_Write(@NetOut, GAME_VERSION); e_Buffer_Write(@NetOut, Password); e_Buffer_Write(@NetOut, gPlayer1Settings.Name);