133 procedure FillLandCircleLines0(x, y, dx, dy: LongInt); |
133 procedure FillLandCircleLines0(x, y, dx, dy: LongInt); |
134 var i: LongInt; |
134 var i: LongInt; |
135 begin |
135 begin |
136 if ((y + dy) and LAND_HEIGHT_MASK) = 0 then |
136 if ((y + dy) and LAND_HEIGHT_MASK) = 0 then |
137 for i:= max(x - dx, 0) to min(x + dx, LAND_WIDTH - 1) do |
137 for i:= max(x - dx, 0) to min(x + dx, LAND_WIDTH - 1) do |
138 if Land[y + dy, i] <> COLOR_INDESTRUCTIBLE then |
138 if Land[y + dy, i] = COLOR_LAND then |
139 LandPixels[y + dy, i]:= 0; |
139 LandPixels[y + dy, i]:= 0; |
140 if ((y - dy) and LAND_HEIGHT_MASK) = 0 then |
140 if ((y - dy) and LAND_HEIGHT_MASK) = 0 then |
141 for i:= max(x - dx, 0) to min(x + dx, LAND_WIDTH - 1) do |
141 for i:= max(x - dx, 0) to min(x + dx, LAND_WIDTH - 1) do |
142 if Land[y - dy, i] <> COLOR_INDESTRUCTIBLE then |
142 if Land[y - dy, i] = COLOR_LAND then |
143 LandPixels[y - dy, i]:= 0; |
143 LandPixels[y - dy, i]:= 0; |
144 if ((y + dx) and LAND_HEIGHT_MASK) = 0 then |
144 if ((y + dx) and LAND_HEIGHT_MASK) = 0 then |
145 for i:= max(x - dy, 0) to min(x + dy, LAND_WIDTH - 1) do |
145 for i:= max(x - dy, 0) to min(x + dy, LAND_WIDTH - 1) do |
146 if Land[y + dx, i] <> COLOR_INDESTRUCTIBLE then |
146 if Land[y + dx, i] = COLOR_LAND then |
147 LandPixels[y + dx, i]:= 0; |
147 LandPixels[y + dx, i]:= 0; |
148 if ((y - dx) and LAND_HEIGHT_MASK) = 0 then |
148 if ((y - dx) and LAND_HEIGHT_MASK) = 0 then |
149 for i:= max(x - dy, 0) to min(x + dy, LAND_WIDTH - 1) do |
149 for i:= max(x - dy, 0) to min(x + dy, LAND_WIDTH - 1) do |
150 if Land[y - dx, i] <> COLOR_INDESTRUCTIBLE then |
150 if Land[y - dx, i] = COLOR_LAND then |
151 LandPixels[y - dx, i]:= 0; |
151 LandPixels[y - dx, i]:= 0; |
152 end; |
152 end; |
153 |
153 |
154 procedure FillLandCircleLinesEBC(x, y, dx, dy: LongInt); |
154 procedure FillLandCircleLinesEBC(x, y, dx, dy: LongInt); |
155 var i: LongInt; |
155 var i: LongInt; |
237 begin |
237 begin |
238 for i:= 0 to Pred(Count) do |
238 for i:= 0 to Pred(Count) do |
239 begin |
239 begin |
240 for ty:= max(y - Radius, 0) to min(y + Radius, LAND_HEIGHT) do |
240 for ty:= max(y - Radius, 0) to min(y + Radius, LAND_HEIGHT) do |
241 for tx:= max(0, ar^[i].Left - Radius) to min(LAND_WIDTH, ar^[i].Right + Radius) do |
241 for tx:= max(0, ar^[i].Left - Radius) to min(LAND_WIDTH, ar^[i].Right + Radius) do |
242 if Land[ty, tx] <> COLOR_INDESTRUCTIBLE then |
242 if Land[ty, tx] = COLOR_LAND then |
243 LandPixels[ty, tx]:= 0; |
243 LandPixels[ty, tx]:= 0; |
244 inc(y, dY) |
244 inc(y, dY) |
245 end; |
245 end; |
246 |
246 |
247 inc(Radius, 4); |
247 inc(Radius, 4); |