Rev 1 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1 | Rev 2 | ||
---|---|---|---|
1 | unit SplCheat; |
1 | unit SplCheat; |
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; |
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 SplMain, SplInfo; |
35 | uses SplMain, Global; |
36 | 36 | ||
37 | {$R *.DFM} |
37 | {$R *.DFM} |
38 | 38 | ||
39 | const |
39 | const |
40 | // Cheat1 = 'Kmkjk'+#39+'Khyc'; {Johnny Cash} |
40 | // Cheat1 = 'Kmkjk'+#39+'Khyc'; {Johnny Cash} |
41 | Cheat1 = #75+#109+#107+#106+#107+#127+#39+#75+#104+#121+#99; |
41 | Cheat1 = #75+#109+#107+#106+#107+#127+#39+#75+#104+#121+#99; |
42 | Cheat1Text = 'Unendlich Leben!'; |
42 | Cheat1Text = 'Unendlich Leben!'; |
43 | 43 | ||
44 | procedure TCheatForm.AbbBtnClick(Sender: TObject); |
44 | procedure TCheatForm.AbbBtnClick(Sender: TObject); |
45 | begin |
45 | begin |
46 | close; |
46 | close; |
47 | end; |
47 | end; |
48 | 48 | ||
49 | procedure TCheatForm.SearchCheats; |
49 | procedure TCheatForm.SearchCheats; |
50 | begin |
50 | begin |
51 | Cheatbox.Items.Clear; |
51 | Cheatbox.Items.Clear; |
52 | if mainform.FCheat then Cheatbox.Items.Append(Cheat1Text); |
52 | if mainform.FCheat then Cheatbox.Items.Append(Cheat1Text); |
53 | end; |
53 | end; |
54 | 54 | ||
55 | procedure TCheatForm.OKBtnClick(Sender: TObject); |
55 | procedure TCheatForm.OKBtnClick(Sender: TObject); |
56 | var |
56 | var |
57 | temp: string; |
57 | temp: string; |
58 | i, j: integer; |
58 | i, j: integer; |
59 | begin |
59 | begin |
60 | temp := ''; |
60 | temp := ''; |
61 | j := 0; |
61 | j := 0; |
62 | for i := 1 to length(CheatEdit.text) do |
62 | for i := 1 to length(CheatEdit.text) do |
63 | begin |
63 | begin |
64 | inc(j); |
64 | inc(j); |
65 | temp := temp + chr(byte(copy(CheatEdit.text, i, 1)[1]) xor j); |
65 | temp := temp + chr(byte(copy(CheatEdit.text, i, 1)[1]) xor j); |
66 | end; |
66 | end; |
67 | if lowercase(temp) = lowercase(Cheat1) then |
67 | if lowercase(temp) = lowercase(Cheat1) then |
68 | begin |
68 | begin |
69 | if mainform.FCheat then |
69 | if mainform.FCheat then |
70 | showmessage('Dieser Cheat wurde bereits freigeschaltet!') |
70 | showmessage('Dieser Cheat wurde bereits freigeschaltet!') |
71 | else |
71 | else |
72 | begin |
72 | begin |
73 | showmessage('Dieser Cheat wurde freigeschaltet!'); |
73 | showmessage('Dieser Cheat wurde freigeschaltet!'); |
74 | mainform.FCheat := true; |
74 | mainform.FCheat := true; |
75 | SearchCheats; |
75 | SearchCheats; |
76 | end; |
76 | end; |
77 | close; |
77 | close; |
78 | end |
78 | end |
79 | else |
79 | else |
80 | begin |
80 | begin |
81 | showmessage('Dies ist kein offizieller Cheat!'); |
81 | showmessage('Dies ist kein offizieller Cheat!'); |
82 | CheatEdit.text := ''; |
82 | CheatEdit.text := ''; |
83 | CheatEdit.setfocus; |
83 | CheatEdit.setfocus; |
84 | end; |
84 | end; |
85 | end; |
85 | end; |
86 | 86 | ||
87 | procedure TCheatForm.FormShow(Sender: TObject); |
87 | procedure TCheatForm.FormShow(Sender: TObject); |
88 | begin |
88 | begin |
89 | mainform.dxtimer.enabled := false; |
89 | mainform.dxtimer.enabled := false; |
90 | SearchCheats; |
90 | SearchCheats; |
91 | CheatEdit.text := ''; |
91 | CheatEdit.text := ''; |
92 | CheatEdit.setfocus; |
92 | CheatEdit.setfocus; |
93 | end; |
93 | end; |
94 | 94 | ||
95 | procedure TCheatForm.FormHide(Sender: TObject); |
95 | procedure TCheatForm.FormHide(Sender: TObject); |
96 | begin |
96 | begin |
97 | if not mainform.gamepause.checked then mainform.dxtimer.enabled := true; |
97 | if not mainform.gamepause.checked then mainform.dxtimer.enabled := true; |
98 | end; |
98 | end; |
99 | 99 | ||
100 | procedure TCheatForm.CheatEditKeyPress(Sender: TObject; var Key: Char); |
100 | procedure TCheatForm.CheatEditKeyPress(Sender: TObject; var Key: Char); |
101 | begin |
101 | begin |
102 | if key = #13 then |
102 | if key = #13 then |
103 | begin |
103 | begin |
104 | // key := #0; |
104 | // key := #0; |
105 | OKBtn.click; |
105 | OKBtn.click; |
106 | end; |
106 | end; |
107 | end; |
107 | end; |
108 | 108 | ||
109 | procedure TCheatForm.Label2Click(Sender: TObject); |
109 | procedure TCheatForm.Label2Click(Sender: TObject); |
110 | begin |
110 | begin |
111 | if not CheatBox.items.IndexOf(Cheat1Text) = -1 then |
111 | if not CheatBox.items.IndexOf(Cheat1Text) = -1 then |
112 | begin |
112 | begin |
113 | if CheatBox.Selected[CheatBox.items.IndexOf(Cheat1Text)] then |
113 | if CheatBox.Selected[CheatBox.items.IndexOf(Cheat1Text)] then |
114 | begin |
114 | begin |
115 | if MessageDlg('Diesen Cheat wirklich deaktivieren?', |
115 | if MessageDlg('Diesen Cheat wirklich deaktivieren?', |
116 | mtConfirmation, [mbYes, mbNo], 0) = mrYes then |
116 | mtConfirmation, [mbYes, mbNo], 0) = mrYes then |
117 | begin |
117 | begin |
118 | mainform.FCheat := false; |
118 | mainform.FCheat := false; |
119 | showmessage('Dieser Cheat wurde deakiviert!'); |
119 | showmessage('Dieser Cheat wurde deakiviert!'); |
120 | SearchCheats; |
120 | SearchCheats; |
121 | end; |
121 | end; |
122 | end; |
122 | end; |
123 | end; |
123 | end; |
124 | end; |
124 | end; |
125 | 125 | ||
126 | procedure TCheatForm.Label3Click(Sender: TObject); |
126 | procedure TCheatForm.Label3Click(Sender: TObject); |
127 | begin |
127 | begin |
128 | shellexecute(handle, 'open', pchar('mailto:daniel.marschall@surfeu.de?subject=Cheats für SpaceMission '+MainForm.FEngineVersion), '', '', 1); |
128 | shellexecute(handle, 'open', pchar('mailto:daniel-marschall@viathinksoft.de?subject=Cheats für SpaceMission '+ProgramVersion), '', '', 1); |
129 | end; |
129 | end; |
130 | 130 | ||
131 | end. |
131 | end. |
132 | 132 | ||
133 | 133 |