hedgewars/CCHandlers.inc
changeset 4389 d1c65b60cd68
parent 4365 4f2b1a152979
child 4398 36d7e4b6ca81
--- a/hedgewars/CCHandlers.inc	Sat Nov 20 23:20:46 2010 +0300
+++ b/hedgewars/CCHandlers.inc	Sat Nov 20 23:48:04 2010 +0300
@@ -847,3 +847,26 @@
     s:= s; // avoid compiler hint
     uChat.showAll:= not uChat.showAll
 end;
+
+procedure chLandCheck(var s: shortstring);
+begin
+{$IFDEF DEBUGFILE}
+    AddFileLog('CheckLandDigest: ' + s + ' digest : ' + digest);
+{$ENDIF}
+    if digest = '' then
+        digest:= s
+    else
+        TryDo(s = digest, 'Different maps generated, sorry', true);
+end;
+
+procedure chSendLandDigest(var s: shortstring);
+var adler, i: LongInt;
+begin
+    adler:= 1;
+    for i:= 0 to LAND_HEIGHT-1 do
+        Adler32Update(adler, @Land[i,0], LAND_WIDTH);
+    s:= 'M' + IntToStr(adler);
+
+    chLandCheck(s);
+    SendIPCRaw(@s[0], Length(s) + 1)
+end;