Subversion Repositories spacemission

Rev

Rev 3 | Rev 6 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3 Rev 4
1
unit GamCheat;
1
unit GamCheat;
2
 
2
 
3
interface
3
interface
4
 
4
 
5
uses
5
uses
6
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
6
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
7
  StdCtrls, ExtCtrls, ShellAPI;
7
  StdCtrls, ExtCtrls, ShellAPI, System.UITypes;
8
 
8
 
9
type
9
type
10
  TCheatForm = class(TForm)                                                                    
10
  TCheatForm = class(TForm)                                                                    
11
    Label1: TLabel;
11
    Label1: TLabel;
12
    CheatEdit: TEdit;
12
    CheatEdit: TEdit;
13
    OKBtn: TButton;
13
    OKBtn: TButton;
14
    AbbBtn: TButton;
14
    AbbBtn: TButton;
15
    GroupBox1: TGroupBox;
15
    GroupBox1: TGroupBox;
16
    CheatBox: TListBox;
16
    CheatBox: TListBox;
17
    Label2: TLabel;
17
    Label2: TLabel;
18
    Label3: TLabel;
18
    Label3: TLabel;
19
    procedure AbbBtnClick(Sender: TObject);
19
    procedure AbbBtnClick(Sender: TObject);
20
    procedure OKBtnClick(Sender: TObject);
20
    procedure OKBtnClick(Sender: TObject);
21
    procedure FormShow(Sender: TObject);
21
    procedure FormShow(Sender: TObject);
22
    procedure FormHide(Sender: TObject);
22
    procedure FormHide(Sender: TObject);
23
    procedure CheatEditKeyPress(Sender: TObject; var Key: Char);
23
    procedure CheatEditKeyPress(Sender: TObject; var Key: Char);
24
    procedure Label2Click(Sender: TObject);
24
    procedure Label2Click(Sender: TObject);
25
    procedure Label3Click(Sender: TObject);
25
    procedure Label3Click(Sender: TObject);
26
  public
26
  public
27
    procedure SearchCheats;
27
    procedure SearchCheats;
28
  end;
28
  end;
29
 
29
 
30
var
30
var
31
  CheatForm: TCheatForm;
31
  CheatForm: TCheatForm;
32
 
32
 
33
implementation
33
implementation
34
 
34
 
35
uses
35
uses
36
  GamMain, Global;
36
  GamMain, Global;
37
 
37
 
38
{$R *.DFM}
38
{$R *.DFM}
39
 
39
 
40
const
40
const
41
  // Cheat1 = 'Kmkjk'+#39+'Khyc'; {Johnny Cash}
41
  // Cheat1 = 'Kmkjk'+#39+'Khyc'; {Johnny Cash}
42
  Cheat1 = #75+#109+#107+#106+#107+#127+#39+#75+#104+#121+#99;
42
  Cheat1 = #75+#109+#107+#106+#107+#127+#39+#75+#104+#121+#99;
43
  Cheat1Text = 'Unendlich Leben!';
43
  Cheat1Text = 'Unendlich Leben!';
44
 
44
 
45
procedure TCheatForm.AbbBtnClick(Sender: TObject);
45
procedure TCheatForm.AbbBtnClick(Sender: TObject);
46
begin
46
begin
47
  close;
47
  close;
48
end;
48
end;
49
 
49
 
50
procedure TCheatForm.SearchCheats;
50
procedure TCheatForm.SearchCheats;
51
begin
51
begin
52
  Cheatbox.Items.Clear;
52
  Cheatbox.Items.Clear;
53
  if mainform.FCheat then Cheatbox.Items.Append(Cheat1Text);
53
  if mainform.FCheat then Cheatbox.Items.Append(Cheat1Text);
54
end;
54
end;
55
 
55
 
56
procedure TCheatForm.OKBtnClick(Sender: TObject);
56
procedure TCheatForm.OKBtnClick(Sender: TObject);
57
var
57
var
58
  temp: string;
58
  temp: string;
59
  i, j: integer;
59
  i, j: integer;
60
begin
60
begin
61
  temp := '';
61
  temp := '';
62
  j := 0;
62
  j := 0;
63
  for i := 1 to length(CheatEdit.text) do
63
  for i := 1 to length(CheatEdit.text) do
64
  begin
64
  begin
65
    inc(j);
65
    inc(j);
66
    temp := temp + chr(byte(copy(CheatEdit.text, i, 1)[1]) xor j);
66
    temp := temp + chr(byte(copy(CheatEdit.text, i, 1)[1]) xor j);
67
  end;
67
  end;
