Rev 17 | Rev 27 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 17 | Rev 24 | ||
---|---|---|---|
Line 25... | Line 25... | ||
25 | li2b: TLabel; |
25 | li2b: TLabel; |
26 | li2a: TLabel; |
26 | li2a: TLabel; |
27 | li3b: TLabel; |
27 | li3b: TLabel; |
28 | liu: TLabel; |
28 | liu: TLabel; |
29 | liw: TLabel; |
29 | liw: TLabel; |
30 | SpinEditEdt: TEdit; |
30 | LevelNumber: TSpinEdit; |
31 | SpinEdit: TUpDown; |
- | |
32 | procedure LoeschenBtnClick(Sender: TObject); |
31 | procedure LoeschenBtnClick(Sender: TObject); |
33 | procedure LadenBtnClick(Sender: TObject); |
32 | procedure LadenBtnClick(Sender: TObject); |
34 | procedure SpeichernBtnClick(Sender: TObject); |
33 | procedure SpeichernBtnClick(Sender: TObject); |
35 | procedure LevelListBoxClick(Sender: TObject); |
34 | procedure LevelListBoxClick(Sender: TObject); |
36 | procedure Button4Click(Sender: TObject); |
35 | procedure Button4Click(Sender: TObject); |
Line 38... | Line 37... | ||
38 | procedure DsFancyButton2Click(Sender: TObject); |
37 | procedure DsFancyButton2Click(Sender: TObject); |
39 | procedure AbbrechenBtnClick(Sender: TObject); |
38 | procedure AbbrechenBtnClick(Sender: TObject); |
40 | procedure LevelNameChange(Sender: TObject); |
39 | procedure LevelNameChange(Sender: TObject); |
41 | procedure LevelListBoxDblClick(Sender: TObject); |
40 | procedure LevelListBoxDblClick(Sender: TObject); |
42 | procedure FormHide(Sender: TObject); |
41 | procedure FormHide(Sender: TObject); |
43 | procedure SpinEditClick(Sender: TObject; Button: TUDBtnType); |
- | |
44 | procedure SpinEditEdtKeyPress(Sender: TObject; var Key: Char); |
- | |
45 | procedure SpinEditEdtChange(Sender: TObject); |
- | |
46 | public |
42 | public |
47 | procedure SearchLevels; |
43 | procedure SearchLevels; |
48 | function RightStr(str: string; count: integer): string; |
44 | function RightStr(str: string; count: integer): string; |
49 | function Filter(n: integer; s: string): string; |
45 | function Filter(n: integer; s: string): string; |
50 | end; |
46 | end; |
Line 75... | Line 71... | ||
75 | LadenBtn.enabled := false; |
71 | LadenBtn.enabled := false; |
76 | LoeschenBtn.enabled := false; |
72 | LoeschenBtn.enabled := false; |
77 | for i := 1 to 9999 do |
73 | for i := 1 to 9999 do |
78 | begin |
74 | begin |
79 | if fileexists(GetLevelFileName(i)) then |
75 | if fileexists(GetLevelFileName(i)) then |
80 | LevelListBox.items.Add(ExtractFileName(GetLevelFileName(i))); |
76 | LevelListBox.items.Add(ChangeFileExt(ExtractFileName(GetLevelFileName(i)),'')); |
81 | end; |
77 | end; |
82 | end; |
78 | end; |
83 | 79 | ||
84 | procedure TSpeicherungForm.LoeschenBtnClick(Sender: TObject); |
80 | procedure TSpeicherungForm.LoeschenBtnClick(Sender: TObject); |
85 | var |
81 | var |
Line 111... | Line 107... | ||
111 | end; |
107 | end; |
112 | 108 | ||
113 | procedure TSpeicherungForm.LadenBtnClick(Sender: TObject); |
109 | procedure TSpeicherungForm.LadenBtnClick(Sender: TObject); |
114 | var |
110 | var |
115 | Markiert: boolean; |
111 | Markiert: boolean; |
116 | i, TempArtMain, TempLiveMain: integer; |
112 | i: integer; |
117 | LevelData: TLevelData; |
113 | LevelData: TLevelData; |
118 | begin |
114 | begin |
119 | Markiert := false; |
115 | Markiert := false; |
120 | for i := 0 to LevelListBox.items.Count-1 do |
116 | for i := 0 to LevelListBox.items.Count-1 do |
121 | begin |
117 | begin |
Line 145... | Line 141... | ||
145 | try |
141 | try |
146 | LevelData.Load(IncludeTrailingPathDelimiter(ExtractFilePath(GetLevelFileName(1)))+ |
142 | LevelData.Load(IncludeTrailingPathDelimiter(ExtractFilePath(GetLevelFileName(1)))+ |
147 | LevelListBox.Items.strings[LevelListBox.itemindex]+'.lev'); |
143 | LevelListBox.Items.strings[LevelListBox.itemindex]+'.lev'); |
148 | MainForm.ScrollBar.Max := LevelData.LevelEditorLength; |
144 | MainForm.ScrollBar.Max := LevelData.LevelEditorLength; |
149 | MainForm.Enemys.Clear; |
145 | MainForm.Enemys.Clear; |
150 | TempArtMain := MainForm.ArtChecked; |
- | |
151 | TempLiveMain := MainForm.LiveEdit; |
- | |
152 | MainForm.NumEnemys := Length(LevelData.EnemyAdventTable); |
146 | MainForm.NumEnemys := Length(LevelData.EnemyAdventTable); |
153 | for i := 0 to MainForm.NumEnemys-1 do |
147 | for i := 0 to MainForm.NumEnemys-1 do |
154 | begin |
148 | begin |
155 | MainForm.EnemyAdd( |
149 | MainForm.EnemyAdd( |
156 | LevelData.EnemyAdventTable[i].x, |
150 | LevelData.EnemyAdventTable[i].x, |
157 | LevelData.EnemyAdventTable[i].y, |
151 | LevelData.EnemyAdventTable[i].y, |
158 | Ord(LevelData.EnemyAdventTable[i].enemyType), |
152 | Ord(LevelData.EnemyAdventTable[i].enemyType), |
159 | LevelData.EnemyAdventTable[i].lifes |
153 | LevelData.EnemyAdventTable[i].lifes |
160 | ); |
154 | ); |
161 | MainForm.ArtChecked := Ord(LevelData.EnemyAdventTable[i].enemyType); |
- | |
162 | MainForm.LiveEdit := LevelData.EnemyAdventTable[i].lifes; |
- | |
163 | MainForm.EnemyCreate( |
155 | MainForm.EnemyCreate( |
164 | LevelData.EnemyAdventTable[i].x, |
156 | LevelData.EnemyAdventTable[i].x, |
165 | LevelData.EnemyAdventTable[i].y |
157 | LevelData.EnemyAdventTable[i].y, |
- | 158 | LevelData.EnemyAdventTable[i].enemyType, |
|
- | 159 | LevelData.EnemyAdventTable[i].lifes |
|
166 | ); |
160 | ); |
167 | if LevelData.EnemyAdventTable[i].enemyType = etEnemyBoss then MainForm.Boss := true; |
161 | if LevelData.EnemyAdventTable[i].enemyType = etEnemyBoss then MainForm.Boss := true; |
168 | end; |
162 | end; |
169 | finally |
163 | finally |
170 | FreeAndNil(LevelData); |
164 | FreeAndNil(LevelData); |
171 | end; |
165 | end; |
172 | MainForm.LiveEdit := TempLiveMain; |
- | |
173 | MainForm.ArtChecked := TempArtMain; |
- | |
174 | // Nacharbeiten |
166 | // Nacharbeiten |
175 | MainForm.AnzeigeAct; |
167 | MainForm.AnzeigeAct; |
176 | close; |
168 | close; |
177 | end; |
169 | end; |
178 | 170 | ||
Line 243... | Line 235... | ||
243 | puffer: string; |
235 | puffer: string; |
244 | begin |
236 | begin |
245 | if mainform.Enemys.count = 0 then |
237 | if mainform.Enemys.count = 0 then |
246 | begin |
238 | begin |
247 | MessageDlg('Das Level ist leer!', mtError, [mbOK], 0); |
239 | MessageDlg('Das Level ist leer!', mtError, [mbOK], 0); |
248 | SpinEdit.SetFocus; |
240 | LevelNumber.SetFocus; |
249 | exit; |
241 | exit; |
250 | end; |
242 | end; |
251 | {for i := 0 to length(LevelName.text) do |
243 | {for i := 0 to length(LevelName.text) do |
252 | begin |
244 | begin |
253 | if (copy(LevelName.text, i, 1) = '\') or |
245 | if (copy(LevelName.text, i, 1) = '\') or |
Line 263... | Line 255... | ||
263 | MessageDlg('Dies ist kein gültiger Levelname!', mtError, [mbOK], 0); |
255 | MessageDlg('Dies ist kein gültiger Levelname!', mtError, [mbOK], 0); |
264 | LevelName.SetFocus; |
256 | LevelName.SetFocus; |
265 | exit; |
257 | exit; |
266 | end; |
258 | end; |
267 | end;} |
259 | end;} |
268 | if LevelListBox.items.IndexOf('Level ' + inttostr(SpinEdit.Position)) > -1 then |
260 | if LevelListBox.items.IndexOf('Level ' + inttostr(LevelNumber.Value)) > -1 then |
269 | begin |
261 | begin |
270 | if MessageDlg('Level ist bereits vorhanden. Ersetzen?', mtConfirmation, [mbYes, mbNo], 0) = mrNo then |
262 | if MessageDlg('Level ist bereits vorhanden. Ersetzen?', mtConfirmation, [mbYes, mbNo], 0) = mrNo then |
271 | exit; |
263 | exit; |
272 | end; |
264 | end; |
273 | 265 | ||
Line 295... | Line 287... | ||
295 | LevelData.EnemyAdventTable[i].enemyType := TEnemyType(StrToInt(filter(3, mainform.enemys.Strings[i]))); |
287 | LevelData.EnemyAdventTable[i].enemyType := TEnemyType(StrToInt(filter(3, mainform.enemys.Strings[i]))); |
296 | LevelData.EnemyAdventTable[i].x := StrToInt(filter(1, mainform.enemys.Strings[i])); |
288 | LevelData.EnemyAdventTable[i].x := StrToInt(filter(1, mainform.enemys.Strings[i])); |
297 | LevelData.EnemyAdventTable[i].y := StrToInt(filter(2, mainform.enemys.Strings[i])); |
289 | LevelData.EnemyAdventTable[i].y := StrToInt(filter(2, mainform.enemys.Strings[i])); |
298 | LevelData.EnemyAdventTable[i].lifes := StrToInt(filter(4, mainform.enemys.Strings[i])); |
290 | LevelData.EnemyAdventTable[i].lifes := StrToInt(filter(4, mainform.enemys.Strings[i])); |
299 | end; |
291 | end; |
300 | LevelData.Save(GetLevelFileName(SpinEdit.Position)); |
292 | LevelData.Save(GetLevelFileName(LevelNumber.Value)); |
301 | finally |
293 | finally |
302 | FreeAndNil(LevelData); |
294 | FreeAndNil(LevelData); |
303 | end; |
295 | end; |
304 | 296 | ||
305 | // Nacharbeiten |
297 | // Nacharbeiten |
Line 330... | Line 322... | ||
330 | loeschenbtn.enabled := false; |
322 | loeschenbtn.enabled := false; |
331 | liw.visible := true; |
323 | liw.visible := true; |
332 | exit; |
324 | exit; |
333 | end; |
325 | end; |
334 | temp := LevelListBox.Items.strings[LevelListBox.itemindex]; |
326 | temp := LevelListBox.Items.strings[LevelListBox.itemindex]; |
335 | SpinEdit.Position := strtoint(RightStr(temp, length(temp)-6)); |
327 | LevelNumber.Value := strtoint(RightStr(temp, length(temp)-Length('Level '))); |
336 | 328 | ||
337 | LevelData := TLevelData.Create; |
329 | LevelData := TLevelData.Create; |
338 | try |
330 | try |
339 | try |
331 | try |
340 | LevelData.Load(IncludeTrailingPathDelimiter(ExtractFilePath(GetLevelFileName(1)))+ |
332 | LevelData.Load(IncludeTrailingPathDelimiter(ExtractFilePath(GetLevelFileName(1)))+ |
Line 407... | Line 399... | ||
407 | procedure TSpeicherungForm.FormHide(Sender: TObject); |
399 | procedure TSpeicherungForm.FormHide(Sender: TObject); |
408 | begin |
400 | begin |
409 | mainform.dxtimer.enabled := true; |
401 | mainform.dxtimer.enabled := true; |
410 | end; |
402 | end; |
411 | 403 | ||
412 | procedure TSpeicherungForm.SpinEditClick(Sender: TObject; |
- | |
413 | Button: TUDBtnType); |
- | |
414 | begin |
- | |
415 | SpinEditEdt.Text := inttostr(SpinEdit.position); |
- | |
416 | end; |
- | |
417 | - | ||
418 | procedure TSpeicherungForm.SpinEditEdtKeyPress(Sender: TObject; |
- | |
419 | var Key: Char); |
- | |
420 | begin |
- | |
421 | {$IFDEF UNICODE} |
- | |
422 | if not CharInSet(Key, [#13, #08, '0'..'9']) then |
- | |
423 | {$ELSE} |
- | |
424 | if not (Key in [#13, #08, '0'..'9']) then |
- | |
425 | {$ENDIF} |
- | |
426 | Key := #0; |
- | |
427 | end; |
- | |
428 | - | ||
429 | procedure TSpeicherungForm.SpinEditEdtChange(Sender: TObject); |
- | |
430 | begin |
- | |
431 | SpinEdit.Position := strtoint(SpinEditEdt.text); |
- | |
432 | end; |
- | |
433 | - | ||
434 | end. |
404 | end. |
435 | 405 |