/GamMain.pas |
---|
1568,12 → 1568,12 |
if Reg.ValueExists(SpeedSettingKey) then |
FSpeed := Reg.ReadInteger(SpeedSettingKey) |
else |
FSpeed := conmittel; // default |
FSpeed := SpeedMedium; // default |
Leicht.Checked := FSpeed = conleicht; |
Mittel.Checked := FSpeed = conmittel; |
Schwer.Checked := FSpeed = conschwer; |
Master.Checked := FSpeed = conmaster; |
Leicht.Checked := FSpeed = SpeedEasy; |
Mittel.Checked := FSpeed = SpeedMedium; |
Schwer.Checked := FSpeed = SpeedHard; |
Master.Checked := FSpeed = SpeedMaster; |
Reg.CloseKey; |
end; |
1857,8 → 1857,6 |
procedure TMainForm.NewLevel(lev: integer); |
resourcestring |
SLevelInvalid = 'Das Level Nr. %d ist ungültig!'+#13#10+'Das Programm wird beendet.'; |
const |
RandomLevelMaxEnemyLives = 10; |
var |
act: integer; |
Enemies: array[1..32] of TEnemyType; |
1903,7 → 1901,7 |
Enemies[30] := etEnemyAttacker3; // ab Lev 28 |
Enemies[31] := etEnemyUFO; // ab Lev 29 |
Enemies[32] := etEnemyUFO2; // ab Lev 30 |
numEnemies := lev*ADDITIONAL_ENEMIES_PER_LEVEL; |
numEnemies := lev*RandomLevelAdditionalEnemiesPerLevel; |
SetLength(LevelData.EnemyAdventTable, numEnemies); |
for act := 0 to numEnemies-1 do |
begin |
1916,7 → 1914,7 |
e.x := 85-(lev+(random(lev))*2){O_o}; |
if e.x < 1 then e.x := 1; // passiert bei großen Levels |
e.x := act*30 + random(e.x); |
e.y := random(dxdraw.surfaceheight); |
e.y := random((LevEditRows-1)*LevEditRasterH); |
if e.enemyType = etEnemyAttacker2 then |
begin |
e.lifes := random(6)+1{O_o}; |
1933,7 → 1931,7 |
end; |
end; |
if (act-1) mod 200 = 0 then |
if (act-1) mod RandomLevelMedikitEveryX = 0 then |
begin |
e.enemyType := etItemMedikit; |
e.lifes := 0; |
2174,7 → 2172,7 |
Enemy.x := dxdraw.surfacewidth; |
//Enemy.y := y; |
if y <> 0 then |
Enemy.y := dxdraw.surfaceheight / (480{maximale Bandbreite im alten Format} / y) |
Enemy.y := dxdraw.surfaceheight / ((LevEditRows*LevEditRasterH) / y) |
else |
Enemy.y := 0; |
end; |
2476,7 → 2474,7 |
procedure TMainForm.LeichtClick(Sender: TObject); |
begin |
leicht.checked := true; |
FSpeed := conleicht; |
FSpeed := SpeedEasy; |
writeoptions; |
end; |
2483,7 → 2481,7 |
procedure TMainForm.MittelClick(Sender: TObject); |
begin |
mittel.checked := true; |
FSpeed := conmittel; |
FSpeed := SpeedMedium; |
writeoptions; |
end; |
2490,7 → 2488,7 |
procedure TMainForm.SchwerClick(Sender: TObject); |
begin |
schwer.checked := true; |
FSpeed := conschwer; |
FSpeed := SpeedHard; |
writeoptions; |
end; |
2497,7 → 2495,7 |
procedure TMainForm.MasterClick(Sender: TObject); |
begin |
master.checked := true; |
FSpeed := conmaster; |
FSpeed := SpeedMaster; |
writeoptions; |
end; |
/Global.pas |
---|
6,6 → 6,8 |
ProgramVersion = '1.2.1'; |
LevEditRasterW = 48; |
LevEditRasterH = 32; |
LevEditRows = 15; // Attention: if you change this, you also need to change the LevEditor GUI! |
LevEditCols = 13; // Attention: if you change this, you also need to change the LevEditor GUI! |
MaxPossibleEnemyLives = 999; |
MaxPossibleLevels = 999; |
RegistrySettingsKey = 'SOFTWARE\ViaThinkSoft\SpaceMission\Settings'; // do not localize |
14,12 → 16,11 |
SpeedSettingKey = 'GameSpeed'; // do not localize |
DefaultLevelLength = 1200; |
StartLives = 6; |
conleicht = 650 div 60; // 10 |
conmittel = 1000 div 60; // 16 |
conschwer = 1350 div 60; // 22 |
conmaster = 2000 div 60; // 33 |
SpeedEasy = 650 div 60; // 10 |
SpeedMedium = 1000 div 60; // 16 |
SpeedHard = 1350 div 60; // 22 |
SpeedMaster = 2000 div 60; // 33 |
DEFAULT_ANIMSPEED = 15/1000; |
ADDITIONAL_ENEMIES_PER_LEVEL = 75; // Zufalls-Level |
BossWidth = 4; |
BossHeight = 2; |
SpaceMissionExe = 'SpaceMission.exe'; // do not localize |
27,6 → 28,9 |
DxgFile = 'DirectX\Graphics.dxg'; // do not localize |
DxwFile = 'DirectX\Sound.dxw'; // do not localize |
DxmFile = 'DirectX\Music.dxm'; // do not localize |
RandomLevelMaxEnemyLives = 10; |
RandomLevelMedikitEveryX = 250; |
RandomLevelAdditionalEnemiesPerLevel = 75; // Zufalls-Level |
type |
// DirectX\Music.dxm |
/Help/Neuerungen.md |
---|
3,11 → 3,12 |
SpaceMission 1.2.1: |
- Neue Einheit: Medikit Item |
- Zufallslevel: |
- Alle 200 Einheiten erhält man ein Medikit |
- Alle 250 Einheiten erhält man ein Medikit |
- 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 |
- BUGFIX: Zufallslevel: Manche Einheiten sind nicht aufgetaucht, da sie zu weit unten generiert wurden. Korrigiert. |
- 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: |
/LevEdit.dpr |
---|
8,7 → 8,6 |
Forms, |
Dialogs, |
SysUtils, |
MMSystem, |
LevMain in 'LevMain.pas' {MainForm}, |
LevSplash in 'LevSplash.pas' {SplashForm}, |
LevSpeicherung in 'LevSpeicherung.pas' {SpeicherungForm}, |
/LevEdit.dproj |
---|
8,7 → 8,7 |
<FrameworkType>VCL</FrameworkType> |
<ProjectVersion>20.1</ProjectVersion> |
<Base>True</Base> |
<Config Condition="'$(Config)'==''">Debug</Config> |
<Config Condition="'$(Config)'==''">Release</Config> |
<Platform Condition="'$(Platform)'==''">Win32</Platform> |
<TargetedPlatforms>1</TargetedPlatforms> |
<AppType>Application</AppType> |
/LevEdit.res |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |