equal
deleted
inserted
replaced
346 CountNonZeroz:= lRes; |
346 CountNonZeroz:= lRes; |
347 end; |
347 end; |
348 |
348 |
349 procedure ChecksumLandObjectImage(Image: PSDL_Surface; alphaOnly: boolean); |
349 procedure ChecksumLandObjectImage(Image: PSDL_Surface; alphaOnly: boolean); |
350 var y, x: LongInt; |
350 var y, x: LongInt; |
351 var rowData: PByte; |
351 var rowData: PByteArray; |
352 begin |
352 begin |
353 if Image = nil then exit; |
353 if Image = nil then exit; |
354 |
354 |
355 if alphaOnly then |
355 if alphaOnly then |
356 rowData := GetMem(Image^.w); |
356 rowData := GetMem(Image^.w); |
367 |
367 |
368 for y := 0 to Image^.h - 1 do |
368 for y := 0 to Image^.h - 1 do |
369 if alphaOnly then |
369 if alphaOnly then |
370 begin |
370 begin |
371 for x := 0 to Image^.w - 1 do |
371 for x := 0 to Image^.w - 1 do |
372 PByteArray(rowData)^[x] := PByteArray(Image^.pixels)^[y * Image^.pitch + x * 4 + AByteIndex]; |
372 rowData^[x] := PByteArray(Image^.pixels)^[y * Image^.pitch + x * 4 + AByteIndex]; |
373 syncedPixelDigest:= Adler32Update(syncedPixelDigest, rowData, Image^.w); |
373 syncedPixelDigest:= Adler32Update(syncedPixelDigest, rowData, Image^.w); |
374 end |
374 end |
375 else |
375 else |
376 syncedPixelDigest:= Adler32Update(syncedPixelDigest, @PByteArray(Image^.pixels)^[y*Image^.pitch], Image^.w*4); |
376 syncedPixelDigest:= Adler32Update(syncedPixelDigest, @PByteArray(Image^.pixels)^[y*Image^.pitch], Image^.w*4); |
377 |
377 |