unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ComCtrls, StdCtrls,
ExtCtrls, Buttons, ShellAPI, MMSystem, EasySize;
type
{ TForm1 }
TForm1 = class(TForm)
Button9: TButton;
Notebook1: TNotebook;
PaintBox1: TPaintBox;
PaintBox2: TPaintBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Image1: TImage;
Image2: TImage;
Page1: TPage;
Page2: TPage;
procedure Button9Click(Sender: TObject);
procedure PaintBoxPaint(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure FormClose(Sender: TObject);
procedure confCheck();
procedure music();
procedure init();
private
sEnhancementsLine:String;
sLanguageLine:String;
sVersionLine:String;
sModsLine:String;
Sizer: TFormResizer;
public
img : array [1..2] of TImage;
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
const cMyFileName='../Binaries/conf.ini';
//"Systemcontrol"
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(0,nil,PChar('cmd'),PChar('/c cd ../Binaries && start.bat'),nil,1);
Close;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Notebook1.PageIndex := 1;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ShellExecute(0,nil,PChar('cmd'),PChar('/c cd ../Binaries && start init.bat'),nil,1);
Button3.Enabled:=false
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Close();
end;
procedure TForm1.Button5Click(Sender: TObject);
var slMyFileStrings:TStringList;
begin
case sLanguageLine of
'lang=deu':sLanguageLine:='lang=eng';
'lang=eng':sLanguageLine:='lang=deu';
end;
slMyFileStrings:=TStringList.Create;
try
slMyFileStrings.LoadFromFile(cMyFileName);
If slMyFileStrings.Count>1 then
slMyFileStrings[1]:=sLanguageLine;
slMyFileStrings.SaveToFile(cMyFileName);
finally
slMyFileStrings.Free;
end;
confCheck();
end;
procedure TForm1.Button6Click(Sender: TObject);
var slMyFileStrings:TStringList;
begin
case sVersionLine of
'vers=orig':sVersionLine:='vers=rem';
'vers=rem':sVersionLine:='vers=orig';
end;
slMyFileStrings:=TStringList.Create;
try
slMyFileStrings.LoadFromFile(cMyFileName);
If slMyFileStrings.Count>1 then
slMyFileStrings[2]:=sVersionLine;
slMyFileStrings.SaveToFile(cMyFileName);
finally
slMyFileStrings.Free;
end;
confCheck();
end;
procedure TForm1.Button7Click(Sender: TObject);
var slMyFileStrings:TStringList;
begin
case sEnhancementsLine of
'enhancements=0':sEnhancementsLine:='enhancements=1';
'enhancements=1':sEnhancementsLine:='enhancements=0';
end;
slMyFileStrings:=TStringList.Create;
try
slMyFileStrings.LoadFromFile(cMyFileName);
If slMyFileStrings.Count>1 then
slMyFileStrings[3]:=sEnhancementsLine;
slMyFileStrings.SaveToFile(cMyFileName);
finally
slMyFileStrings.Free;
end;
confCheck();
end;
procedure TForm1.Button8Click(Sender: TObject);
var slMyFileStrings:TStringList;
begin
case sModsLine of
'mods=0':sModsLine:='mods=1';
'mods=1':sModsLine:='mods=0';
end;
slMyFileStrings:=TStringList.Create;
try
slMyFileStrings.LoadFromFile(cMyFileName);
If slMyFileStrings.Count>1 then
slMyFileStrings[4]:=sModsLine;
slMyFileStrings.SaveToFile(cMyFileName);
finally
slMyFileStrings.Free;
end;
confCheck();
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
Notebook1.PageIndex := 0;
end;
//"Systemfiles"
//music
procedure TForm1.music();
begin
PlaySound('../Binaries/theme.wav',0,SND_ASYNC or SND_LOOP);
end;
//Loading Components
procedure TForm1.init();
var
i: Integer;
begin
For i:=0 to Form1.ComponentCount-1 do
If Components[i] is TButton then
begin
(Form1.Components[i] as TButton).Font.Name:='Arial';
(Form1.Components[i] as TButton).Font.Size:=12;
end;
Image1.Picture.LoadFromFile('../Binaries/logo.png');
Image2.Picture.LoadFromFile('../Binaries/logo.png');
end;
//Fixing Objects
procedure TForm1.FormCreate(Sender: TObject);
begin
img[1] := TImage.create(form1);
img[1].Picture.LoadFromFile('../Binaries/background.jpg');
img[2] := TImage.create(form1);
img[2].Picture.LoadFromFile('../Binaries/background.jpg');
Sizer := TFormResizer.Create(self);
Sizer.EnforceMinSize := false;
Sizer.ResizeFonts := true;
Sizer.MinFontSize := 6;
Sizer.MaxFontSize := 30;
Sizer.InitializeForm;
Width := round(Screen.Width/2.4);
Height := round(Screen.Height/2.4);
Position := poScreenCenter;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
Sizer.ResizeAll;
end;
//Background-Image
procedure TForm1.PaintBoxPaint(Sender: TObject);
var
pb : TPaintbox;
r : TRect;
begin
pb := TPaintbox(sender);
r := rect(0,0,pb.width,pb.height);
pb.canvas.stretchdraw(r,img[pb.tag].Picture.Graphic);
end;
procedure TForm1.FormClose(Sender: TObject);
begin
img[1].free;
img[2].free;
end;
//Configuration-Check
procedure TForm1.confCheck();
var
MyFile:Text;
Line1,Line2,Line3,Line4,Line5:String;
begin
AssignFile(MyFile,cMyFileName);
Reset(MyFile);
ReadLn(MyFile,Line1);
ReadLn(MyFile,Line2);
ReadLn(MyFile,Line3);
ReadLn(MyFile,Line4);
ReadLn(MyFile,Line5);
sLanguageLine:=Line2;
sVersionLine:=Line3;
sEnhancementsLine:=Line4;
sModsLine:=Line5;
CloseFile(MyFile);
if Line1='init=1' then
Button3.Enabled:=false
else
Button3.Enabled:=true;
if sLanguageLine ='lang=deu' then
begin
Button1.Caption:='Starten';
Button2.Caption:='Eintellungen';
Button3.Caption:='Initialisieren';
Button4.Caption:='Beenden';
Button5.Caption:='Sprache ändern';
Button9.Caption:='Zurück';
if Line3='vers=rem' then
if Line4='enhancements=0' then
if Line5='mods=0' then
begin
Button6.Caption:='Original laden';
Button7.Caption:='Enhancements aktivieren';
Button8.Caption:='Mods aktivieren';
end
else
begin
Button6.Caption:='Original laden';
Button7.Caption:='Enhancements aktivieren';
Button8.Caption:='Mods deaktivieren';
end
else
if Line5='mods=0' then
begin
Button6.Caption:='Original laden';
Button7.Caption:='Enhancements deaktivieren';
Button8.Caption:='Mods aktivieren';
end
else
begin
Button6.Caption:='Original laden';
Button7.Caption:='Enhancements deaktivieren';
Button8.Caption:='Mods deaktivieren';
end
else
if Line4='enhancements=0' then
if Line5='mods=0' then
begin
Button6.Caption:='Remastered laden';
Button7.Caption:='Enhancements aktivieren';
Button8.Caption:='Mods aktivieren';
end
else
begin
Button6.Caption:='Remastered laden';
Button7.Caption:='Enhancements aktivieren';
Button8.Caption:='Mods deaktivieren';
end
else
if Line5='mods=0' then
begin
Button6.Caption:='Remastered laden';
Button7.Caption:='Enhancements dekativieren';
Button8.Caption:='Mods aktivieren';
end
else
begin
Button6.Caption:='Remastered laden';
Button7.Caption:='Enhancements deaktivieren';
Button8.Caption:='Mods deaktivieren';
end
end
else if sLanguageLine ='lang=eng' then
begin
Button1.Caption:='Start';
Button2.Caption:='Settings';
Button3.Caption:='Initialize';
Button4.Caption:='Close';
BUtton5.Caption:='Change Langauge';
Button9.Caption:='Back';
if Line3='vers=rem' then
if Line4='enhancements=0' then
if Line5='mods=0' then
begin
Button6.Caption:='Load Original';
Button7.Caption:='Activate Enhancements';
Button8.Caption:='Activate Mods';
end
else
begin
Button6.Caption:='Load Original';
Button7.Caption:='Activate Enhancements';
Button8.Caption:='Deactivate Mods';
end
else
if Line5='mods=0' then
begin
Button6.Caption:='Load Original';
Button7.Caption:='Deactivate Enhancements';
Button8.Caption:='Activate Mods';
end
else
begin
Button6.Caption:='Load Original';
Button7.Caption:='Deactivate Enhancements';
Button8.Caption:='Deactivate Mods';
end
else
if Line4='enhancements=0' then
if Line5='mods=0' then
begin
Button6.Caption:='Load Remastered';
Button7.Caption:='Activate Enhancements';
Button8.Caption:='Activate Mods';
end
else
begin
Button6.Caption:='Load Remastered';
Button7.Caption:='Activate Enhancements';
Button8.Caption:='Deactivate Mods';
end
else
if Line5='mods=0' then
begin
Button6.Caption:='Load Remastered';
Button7.Caption:='Deactivate Enhancements';
Button8.Caption:='Activate Mods';
end
else
begin
Button6.Caption:='Load Remastered';
Button7.Caption:='Deactivate Enhancements';
Button8.Caption:='Deactivate Mods';
end
end
end;
end.