diff --git a/trunk/Plugins/libcpascal.dll b/trunk/Plugins/libcpascal.dll
index a734aa7..63c887e 100755
Binary files a/trunk/Plugins/libcpascal.dll and b/trunk/Plugins/libcpascal.dll differ
diff --git a/trunk/Plugins/libcpascal.so b/trunk/Plugins/libcpascal.so
index 1128479..58ff3e3 100755
Binary files a/trunk/Plugins/libcpascal.so and b/trunk/Plugins/libcpascal.so differ
diff --git a/trunk/Projects/SAMufasaGUI/project1.lpi b/trunk/Projects/SAMufasaGUI/project1.lpi
index 74216e4..735932d 100644
--- a/trunk/Projects/SAMufasaGUI/project1.lpi
+++ b/trunk/Projects/SAMufasaGUI/project1.lpi
@@ -10,8 +10,8 @@
-
+
diff --git a/trunk/Projects/SAMufasaGUI/project1.res b/trunk/Projects/SAMufasaGUI/project1.res
index d50e3ab..42c7633 100644
Binary files a/trunk/Projects/SAMufasaGUI/project1.res and b/trunk/Projects/SAMufasaGUI/project1.res differ
diff --git a/trunk/Projects/SAMufasaGUI/testunit.lfm b/trunk/Projects/SAMufasaGUI/testunit.lfm
index b2f5790..93e95da 100644
--- a/trunk/Projects/SAMufasaGUI/testunit.lfm
+++ b/trunk/Projects/SAMufasaGUI/testunit.lfm
@@ -1,7 +1,7 @@
object Form1: TForm1
- Left = 273
+ Left = 593
Height = 557
- Top = 233
+ Top = 321
Width = 734
ActiveControl = ScriptPanel
Caption = 'THA FUKING SIMBA'
@@ -387,10 +387,10 @@ object Form1: TForm1
EditLabel.AnchorSideTop.Side = asrCenter
EditLabel.AnchorSideRight.Control = LabeledEditSearch
EditLabel.AnchorSideBottom.Control = LabeledEditSearch
- EditLabel.Left = 67
+ EditLabel.Left = 65
EditLabel.Height = 18
EditLabel.Top = 10
- EditLabel.Width = 34
+ EditLabel.Width = 36
EditLabel.Caption = 'Find: '
EditLabel.ParentColor = False
LabelPosition = lpLeft
@@ -405,7 +405,7 @@ object Form1: TForm1
Left = 320
Height = 22
Top = 7
- Width = 97
+ Width = 98
Caption = 'Match case'
OnClick = CheckBoxMatchCaseClick
TabOrder = 1
diff --git a/trunk/Units/MMLAddon/mmlpsthread.pas b/trunk/Units/MMLAddon/mmlpsthread.pas
index 338294a..78e60b8 100644
--- a/trunk/Units/MMLAddon/mmlpsthread.pas
+++ b/trunk/Units/MMLAddon/mmlpsthread.pas
@@ -160,6 +160,7 @@ var
libcpascal: integer;
interp_init: function(precomp: TPrecompiler_Callback; err: TErrorHandeler_Callback): Pointer; cdecl;
interp_meth: procedure(interp: Pointer; addr: Pointer; def: PChar); cdecl;
+ interp_type: procedure(interp: Pointer; def: PChar); cdecl;
interp_set: procedure(interp: Pointer; ppg: PChar); cdecl;
interp_comp: function(interp: Pointer): boolean; cdecl;
interp_run: function(interp: Pointer): boolean; cdecl;
@@ -704,6 +705,7 @@ begin
raise Exception.Create('CPascal library not found');
Pointer(interp_init):= GetProcAddress(libcpascal, PChar('interp_init'));
Pointer(interp_meth):= GetProcAddress(libcpascal, PChar('interp_meth'));
+ Pointer(interp_type):= GetProcAddress(libcpascal, PChar('interp_type'));
Pointer(interp_set):= GetProcAddress(libcpascal, PChar('interp_set'));
Pointer(interp_comp):= GetProcAddress(libcpascal, PChar('interp_comp'));
Pointer(interp_run):= GetProcAddress(libcpascal, PChar('interp_run'));
@@ -758,16 +760,22 @@ begin
CurrThread := Self;
Starttime := GetTickCount;
psWriteln('Invoking CPascal Interpreter');
+ interp_type(self.instance,'type extended = real;');
+ interp_type(self.instance,'type tdtm = integer;');
+ interp_type(self.instance,'type pdtm = ^tdtm;');
+ interp_type(self.instance,'type TEIOS_Exported = record int1,int2,int3,int4,int5,int6,int7,int8,int9,int10,int11,int12,int13,int14:integer; end;');
+ //interp_type(self.instance,'type pointer = integer;');
+
+ for i := high(PluginsToLoad) downto 0 do
+ for ii := 0 to PluginsGlob.MPlugins[PluginsToLoad[i]].MethodLen - 1 do
+ with PluginsGlob.MPlugins[PluginsToLoad[i]].Methods[ii] do
+ interp_meth(self.instance,FuncPtr,PChar(FuncStr));
+ for i := 0 to high(ExportedMethods) do
+ if ExportedMethods[i].FuncPtr <> nil then
+ with ExportedMethods[i] do
+ interp_meth(self.instance,FuncPtr,PChar(FuncDecl));
if interp_comp(instance) then
begin
- for i := high(PluginsToLoad) downto 0 do
- for ii := 0 to PluginsGlob.MPlugins[PluginsToLoad[i]].MethodLen - 1 do
- with PluginsGlob.MPlugins[PluginsToLoad[i]].Methods[ii] do
- interp_meth(self.instance,FuncPtr,PChar(FuncStr));
- for i := 0 to high(ExportedMethods) do
- if ExportedMethods[i].FuncPtr <> nil then
- with ExportedMethods[i] do
- interp_meth(self.instance,FuncPtr,PChar(FuncDecl));
psWriteln('Compiled Successfully in ' + IntToStr(GetTickCount - Starttime) + 'ms');
if CompileOnly then
exit;