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 @@ - <Icon Value="0"/> <UseXPManifest Value="True"/> + <Icon Value="0"/> </General> <VersionInfo> <ProjectVersion Value=""/> 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;