Subversion Repositories spacemission

Compare Revisions

Regard whitespace Rev 88 → Rev 89

/GamCheat.dfm
80,10 → 80,10
object Label2: TLabel
Left = 8
Top = 104
Width = 83
Width = 89
Height = 13
Cursor = crHandPoint
Caption = 'Cheat deaktiviren'
Caption = 'Cheat deaktivieren'
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlue
Font.Height = -11
/GamCheat.pas
37,13 → 37,6
 
{$R *.DFM}
 
const
// Cheat1 = 'Kmkjk'+#39+'Khyc'; {Johnny Cash}
Cheat1 = #75+#109+#107+#106+#107+#127+#39+#75+#104+#121+#99;
 
resourcestring
Cheat1Text = 'Unendlich Leben!';
 
procedure TCheatForm.AbbBtnClick(Sender: TObject);
begin
close;
52,7 → 45,7
procedure TCheatForm.SearchCheats;
begin
Cheatbox.Items.Clear;
if mainform.FCheat then Cheatbox.Items.Append(Cheat1Text);
if ctInfiniteLives in mainform.FCheats then Cheatbox.Items.Append(Cheat1Text);
end;
 
procedure TCheatForm.OKBtnClick(Sender: TObject);
66,23 → 59,32
begin
temp := '';
j := 0;
 
if CheatEdit.text = '' then
begin
Close;
Exit;
end;
 
for i := 1 to length(CheatEdit.text) do
begin
inc(j);
temp := temp + chr(byte(copy(CheatEdit.text, i, 1)[1]) xor j);
end;
{$REGION 'Check and unlock Cheat 1 (Infinite lives)'}
if lowercase(temp) = lowercase(Cheat1) then
begin
if mainform.FCheat then
if ctInfiniteLives in mainform.FCheats then
showmessage(SCheckAlreadyUnlocked)
else
begin
showmessage(SCheatUnlocked);
mainform.FCheat := true;
Include(mainform.FCheats, ctInfiniteLives);
SearchCheats;
end;
close;
end
{$ENDREGION}
else
begin
showmessage(SNoCheat);
116,8 → 118,9
procedure TCheatForm.Label2Click(Sender: TObject);
resourcestring
SDisableCheat = 'Diesen Cheat wirklich deaktivieren?';
SCheatDisabled = 'Dieser Cheat wurde deakiviert!';
SCheatDisabled = 'Dieser Cheat wurde deaktiviert!';
begin
{$REGION 'Disable Cheat 1 (Infinite lives)'}
if not CheatBox.items.IndexOf(Cheat1Text) = -1 then
begin
if CheatBox.Selected[CheatBox.items.IndexOf(Cheat1Text)] then
124,12 → 127,13
begin
if MessageDlg(SDisableCheat, mtConfirmation, mbYesNoCancel, 0) = mrYes then
begin
mainform.FCheat := false;
Exclude(mainform.FCheats, ctInfiniteLives);
showmessage(SCheatDisabled);
SearchCheats;
end;
end;
end;
{$ENDREGION}
end;
 
procedure TCheatForm.Label3Click(Sender: TObject);
/GamMain.pas
309,7 → 309,7
FScoreAtLevelStart: integer;
FLevelDataAlreadyLoaded: boolean;
FRestEnemies: integer;
FCheat: boolean;
FCheats: TCheatSet;
{ VCL-Ersatz }
dxdraw: TDxDraw;
imagelist: TDxImageList;
490,12 → 490,11
 
procedure TPlayerSprite.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
if mainform.FCheat then exit;
if (Sprite is TItem) then
begin
TItem(Sprite).Collected;
end
else if (Sprite is TEnemy) or (Sprite is TEnemyTama) then
else if ((Sprite is TEnemy) or (Sprite is TEnemyTama)) and not (ctInfiniteLives in mainform.FCheats) then
begin
if not mainform.crash then
begin
1684,7 → 1683,7
procedure TMainForm.StartSceneTitle;
begin
sleep(500);
FCheat := false;
FCheats := [];
FLife := StartLives;
FLevel := 0;
FScore := 0;
2205,7 → 2204,7
 
{$REGION 'Lebensanzeige'}
if FLife<0 then FLife := 0;
if FCheat then
if ctInfiniteLives in FCheats then
begin
DXDraw.Surface.Canvas.Font.Color := clPurple;
DXDraw.Surface.Canvas.Textout(9, dxdraw.surfaceheight-41, SInfLifes);
/GamSpeicherung.pas
203,7 → 203,7
end;
mainform.playsound(smsSceneMov, false);
mainform.FNextScene := gsNewLevel;
mainform.FCheat := false;
mainform.FCheats := [];
close;
end;
 
/Global.pas
32,7 → 32,17
RandomLevelMedikitEveryX = 250;
RandomLevelAdditionalEnemiesPerLevel = 75; // Zufalls-Level
 
const
// Cheat1 = 'Kmkjk'+#39+'Khyc';
Cheat1 = #75+#109+#107+#106+#107+#127+#39+#75+#104+#121+#99; {Johnny Cash}
 
resourcestring
Cheat1Text = 'Unendlich Leben!';
 
type
TCheat = (ctUnknown, ctInfiniteLives);
TCheatSet = set of TCheat;
 
// DirectX\Music.dxm
TSpaceMissionMusicTrack = (
smmNone,
/Help/Neuerungen.md
1,5 → 1,9
# Changelog
 
SpaceMission 1.2.2:
- BUGFIX: Items können nun auch eingesammelt werden, wenn man einen infinite lives Cheat aktiviert hat
- BUGFIX: Fehlerkorrektur bei der Anzeige der restlichen Einheiten bei Missionsende
 
SpaceMission 1.2.1:
- Neue Einheit: Medikit Item
- Zufallslevel: