Rev 31 | Rev 42 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 31 | Rev 40 | ||
---|---|---|---|
Line 220... | Line 220... | ||
220 | imagelist := tdximagelist.create(self); |
220 | imagelist := tdximagelist.create(self); |
221 | imagelist.DXDraw := dxdraw; |
221 | imagelist.DXDraw := dxdraw; |
222 | 222 | ||
223 | { VCL-Ersatz ende } |
223 | { VCL-Ersatz ende } |
224 | 224 | ||
- | 225 | LivesEdit.MinValue := 1; |
|
- | 226 | LivesEdit.MaxValue := MaxPossibleEnemyLives; |
|
- | 227 | LivesEdit.Value := 1; |
|
- | 228 | ||
225 | Enemy1.Checked := true; |
229 | Enemy1.Checked := true; |
226 | EnemyClick(Enemy1); |
230 | EnemyClick(Enemy1); |
227 | // Leeres Level am Anfang braucht keine Beenden-Bestätigung. |
231 | // Leeres Level am Anfang braucht keine Beenden-Bestätigung. |
228 | // LevChanged := true; |
232 | // LevChanged := true; |
229 | 233 | ||
Line 231... | Line 235... | ||
231 | Caption := 'SpaceMission '+ProgramVersion+' - Leveleditor'; |
235 | Caption := 'SpaceMission '+ProgramVersion+' - Leveleditor'; |
232 | DXInit; |
236 | DXInit; |
233 | LevData := TLevelData.create; |
237 | LevData := TLevelData.create; |
234 | ProgramInit; |
238 | ProgramInit; |
235 | DestroyLevel; |
239 | DestroyLevel; |
236 | if (paramcount > 0) and (fileexists(paramstr(1))) then |
240 | if (paramcount > 0) and (fileexists(paramstr(1))) and (ExtractFileExt(paramstr(1)).ToLower = '.lev') then |
237 | begin |
241 | begin |
238 | try |
242 | try |
239 | LevData.Load(paramstr(1)); |
243 | LevData.LoadFromFile(paramstr(1)); |
240 | except |
244 | except |
241 | on E: Exception do |
245 | on E: Exception do |
242 | begin |
246 | begin |
243 | showmessage(SFileError + ' ' +E.Message); |
247 | showmessage(SFileError + ' ' +E.Message); |
244 | DestroyLevel; |
248 | DestroyLevel; |
Line 250... | Line 254... | ||
250 | end; |
254 | end; |
251 | end; |
255 | end; |
252 | 256 | ||
253 | procedure TMainForm.FormDestroy(Sender: TObject); |
257 | procedure TMainForm.FormDestroy(Sender: TObject); |
254 | begin |
258 | begin |
255 | LevData.Free; |
259 | FreeAndNil(LevData); |
256 | //spriteengine.Free; |
260 | //FreeAndNil(spriteengine); |
257 | dxtimer.Free; |
261 | FreeAndNil(dxtimer); |
258 | imagelist.Free; |
262 | FreeAndNil(imagelist); |
259 | dxdraw.free; |
263 | FreeAndNil(dxdraw); |
260 | end; |
264 | end; |
261 | 265 | ||
262 | procedure TMainForm.BeendenClick(Sender: TObject); |
266 | procedure TMainForm.BeendenClick(Sender: TObject); |
263 | begin |
267 | begin |
264 | close; |
268 | close; |
Line 448... | Line 452... | ||
448 | speicherungform.showmodal; |
452 | speicherungform.showmodal; |
449 | end; |
453 | end; |
450 | 454 | ||
451 | procedure TMainForm.FormShow(Sender: TObject); |
455 | procedure TMainForm.FormShow(Sender: TObject); |
452 | begin |
456 | begin |
- | 457 | if Assigned(SplashForm) then |
|
- | 458 | begin |
|
453 | SplashForm.Hide; |
459 | SplashForm.Hide; |
454 | SplashForm.Free; |
460 | FreeAndNil(SplashForm); |
- | 461 | end; |
|
455 | 462 | ||
456 | dxtimer.Enabled := true; |
463 | dxtimer.Enabled := true; |
457 | dxtimer.ActiveOnly := true; |
464 | dxtimer.ActiveOnly := true; |
458 | end; |
465 | end; |
459 | 466 | ||
Line 497... | Line 504... | ||
497 | ok := false // boss already exists |
504 | ok := false // boss already exists |
498 | else |
505 | else |
499 | begin |
506 | begin |
500 | for i := 1 to NumEnemyTypes do |
507 | for i := 1 to NumEnemyTypes do |
501 | begin |
508 | begin |
502 | for j := 0 to 999 do |
509 | for j := 0 to MaxPossibleEnemyLives do |
503 | begin |
510 | begin |
504 | if boss then |
511 | if boss then |
505 | begin |
512 | begin |
506 | for k := 0 to 3 do |
513 | for k := 0 to 3 do |
507 | begin |
514 | begin |
Line 540... | Line 547... | ||
540 | { Löschen } |
547 | { Löschen } |
541 | else if Button = mbRight then |
548 | else if Button = mbRight then |
542 | begin |
549 | begin |
543 | for i := 1 to NumEnemyTypes do |
550 | for i := 1 to NumEnemyTypes do |
544 | begin |
551 | begin |
545 | for j := 0 to 999 do |
552 | for j := 0 to MaxPossibleEnemyLives do |
546 | begin |
553 | begin |
547 | if boss and (TEnemyType(i) = etEnemyBoss) then |
554 | if boss and (TEnemyType(i) = etEnemyBoss) then |
548 | begin |
555 | begin |
549 | for k := 0 to 3 do |
556 | for k := 0 to 3 do |
550 | begin |
557 | begin |
Line 615... | Line 622... | ||
615 | procedure TMainForm.AlleLeveldateienaktualisieren1Click(Sender: TObject); |
622 | procedure TMainForm.AlleLeveldateienaktualisieren1Click(Sender: TObject); |
616 | var |
623 | var |
617 | i: integer; |
624 | i: integer; |
618 | begin |
625 | begin |
619 | // Just for internal/development purposes |
626 | // Just for internal/development purposes |
620 | for i := 1 to 9999 do |
627 | for i := 1 to MaxPossibleLevels do |
621 | begin |
628 | begin |
622 | if FileExists('Levels\Level '+IntToStr(i)+'.lev') then |
629 | if FileExists('Levels\Level '+IntToStr(i)+'.lev') then |
623 | begin |
630 | begin |
624 | LevData.Load('Levels\Level '+IntToStr(i)+'.lev'); |
631 | LevData.LoadFromFile('Levels\Level '+IntToStr(i)+'.lev'); |
625 | LevData.Save('Levels\Level '+IntToStr(i)+'.lev'); |
632 | LevData.SaveToFile('Levels\Level '+IntToStr(i)+'.lev'); |
626 | end; |
633 | end; |
627 | end; |
634 | end; |
628 | end; |
635 | end; |
629 | 636 | ||
630 | procedure TMainForm.AnzeigeAct; |
637 | procedure TMainForm.AnzeigeAct; |
Line 675... | Line 682... | ||
675 | lifes := -1; |
682 | lifes := -1; |
676 | enemyType := etUnknown; |
683 | enemyType := etUnknown; |
677 | breaked := false; |
684 | breaked := false; |
678 | for i := 1 to NumEnemyTypes do |
685 | for i := 1 to NumEnemyTypes do |
679 | begin |
686 | begin |
680 | for j := 0 to 999 do |
687 | for j := 0 to MaxPossibleEnemyLives do |
681 | begin |
688 | begin |
682 | if boss and (TEnemyType(i) = etEnemyBoss) then |
689 | if boss and (TEnemyType(i) = etEnemyBoss) then |
683 | begin |
690 | begin |
684 | for k := 0 to 3 do |
691 | for k := 0 to 3 do |
685 | begin |
692 | begin |