trainergenerator now lets you replace files (e.g lua dlls)

This commit is contained in:
Dark Byte 2019-05-18 09:51:30 +02:00
parent bad0527d59
commit cba2d9dd9c
2 changed files with 24 additions and 5 deletions

View File

@ -1,7 +1,7 @@
object frmExeTrainerGenerator: TfrmExeTrainerGenerator
Left = 154
Left = 844
Height = 252
Top = 333
Top = 387
Width = 597
AutoSize = True
Caption = 'Exe Trainer Generator'
@ -15,7 +15,7 @@ object frmExeTrainerGenerator: TfrmExeTrainerGenerator
OnCreate = FormCreate
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '1.6.4.0'
LCLVersion = '2.0.0.4'
object Panel1: TPanel
Left = 0
Height = 206
@ -46,9 +46,8 @@ object frmExeTrainerGenerator: TfrmExeTrainerGenerator
Width = 142
BorderSpacing.Left = 8
Caption = 'Target process is 32-bit'
Checked = True
ParentShowHint = False
TabOrder = 0
TabStop = True
end
object rb64: TRadioButton
AnchorSideLeft.Control = rb32
@ -59,7 +58,9 @@ object frmExeTrainerGenerator: TfrmExeTrainerGenerator
Top = 19
Width = 142
Caption = 'Target process is 64-bit'
Checked = True
TabOrder = 1
TabStop = True
end
end
object GroupBox2: TGroupBox

View File

@ -76,6 +76,9 @@ type
updatehandle: thandle;
filecount: integer;
addedFiles: tstringlist;
procedure addFile(filename: string; folder: string='');
public
{ public declarations }
@ -154,6 +157,12 @@ var
i: qword;
block: integer;
begin
folder:=trim(folder);
if (folder[1]='\') or (folder[1]='/') then
folder:='';
if addedfiles.IndexOf(folder+filename)<>-1 then exit; //it was already added earlier by the user
f:=TMemoryStream.create;
try
f.LoadFromFile(filename);
@ -186,6 +195,8 @@ begin
application.ProcessMessages;
end;
inc(filecount);
addedfiles.add(folder+filename);
finally
f.free;
btnGenerateTrainer.caption:=rsGenerate;
@ -214,6 +225,9 @@ var DECOMPRESSOR: TMemorystream;
relpath: string;
begin
addedfiles:=tstringlist.create;
tiny:=cbTiny.Checked;
CETRAINER:=ExtractFilePath(filename)+'CET_TRAINER.CETRAINER';
@ -283,6 +297,7 @@ begin
addfile(CETRAINER);
deletefile(cetrainer);
//first the custom files (this way you can override files with your own from other folders)
for i:=0 to listview1.Items.Count-1 do
addfile(TFileData(listview1.items[i].data).filepath, TFileData(listview1.items[i].data).folder);
@ -291,6 +306,7 @@ begin
if rb32.checked then
begin
addfile(cheatenginedir+'cheatengine-i386.exe');
addfile(cheatenginedir+'lua53-32.dll');
addfile(cheatenginedir+'win32\dbghelp.dll','win32');
@ -497,6 +513,8 @@ begin
btnGenerateTrainer.enabled:=true;
if addedfiles<>nil then
freeandnil(addedfiles);
end;
end;