Subversion Repositories spacemission

Compare Revisions

Regard whitespace Rev 72 → Rev 71

/LevMain.pas
55,7 → 55,6
AufUpdatesprfen1: TMenuItem;
N4: TMenuItem;
WasgibtesNeues1: TMenuItem;
Enemy8: TRadioButton;
procedure DXDrawFinalize(Sender: TObject);
procedure DXDrawInitialize(Sender: TObject);
procedure FormCreate(Sender: TObject);
170,12 → 169,8
if AEnemyType = etEnemyUFO then Image := MainForm.GetSpriteGraphic(smgEnemyDisk);
if AEnemyType = etEnemyUFO2 then Image := MainForm.GetSpriteGraphic(smgEnemyDisk2);
if AEnemyType = etEnemyBoss then Image := MainForm.GetSpriteGraphic(smgEnemyBoss);
if AEnemyType = etItemMedikit then Image := MainForm.GetSpriteGraphic(smgItemMedikit);
 
if not EnemyTypeHasLives(AEnemyType) then
FLives := 0
else
FLives := ALives;
if AEnemyType = etEnemyMeteor then FLives := 0 else FLives := ALives;
FEnemyType := AEnemyType;
Width := Image.Width;
Height := Image.Height;
563,8 → 558,7
procedure TMainForm.DXDrawMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
i: TEnemyType;
j, k, l, ex, ey: integer;
i, j, k, l, ex, ey: integer;
ok, breaked: boolean;
begin
ex := trunc(x/RasterW) * RasterW;
579,7 → 573,7
ok := false // boss already exists
else
begin
for i := Low(TEnemyType) to High(TEnemyType) do
for i := 1 to NumEnemyTypes do
begin
for j := 0 to MaxPossibleEnemyLives do
begin
599,7 → 593,7
end;
if not ok then break;
end;
if LevData.IndexOfEnemy(ex + (ScrollP * RasterW), ey, i, j) <> -1 then
if LevData.IndexOfEnemy(ex + (ScrollP * RasterW), ey, TEnemyType(i), j) <> -1 then
begin
ok := false;
break;
610,7 → 604,7
end;
if ok then
begin
if EnemyTypeHasLives(SelectedEnemyType) then
if SelectedEnemyType <> etEnemyMeteor then
LevData.AddEnemy(ex + (ScrollP * RasterW), ey, SelectedEnemyType, LivesEdit.Value)
else
LevData.AddEnemy(ex + (ScrollP * RasterW), ey, SelectedEnemyType, 0);
622,19 → 616,19
{ Löschen }
else if Button = mbRight then
begin
for i := Low(TEnemyType) to High(TEnemyType) do
for i := 1 to NumEnemyTypes do
begin
for j := 0 to MaxPossibleEnemyLives do
begin
if boss and (i = etEnemyBoss) then
if boss and (TEnemyType(i) = etEnemyBoss) then
begin
for k := 0 to 3 do
begin
for l := 0 to 1 do
begin
if LevData.IndexOfEnemy(ex + ((ScrollP - k) * RasterW), ey - (RasterH * l), i, j) <> -1 then
if LevData.IndexOfEnemy(ex + ((ScrollP - k) * RasterW), ey - (RasterH * l), TEnemyType(i), j) <> -1 then
begin
LevData.DeleteEnemy(ex + ((ScrollP - k) * RasterW), ey - (RasterH * l), i, j);
LevData.DeleteEnemy(ex + ((ScrollP - k) * RasterW), ey - (RasterH * l), TEnemyType(i), j);
Boss := false;
dec(NumEnemys);
breaked := true;
644,10 → 638,10
if breaked then break;
end;
end;
if LevData.IndexOfEnemy(ex + (ScrollP * RasterW), ey, i, j) <> -1 then
if LevData.IndexOfEnemy(ex + (ScrollP * RasterW), ey, TEnemyType(i), j) <> -1 then
begin
LevData.DeleteEnemy(ex + (ScrollP * RasterW), ey, i, j);
if i = etEnemyBoss then Boss := false;
LevData.DeleteEnemy(ex + (ScrollP * RasterW), ey, TEnemyType(i), j);
if TEnemyType(i) = etEnemyBoss then Boss := false;
dec(NumEnemys);
breaked := true;
break;
666,8 → 660,8
begin
et := SelectedEnemyType;
Image1.Left := -(87 * (Ord(et) - 1)) + 1;
LivesEdit.Enabled := EnemyTypeHasLives(et);
LivesLabel.Enabled := EnemyTypeHasLives(et);
LivesEdit.Enabled := et <> etEnemyMeteor;
LivesLabel.Enabled := et <> etEnemyMeteor;
end;
 
procedure TMainForm.EnemyCreateSprite(x, y: integer; AEnemyType: TEnemyType; ALives: integer);
747,8 → 741,7
status_lives = 'Leben: ';
status_nolives = 'Einheit hat keine Lebensangabe';
var
i: TEnemyType;
ex, ey, j, k, l: integer;
ex, ey, i, j, k, l: integer;
lifes: integer;
enemyType: TEnemyType;
enemyName: string;
764,17 → 757,17
lifes := -1;
enemyType := etUnknown;
breaked := false;
for i := Low(TEnemyType) to High(TEnemyType) do
for i := 1 to NumEnemyTypes do
begin
for j := 0 to MaxPossibleEnemyLives do
begin
if boss and (i = etEnemyBoss) then
if boss and (TEnemyType(i) = etEnemyBoss) then
begin
for k := 0 to 3 do
begin
for l := 0 to 1 do
begin
if LevData.IndexOfEnemy(ex + ((ScrollP - k) * RasterW), ey - (RasterH * l), i, j) <> -1 then
if LevData.IndexOfEnemy(ex + ((ScrollP - k) * RasterW), ey - (RasterH * l), TEnemyType(i), j) <> -1 then
begin
lifes := j;
breaked := true;
784,10 → 777,10
if breaked then break;
end;
end;
if (breaked = false) and (LevData.IndexOfEnemy(ex + (ScrollP * RasterW), ey, i, j) <> -1) then
if (breaked = false) and (LevData.IndexOfEnemy(ex + (ScrollP * RasterW), ey, TEnemyType(i), j) <> -1) then
begin
lifes := j;
enemyType := i;
enemyType := TEnemyType(i);
breaked := true;
break;
end;
803,7 → 796,6
else if Ord(enemyType) = 5 then enemyName := Enemy5.Caption
else if Ord(enemyType) = 6 then enemyName := Enemy6.Caption
else if Ord(enemyType) = 7 then enemyName := Enemy7.Caption
else if Ord(enemyType) = 8 then enemyName := Enemy8.Caption
else enemyName := '???';
if lifes > 0 then
StatusBar.SimpleText := ' ' + enemyName + ' - ' + status_lives + inttostr(lifes)
841,7 → 833,6
else if Enemy5.Checked then result := etEnemyUFO
else if Enemy6.Checked then result := etEnemyUFO2
else if Enemy7.Checked then result := etEnemyBoss
else if Enemy8.Checked then result := etItemMedikit
else result := etUnknown;
end;