10 procedure DrawHLinesExplosions(ar: PRangeArray; Radius: Longword; y, dY: integer; Count: Byte); |
10 procedure DrawHLinesExplosions(ar: PRangeArray; Radius: Longword; y, dY: integer; Count: Byte); |
11 procedure DrawTunnel(X, Y, dX, dY: real; ticks, HalfWidth: integer); |
11 procedure DrawTunnel(X, Y, dX, dY: real; ticks, HalfWidth: integer); |
12 procedure FillRoundInLand(X, Y, Radius: integer; Value: Longword); |
12 procedure FillRoundInLand(X, Y, Radius: integer; Value: Longword); |
13 |
13 |
14 implementation |
14 implementation |
15 uses SDLh, uStore, uMisc, uLand; |
15 uses SDLh, uStore, uMisc, uLand, uConsts; |
16 |
16 |
17 procedure FillCircleLines(x, y, dx, dy: integer; Value: Longword); |
17 procedure FillCircleLines(x, y, dx, dy: integer; Value: Longword); |
18 var i: integer; |
18 var i: integer; |
19 begin |
19 begin |
20 if ((y + dy) and $FFFFFC00) = 0 then |
20 if ((y + dy) and $FFFFFC00) = 0 then |
95 procedure FillLandCircleLinesEBC(x, y, dx, dy: integer); |
95 procedure FillLandCircleLinesEBC(x, y, dx, dy: integer); |
96 var i: integer; |
96 var i: integer; |
97 begin |
97 begin |
98 if ((y + dy) and $FFFFFC00) = 0 then |
98 if ((y + dy) and $FFFFFC00) = 0 then |
99 for i:= max(x - dx, 0) to min(x + dx, 2047) do |
99 for i:= max(x - dx, 0) to min(x + dx, 2047) do |
100 if Land[y + dy, i] <> 0 then SetLandPixel(y + dy, i); |
100 if Land[y + dy, i] = COLOR_LAND then SetLandPixel(y + dy, i); |
101 if ((y - dy) and $FFFFFC00) = 0 then |
101 if ((y - dy) and $FFFFFC00) = 0 then |
102 for i:= max(x - dx, 0) to min(x + dx, 2047) do |
102 for i:= max(x - dx, 0) to min(x + dx, 2047) do |
103 if Land[y - dy, i] <> 0 then SetLandPixel(y - dy, i); |
103 if Land[y - dy, i] = COLOR_LAND then SetLandPixel(y - dy, i); |
104 if ((y + dx) and $FFFFFC00) = 0 then |
104 if ((y + dx) and $FFFFFC00) = 0 then |
105 for i:= max(x - dy, 0) to min(x + dy, 2047) do |
105 for i:= max(x - dy, 0) to min(x + dy, 2047) do |
106 if Land[y + dx, i] <> 0 then SetLandPixel(y + dx, i); |
106 if Land[y + dx, i] = COLOR_LAND then SetLandPixel(y + dx, i); |
107 if ((y - dx) and $FFFFFC00) = 0 then |
107 if ((y - dx) and $FFFFFC00) = 0 then |
108 for i:= max(x - dy, 0) to min(x + dy, 2047) do |
108 for i:= max(x - dy, 0) to min(x + dy, 2047) do |
109 if Land[y - dx, i] <> 0 then SetLandPixel(y - dx, i); |
109 if Land[y - dx, i] = COLOR_LAND then SetLandPixel(y - dx, i); |
110 end; |
110 end; |
111 |
111 |
112 procedure DrawExplosion(X, Y, Radius: integer); |
112 procedure DrawExplosion(X, Y, Radius: integer); |
113 var dx, dy, d: integer; |
113 var dx, dy, d: integer; |
114 begin |
114 begin |