Subversion Repositories spacemission

Rev

Rev 1 | Rev 3 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1 Rev 2
Line 3... Line 3...
3
interface
3
interface
4
 
4
 
5
uses
5
uses
6
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, MMSystem,
6
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, MMSystem,
7
  Dialogs, StdCtrls, ExtCtrls, Menus, DIB, DXClass, DXSprite, DXDraws,
7
  Dialogs, StdCtrls, ExtCtrls, Menus, DIB, DXClass, DXSprite, DXDraws,
8
  DXSounds, Spin, ComCtrls, PjVersionInfo;
8
  DXSounds, Spin, ComCtrls;
9
 
9
 
10
type
10
type
11
  TMainForm = class(TDXForm)
11
  TMainForm = class(TDXForm)
12
    MainMenu: TMainMenu;
12
    MainMenu: TMainMenu;
13
    Spiel: TMenuItem;
13
    Spiel: TMenuItem;
Line 76... Line 76...
76
    procedure LivesEdtKeyPress(Sender: TObject; var Key: Char);
76
    procedure LivesEdtKeyPress(Sender: TObject; var Key: Char);
77
    procedure LivesEdtChange(Sender: TObject);
77
    procedure LivesEdtChange(Sender: TObject);
78
  public
78
  public
79
    { VCL-Ersatz }
79
    { VCL-Ersatz }
80
    spriteengine: tdxspriteengine;
80
    spriteengine: tdxspriteengine;
81
    versioninfo: tpjversioninfo;
-
 
82
    dxtimer: tdxtimer;
81
    dxtimer: tdxtimer;
83
    imagelist: tdximagelist;
82
    imagelist: tdximagelist;
84
    dxdraw: tdxdraw;
83
    dxdraw: tdxdraw;
85
    { Variablen }
84
    { Variablen }
86
    FDirectory: string;
-
 
87
    FEngineVersion: string;
-
 
88
    FMenuItem: integer;
85
    FMenuItem: integer;
89
    Enemys: TStrings;
86
    Enemys: TStrings;
90
    ArtChecked: integer;
87
    ArtChecked: integer;
91
    LiveEdit: integer;
88
    LiveEdit: integer;
92
    ScrollP: integer;
89
    ScrollP: integer;
Line 109... Line 106...
109
  end;
106
  end;
110
 
107
 
111
var
108
var
112
  MainForm: TMainForm;
109
  MainForm: TMainForm;
113
 
110
 
114
const
-
 
115
  FCompVersion = '1.0';
-
 
116
 
-
 
117
implementation
111
implementation
118
 
112
 
119
uses
113
uses
120
  LevSplash, LevSpeicherung, LevText, LevInfo, LevSource, LevOptions;
114
  Global, LevSplash, LevSpeicherung, LevText, SplInfo, LevSource, LevOptions;
121
 
115
 
122
const
116
const
123
  FileError = 'Die Datei kann von SpaceMission nicht geöffnet werden!';
117
  FileError = 'Die Datei kann von SpaceMission nicht geöffnet werden!';
124
  status_info = ' Zeigen Sie mit dem Mauszeiger auf eine Einheit, um deren Eigenschaften anzuzeigen...';
118
  status_info = ' Zeigen Sie mit dem Mauszeiger auf eine Einheit, um deren Eigenschaften anzuzeigen...';
125
  status_lives = ' Leben: ';
119
  status_lives = ' Leben: ';
Line 195... Line 189...
195
 
189
 
196
procedure TMainForm.FormCreate(Sender: TObject);
190
procedure TMainForm.FormCreate(Sender: TObject);
197
var
191
var
198
  Ergebnis: string;
192
  Ergebnis: string;
199
  daten: textfile;
193
  daten: textfile;
200
  i: integer;
-
 
201
  punkt: integer;
-
 
202
  ok: boolean;
194
  ok: boolean;
203
begin
195
begin
204
  { VCL-Ersatz start }
196
  { VCL-Ersatz start }
205
 
-
 
206
  versioninfo := tpjversioninfo.create(self);
-
 
207
 
-
 
208
  dxtimer := tdxtimer.create(self);
197
  dxtimer := tdxtimer.create(self);
209
  dxtimer.Interval := 100;
