equal
deleted
inserted
replaced
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) |