begin X:= X + dX; Y:= Y + dY; tx:= round(X); ty:= round(Y); if ((ty and $FFFFFC00) = 0) and ((tx and $FFFFF800) = 0)and (Land[ty, tx] <> 0) then case LandSurface.format.BytesPerPixel of 1: ; 2: PWord(p + LandSurface.pitch * ty + tx * 2)^:= cExplosionBorderColor; 3: begin PByte(p + LandSurface.pitch * ty + tx * 3 + 0)^:= cExplosionBorderColor and $FF; PByte(p + LandSurface.pitch * ty + tx * 3 + 1)^:= (cExplosionBorderColor shr 8) and $FF; PByte(p + LandSurface.pitch * ty + tx * 3 + 2)^:= (cExplosionBorderColor shr 16); end; 4: PLongword(p + LandSurface.pitch * ty + tx * 4)^:= cExplosionBorderColor; end end;