hedgewars/uLandObjects.pas
changeset 15373 410a83aa9d9a
parent 15372 3907c95227b8
child 15382 34eb5cc72241
equal deleted inserted replaced
15372:3907c95227b8 15373:410a83aa9d9a
   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