mirror of
https://github.com/moparisthebest/Simba
synced 2024-12-02 13:52:18 -05:00
Merge branch 'master' into lape-integration
This commit is contained in:
commit
0701e911d1
15
Extensions/extension.sex
Normal file
15
Extensions/extension.sex
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
program ExtUpdater;
|
||||||
|
{$I ..\Extensions\Updater.sei}
|
||||||
|
|
||||||
|
procedure Init;
|
||||||
|
var
|
||||||
|
EXT: integer;
|
||||||
|
begin
|
||||||
|
Settings.GetKeyValueDef('Extensions_Visible', 'false'); //Default Menu to be hidden =)
|
||||||
|
AddUpdater('Extensions', 'http://wizzup.org/static/srl/exten.tar.bz2',
|
||||||
|
'http://wizzup.org/static/srl/exten_version', ScriptPath + {$IFDEF WINDOWS}'\' {$ELSE}'/'{$ENDIF}, True, True, EXT);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GetName: string; begin Result := 'Extensions Updater'; end;
|
||||||
|
function GetVersion: string; begin Result := '0.1'; end;
|
||||||
|
begin end.
|
@ -30,11 +30,12 @@ Name: "{app}\Extensions"
|
|||||||
Name: "{app}\Includes"
|
Name: "{app}\Includes"
|
||||||
Name: "{app}\Plugins"
|
Name: "{app}\Plugins"
|
||||||
Name: "{app}\Scripts"
|
Name: "{app}\Scripts"
|
||||||
Name: "{app}\Scripts\Tests"
|
; Name: "{app}\Scripts\Tests"
|
||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
Source: "C:\Simba\Simba.exe"; DestDir: "{app}"; Flags: ignoreversion
|
Source: "C:\Simba\Simba.exe"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
Source: "C:\Simba\Extensions\srl.sex"; DestDir: "{app}\Extensions"; Flags: ignoreversion
|
Source: "C:\Simba\Extensions\srl.sex"; DestDir: "{app}\Extensions"; Flags: ignoreversion
|
||||||
|
Source: "C:\Simba\Extensions\extension.sex"; DestDir: "{app}\Extensions"; Flags: ignoreversion
|
||||||
Source: "C:\Simba\Extensions\msi.sex"; DestDir: "{app}\Extensions"; Flags: ignoreversion
|
Source: "C:\Simba\Extensions\msi.sex"; DestDir: "{app}\Extensions"; Flags: ignoreversion
|
||||||
Source: "C:\Simba\Extensions\associate.sex"; DestDir: "{app}\Extensions"; Flags: ignoreversion
|
Source: "C:\Simba\Extensions\associate.sex"; DestDir: "{app}\Extensions"; Flags: ignoreversion
|
||||||
Source: "C:\Simba\Extensions\dtm_editor.sex"; DestDir: "{app}\Extensions"; Flags: ignoreversion
|
Source: "C:\Simba\Extensions\dtm_editor.sex"; DestDir: "{app}\Extensions"; Flags: ignoreversion
|
||||||
|
34
Tests/PS/bmpbench.simba
Normal file
34
Tests/PS/bmpbench.simba
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
program new;
|
||||||
|
//http://farm4.static.flickr.com/3067/2612399892_7df428d482.jpg
|
||||||
|
{Make the above bitmap your target}
|
||||||
|
var
|
||||||
|
Bmp : integer;
|
||||||
|
x,y : integer;
|
||||||
|
w,h : integer;
|
||||||
|
t, i, c: integer;
|
||||||
|
begin
|
||||||
|
Bmp := createBitmap(15, 10);
|
||||||
|
FastDrawClear(bmp, clRed);
|
||||||
|
GetClientDimensions(w,h);
|
||||||
|
writeln(w);
|
||||||
|
writeln(h);
|
||||||
|
|
||||||
|
for c := 0 to 2 do
|
||||||
|
begin
|
||||||
|
writeln('cts: ' + inttostr(c));
|
||||||
|
setcolortolerancespeed(c);
|
||||||
|
|
||||||
|
t:=getsystemtime;
|
||||||
|
for i := 0 to 100 do
|
||||||
|
findBitmapToleranceIn(bmp,x,y,0,0,w-1,h-1,10);
|
||||||
|
writeln((getsystemtime-t) / 100.0);
|
||||||
|
if findBitmapToleranceIn(bmp,x,y,0,0,w-1,h-1,200) then
|
||||||
|
writeln('found');
|
||||||
|
end;
|
||||||
|
|
||||||
|
{if FindBitmapToleranceIn(bmp,x,y,0,0,w-1,h-1,300) then
|
||||||
|
begin
|
||||||
|
writeln('found');
|
||||||
|
MoveMouse(x,y);
|
||||||
|
end;}
|
||||||
|
end.
|
@ -188,7 +188,8 @@ type
|
|||||||
procedure OnCompile(Sender: TPSScript);
|
procedure OnCompile(Sender: TPSScript);
|
||||||
function RequireFile(Sender: TObject; const OriginFileName: String;
|
function RequireFile(Sender: TObject; const OriginFileName: String;
|
||||||
var FileName, OutPut: string): Boolean;
|
var FileName, OutPut: string): Boolean;
|
||||||
function FileAlreadyIncluded(Sender: TObject; FileName: string): Boolean;
|
function FileAlreadyIncluded(Sender: TObject; OrgFileName, FileName: string): Boolean;
|
||||||
|
function OnIncludingFile(Sender: TObject; OrgFileName, FileName: string): Boolean;
|
||||||
|
|
||||||
procedure OnCompImport(Sender: TObject; x: TPSPascalCompiler);
|
procedure OnCompImport(Sender: TObject; x: TPSPascalCompiler);
|
||||||
procedure OnExecImport(Sender: TObject; se: TPSExec; x: TPSRuntimeClassImporter);
|
procedure OnExecImport(Sender: TObject; se: TPSExec; x: TPSRuntimeClassImporter);
|
||||||
@ -447,6 +448,8 @@ begin
|
|||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
filename := path;//Yeah!
|
filename := path;//Yeah!
|
||||||
|
|
||||||
|
if Includes.IndexOf(path) = -1 then
|
||||||
Includes.Add(path);
|
Includes.Add(path);
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -637,6 +640,7 @@ begin
|
|||||||
PSScript.UsePreProcessor:= True;
|
PSScript.UsePreProcessor:= True;
|
||||||
PSScript.CompilerOptions := PSScript.CompilerOptions + [icBooleanShortCircuit];
|
PSScript.CompilerOptions := PSScript.CompilerOptions + [icBooleanShortCircuit];
|
||||||
PSScript.OnNeedFile := @RequireFile;
|
PSScript.OnNeedFile := @RequireFile;
|
||||||
|
PSScript.OnIncludingFile := @OnIncludingFile;
|
||||||
PSScript.OnFileAlreadyIncluded := @FileAlreadyIncluded;
|
PSScript.OnFileAlreadyIncluded := @FileAlreadyIncluded;
|
||||||
PSScript.OnProcessDirective:=@OnProcessDirective;
|
PSScript.OnProcessDirective:=@OnProcessDirective;
|
||||||
PSScript.OnProcessUnknowDirective:=@PSScriptProcessUnknownDirective;
|
PSScript.OnProcessUnknowDirective:=@PSScriptProcessUnknownDirective;
|
||||||
@ -758,26 +762,59 @@ begin
|
|||||||
'{$IFDEF __REMOVE_IS_INCLUDE}{$UNDEF IS_INCLUDE}{$ENDIF}';
|
'{$IFDEF __REMOVE_IS_INCLUDE}{$UNDEF IS_INCLUDE}{$ENDIF}';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TPSThread.FileAlreadyIncluded(Sender: TObject; FileName: string): Boolean;
|
function TPSThread.FileAlreadyIncluded(Sender: TObject; OrgFileName, FileName: string): Boolean;
|
||||||
var
|
var
|
||||||
path: string;
|
path: string;
|
||||||
i: integer;
|
i: integer;
|
||||||
begin
|
begin
|
||||||
path := FindFile(Filename,[ScriptPath,IncludePath]);
|
path := FindFile(filename,[includepath,ScriptPath,IncludeTrailingPathDelimiter(ExtractFileDir(OrgFileName))]);
|
||||||
|
if path = '' then
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
path := ExpandFileNameUTF8(path);
|
||||||
|
|
||||||
if (path <> '') then
|
if (path <> '') then
|
||||||
if Includes.Find(path,i) then
|
if Includes.IndexOf(path) <> -1 then
|
||||||
begin
|
begin
|
||||||
{$IFDEF SIMBA_VERBOSE}
|
{$IFDEF SIMBA_VERBOSE}
|
||||||
psWriteln('Include_Once file already included:' + Path);
|
writeln('Include_Once file already included:' + Path);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Result := True;
|
Result := True;
|
||||||
Exit;
|
Exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$IFDEF SIMBA_VERBOSE}
|
||||||
|
writeln('OnFileAlreadyIncluded, Adding: ' + path);
|
||||||
|
{$ENDIF}
|
||||||
Includes.Add(path);
|
Includes.Add(path);
|
||||||
Result := False;
|
Result := False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TPSThread.OnIncludingFile(Sender: TObject; OrgFileName, FileName: string): Boolean;
|
||||||
|
var
|
||||||
|
path: string;
|
||||||
|
begin
|
||||||
|
path := FindFile(filename,[includepath,ScriptPath,IncludeTrailingPathDelimiter(ExtractFileDir(OrgFileName))]);
|
||||||
|
if path = '' then
|
||||||
|
begin
|
||||||
|
Result := True;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
path := ExpandFileNameUTF8(path);
|
||||||
|
|
||||||
|
if Includes.IndexOf(path) = -1 then
|
||||||
|
begin
|
||||||
|
{$IFDEF SIMBA_VERBOSE}
|
||||||
|
writeln('OnIncludingFile, Adding: ' + path);
|
||||||
|
{$ENDIF}
|
||||||
|
Includes.Add(path);
|
||||||
|
end;
|
||||||
|
|
||||||
|
Result := True; // Not used
|
||||||
|
end;
|
||||||
|
|
||||||
procedure SIRegister_Mufasa(cl: TPSPascalCompiler);
|
procedure SIRegister_Mufasa(cl: TPSPascalCompiler);
|
||||||
begin
|
begin
|
||||||
SIRegister_MML(cl);
|
SIRegister_MML(cl);
|
||||||
|
@ -128,6 +128,7 @@ begin;
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
result := '';
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TMFiles.Create(Owner : TObject);
|
constructor TMFiles.Create(Owner : TObject);
|
||||||
|
@ -23,6 +23,12 @@
|
|||||||
{$mode objfpc}{$H+}
|
{$mode objfpc}{$H+}
|
||||||
unit os_linux;
|
unit os_linux;
|
||||||
|
|
||||||
|
{
|
||||||
|
TODO's:
|
||||||
|
- Allow selecting a different X display
|
||||||
|
- Fix keyboard layout / SendString
|
||||||
|
}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
@ -126,7 +132,7 @@ implementation
|
|||||||
{
|
{
|
||||||
This is extremely hacky, but also very useful.
|
This is extremely hacky, but also very useful.
|
||||||
We have to install a X error handler, because otherwise X
|
We have to install a X error handler, because otherwise X
|
||||||
will terminate out entire app on error.
|
will terminate our entire app on error.
|
||||||
|
|
||||||
Since we want the right thread to recieve the right error, we have to
|
Since we want the right thread to recieve the right error, we have to
|
||||||
fiddle a bit with threadvars, mutexes / semaphores.
|
fiddle a bit with threadvars, mutexes / semaphores.
|
||||||
@ -413,12 +419,13 @@ implementation
|
|||||||
result := xmask and ButtonP > 0;
|
result := xmask and ButtonP > 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWindow.SendString(str: string);
|
{ TODO: Check if this supports multiple keyboard layouts, probably not }
|
||||||
var
|
procedure TWindow.SendString(str: string);
|
||||||
|
var
|
||||||
I, L: Integer;
|
I, L: Integer;
|
||||||
K: Byte;
|
K: Byte;
|
||||||
HoldShift: Boolean;
|
HoldShift: Boolean;
|
||||||
begin
|
begin
|
||||||
HoldShift := False;
|
HoldShift := False;
|
||||||
L := Length(str);
|
L := Length(str);
|
||||||
for I := 1 to L do
|
for I := 1 to L do
|
||||||
@ -446,7 +453,7 @@ begin
|
|||||||
ReleaseKey(VK_SHIFT);
|
ReleaseKey(VK_SHIFT);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWindow.HoldKey(key: integer);
|
procedure TWindow.HoldKey(key: integer);
|
||||||
begin
|
begin
|
||||||
|
@ -94,7 +94,8 @@ type
|
|||||||
TPSOnNeedFile = function (Sender: TObject; const OrginFileName: tbtstring; var FileName, Output: tbtstring): Boolean of object;
|
TPSOnNeedFile = function (Sender: TObject; const OrginFileName: tbtstring; var FileName, Output: tbtstring): Boolean of object;
|
||||||
|
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
TPSOnFileAlreadyIncluded = function (Sender: TObject; FileName: tbtstring): Boolean of object;
|
TPSOnFileAlreadyIncluded = function (Sender: TObject; OrgFileName, FileName: tbtstring): Boolean of object;
|
||||||
|
TPSOnIncludingFile = function (Sender: TObject; OrgFileName, FileName: tbtstring): Boolean of object;
|
||||||
{ Wizzup out }
|
{ Wizzup out }
|
||||||
|
|
||||||
TPSOnProcessDirective = procedure (
|
TPSOnProcessDirective = procedure (
|
||||||
@ -127,6 +128,7 @@ type
|
|||||||
FOnNeedFile: TPSOnNeedFile;
|
FOnNeedFile: TPSOnNeedFile;
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
FOnFileAlreadyIncluded: TPSOnFileAlreadyIncluded;
|
FOnFileAlreadyIncluded: TPSOnFileAlreadyIncluded;
|
||||||
|
FOnIncludingFile: TPSOnIncludingFile;
|
||||||
{ Wizzup out }
|
{ Wizzup out }
|
||||||
FUsePreProcessor: Boolean;
|
FUsePreProcessor: Boolean;
|
||||||
FDefines: TStrings;
|
FDefines: TStrings;
|
||||||
@ -161,7 +163,8 @@ type
|
|||||||
//--jgv new
|
//--jgv new
|
||||||
function DoOnNeedFile (Sender: TObject; const OrginFileName: tbtstring; var FileName, Output: tbtstring): Boolean; virtual;
|
function DoOnNeedFile (Sender: TObject; const OrginFileName: tbtstring; var FileName, Output: tbtstring): Boolean; virtual;
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
function DoOnFileAlreadyIncluded (Sender: TObject; FileName: tbtstring): Boolean; virtual;
|
function DoOnFileAlreadyIncluded (Sender: TObject; OrgFileName, FileName: tbtstring): Boolean; virtual;
|
||||||
|
function DoOnIncludingFile (Sender: TObject; OrgFileName, FileName: tbtstring): Boolean; virtual;
|
||||||
{ Wizzup out }
|
{ Wizzup out }
|
||||||
function DoOnUnknowUses (Sender: TPSPascalCompiler; const Name: tbtstring): Boolean; virtual; // return true if processed
|
function DoOnUnknowUses (Sender: TPSPascalCompiler; const Name: tbtstring): Boolean; virtual; // return true if processed
|
||||||
procedure DoOnCompImport; virtual;
|
procedure DoOnCompImport; virtual;
|
||||||
@ -300,6 +303,7 @@ type
|
|||||||
|
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
property OnFileAlreadyIncluded: TPSOnFileAlreadyIncluded read FOnFileAlreadyIncluded write FOnFileAlreadyIncluded;
|
property OnFileAlreadyIncluded: TPSOnFileAlreadyIncluded read FOnFileAlreadyIncluded write FOnFileAlreadyIncluded;
|
||||||
|
property OnIncludingFile: TPSOnIncludingFile read FOnIncludingFile write FOnIncludingFile;
|
||||||
{ Wizzup out }
|
{ Wizzup out }
|
||||||
|
|
||||||
property Defines: TStrings read FDefines write SetDefines;
|
property Defines: TStrings read FDefines write SetDefines;
|
||||||
@ -553,9 +557,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
function CEOnFileAlreadyIncluded(Sender: TPSPreProcessor; FileName: tbtstring): Boolean;
|
function CEOnFileAlreadyIncluded(Sender: TPSPreProcessor; OrgFileName, FileName: tbtstring): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := TPSScript (Sender.ID).DoOnFileAlreadyIncluded(Sender.ID, Filename);
|
Result := TPSScript (Sender.ID).DoOnFileAlreadyIncluded(Sender.ID, OrgFileName, Filename);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function CEOnIncludingFile(Sender: TPSPreProcessor; OrgFileName, FileName: tbtstring): Boolean;
|
||||||
|
begin
|
||||||
|
Result := TPSScript (Sender.ID).DoOnIncludingFile(Sender.ID, OrgFileName, Filename);
|
||||||
end;
|
end;
|
||||||
{ Wizzup out }
|
{ Wizzup out }
|
||||||
|
|
||||||
@ -675,6 +684,7 @@ begin
|
|||||||
|
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
FPP.OnFileAlreadyIncluded:= CEOnFileAlreadyIncluded;
|
FPP.OnFileAlreadyIncluded:= CEOnFileAlreadyIncluded;
|
||||||
|
FPP.OnIncludingFile:= CEOnIncludingFile;
|
||||||
{ Wizzup out }
|
{ Wizzup out }
|
||||||
|
|
||||||
FDefines := TStringList.Create;
|
FDefines := TStringList.Create;
|
||||||
@ -1081,10 +1091,19 @@ end;
|
|||||||
|
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
function TPSScript.DoOnFileAlreadyIncluded(Sender: TObject;
|
function TPSScript.DoOnFileAlreadyIncluded(Sender: TObject;
|
||||||
FileName: tbtstring): Boolean;
|
OrgFileName, FileName: tbtstring): Boolean;
|
||||||
begin
|
begin
|
||||||
If Assigned (OnFileAlreadyIncluded) then
|
If Assigned (OnFileAlreadyIncluded) then
|
||||||
Result := OnFileAlreadyIncluded(Sender, FileName)
|
Result := OnFileAlreadyIncluded(Sender, OrgFileName, FileName)
|
||||||
|
else
|
||||||
|
Result := False;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TPSScript.DoOnIncludingFile(Sender: TObject;
|
||||||
|
OrgFileName, FileName: tbtstring): Boolean;
|
||||||
|
begin
|
||||||
|
If Assigned (OnIncludingFile) then
|
||||||
|
Result := OnIncludingFile(Sender, OrgFileName, FileName)
|
||||||
else
|
else
|
||||||
Result := False;
|
Result := False;
|
||||||
end;
|
end;
|
||||||
|
@ -16,7 +16,8 @@ type
|
|||||||
TPSOnNeedFile = function (Sender: TPSPreProcessor; const callingfilename: tbtstring; var FileName, Output: tbtstring): Boolean;
|
TPSOnNeedFile = function (Sender: TPSPreProcessor; const callingfilename: tbtstring; var FileName, Output: tbtstring): Boolean;
|
||||||
|
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
TPSOnFileAlreadyIncluded = function (Sender: TPSPreProcessor; FileName: tbtstring): Boolean;
|
TPSOnFileAlreadyIncluded = function (Sender: TPSPreProcessor; OrgFileName, FileName: tbtstring): Boolean;
|
||||||
|
TPSOnIncludingFile = function (Sender: TPSPreProcessor; OrgFileName, FileName: tbtstring): Boolean;
|
||||||
{ Wizzup out }
|
{ Wizzup out }
|
||||||
|
|
||||||
TPSOnProcessDirective = procedure (
|
TPSOnProcessDirective = procedure (
|
||||||
@ -99,6 +100,7 @@ type
|
|||||||
FOnNeedFile: TPSOnNeedFile;
|
FOnNeedFile: TPSOnNeedFile;
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
FOnFileAlreadyIncluded: TPSOnFileAlreadyIncluded;
|
FOnFileAlreadyIncluded: TPSOnFileAlreadyIncluded;
|
||||||
|
FOnIncludingFile: TPSOnIncludingFile;
|
||||||
{ Wizzup out }
|
{ Wizzup out }
|
||||||
FAddedPosition: Cardinal;
|
FAddedPosition: Cardinal;
|
||||||
FDefineState: TPSDefineStates;
|
FDefineState: TPSDefineStates;
|
||||||
@ -120,6 +122,7 @@ type
|
|||||||
|
|
||||||
{ Added by Wizzup }
|
{ Added by Wizzup }
|
||||||
property OnFileAlreadyIncluded: TPSOnFileAlreadyIncluded read FOnFileAlreadyIncluded write FOnFileAlreadyIncluded;
|
property OnFileAlreadyIncluded: TPSOnFileAlreadyIncluded read FOnFileAlreadyIncluded write FOnFileAlreadyIncluded;
|
||||||
|
property OnIncludingFile: TPSOnIncludingFile read FOnIncludingFile write FOnIncludingFile;
|
||||||
{ Wizzup out }
|
{ Wizzup out }
|
||||||
|
|
||||||
property Defines: TStringList read FDefines write FDefines;
|
property Defines: TStringList read FDefines write FDefines;
|
||||||
@ -633,6 +636,8 @@ begin
|
|||||||
begin
|
begin
|
||||||
if FDefineState.DoWrite then
|
if FDefineState.DoWrite then
|
||||||
begin
|
begin
|
||||||
|
if assigned(@OnIncludingFile) then
|
||||||
|
OnIncludingFile(self , Filename, s);
|
||||||
FAddedPosition := 0;
|
FAddedPosition := 0;
|
||||||
IntPreProcess(Level +1, FileName, s, Dest);
|
IntPreProcess(Level +1, FileName, s, Dest);
|
||||||
FCurrentLineInfo.Current := current;
|
FCurrentLineInfo.Current := current;
|
||||||
@ -646,7 +651,7 @@ begin
|
|||||||
raise EPSPreProcessor.CreateFmt(RPS_IncludeOnceNotFound, [FileName, OrgFileName])
|
raise EPSPreProcessor.CreateFmt(RPS_IncludeOnceNotFound, [FileName, OrgFileName])
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
if not OnFileAlreadyIncluded(Self, FileName) then
|
if not OnFileAlreadyIncluded(Self, FileName, s) then
|
||||||
begin
|
begin
|
||||||
FAddedPosition := 0;
|
FAddedPosition := 0;
|
||||||
IntPreProcess(Level +1, FileName, s, Dest);
|
IntPreProcess(Level +1, FileName, s, Dest);
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 940053e16d79c3d76b6b70d6a1bf56507ad0e627
|
Subproject commit b24c52b9748c6f9f3e91a7a86f727022bf2fd6ce
|
Loading…
Reference in New Issue
Block a user