Subversion Repositories spacemission

Compare Revisions

Regard whitespace Rev 47 → Rev 46

/GamMain.pas
271,13 → 271,6
procedure SceneNewLevel;
procedure EndSceneNewLevel;
procedure LevelNeuStarten;
private
{ Diverse temporäre Variablen }
Crash2: integer;
EnemyCounter: integer;
BossExists: boolean;
Crash: boolean;
crashsound: boolean;
public
FNextScene: TGameScene;
FScore: Integer;
345,6 → 338,10
 
{$R *.DFM}
 
var
Crash2, EnemyCounter: integer;
BossExists, Crash, crashsound: boolean;
 
const
DXInputButton = [isButton1, isButton2, isButton3,
isButton4, isButton5, isButton6, isButton7, isButton8, isButton9, isButton10, isButton11,
560,10 → 557,10
if mainform.FCheat then exit;
if (Sprite is TEnemy) or (Sprite is TEnemyTama) then
begin
if not mainform.crash then
if not crash then
begin
dec(MainForm.FLife);
mainform.Crash := true;
Crash := true;
if MainForm.Flife=0 then
begin
MainForm.PlaySound(smsExplosion, false);
582,10 → 579,10
end
else
begin
if not mainform.crashsound then
if not crashsound then
begin
MainForm.PlaySound(smsHit, False);
mainform.crashsound := true;
crashsound := true;
end;
end;
end;
716,13 → 713,13
begin
inherited Create(AParent);
FLife := ALifes;
inc(mainform.EnemyCounter);
inc(EnemyCounter);
end;
 
destructor TEnemy.Destroy;
begin
inherited Destroy;
dec(mainform.EnemyCounter);
dec(EnemyCounter);
end;
 
procedure TEnemy.Hit(AHitStrength: integer = 1);
1151,6 → 1148,7
Image := MainForm.GetSpriteGraphic(smgEnemyBoss);
Width := Image.Width;
Height := Image.Height;
BossExists := true;
MainForm.MusicSwitchTrack(smmBoss);
AnimCount := Image.PatternCount;
AnimLooped := True;
1285,8 → 1283,8
dxdraw.Align := alClient;
dxdraw.Left := 0;
dxdraw.Top := 0;
dxdraw.Width := ClientWidth;
dxdraw.Height := ClientHeight;
dxdraw.Width := mainform.ClientWidth;
dxdraw.Height := mainform.ClientHeight;
dxdraw.AutoInitialize := False;
dxdraw.AutoSize := False;
dxdraw.Color := clBlack;
1340,14 → 1338,14
try
try
SavGame.LoadFromFile(paramstr(1));
FScore := SavGame.Score;
FLife := SavGame.Life;
FLevel := SavGame.Level;
FGameMode := SavGame.GameMode;
FLevelDataAlreadyLoaded := true; // do not call NewLevel() in StartSceneMain
mainform.FScore := SavGame.Score;
mainform.FLife := SavGame.Life;
mainform.FLevel := SavGame.Level;
mainform.FGameMode := SavGame.GameMode;
MainForm.FLevelDataAlreadyLoaded := true; // do not call NewLevel() in StartSceneMain
if Assigned(SavGame.LevelData) then
begin
LevelData.Assign(SavGame.LevelData);
mainform.LevelData.Assign(SavGame.LevelData);
end;
except
on E: Exception do
1360,7 → 1358,7
finally
FreeAndNil(SavGame);
end;
FNextScene := gsNewLevel;
mainform.FNextScene := gsNewLevel;
exit;
end;
GameStartClick(GameStart);
1586,6 → 1584,9
FBlinkTime := GetTickCount;
end;
 
const
RegistrySettingsKey = 'SOFTWARE\ViaThinkSoft\SpaceMission\Settings';
 
procedure TMainForm.WriteOptions;
var
Reg: TRegistry;
1759,9 → 1760,9
FCounter := 0;
if not FLevelDataAlreadyLoaded then NewLevel(FLevel);
FRestEnemies := Length(LevelData.EnemyAdventTable);
BossExists := LevelData.HasBoss;
FLifeAtLevelStart := FLife; // Das ist wichtig, wenn man neu starten möchte
FScoreAtLevelStart := FScore; //
BossExists := false;
MusicSwitchTrack(smmGame);
FEnemyAdventPos := 0;
FFrame := -4;
2150,7 → 2151,7
SpriteEngine.Draw;
DXDraw.Surface.Canvas.Brush.Style := bsClear;
DXDraw.Surface.Canvas.Font.Size := 20;
if flife > 0 then
if MainForm.flife > 0 then
begin
{$REGION 'Anzeige Punkte'}
DXDraw.Surface.Canvas.Font.Color := clOlive;
2161,13 → 2162,13
 
{$REGION 'Anzeige Level'}
DXDraw.Surface.Canvas.Font.Color := clMaroon;
DXDraw.Surface.Canvas.Textout(dxdraw.surfacewidth-141, 9, 'Level: ' + IntToStr(flevel));
DXDraw.Surface.Canvas.Textout(dxdraw.surfacewidth-141, 9, 'Level: ' + IntToStr(MainForm.flevel));
DXDraw.Surface.Canvas.Font.Color := clRed;
DXDraw.Surface.Canvas.Textout(dxdraw.surfacewidth-140, 10, 'Level: ' + IntToStr(flevel));
DXDraw.Surface.Canvas.Textout(dxdraw.surfacewidth-140, 10, 'Level: ' + IntToStr(MainForm.flevel));
{$ENDREGION}
 
{$REGION 'Lebensanzeige'}
if FLife<0 then FLife := 0;
if FLife<0 then mainform.FLife := 0;
if FCheat then
begin
DXDraw.Surface.Canvas.Font.Color := clPurple;
2180,9 → 2181,9
if ((Flife = 1) and ((FBlink div 300) mod 2=0)) or (Flife <> 1) then
begin
DXDraw.Surface.Canvas.Font.Color := clPurple;
DXDraw.Surface.Canvas.Textout(9, dxdraw.surfaceheight-41, 'Leben: ' + IntToStr(flife));
DXDraw.Surface.Canvas.Textout(9, dxdraw.surfaceheight-41, 'Leben: ' + IntToStr(MainForm.flife));
DXDraw.Surface.Canvas.Font.Color := clFuchsia;
DXDraw.Surface.Canvas.Textout(10, dxdraw.surfaceheight-40, 'Leben: ' + IntToStr(flife));
DXDraw.Surface.Canvas.Textout(10, dxdraw.surfaceheight-40, 'Leben: ' + IntToStr(MainForm.flife));
end;
if Flife = 1 then BlinkUpdate;
end;
/Global.pas
8,7 → 8,6
RasterH = 32;
MaxPossibleEnemyLives = 999;
MaxPossibleLevels = 9999;
RegistrySettingsKey = 'SOFTWARE\ViaThinkSoft\SpaceMission\Settings';
 
type
// DirectX\Music.dxm