Subversion Repositories spacemission

Compare Revisions

Regard whitespace Rev 79 → Rev 80

/GamMain.pas
250,6 → 250,7
procedure LeichtClick(Sender: TObject);
procedure MittelClick(Sender: TObject);
procedure SchwerClick(Sender: TObject);
procedure MasterClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure InformationenClick(Sender: TObject);
procedure CheatClick(Sender: TObject);
256,12 → 257,11
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure CheckUpdatesClick(Sender: TObject);
procedure MasterClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure HilfeTopicClick(Sender: TObject);
private
ProgrammGestartet: boolean;
FInterval: TGameInterval;
FSpeed: integer;
FScene: TGameScene;
FMusic: TSpaceMissionMusicTrack;
FBlink: DWORD;
1353,8 → 1353,6
end;
 
procedure TMainForm.DXInit;
const
DxgFile = 'DirectX\Graphics.dxg'; // do not localize
begin
try
Imagelist.Items.LoadFromFile(OwnDirectory+DxgFile);
1390,8 → 1388,6
end;
 
procedure TMainForm.SoundInit;
const
DxwFile = 'DirectX\Sound.dxw'; // do not localize
begin
if (WaveOutGetNumDevs < 1) or not FileExists(OwnDirectory+DxwFile) then
begin
1417,8 → 1413,6
end;
 
procedure TMainForm.MusicInit;
const
DxmFile = 'DirectX\Music.dxm'; // do not localize
var
i: integer;
begin
1543,7 → 1537,8
begin
Reg.WriteBool(MusicSettingKey, OptionMusic.checked);
Reg.WriteBool(SoundSettingKey, OptionSound.checked);
Reg.WriteInteger(SpeedSettingKey, Ord(FInterval)); // TODO : maybe it would be better to let the user change the real speed, so they can set their own custom one!
Reg.WriteInteger(SpeedSettingKey, Ord(FSpeed));
Reg.DeleteValue('Speed'); // deprecated. Replaced by GameSpeed
Reg.CloseKey;
end;
finally
1571,10 → 1566,15
optionsound.checked := true; // default
 
if Reg.ValueExists(SpeedSettingKey) then
FInterval := TGameInterval(Reg.ReadInteger(SpeedSettingKey))
FSpeed := Reg.ReadInteger(SpeedSettingKey)
else
FInterval := giMittel; // default
FSpeed := conmittel; // default
 
Leicht.Checked := FSpeed = conleicht;
Mittel.Checked := FSpeed = conmittel;
Schwer.Checked := FSpeed = conschwer;
Master.Checked := FSpeed = conmaster;
 
Reg.CloseKey;
end;
finally
2140,12 → 2140,7
spriteClass: TClass;
tmpEnemyAnzeige: integer;
begin
case FInterval of
giLeicht: SpriteEngine.Move(conleicht);
giMittel: SpriteEngine.Move(conmittel);
giSchwer: SpriteEngine.Move(conschwer);
giMaster: SpriteEngine.Move(conmaster);
end;
SpriteEngine.Move(FSpeed);
SpriteEngine.Dead;
while (FEnemyAdventPos >= Low(LevelData.EnemyAdventTable)) and
(FEnemyAdventPos <= High(LevelData.EnemyAdventTable)) and
2433,13 → 2428,6
WriteOptions;
end;
 
procedure TMainForm.MasterClick(Sender: TObject);
begin
master.checked := true;
FInterval := giMaster;
writeoptions;
end;
 
procedure TMainForm.PlayMusic(Name: TSpaceMissionMusicTrack);
begin
if not OptionMusic.checked then exit;
2488,7 → 2476,7
procedure TMainForm.LeichtClick(Sender: TObject);
begin
leicht.checked := true;
FInterval := giLeicht;
FSpeed := conleicht;
writeoptions;
end;
 
2495,7 → 2483,7
procedure TMainForm.MittelClick(Sender: TObject);
begin
mittel.checked := true;
FInterval := giMittel;
FSpeed := conmittel;
writeoptions;
end;
 
2502,10 → 2490,17
procedure TMainForm.SchwerClick(Sender: TObject);
begin
schwer.checked := true;
FInterval := giSchwer;
FSpeed := conschwer;
writeoptions;
end;
 
procedure TMainForm.MasterClick(Sender: TObject);
begin
master.checked := true;
FSpeed := conmaster;
writeoptions;
end;
 
procedure TMainForm.FormShow(Sender: TObject);
resourcestring
SFileError = 'Die Datei kann von SpaceMission nicht geöffnet werden!';
/Global.pas
11,7 → 11,7
RegistrySettingsKey = 'SOFTWARE\ViaThinkSoft\SpaceMission\Settings'; // do not localize
MusicSettingKey = 'Music'; // do not localize
SoundSettingKey = 'Sound'; // do not localize
SpeedSettingKey = 'Speed'; // do not localize
SpeedSettingKey = 'GameSpeed'; // do not localize
DefaultLevelLength = 1200;
StartLives = 6;
conleicht = 650 div 60; // 10
24,6 → 24,9
BossHeight = 2;
SpaceMissionExe = 'SpaceMission.exe'; // do not localize
LevEditExe = 'LevEdit.exe'; // do not localize
DxgFile = 'DirectX\Graphics.dxg'; // do not localize
DxwFile = 'DirectX\Sound.dxw'; // do not localize
DxmFile = 'DirectX\Music.dxm'; // do not localize
 
