106 if not doSet then |
106 if not doSet then |
107 begin |
107 begin |
108 if ((y + dy) and LAND_HEIGHT_MASK) = 0 then |
108 if ((y + dy) and LAND_HEIGHT_MASK) = 0 then |
109 for i:= Max(x - dx, 0) to Min(x + dx, LAND_WIDTH - 1) do |
109 for i:= Max(x - dx, 0) to Min(x + dx, LAND_WIDTH - 1) do |
110 if isCurrent then |
110 if isCurrent then |
111 Land[y + dy, i]:= Land[y + dy, i] and lfCurrentMask |
111 Land[y + dy, i]:= Land[y + dy, i] and lfNotCurrentMask |
112 else if Land[y + dy, i] and lfObjMask > 0 then |
112 else if Land[y + dy, i] and lfObjMask > 0 then |
113 Land[y + dy, i]:= (Land[y + dy, i] and lfNotObjMask) or ((Land[y + dy, i] and lfObjMask) - 1); |
113 Land[y + dy, i]:= (Land[y + dy, i] and lfNotObjMask) or ((Land[y + dy, i] and lfObjMask) - 1); |
114 if ((y - dy) and LAND_HEIGHT_MASK) = 0 then |
114 if ((y - dy) and LAND_HEIGHT_MASK) = 0 then |
115 for i:= Max(x - dx, 0) to Min(x + dx, LAND_WIDTH - 1) do |
115 for i:= Max(x - dx, 0) to Min(x + dx, LAND_WIDTH - 1) do |
116 if isCurrent then |
116 if isCurrent then |
117 Land[y - dy, i]:= Land[y - dy, i] and lfCurrentMask |
117 Land[y - dy, i]:= Land[y - dy, i] and lfNotCurrentMask |
118 else if Land[y - dy, i] and lfObjMask > 0 then |
118 else if Land[y - dy, i] and lfObjMask > 0 then |
119 Land[y - dy, i]:= (Land[y - dy, i] and lfNotObjMask) or ((Land[y - dy, i] and lfObjMask) - 1); |
119 Land[y - dy, i]:= (Land[y - dy, i] and lfNotObjMask) or ((Land[y - dy, i] and lfObjMask) - 1); |
120 if ((y + dx) and LAND_HEIGHT_MASK) = 0 then |
120 if ((y + dx) and LAND_HEIGHT_MASK) = 0 then |
121 for i:= Max(x - dy, 0) to Min(x + dy, LAND_WIDTH - 1) do |
121 for i:= Max(x - dy, 0) to Min(x + dy, LAND_WIDTH - 1) do |
122 if isCurrent then |
122 if isCurrent then |
123 Land[y + dx, i]:= Land[y + dx, i] and lfCurrentMask |
123 Land[y + dx, i]:= Land[y + dx, i] and lfNotCurrentMask |
124 else if Land[y + dx, i] and lfObjMask > 0 then |
124 else if Land[y + dx, i] and lfObjMask > 0 then |
125 Land[y + dx, i]:= (Land[y + dx, i] and lfNotObjMask) or ((Land[y + dx, i] and lfObjMask) - 1); |
125 Land[y + dx, i]:= (Land[y + dx, i] and lfNotObjMask) or ((Land[y + dx, i] and lfObjMask) - 1); |
126 if ((y - dx) and LAND_HEIGHT_MASK) = 0 then |
126 if ((y - dx) and LAND_HEIGHT_MASK) = 0 then |
127 for i:= Max(x - dy, 0) to Min(x + dy, LAND_WIDTH - 1) do |
127 for i:= Max(x - dy, 0) to Min(x + dy, LAND_WIDTH - 1) do |
128 if isCurrent then |
128 if isCurrent then |
129 Land[y - dx, i]:= Land[y - dx, i] and lfCurrentMask |
129 Land[y - dx, i]:= Land[y - dx, i] and lfNotCurrentMask |
130 else if Land[y - dx, i] and lfObjMask > 0 then |
130 else if Land[y - dx, i] and lfObjMask > 0 then |
131 Land[y - dx, i]:= (Land[y - dx, i] and lfNotObjMask) or ((Land[y - dx, i] and lfObjMask) - 1) |
131 Land[y - dx, i]:= (Land[y - dx, i] and lfNotObjMask) or ((Land[y - dx, i] and lfObjMask) - 1) |
132 end |
132 end |
133 else |
133 else |
134 begin |
134 begin |