hedgewars/uLand.pas
changeset 12711 20dbb3a03e61
parent 12592 00b539e6115d
child 12758 49c31d8cc740
equal deleted inserted replaced
12710:1ab53b945140 12711:20dbb3a03e61
   976 begin
   976 begin
   977     AddFileLog('CheckLandDigest: ' + s + ' digest : ' + digest);
   977     AddFileLog('CheckLandDigest: ' + s + ' digest : ' + digest);
   978     if digest = '' then
   978     if digest = '' then
   979         digest:= s
   979         digest:= s
   980     else
   980     else
   981         checkFails(s = digest, 'Different maps generated, sorry', true);
   981         checkFails(s = digest, 'Different map or critical resources loaded, sorry', true);
   982 end;
   982 end;
   983 
   983 
   984 procedure chSendLandDigest(var s: shortstring);
   984 procedure chSendLandDigest(var s: shortstring);
   985 var adler, i: LongInt;
   985 var i: LongInt;
   986 begin
   986 begin
   987     adler:= 1;
       
   988     for i:= 0 to LAND_HEIGHT-1 do
   987     for i:= 0 to LAND_HEIGHT-1 do
   989         adler:= Adler32Update(adler, @Land[i,0], LAND_WIDTH);
   988         syncedPixelDigest:= Adler32Update(syncedPixelDigest, @Land[i,0], LAND_WIDTH);
   990     s:= 'M' + IntToStr(adler) + cScriptName;
   989     s:= 'M' + IntToStr(syncedPixelDigest); // + cScriptName; script name is no longer needed. scripts are hashed
   991 
   990 
   992     ScriptSetString('LandDigest', s);
   991     ScriptSetString('LandDigest', s);
   993 
   992 
   994     chLandCheck(s);
   993     chLandCheck(s);
   995     if allOK then SendIPCRaw(@s[0], Length(s) + 1)
   994     if allOK then SendIPCRaw(@s[0], Length(s) + 1)