type
// DirectX\Music.dxm
/Help/Neuerungen.md
7,6 → 7,8
- Ab Level 25 steigt die Anzahl an auftretenden stärkeren Gegnertypen
- BUGFIX: Nach dem der Boss besiegt wurde, war die angezeigte Gegner-Anzeige eins zu wenig oder ist verschwunden
- BUGFIX: Leveleditor Speicherndialog Frage "Level ersetzen?" Abfrage kommt nun wieder, wenn man ein Selbsterstelltes Level überschreiben möchte
- BUGFIX: Die Geschwindigkeitseinstellung im Menü wurde falsch angezeigt, wenn das Spiel gestartet wurde
- Mit einer Registry-Änderung kann die Geschwindigkeit nun beliebig eingestellt werden. Registry Schlüssel "Computer\HKEY_CURRENT_USER\Software\ViaThinkSoft\SpaceMission\Settings", Schalter "GameSpeed". Standardwerte: Leicht 10, Mittel 16, Schwer 22, Meister 33.
 
SpaceMission 1.2:
- Inhaltliche Änderungen am Spiel:
/LevEdit.dpr
23,13 → 23,21
var
Sem: THandle;
 
resourcestring
SAlreadyStarted = 'Der Editor wurde bereits gestartet.';
STitel = 'SpaceMission Leveleditor';
SFileMissing = '%s fehlt. Bitte installieren Sie SpaceMission erneut.';
 
const
SemaphoreName = 'SpaceMission Leveleditor';
 
begin
{ Programm schon gestartet? }
Sem := CreateSemaphore(nil, 0, 1, 'SpaceMission Leveleditor');
Sem := CreateSemaphore(nil, 0, 1, SemaphoreName);
if (Sem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then
begin
CloseHandle(Sem);
MessageDlg('Der Editor wurde bereits gestartet.', mtInformation, [mbOK], 0);
MessageDlg(SAlreadyStarted, mtInformation, [mbOK], 0);
exit;
end;
SplashForm := TSplashForm.Create(Application);
38,10 → 46,10
Application.Initialize;
Application.ShowMainform := False;
Application.MainFormOnTaskBar := true;
Application.Title := 'SpaceMission Leveleditor';
if not fileexists(OwnDirectory+'DirectX\Graphics.dxg') then
Application.Title := STitel;
if not fileexists(OwnDirectory+DxgFile) then
begin
MessageDLG('DirectX\Graphics.dxg fehlt. Bitte installieren Sie SpaceMission erneut.', mtError, [mbOK], 0);
MessageDLG(Format(SFilemissing, [DxgFile]), mtError, [mbOK], 0);
exit;
end;
Application.CreateForm(TMainForm, MainForm);
/LevMain.pas
186,7 → 186,7
 
procedure TMainForm.DXInit;
begin
Imagelist.Items.LoadFromFile(OwnDirectory+'DirectX\Graphics.dxg'); // do not localize
Imagelist.Items.LoadFromFile(OwnDirectory+DxgFile);
ImageList.Items.MakeColorTable;
DXDraw.ColorTable := ImageList.Items.ColorTable;
DXDraw.DefColorTable := ImageList.Items.ColorTable;
/SpaceMission.dpr
22,13 → 22,22
var
Sem: THandle;
 
 
resourcestring
SAlreadyStarted = 'Das Spiel wurde bereits gestartet.';
STitel = 'SpaceMission';
SFileMissing = '%s fehlt. Bitte installieren Sie SpaceMission erneut.';
 
const
SemaphoreName = 'SpaceMission';
 
begin
{ Programm schon gestartet? }
Sem := CreateSemaphore(nil, 0, 1, 'SpaceMission');
Sem := CreateSemaphore(nil, 0, 1, SemaphoreName);
if (Sem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then
begin
CloseHandle(Sem);
MessageDlg('Das Spiel wurde bereits gestartet.', mtInformation, [mbOK], 0);
MessageDlg(SAlreadyStarted, mtInformation, [mbOK], 0);
exit;
end;
SplashForm := TSplashForm.Create(Application);
37,10 → 46,10
Application.Initialize;
Application.ShowMainform := False;
Application.MainFormOnTaskBar := true;
Application.Title := 'SpaceMission';
if not fileexists(OwnDirectory+'DirectX\Graphics.dxg') then
Application.Title := STitel;
if not fileexists(OwnDirectory+DxgFile) then
begin
MessageDLG('DirectX\Graphics.dxg fehlt. Bitte installieren Sie SpaceMission erneut.', mtError, [mbOK], 0);
MessageDLG(Format(SFileMissing, [DxgFile]), mtError, [mbOK], 0);
exit;
end;
Application.CreateForm(TMainForm, MainForm);
/TODO.md
1,10 → 1,6
 
# SpaceMission TODO
 
## Geplant für 1.2.1
 
- Registry individual Speed Setting
 
## Geplant für 1.3
 
- Neue Einheit: Ufo, das im Kreis fliegt und nicht weggeht