198
  dxtimer.Interval := 100;
210
  dxtimer.ActiveOnly := false;
199
  dxtimer.ActiveOnly := false;
211
  dxtimer.Enabled := false;
200
  dxtimer.Enabled := false;
212
  dxtimer.OnTimer := DxTimerTimer;
201
  dxtimer.OnTimer := DxTimerTimer;
Line 245... Line 234...
245
 
234
 
246
  ArtChecked := 1;
235
  ArtChecked := 1;
247
  LiveEdit := 1;
236
  LiveEdit := 1;
248
  // Leeres Level am Anfang braucht keine Beenden-Bestätigung.
237
  // Leeres Level am Anfang braucht keine Beenden-Bestätigung.
249
  // LevChanged := true;
238
  // LevChanged := true;
250
  punkt := 0;
-
 
251
  FDirectory := extractfilepath(paramstr(0));
-
 
252
  versioninfo.filename := paramstr(0);
-
 
253
  for i := 1 to length(versioninfo.ProductVersion) do
-
 
254
  begin
-
 
255
    if copy(versioninfo.ProductVersion, i, 1) = '.' then inc(punkt);
-
 
256
    if punkt < 2 then fengineversion :=
-
 
257
      fengineversion+copy(versioninfo.ProductVersion, i, 1);
-
 
258
  end;
239
 
259
  //Application.Title := 'SpaceMission '+FEngineVersion+' - Leveleditor';
240
  //Application.Title := 'SpaceMission '+ProgramVersion+' - Leveleditor';
260
  Caption := 'SpaceMission '+FEngineVersion+' - Leveleditor';
241
  Caption := 'SpaceMission '+ProgramVersion+' - Leveleditor';
261
  DXInit;
242
  DXInit;
262
  if (paramcount > 0) and (fileexists(paramstr(1))) then
243
  if (paramcount > 0) and (fileexists(paramstr(1))) then
263
  begin
244
  begin
264
    AssignFile(daten, paramstr(1));
245
    AssignFile(daten, paramstr(1));
265
    Reset(daten);
246
    Reset(daten);
Line 288... Line 269...
288
 
269
 
289
procedure TMainForm.FormDestroy(Sender: TObject);
270
procedure TMainForm.FormDestroy(Sender: TObject);
290
begin
271
begin
291
  Enemys.Free;
272
  Enemys.Free;
292
  //spriteengine.Free;
273
  //spriteengine.Free;
293
  versioninfo.free;
-
 
294
  dxtimer.Free;
274
  dxtimer.Free;
295
  imagelist.Free;
275
  imagelist.Free;
296
  dxdraw.free;
276
  dxdraw.free;
297
end;
277
end;
298
 
278
 
Line 462... Line 442...
462
  mainform.Visible := true;
442
  mainform.Visible := true;
463
end;
443
end;
464
 
444
 
465
procedure TMainForm.MitarbeiterClick(Sender: TObject);
445
procedure TMainForm.MitarbeiterClick(Sender: TObject);
466
begin
446
begin
467
  if not fileexists(mainform.fdirectory+'Texte\Mitwirkende.txt') then
447
  if not fileexists(fdirectory+'Texte\Mitwirkende.txt') then
468
  begin
448
  begin
469
    MessageDLG('Die Datei "Texte\Mitwirkende.txt" ist nicht mehr vorhanden. Die Aktion wird abgebrochen!',
449
    MessageDLG('Die Datei "Texte\Mitwirkende.txt" ist nicht mehr vorhanden. Die Aktion wird abgebrochen!',
470
      mtWarning, [mbOK], 0);
450
      mtWarning, [mbOK], 0);
471
  end
451
  end
472
  else
452
  else
473
  begin
453
  begin
474
    TextForm.memo1.lines.loadfromfile(mainform.FDirectory+'Texte\Mitwirkende.txt');
454
    TextForm.memo1.lines.loadfromfile(FDirectory+'Texte\Mitwirkende.txt');
475
    TextForm.showmodal;
455
    TextForm.showmodal;
476
  end;
456
  end;
477
end;
457
end;
478
 
458
 
479
procedure TMainForm.LevelClick(Sender: TObject);
459
procedure TMainForm.LevelClick(Sender: TObject);