Rev 762 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 762 | Rev 775 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | unit LRLEditor; |
1 | unit LRLEditor; |
Line -... | Line 2... | ||
- | 2 | ||
- | 3 | {$mode objfpc} |
|
- | 4 | {$asmmode intel} |
|
- | 5 | ||
2 | 6 | ||
Line -... | Line 7... | ||
- | 7 | interface |
|
- | 8 | ||
3 | interface |
9 | |
- | 10 | uses |
|
Line 4... | Line 11... | ||
4 | 11 | LRLRoutines, LRLSprites, LRLLevels; |
|
Line -... | Line 12... | ||
- | 12 | ||
5 | uses DOSFileAccess, LRLRoutines, LRLSprites, LRLLevels; |
13 | |
Line -... | Line 14... | ||
- | 14 | procedure LRLEditLevels; |
|
- | 15 | ||
- | 16 | ||
- | 17 | implementation |
|
6 | 18 | ||
7 | procedure LRLEditLevels; |
19 | |
8 | 20 | const |
|
9 | implementation |
21 | RefreshDelay = 5; { 1 = 1/100 sec } |
10 | 22 | ||
- | 23 | var |
|
11 | var |
24 | CurrentLevel: Word; |
12 | CurrentLevel: word; |
- | |
13 | CurrentTool: word; |
25 | CurrentTool: Word; |
14 | TotalLevels: word; |
- | |
- | 26 | TotalLevels: Word; |
|
Line 15... | Line 27... | ||
15 | MouseX, MouseY: integer; |
27 | MouseX, MouseY: Integer; |
16 | TimeToRefresh: boolean; |
28 | |
17 | RefreshDelay: word; |
29 | TimeToRefresh : Boolean; |
18 | RefreshRemain: word; |
30 | LastRefreshTime: DWord; |
19 | OldTimer: POINTER; |
31 | |
20 | - | ||
- | 32 | ||
21 | procedure LRLRedrawLevel; |
33 | procedure LRLRedrawLevel; |
22 | var |
34 | var |
23 | i, j: integer; |
35 | i, j: Integer; |
- | 36 | begin |
|
24 | begin |
37 | ImageClear(LRLScreen^); |
25 | ImageClear(LRLScreen^); |
38 | |
26 | for i := 1 to 16 do |
- | |
27 | for j := 1 to 30 do |
39 | for i := 1 to 16 do for j := 1 to 30 do |
28 | with LRLLevel.Field[j, i] do |
- | |
29 | ImagePut(LRLScreen^, LRLEnvironment[Image].Image[Count].Data^, j * 10, i * 10, 0, 0, 319, 199); |
40 | with LRLLevel.Field[j, i] do |
30 | for i := 1 to 10 do |
41 | ImagePut(LRLScreen^, LRLEnvironment[Image].Image[Count].Data^, j * 10, i * 10, 0, 0, 319, 199); |
31 | with LRLLevel.Player[i] do |
42 | |
32 | begin |
43 | for i := 1 to 10 do |
- | 44 | with LRLLevel.Player[i] do |
|
33 | if Controller <> 0 then |
45 | if Controller <> 0 then |
34 | ImagePutTransparent(LRLScreen^, LRLFigure[Colour, SpriteData].Image[Sprite].Data^, |
- | |
35 | Position.x * 10 + Position.xoffs, Position.y * 10 + Position.yoffs, 0, 0, 319, 199); |
46 | ImagePutTransparent(LRLScreen^, LRLFigure[Colour, SpriteData].Image[Sprite].Data^, Position.x * 10 + Position.xoffs, Position.y * 10 + Position.yoffs, 0, 0, 319, 199); |
36 | end; |
47 | |
37 | ImageFill(LRLFontBuffer^, 12, 12, 252); |
- | |
38 | ImagePut(LRLScreen^, LRLFontBuffer^, 10, 184, 0, 0, 319, 199); |
48 | ImageFill(LRLFontBuffer^, 12, 12, 252); |
39 | for i := 1 to 13 do |
49 | ImagePut(LRLScreen^, LRLFontBuffer^, 10, 184, 0, 0, 319, 199); |
40 | begin |
50 | |
41 | if i > 9 then |
- | |
42 | ImagePut(LRLScreen^, LRLFigure[i - 9, 1].Image[1].Data^, i * 15 - 4, 185, 0, 0, 319, 199) |
51 | for i := 1 to 13 do |
43 | else |
52 | if i > 9 then |
44 | ImagePut(LRLScreen^, LRLEnvironment[i].Image[1].Data^, i * 15 - 4, 185, 0, 0, 319, 199); |
- | |
45 | end; |
- | |
46 | for i := 1 to 6 do |
53 | ImagePut(LRLScreen^, LRLFigure[i - 9, 1].Image[1].Data^, i * 15 - 4, 185, 0, 0, 319, 199) else |
47 | begin |
- | |
48 | if LRLEditorButton[i].Lit then |
54 | ImagePut(LRLScreen^, LRLEnvironment[i].Image[1].Data^, i * 15 - 4, 185, 0, 0, 319, 199); |
49 | ImagePut(LRLScreen^, LRLEditorButton[i].LightIcon^, LRLEditorButton[i].x1, |
55 | |
50 | LRLEditorButton[i].y1, 0, 0, 319, 199) |
56 | for i := 1 to 6 do |
Line 51... | Line -... | ||
51 | else |
- | |
52 | ImagePut(LRLScreen^, LRLEditorButton[i].DarkIcon^, LRLEditorButton[i].x1, |
- | |
53 | LRLEditorButton[i].y1, 0, 0, 319, 199); |
- | |
54 | end; |
- | |
55 | LRLDrawOrnamental(0, 0, 31, 17, 1); |
- | |
56 | end; |
- | |
57 | - | ||
58 | procedure RefreshRunner; |
- | |
59 | {INTERRUPT; |
- | |
60 | ASSEMBLER;} |
- | |
61 | asm |
- | |
62 | DEC RefreshRemain |
- | |
63 | JNZ @DoTimer |
- | |
64 | - | ||
65 | MOV AX,RefreshDelay |
- | |
Line 66... | Line 57... | ||
66 | MOV RefreshRemain,AX |
57 | if LRLEditorButton[i].Lit then |
67 | MOV TimeToRefresh,-1 |
58 | ImagePut(LRLScreen^, LRLEditorButton[i].LightIcon^, LRLEditorButton[i].x1, LRLEditorButton[i].y1, 0, 0, 319, 199) else |
68 | 59 | ImagePut(LRLScreen^, LRLEditorButton[i].DarkIcon^, LRLEditorButton[i].x1, LRLEditorButton[i].y1, 0, 0, 319, 199); |
|
69 | @DoTimer: |
60 | |
70 | PUSHF |
61 | LRLDrawOrnamental(0, 0, 31, 17, 1); |
- | 62 | end; |
|
71 | CALL OldTimer |
63 | |
72 | end; |
- | |
73 | 64 | ||
74 | procedure LRLMoveMouse; |
65 | procedure LRLMoveMouse; |
75 | var |
- | |
76 | s, s2: string[20]; |
- | |
77 | begin |
66 | var |
78 | MSMouseGetXY(Mousex, Mousey); |
- | |
79 | if not MSMouseInArea(200, 180, 325, 205) then |
67 | s, s2: String[20]; |
80 | begin |
68 | begin |
81 | if CurrentTool < 10 then |
69 | MSMouseGetXY(MouseX, MouseY); |
82 | ImagePut(LRLScreen^, LRLEnvironment[CurrentTool].Image[1].Data^, |
70 | |
83 | Mousex - 5, Mousey - 5, 0, 0, 319, 199) |
71 | if not MSMouseInArea(200, 180, 325, 205) then |
84 | else |
72 | if CurrentTool < 10 then |
85 | ImagePut(LRLScreen^, LRLFigure[CurrentTool - 9, 1].Image[1].Data^, |
73 | ImagePut(LRLScreen^, LRLEnvironment[CurrentTool].Image[1].Data^, MouseX - 5, MouseY - 5, 0, 0, 319, 199) else |
86 | Mousex - 5, Mousey - 5, 0, 0, 319, 199); |
74 | ImagePut(LRLScreen^, LRLFigure[CurrentTool - 9, 1].Image[1].Data^, MouseX - 5, MouseY - 5, 0, 0, 319, 199); |
87 | end; |
75 | |
88 | if not MSMouseInArea(-2, -2, 55, 20) then |
76 | if not MSMouseInArea(-2, -2, 55, 20) then |
- | 77 | begin |
|
89 | begin |
78 | ImageFill(LRLFontBuffer^, 50, 15, 0); |
90 | ImageFill(LRLFontBuffer^, 50, 15, 0); |
79 | ImagePut(LRLScreen^, LRLFontBuffer^, 0, 0, 0, 0, 319, 199); |
Line -... | Line 80... | ||
- | 80 | Str(CurrentLevel, s); |
|
91 | ImagePut(LRLScreen^, LRLFontBuffer^, 0, 0, 0, 0, 319, 199); |
81 | Str(TotalLevels, s2); |
92 | STR(CurrentLevel, s); |
82 | ImageStringGet(s + '/' + s2, LRLFont^, LRLFontBuffer^, 251); |
93 | STR(TotalLevels, s2); |
83 | ImagePut(LRLScreen^, LRLFontBuffer^, 25 - ImageSizex(LRLFontBuffer^) div 2, 0, 0, 0, 319, 199); |
94 | ImageStringGet(s + '/' + s2, LRLFont^, LRLFontBuffer^, 251); |
84 | end; |
- | 85 | ||
- | 86 | ImagePutTransparent(LRLScreen^, LRLMousePointer^, MouseX, MouseY, 0, 0, 319, 199); |
|
95 | ImagePut(LRLScreen^, LRLFontBuffer^, 25 - ImageSizex(LRLFontBuffer^) div 2, 0, 0, 0, 319, 199); |
87 | end; |
96 | end; |
88 | |
97 | ImagePutTransparent(LRLScreen^, LRLMousePointer^, Mousex, Mousey, 0, 0, 319, 199); |
- | |
98 | end; |
- | |
99 | 89 | ||
Line -... | Line 90... | ||
- | 90 | procedure Repress; |
|
100 | procedure RePress; |
91 | var |
101 | var |
92 | x, y: Integer; |
102 | x, y: integer; |
93 | begin |
103 | begin |
- | |
104 | MSMouseButtonWasPressed(1, x, y); |
94 | MSMouseButtonWasPressed(0, x, y); |
105 | MSMouseButtonWasReleased(1, x, y); |
95 | MSMouseButtonWasReleased(0, x, y); |
106 | MSMouseButtonWasPressed(4, x, y); |
96 | MSMouseButtonWasPressed(1, x, y); |
107 | MSMouseButtonWasReleased(4, x, y); |
97 | MSMouseButtonWasReleased(1, x, y); |
108 | end; |
98 | end; |
109 | 99 | ||
110 | procedure LRLEditLevels; |
100 | |
- | 101 | procedure LRLEditLevels; |
|
- | 102 | var |
|
111 | var |
103 | Keypress: Word; |
112 | Keypress: word; |
104 | DrawNow: Boolean; |
113 | NeedToFade: boolean; |
- | |
114 | DrawNow: boolean; |
- | |
115 | i, j: integer; |
105 | i, j: Integer; |
116 | x, y: integer; |
- | |
117 | Cmd: word; |
- | |
118 | begin |
106 | x, y: Integer; |
119 | if not MSMouseDriverExist then Exit; |
107 | Cmd: Word; |
120 | Repress; |
108 | begin |
121 | ShowLives := False; |
- | |
- | 109 | if not MSMouseDriverExist then Exit; |
|
122 | ShowScore := False; |
110 | Repress; |
- | 111 | Palette256Set(LRLPalette^); |
|
- | 112 | ||
- | 113 | ShowLives := False; |
|
123 | Palette256Set(LRLPalette^); |
114 | ShowScore := False; |
124 | OldTimer := SetInterrupt($8, @RefreshRunner); |
115 | Keypress := 0; |
- | 116 | CurrentLevel := 1; |
|
- | 117 | CurrentTool := 2; |
|
- | 118 | TotalLevels := LRLLevelCount; |
|
125 | Keypress := 0; |
119 | |
- | 120 | DrawNow := False; |
|
- | 121 | TimeToRefresh := True; |
|
- | 122 | LastRefreshTime := 0; |
|
126 | RefreshDelay := 1; |
123 | |
127 | RefreshRemain := 1; |
124 | MSMouseSetXY(160, 100); |
128 | CurrentLevel := 1; |
125 | LRLLoadLevel(CurrentLevel); |
129 | CurrentTool := 2; |
126 | |
130 | TotalLevels := LRLLevelCount; |
127 | WaitForEvent(1); |
131 | TimeToRefresh := True; |
128 | |
- | 129 | repeat |
|
132 | DrawNow := False; |
130 | if not TimeToRefresh then |
- | 131 | TimeToRefresh := kos_timecounter() - LastRefreshTime >= RefreshDelay; |
|
133 | MSMouseSetXY(160, 100); |
132 | |
134 | LRLLoadLevel(CurrentLevel); |
- | |
135 | repeat |
133 | if TimeToRefresh then |
136 | if TimeToRefresh then |
134 | begin |
137 | begin |
135 | LRLRedrawLevel; |
138 | LRLRedrawLevel; |
136 | LRLMoveMouse; |
139 | LRLMoveMouse; |
137 | ScreenApply(LRLScreen^); |
- | 138 | TimeToRefresh := False; |
|
140 | ScreenApply(LRLScreen^); |
139 | LastRefreshTime := kos_timecounter(); |
141 | TimeToRefresh := False; |
140 | end; |
142 | end; |
141 | |
143 | if Keypressed then |
142 | if Keypressed then |
144 | begin |
143 | Keypress := Readkey; |
- | 144 | ||
145 | Keypress := Readkey; |
145 | if MSMouseButtonWasReleased(1, x, y) then |
146 | end; |
146 | begin |
147 | if MSMouseButtonWasReleased(1, x, y) then |
147 | LRLScore := 0; |
148 | begin |
148 | |
149 | LRLScore := 0; |
149 | FadeClear; |
- | 150 | ImageClear(LRLScreen^); |
|
150 | FadeClear; |
151 | ScreenApply(LRLScreen^); |
151 | ImageClear(LRLScreen^); |
152 | Palette256Set(LRLPalette^); |
- | 153 | LRLPlayLevel(CurrentLevel); |
|
152 | ScreenApply(LRLScreen^); |
154 | |
153 | Palette256Set(LRLPalette^); |
- | |
154 | LRLPlayLevel(CurrentLevel); |
155 | FadeClear; |
155 | FadeClear; |
156 | ImageClear(LRLScreen^); |
156 | ImageClear(LRLScreen^); |
157 | ScreenApply(LRLScreen^); |
157 | ScreenApply(LRLScreen^); |
158 | Palette256Set(LRLPalette^); |
158 | Palette256Set(LRLPalette^); |
159 | LRLLoadLevel(CurrentLevel); |
- | 160 | ||
159 | LRLLoadLevel(CurrentLevel); |
161 | Repress; |
- | 162 | end; |
|
160 | Repress; |
163 | |
161 | end; |
164 | if MSMouseButtonWasPressed(0, x, y) then |
- | 165 | DrawNow := True; |
|
162 | if MSMouseButtonWasPressed(0, x, y) then |
166 | |
163 | begin |
- | |
164 | DrawNow := True; |
167 | if MSMouseButtonWasReleased(0, x, y) then |
165 | end; |
- | |
166 | if MSMouseButtonWasReleased(0, x, y) then |
168 | begin |
167 | begin |
169 | DrawNow := False; |
168 | DrawNow := False; |
- | |
169 | Cmd := 0; |
170 | |
170 | for i := 1 to 6 do |
171 | Cmd := 0; |
- | 172 | ||
171 | LRLEditorButton[i].Lit := False; |
173 | for i := 1 to 6 do |
- | 174 | LRLEditorButton[i].Lit := False; |
|
172 | for i := 1 to 6 do |
175 | |
- | 176 | for i := 1 to 6 do |
|
173 | begin |
177 | if MSMouseInArea(LRLEditorButton[i].x1, LRLEditorButton[i].y1, LRLEditorButton[i].x2, LRLEditorButton[i].y2) then |
- | 178 | begin |
|
- | 179 | Cmd := LRLEditorButton[i].Command; |
|
174 | if MSMouseInArea(LRLEditorButton[i].x1, LRLEditorButton[i].y1, |
180 | Break; |
175 | LRLEditorButton[i].x2, LRLEditorButton[i].y2) then |
181 | end; |
176 | begin |
182 | |
177 | Cmd := LRLEditorButton[i].Command; |
183 | if Cmd = 1 then |
178 | BREAK; |
184 | begin |
179 | end; |
185 | LRLSaveLevel(CurrentLevel); |
- | 186 | ||
180 | end; |
187 | Repress; |
181 | if (Cmd = 1) then |
188 | end; |
- | 189 | ||
182 | LRLSaveLevel(CurrentLevel); |
190 | if Cmd = 2 then |
183 | Repress; |
191 | begin |
184 | if (Cmd = 2) then |
192 | LRLInsertLevel(CurrentLevel); |
185 | begin |
193 | Inc(CurrentLevel); |
- | 194 | TotalLevels := LRLLevelCount; |
|
186 | LRLInsertLevel(CurrentLevel); |
195 | LRLLoadLevel(CurrentLevel); |
187 | Inc(CurrentLevel); |
196 | |
- | 197 | Repress; |
|
188 | TotalLevels := LRLLevelCount; |
198 | end; |
189 | LRLLoadLevel(CurrentLevel); |
199 | |
190 | Repress; |
- | |
191 | end; |
200 | if (Cmd = 3) and (CurrentLevel < TotalLevels) then |
192 | if (Cmd = 3) and (CurrentLevel < TotalLevels) then |
201 | begin |
193 | begin |
202 | Inc(CurrentLevel); |
194 | Inc(CurrentLevel); |
203 | LRLLoadLevel(CurrentLevel); |
- | 204 | ||
195 | LRLLoadLevel(CurrentLevel); |
205 | Repress; |
196 | Repress; |
206 | end; |
- | 207 | ||
197 | end; |
208 | if Cmd = 4 then |
198 | if (Cmd = 4) then |
209 | begin |
199 | begin |
210 | for i := 1 to 16 do for j := 1 to 30 do |
200 | for i := 1 to 16 do |
211 | LRLLevel.Field[j, i].Image := 1; |
201 | for j := 1 to 30 do |
212 | for i := 1 to 10 do |
202 | LRLLevel.Field[j, i].Image := 1; |
213 | LRLLevel.Player[i].Controller := 0; |
203 | for i := 1 to 10 do |
214 | |
- | 215 | Repress; |
|
204 | LRLLevel.Player[i].Controller := 0; |
216 | end; |
205 | Repress; |
217 | |
- | 218 | if (Cmd = 5) and (TotalLevels > 1) then |
|
206 | end; |
219 | begin |
207 | if (Cmd = 5) and (TotalLevels > 1) then |
220 | LRLDeleteLevel(CurrentLevel); |
208 | begin |
221 | TotalLevels := LRLLevelCount; |
209 | LRLDeleteLevel(CurrentLevel); |
222 | if CurrentLevel > TotalLevels then |
- | 223 | CurrentLevel := TotalLevels; |
|
210 | TotalLevels := LRLLevelCount; |
224 | LRLLoadLevel(CurrentLevel); |
211 | if CurrentLevel > TotalLevels then |
225 | |
- | 226 | Repress; |
|
212 | CurrentLevel := TotalLevels; |
227 | end; |
- | 228 | ||
213 | LRLLoadLevel(CurrentLevel); |
229 | if (Cmd = 6) and (CurrentLevel > 1) then |
214 | Repress; |
- | |
215 | end; |
230 | begin |
216 | if (Cmd = 6) and (CurrentLevel > 1) then |
- | |
217 | begin |
231 | Dec(CurrentLevel); |
218 | Dec(CurrentLevel); |
232 | LRLLoadLevel(CurrentLevel); |
219 | LRLLoadLevel(CurrentLevel); |
233 | |
220 | Repress; |
- | |
221 | end; |
234 | Repress; |
222 | MSMouseGetXY(Mousex, Mousey); |
- | |
223 | if (Mousey > 180) then |
235 | end; |
224 | begin |
236 | |
- | 237 | MSMouseGetXY(MouseX, MouseY); |
|
225 | for i := 1 to 13 do |
238 | |
226 | begin |
239 | if MouseY > 180 then |
227 | if (Mousey > 184) and (Mousey < 195) and (Mousex > i * 15 - 5) and (Mousex < i * 15 + 6) then |
240 | for i := 1 to 13 do |
228 | begin |
241 | if (MouseY > 184) and (MouseY < 195) and (MouseX > i * 15 - 5) and (MouseX < i * 15 + 6) then |
- | 242 | begin |
|
229 | CurrentTool := i; |
243 | CurrentTool := i; |
230 | BREAK; |
- | |
231 | end; |
244 | Break; |
232 | end; |
- | |
233 | end; |
245 | end; |
234 | end; |
246 | end; |
235 | if DrawNow then |
- | |
236 | begin |
247 | |
237 | for i := 1 to 6 do |
248 | if DrawNow then |
- | 249 | begin |
|
238 | LRLEditorButton[i].Lit := False; |
250 | for i := 1 to 6 do |
- | 251 | LRLEditorButton[i].Lit := False; |
|
239 | for i := 1 to 6 do |
252 | |
240 | begin |
253 | for i := 1 to 6 do |
- | 254 | if MSMouseInArea(LRLEditorButton[i].x1, LRLEditorButton[i].y1, LRLEditorButton[i].x2, LRLEditorButton[i].y2) then |
|
241 | if MSMouseInArea(LRLEditorButton[i].x1, LRLEditorButton[i].y1, |
255 | begin |
242 | LRLEditorButton[i].x2, LRLEditorButton[i].y2) then |
256 | LRLEditorButton[i].Lit := True; |
243 | begin |
257 | Break; |
244 | LRLEditorButton[i].Lit := True; |
- | |
245 | BREAK; |
258 | end; |
246 | end; |
- | |
247 | end; |
- | |
248 | MSMouseGetXY(Mousex, Mousey); |
259 | |
249 | x := (Mousex) div 10; |
- | |
250 | y := (Mousey) div 10; |
260 | MSMouseGetXY(MouseX, MouseY); |
251 | if (x > 0) and (x < 31) and (y > 0) and (y < 17) then |
261 | |
252 | begin |
- | |
253 | for i := 1 to 10 do |
262 | x := MouseX div 10; |
254 | begin |
- | |
255 | if (LRLLevel.Player[i].Controller <> 0) and (LRLLevel.Player[i].Position.x = x) and |
263 | y := MouseY div 10; |
- | 264 | ||
256 | (LRLLevel.Player[i].Position.y = y) then |
265 | if (x > 0) and (x < 31) and (y > 0) and (y < 17) then |
257 | begin |
266 | begin |
258 | if (CurrentTool <> 2) and (CurrentTool <> 3) and (CurrentTool <> 4) and |
- | |
259 | (CurrentTool <> 7) then |
- | |
260 | begin |
267 | for i := 1 to 10 do |
261 | LRLLevel.Player[i].Controller := 0; |
268 | if (LRLLevel.Player[i].Controller <> 0) and (LRLLevel.Player[i].Position.x = x) and (LRLLevel.Player[i].Position.y = y) and |
262 | BREAK; |
269 | (CurrentTool <> 2) and (CurrentTool <> 3) and (CurrentTool <> 4) and (CurrentTool <> 7) then |
263 | end; |
270 | begin |
264 | end; |
271 | LRLLevel.Player[i].Controller := 0; |
265 | end; |
272 | Break; |
266 | if CurrentTool < 10 then |
273 | end; |
267 | LRLLevel.Field[x, y].Image := CurrentTool |
274 | |
268 | else |
275 | if CurrentTool < 10 then |
269 | begin |
- | |
270 | if (LRLLevel.Field[x, y].Image = 2) or (LRLLevel.Field[x, y].Image = 3) or |
276 | LRLLevel.Field[x, y].Image := CurrentTool else |
271 | (LRLLevel.Field[x, y].Image = 4) or (LRLLevel.Field[x, y].Image = 1) then |
277 | if (LRLLevel.Field[x, y].Image = 2) or (LRLLevel.Field[x, y].Image = 3) or |
272 | begin |
278 | (LRLLevel.Field[x, y].Image = 4) or (LRLLevel.Field[x, y].Image = 1) then |
273 | if CurrentTool = 10 then |
279 | begin |
274 | begin |
- | |
275 | LRLLevel.Player[1].Controller := 1; |
280 | if CurrentTool = 10 then |
276 | LRLLevel.Player[1].Position.x := x; |
281 | begin |
277 | LRLLevel.Player[1].Position.y := y; |
282 | LRLLevel.Player[1].Controller := 1; |
278 | LRLLevel.Player[1].Colour := 1; |
- | |
279 | end |
283 | LRLLevel.Player[1].Position.x := x; |
280 | else |
284 | LRLLevel.Player[1].Position.y := y; |
281 | begin |
285 | LRLLevel.Player[1].Colour := 1; |
282 | j := 2; |
286 | end else |
283 | for i := 2 to 10 do |
287 | begin |
284 | begin |
288 | j := 2; |
285 | if LRLLevel.Player[i].Controller = 0 then |
289 | for i := 2 to 10 do |
286 | begin |
290 | if LRLLevel.Player[i].Controller = 0 then |
287 | j := i; |
291 | begin |
288 | BREAK; |
292 | j := i; |
- | 293 | Break; |
|
- | 294 | end; |
|
- | 295 | LRLLevel.Player[j].Controller := 2; |
|
- | 296 | LRLLevel.Player[j].Position.x := x; |
|
289 | end; |
297 | LRLLevel.Player[j].Position.y := y; |
290 | end; |
- | |
291 | LRLLevel.Player[j].Controller := 2; |
- | |
292 | LRLLevel.Player[j].Position.x := x; |
298 | LRLLevel.Player[j].Colour := CurrentTool - 9; |
Line 293... | Line 299... | ||
293 | LRLLevel.Player[j].Position.y := y; |
299 | end; |