68
  if lowercase(temp) = lowercase(Cheat1) then
68
  if lowercase(temp) = lowercase(Cheat1) then
69
  begin
69
  begin
70
    if mainform.FCheat then
70
    if mainform.FCheat then
71
      showmessage('Dieser Cheat wurde bereits freigeschaltet!')
71
      showmessage('Dieser Cheat wurde bereits freigeschaltet!')
72
    else
72
    else
73
    begin
73
    begin
74
      showmessage('Dieser Cheat wurde freigeschaltet!');
74
      showmessage('Dieser Cheat wurde freigeschaltet!');
75
      mainform.FCheat := true;
75
      mainform.FCheat := true;
76
      SearchCheats;
76
      SearchCheats;
77
    end;
77
    end;
78
    close;
78
    close;
79
  end
79
  end
80
  else
80
  else
81
  begin
81
  begin
82
    showmessage('Dies ist kein offizieller Cheat!');
82
    showmessage('Dies ist kein offizieller Cheat!');
83
    CheatEdit.text := '';
83
    CheatEdit.text := '';
84
    CheatEdit.setfocus;
84
    CheatEdit.setfocus;
85
  end;
85
  end;
86
end;
86
end;
87
 
87
 
88
procedure TCheatForm.FormShow(Sender: TObject);
88
procedure TCheatForm.FormShow(Sender: TObject);
89
begin
89
begin
90
  mainform.dxtimer.enabled := false;
90
  mainform.dxtimer.enabled := false;
91
  SearchCheats;
91
  SearchCheats;
92
  CheatEdit.text := '';
92
  CheatEdit.text := '';
93
  CheatEdit.setfocus;
93
  CheatEdit.setfocus;
94
end;
94
end;
95
 
95
 
96
procedure TCheatForm.FormHide(Sender: TObject);
96
procedure TCheatForm.FormHide(Sender: TObject);
97
begin
97
begin
98
  if not mainform.gamepause.checked then mainform.dxtimer.enabled := true;
98
  if not mainform.gamepause.checked then mainform.dxtimer.enabled := true;
99
end;
99
end;
100
 
100
 
101
procedure TCheatForm.CheatEditKeyPress(Sender: TObject; var Key: Char);
101
procedure TCheatForm.CheatEditKeyPress(Sender: TObject; var Key: Char);
102
begin
102
begin
103
  if key = #13 then
103
  if key = #13 then
104
  begin
104
  begin
105
    // key := #0;
105
    // key := #0;
106
    OKBtn.click;
106
    OKBtn.click;
107
  end;
107
  end;
108
end;
108
end;
109
 
109
 
110
procedure TCheatForm.Label2Click(Sender: TObject);
110
procedure TCheatForm.Label2Click(Sender: TObject);
111
begin
111
begin
112
  if not CheatBox.items.IndexOf(Cheat1Text) = -1 then
112
  if not CheatBox.items.IndexOf(Cheat1Text) = -1 then
113
  begin
113
  begin
114
    if CheatBox.Selected[CheatBox.items.IndexOf(Cheat1Text)] then
114
    if CheatBox.Selected[CheatBox.items.IndexOf(Cheat1Text)] then
115
    begin
115
    begin
116
      if MessageDlg('Diesen Cheat wirklich deaktivieren?',
116
      if MessageDlg('Diesen Cheat wirklich deaktivieren?',
117
        mtConfirmation, [mbYes, mbNo], 0) = mrYes then
117
        mtConfirmation, [mbYes, mbNo], 0) = mrYes then
118
      begin
118
      begin
119
        mainform.FCheat := false;
119
        mainform.FCheat := false;
120
        showmessage('Dieser Cheat wurde deakiviert!');
120
        showmessage('Dieser Cheat wurde deakiviert!');
121
        SearchCheats;
121
        SearchCheats;
122
      end;
122
      end;
123
    end;
123
    end;
124
  end;
124
  end;
125
end;
125
end;
126
 
126
 
127
procedure TCheatForm.Label3Click(Sender: TObject);
127
procedure TCheatForm.Label3Click(Sender: TObject);
128
begin
128
begin
129
  shellexecute(handle, 'open', pchar('mailto:daniel-marschall@viathinksoft.de?subject=Cheats für SpaceMission '+ProgramVersion), '', '', 1);
129
  shellexecute(handle, 'open', pchar('mailto:daniel-marschall@viathinksoft.de?subject=Cheats für SpaceMission '+ProgramVersion), '', '', 1);
130
end;
130
end;
131
 
131
 
132
end.
132
end.
133
 
133
 
134
 
134