PDA

View Full Version : Getting SMART to work when downloaded via extensions.



R0b0t1
03-02-2017, 05:33 PM
I followed this guide (https://villavu.com/forum/showthread.php?t=47714). If I upgrade to SMART 8.1 on that version of Simba SetupSRL fails when trying to load smartremote32.dll.

program new;
{$DEFINE SMART}
{$I srl-6/srl.simba}

begin
ClearDebug;
setupSRL;
end.
SRL: Logfile = C:\Simba\Includes\SRL-6/logs/SRL log (02-03-17 at 05.31.01 PM).txt
-- setupSRL()
---- Setting up SRL...
---- attempting to spawn smart, attempt #: 1
---- initSmart():
------ Attempting to pair to a previously spawned client
------ smartPairToExistingClient():
-------- Found no free clients to pair to
------ smartPairToExistingClient(): result = false
------ Attempting to spawn a new client..
------ smartCreateClient():
-------- getJavaPath():
---------- Attempting to search for your Java path
---------- Found your java path @ C:\Program Files\Java\jre1.8.0_121\bin\java.exe
-------- getJavaPath()
-------- Root: http://world1.runescape.com/
-------- Params: ,j0,f2500108666657274948
-------- Using plugins "OpenGL32.dll,d3d9.dll"
------ Failed to spawn a SMART client
---- initSmart() result = False
---- attempting to spawn smart, attempt #: 2
---- initSmart():
------ Attempting to pair to a previously spawned client
------ smartPairToExistingClient():
-------- Found no free clients to pair to
------ smartPairToExistingClient(): result = false
------ Attempting to spawn a new client..
------ smartCreateClient():
-------- getJavaPath():
---------- Attempting to search for your Java path
---------- Found your java path @ C:\Program Files\Java\jre1.8.0_121\bin\java.exe
-------- getJavaPath()
-------- Root: http://world2.runescape.com/
-------- Params: ,j0,f4817351576810596452
-------- Using plugins "OpenGL32.dll,d3d9.dll"
The following bitmaps were not freed: [Minimap Mask]
File[C:\Simba\Includes\SRL-6/logs/SRL log (02-03-17 at 05.31.01 PM).txt] has not been freed in the script, freeing it now.

Joopi
03-02-2017, 05:46 PM
Make sure your java is 32bit. And for some people (e.g. me) it doesn't launch on Java 8.x

R0b0t1
03-03-2017, 04:59 PM
I should have been able to figure that out based on the tutorial's section for WINE. Since removing x64 Java and getting x86 Java SMART loads. Time to find a script!

Turpinator
03-03-2017, 07:41 PM
"upgrade" to 8.1?

youre aware the one in the plugin downloader is 8.3... right?

R0b0t1
03-07-2017, 04:35 PM
No, I wasn't. It's not written down anywhere obvious. I'm going to continue this thread but now I've moved back to Linux.

I've compiled Simba and pulled the SRL-Plugins repository and copied the shared objects into the Plugins directory. I had to rename the tesseract libraries as Linux filesystems are usually case sensitive. Aside from fixing this issue, are there instructions for running on Linux without using WINE available? It's one thing to claim it works, but it's another to actually show me how to make it work.

program new;
{$DEFINE SMART}
{$I srl-6/srl.simba}

begin
ClearDebug;
setupSRL;
end.

Crashes:

Form resource TSManager not found. For resourceless forms CreateNew constructor must be used. See the global variable RequireDerivedFormResource.
Adding Plugin Path: /home/R0b0t1/Simba/Plugins/
Adding Plugin Path: /home/R0b0t1/Simba/Plugins/
Loading: SmallChars07
formWriteln: Loaded Font SmallChars07
Loading: MouseoverChars
formWriteln: Loaded Font MouseoverChars
Loading: NumberCharsSmooth
formWriteln: Loaded Font NumberCharsSmooth
Loading: NPCCharsSmooth
formWriteln: Loaded Font NPCCharsSmooth
Loading: UpChars07_s
formWriteln: Loaded Font UpChars07_s
Loading: BigChars
formWriteln: Loaded Font BigChars
Loading: UpChars
formWriteln: Loaded Font UpChars
Loading: SmallChars
formWriteln: Loaded Font SmallChars
Loading: LoginChars
formWriteln: Loaded Font LoginChars
Loading: StatChars07
formWriteln: Loaded Font StatChars07
Loading: SmallCharsNS
formWriteln: Loaded Font SmallCharsNS
Loading: CharsTrade07
formWriteln: Loaded Font CharsTrade07
Loading: FriendChars
formWriteln: Loaded Font FriendChars
Loading: UpCharsEx
formWriteln: Loaded Font UpCharsEx
Loading: CharsNPC07
formWriteln: Loaded Font CharsNPC07
Loading: XPChars
formWriteln: Loaded Font XPChars
Loading: UpChars07
formWriteln: Loaded Font UpChars07
Loading: CharsNPC
formWriteln: Loaded Font CharsNPC
Loading: StatChars
formWriteln: Loaded Font StatChars
Loading: CharsTrade
formWriteln: Loaded Font CharsTrade
SmallChars07, MouseoverChars, NumberCharsSmooth, NPCCharsSmooth, UpChars07_s, BigChars, UpChars, SmallChars, LoginChars, StatChars07, SmallCharsNS, CharsTrade07, FriendChars, UpCharsEx, CharsNPC07, XPChars, UpChars07, CharsNPC, StatChars, CharsTrade,
formWriteln: Loaded fonts: SmallChars07, MouseoverChars, NumberCharsSmooth, NPCCharsSmooth, UpChars07_s, BigChars, UpChars, SmallChars, LoginChars, StatChars07, SmallCharsNS, CharsTrade07, FriendChars, UpCharsEx, CharsNPC07, XPChars, UpChars07, CharsNPC, StatChars, CharsTrade
formWriteln: Loaded Font UpChars_s
Script name will be: SMARTTest
Loading plugin libtesseract2_64 at /home/R0b0t1/Simba/Plugins/
Plugin Version:2
Loading: Function Tesseract_Create(): Pointer;
Loading: Procedure Tesseract_Delete(var tesseract_ptr: Pointer);
Loading: Function Tesseract_Init(tesseract_ptr: Pointer; datapath, language: String): Integer;
Loading: Procedure Tesseract_End(var tesseract_ptr: Pointer);
Loading: Procedure Tesseract_SetImage(tesseract_ptr: Pointer; const imagedata: Pointer; width, height, bytes_per_pixel, bytes_per_line: Integer);
Loading: Function Tesseract_GetUTF8Text(tesseract_ptr: Pointer; var len: UInt32): PChar;
Loading: Procedure Tesseract_FreeUTF8Text(var utf8_text_ptr: PChar);
Loading: Function Tesseract_SetVariable(tesseract_ptr: Pointer; name, value: String): Boolean;
Loading: Procedure Tesseract_Clear(tesseract_ptr: Pointer);
Loading plugin SimpleOCR64 at /home/R0b0t1/Simba/Plugins/
Plugin Version:2
Loading: TFontChar
Loading: TFontset
Loading: TCompareRules
Loading: TSimpleOCR
Loading: procedure TFontSet.Load(Font:AnsiString; Space:Int32=4);
Loading: procedure TFontSet.Free();
Loading: procedure TSimpleOCR.Init(FontPath:TFontSet; AClient:TTarget_Exported=ExportImageTarget()); native;
Loading: procedure TSimpleOCR.Init(Font:AnsiString; SpaceWidth:Int32=4; AClient:TTarget_Exported=ExportImageTarget()); overload; native;
Loading: procedure TSimpleOCR.SetFont(FontPath:TFontSet); native;
Loading: procedure TSimpleOCR.SetFont(Font:AnsiString; SpaceWidth:Int32=4); overload; native;
Loading: procedure TSimpleOCR.Free(); native;
Loading: function TSimpleOCR.Recognize(B:TBox; Filter:TCompareRules; MaxWalk:Int32=40): AnsiString; native;
Loading: function TSimpleOCR.RecognizeEx(AClient:T2DIntArray; Filter:TCompareRules; MaxWalk:Int32=40): AnsiString; native;
Loading plugin libsmartremote64 at /home/R0b0t1/Simba/Plugins/
SMART: Located 0 clients
SMART: Located 0 clients
Plugin Version:2
Loading: function SmartGetClients(only_unpaired: boolean): integer;
Loading: function SmartGetAvailablePID(idx: integer): integer;
Loading: function SmartKillClient(pid: integer): boolean;
Loading: function SmartPairClient(pid: integer): int64;
Loading: function SmartSpawnClient(java_exec, remote_path, root, params: string; width, height: integer; initseq, useragent, javaargs, Plugins: string): int64;
Loading: procedure SmartFreeClient(target: int64);
Loading: function SmartGetClientPID(target: int64): integer;
Loading: function SmartImageArray(target: int64): int64;
Loading: function SmartDebugArray(target: int64): int64;
Loading: function SmartGetRefresh(target: int64): integer;
Loading: procedure SmartSetRefresh(target: int64; x: integer);
Loading: procedure SmartSetTransparentColor(target: int64; color: integer);
Loading: procedure SmartSetDebug(target: int64; enabled: boolean);
Loading: procedure SmartSetGraphics(target: int64; enabled: boolean);
Loading: procedure SmartSetEnabled(target: int64; enabled: boolean);
Loading: function SmartActive(target: int64): boolean;
Loading: function SmartEnabled(target: int64): boolean;
Loading: procedure SmartGetMousePos(target: int64; var x, y: integer);
Loading: procedure SmartHoldMouse(target: int64; x, y: integer; left: boolean);
Loading: procedure SmartReleaseMouse(target: int64; x, y: integer; left: boolean);
Loading: procedure SmartHoldMousePlus(target: int64; x, y, button: integer);
Loading: procedure SmartReleaseMousePlus(target: int64; x, y, button: integer);
Loading: procedure SmartMoveMouse(target: int64; x, y: integer);
Loading: procedure SmartWindMouse(target: int64; x, y: integer);
Loading: procedure SmartClickMouse(target: int64; x, y: integer; left: boolean);
Loading: procedure SmartClickMousePlus(target: int64; x, y, button: integer);
Loading: function SmartIsMouseButtonHeld(target: int64; button: integer): boolean;
Loading: procedure SmartScrollMouse(target: int64; x, y, lines: integer);
Loading: procedure SmartSendKeys(target: int64; Text: String; keywait, keymodwait: integer);
Loading: procedure SmartHoldKey(target: int64; Code: Integer);
Loading: procedure SmartReleaseKey(target: int64; Code: Integer);
Loading: function SmartIsKeyDown(target: int64; Code: Integer): Boolean;
Loading: procedure SmartSetCapture(target: int64; enabled: boolean);
Loading: procedure SmartSetNativeButton(target: int64; plugid,btnid: integer; state: boolean);
Loading: function SmartGetFieldObject(target: int64; objref: int64; path: string): int64;
Loading: function SmartIsPathValid(target: int64; objref: int64; path: string): boolean;
Loading: function SmartGetFieldBoolean(target: int64; objref: int64; path: string): boolean;
Loading: function SmartGetFieldLongH(target: int64; objref: int64; path: string): integer;
Loading: function SmartGetFieldLongL(target: int64; objref: int64; path: string): integer;
Loading: function SmartGetFieldInt(target: int64; objref: int64; path: string): integer;
Loading: function SmartGetFieldShort(target: int64; objref: int64; path: string): integer;
Loading: function SmartGetFieldFloat(target: int64; objref: int64; path: string): extended;
Loading: function SmartGetFieldDouble(target: int64; objref: int64; path: string): extended;
Loading: function SmartGetFieldByte(target: int64; objref: int64; path: string): integer;
Loading: function SmartGetFieldArray3DObject(target: int64; objref: int64; path: string; x, y, z: integer): int64;
Loading: function SmartGetFieldArray3DByte(target: int64; objref: int64; path: string; x, y, z: integer): integer;
Loading: function SmartGetFieldArray3DChar(target: int64; objref: int64; path: string; x, y, z: integer): integer;
Loading: function SmartGetFieldArray3DShort(target: int64; objref: int64; path: string; x, y, z: integer): integer;
Loading: function SmartGetFieldArray3DInt(target: int64; objref: int64; path: string; x, y, z: integer): integer;
Loading: function SmartGetFieldArray3DFloat(target: int64; objref: int64; path: string; x, y, z: integer): extended;
Loading: function SmartGetFieldArray3DDouble(target: int64; objref: int64; path: string; x, y, z: integer): extended;
Loading: function SmartGetFieldArray3DBoolean(target: int64; objref: int64; path: string; x, y, z: integer): boolean;
Loading: function SmartGetFieldArray3DLongH(target: int64; objref: int64; path: string; x, y, z: integer): integer;
Loading: function SmartGetFieldArray3DLongL(target: int64; objref: int64; path: string; x, y, z: integer): integer;
Loading: function SmartGetFieldArray2DObject(target: int64; objref: int64; path: string; x, y: integer): int64;
Loading: function SmartGetFieldArray2DInt(target: int64; objref: int64; path: string; x, y: integer): integer;
Loading: function SmartGetFieldArray2DDouble(target: int64; objref: int64; path: string; x, y: integer): extended;
Loading: function SmartGetFieldArray2DFloat(target: int64; objref: int64; path: string; x, y: integer): extended;
Loading: function SmartGetFieldArray2DBoolean(target: int64; objref: int64; path: string; x, y: integer): boolean;
Loading: function SmartGetFieldArray2DLongH(target: int64; objref: int64; path: string; x, y: integer): integer;
Loading: function SmartGetFieldArray2DLongL(target: int64; objref: int64; path: string; x, y: integer): integer;
Loading: function SmartGetFieldArray2DByte(target: int64; objref: int64; path: string; x, y: integer): integer;
Loading: function SmartGetFieldArray2DChar(target: int64; objref: int64; path: string; x, y: integer): integer;
Loading: function SmartGetFieldArray2DShort(target: int64; objref: int64; path: string; x, y: integer): integer;
Loading: function SmartGetFieldArraySize(target: int64; objref: int64; path: string; dim: integer): integer;
Loading: function SmartGetFieldArrayObject(target: int64; objref: int64; path: string; index: integer): int64;
Loading: function SmartGetFieldArrayInt(target: int64; objref: int64; path: string; index: integer): integer;
Loading: function SmartGetFieldArrayFloat(target: int64; objref: int64; path: string; index: integer): extended;
Loading: function SmartGetFieldArrayDouble(target: int64; objref: int64; path: string; index: integer): extended;
Loading: function SmartGetFieldArrayBool(target: int64; objref: int64; path: string; index: integer): boolean;
Loading: function SmartGetFieldArrayLongH(target: int64; objref: int64; path: string; index: integer): integer;
Loading: function SmartGetFieldArrayLongL(target: int64; objref: int64; path: string; index: integer): integer;
Loading: function SmartGetFieldArrayByte(target: int64; objref: int64; path: string; index: integer): integer;
Loading: function SmartGetFieldArrayShort(target: int64; objref: int64; path: string; index: integer): integer;
Loading: function SmartGetFieldArrayChar(target: int64; objref: int64; path: string; index: integer): integer;
Loading: procedure SmartFreeObject(target: int64; obj: int64);
Loading: function SmartStringFromString(target: int64; jstr: int64; str: String): integer;
Loading: function SmartStringFromBytes(target: int64; bytes: int64; str: String): integer;
Loading: function SmartStringFromChars(target: int64; chars: int64; str: String): integer;
Loading: function SmartIsEqual(target: int64; obja, objb: int64): boolean;
Loading: function SmartIsNull(target: int64; obj: int64): boolean;
formWriteln: New fonts available. Current version: -1. Latest version: 16
<CodeHints: no parameters expected>
formWriteln: Successfully installed the new fonts!
formWriteln: Freeing the current fonts. Creating new ones now
Loading: SmallChars07
Loaded Font SmallChars07
Loading: MouseoverChars
Loaded Font MouseoverChars
Loading: NumberCharsSmooth
Loaded Font NumberCharsSmooth
Loading: NPCCharsSmooth
Loaded Font NPCCharsSmooth
Loading: UpChars07_s
Loaded Font UpChars07_s
Loading: BigChars
Loaded Font BigChars
Loading: UpChars
Loaded Font UpChars
Loading: SmallChars
Loaded Font SmallChars
Loading: LoginChars
Loaded Font LoginChars
Loading: StatChars07
Loaded Font StatChars07
Loading: SmallCharsNS
Loaded Font SmallCharsNS
Loading: CharsTrade07
Loaded Font CharsTrade07
Loading: FriendChars
Loaded Font FriendChars
Loading: UpCharsEx
Loaded Font UpCharsEx
Loading: CharsNPC07
Loaded Font CharsNPC07
Loading: XPChars
Loaded Font XPChars
Loading: UpChars07
Loaded Font UpChars07
Loading: CharsNPC
Loaded Font CharsNPC
Loading: StatChars
Loaded Font StatChars
Loading: CharsTrade
Loaded Font CharsTrade
SmallChars07, MouseoverChars, NumberCharsSmooth, NPCCharsSmooth, UpChars07_s, BigChars, UpChars, SmallChars, LoginChars, StatChars07, SmallCharsNS, CharsTrade07, FriendChars, UpCharsEx, CharsNPC07, XPChars, UpChars07, CharsNPC, StatChars, CharsTrade,
Loaded fonts: SmallChars07, MouseoverChars, NumberCharsSmooth, NPCCharsSmooth, UpChars07_s, BigChars, UpChars, SmallChars, LoginChars, StatChars07, SmallCharsNS, CharsTrade07, FriendChars, UpCharsEx, CharsNPC07, XPChars, UpChars07, CharsNPC, StatChars, CharsTrade
Loaded Font UpChars_s
Current Simba version: 1206
Latest Simba Version: 701
Script name will be: SMARTTest
Plugin libtesseract2_64 already loaded: 0
Plugin SimpleOCR64 already loaded: 1
Plugin libsmartremote64 already loaded: 2
formWriteln: Variable "clGreen" not used at line 50, column 20 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "clTeal" not used at line 57, column 22 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "clGray" not used at line 59, column 22 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "clSilver" not used at line 62, column 23 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "clPink" not used at line 63, column 23 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "__worldsOrdered" not used at line 105, column 27 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/interfaces/lobby/worlds.simba"
formWriteln: Variable "smartGetJavaPath" not used at line 45, column 36 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/misc/smart.simba"
formWriteln: Parameter "minWait" not used at line 52, column 30 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/mouse.simba"
formWriteln: Parameter "maxWait" not used at line 52, column 30 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/mouse.simba"
formWriteln: Parameter "minWait" not used at line 199, column 95 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/mouse.simba"
formWriteln: Parameter "maxWait" not used at line 199, column 95 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/mouse.simba"
formWriteln: Variable "i" not used at line 396, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/tboxarrays.simba"
formWriteln: Variable "i" not used at line 567, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/tboxarrays.simba"
formWriteln: Variable "tia" not used at line 775, column 21 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/tboxarrays.simba"
formWriteln: Variable "i" not used at line 1537, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/tpointarrays.simba"
formWriteln: Variable "I" not used at line 62, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/integerarrays.simba"
formWriteln: Variable "I" not used at line 62, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/stringarrays.simba"
formWriteln: Variable "h" not used at line 524, column 34 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/text.simba"
formWriteln: Variable "tpa" not used at line 306, column 19 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/interfaces/chooseoption.simba"
formWriteln: Variable "l" not used at line 422, column 19 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/interfaces/chooseoption.simba"
formWriteln: Variable "b" not used at line 425, column 10 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/interfaces/chooseoption.simba"
formWriteln: Parameter "filter" not used at line 612, column 95 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/interfaces/chooseoption.simba"
formWriteln: Parameter "Result" not set at line 675, column 59 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/interfaces/gametabs/gametab.simba"
formWriteln: Error: Operator "cmp_NotEqual" not compatible with types "(record [0]NAME: AnsiString; [8]ID: Int32; [12]PARENTID: Int32; [16]ISSTATIC: (False=0, True=1); [20]X: Int32; [24]Y: Int32; [28]W: Int32; [32]H: Int32; [36]X1: Int32; [40]Y1: Int32; [44]X2: Int32; [48]Y2: Int32; [52]CX: Int32; [56]CY: Int32; [64]TABS: array of record [0]_BMP: Int32; [4]_NAVBARID: Int32; [8]_NAVBARBOXINDEX: Int32; end; [72]ISSETUP: (False=0, True=1); [76]TABAREA: record [0]X1: Int32; [4]Y1: Int32; [8]X2: Int32; [12]Y2: Int32; end; [92]__TABSELECTIONAREA: record [0]X1: Int32; [4]Y1: Int32; [8]X2: Int32; [12]Y2: Int32; end; [112]NAVBUTTONS: array [0..7] of array of record [0]X1: Int32; [4]Y1: Int32; [8]X2: Int32; [12]Y2: Int32; end; end).function():(False=0, True=1) of object" and "Int64"
formWriteln: Compiling failed.
*** Error in `./Simba.x86_64-linux-debug': free(): invalid next size (fast): 0x00007f4d589b30a0 ***
Aborted

If run with an empty body, the script will "run" indefinitely and attempting to force stop it will cause the Simba GUI to hang.

Harrier
03-07-2017, 06:12 PM
No, I wasn't. It's not written down anywhere obvious. I'm going to continue this thread but now I've moved back to Linux.

Aside from fixing this issue, are there instructions for running on Linux without using WINE available? It's one thing to claim it works, but it's another to actually show me how to make it work.


If run with an empty body, the script will "run" indefinitely and attempting to force stop it will cause the Simba GUI to hang.
*Cough* (https://github.com/BenLand100/SMART/releases)
And no, there are no instructions for getting simba to run on linux since only me and Olly; actively use it afaik and only on OSRS. I might write something up about it but even than it's so distro specific with what versions of x lib is been shipped and what FPC and Laz is used.
As for your issue my guess would be that you're using FPC 3 to compile simba and using plugins compiled with fpc 2.6.4 which doesn't work.

R0b0t1
03-07-2017, 07:53 PM
*Cough* (https://github.com/BenLand100/SMART/releases)
And no, there are no instructions for getting simba to run on linux since only me and Olly; actively use it afaik and only on OSRS. I might write something up about it but even than it's so distro specific with what versions of x lib is been shipped and what FPC and Laz is used.
As for your issue my guess would be that you're using FPC 3 to compile simba and using plugins compiled with fpc 2.6.4 which doesn't work.

Right, but a lot of those resources are obvious once you know about them. What I actually did was follow those steps to build SMART 8.3; it's not like I managed to install the incorrect version.

Where do I either:
Obtain a Linux release of Simba.
Find the source of the plugins so that I can build them with FPC 3.0.0.

Please understand I haven't somehow forgotten how to use a search engine or the forum search feature. Finding all of these things without already knowing what they are is nearly impossible. Moreover, how you've answered the question seems to imply there's no solution; on most other forums, if the cause is known, a solution is usually provided. From what I can tell the solution involves one of the above pieces of information. If there's more please let me know.

There's something else I'm forgetting to ask about involving how this all failed, but unfortunately I can't remember right this second.

Harrier
03-07-2017, 08:22 PM
Right, but a lot of those resources are obvious once you know about them. What I actually did was follow those steps to build SMART 8.3; it's not like I managed to install the incorrect version.

Where do I either:
Obtain a Linux release of Simba.
Find the source of the plugins so that I can build them with FPC 3.0.0.

Please understand I haven't somehow forgotten how to use a search engine or the forum search feature. Finding all of these things without already knowing what they are is nearly impossible. Moreover, how you've answered the question seems to imply there's no solution; on most other forums, if the cause is known, a solution is usually provided. From what I can tell the solution involves one of the above pieces of information. If there's more please let me know.

There's something else I'm forgetting to ask about involving how this all failed, but unfortunately I can't remember right this second.
1. There is no official up to date release of simba for linux, please refer to this (https://wizzup.org/simba/#linux)
2. around random git repos, there is no central repo for the sources afaik and there is no guarantees that simba and plugins will play nice with fpc 3

R0b0t1
03-08-2017, 03:34 PM
1. There is no official up to date release of simba for linux, please refer to this (https://wizzup.org/simba/#linux)
2. around random git repos, there is no central repo for the sources afaik and there is no guarantees that simba and plugins will play nice with fpc 3

The Simba in the git repository is >1.00. It's still not supported?
I thought that may be the case and tried to find either the repository on GitHub or the thread where they were released on the forum. I can't find either of those for any of the plugins that are required by SRL except for SMART.

program new;
{$I srl-6/srl.simba}

begin
end.


Form resource TSManager not found. For resourceless forms CreateNew constructor must be used. See the global variable RequireDerivedFormResource.
Adding Plugin Path: /home/R0b0t1/Simba/Plugins/
Adding Plugin Path: /home/R0b0t1/Simba/Plugins/
Loading: SmallChars07
formWriteln: Loaded Font SmallChars07
Loading: MouseoverChars
formWriteln: Loaded Font MouseoverChars
Loading: NumberCharsSmooth
formWriteln: Loaded Font NumberCharsSmooth
Loading: NPCCharsSmooth
formWriteln: Loaded Font NPCCharsSmooth
Loading: UpChars07_s
formWriteln: Loaded Font UpChars07_s
Loading: BigChars
formWriteln: Loaded Font BigChars
Loading: UpChars
formWriteln: Loaded Font UpChars
Loading: SmallChars
formWriteln: Loaded Font SmallChars
Loading: LoginChars
formWriteln: Loaded Font LoginChars
Loading: StatChars07
formWriteln: Loaded Font StatChars07
Loading: SmallCharsNS
formWriteln: Loaded Font SmallCharsNS
Loading: CharsTrade07
formWriteln: Loaded Font CharsTrade07
Loading: FriendChars
formWriteln: Loaded Font FriendChars
Loading: UpCharsEx
formWriteln: Loaded Font UpCharsEx
Loading: CharsNPC07
formWriteln: Loaded Font CharsNPC07
Loading: XPChars
formWriteln: Loaded Font XPChars
Loading: UpChars07
formWriteln: Loaded Font UpChars07
Loading: CharsNPC
formWriteln: Loaded Font CharsNPC
Loading: StatChars
formWriteln: Loaded Font StatChars
Loading: CharsTrade
formWriteln: Loaded Font CharsTrade
SmallChars07, MouseoverChars, NumberCharsSmooth, NPCCharsSmooth, UpChars07_s, BigChars, UpChars, SmallChars, LoginChars, StatChars07, SmallCharsNS, CharsTrade07, FriendChars, UpCharsEx, CharsNPC07, XPChars, UpChars07, CharsNPC, StatChars, CharsTrade,
formWriteln: Loaded fonts: SmallChars07, MouseoverChars, NumberCharsSmooth, NPCCharsSmooth, UpChars07_s, BigChars, UpChars, SmallChars, LoginChars, StatChars07, SmallCharsNS, CharsTrade07, FriendChars, UpCharsEx, CharsNPC07, XPChars, UpChars07, CharsNPC, StatChars, CharsTrade
formWriteln: Loaded Font UpChars_s
formWriteln: Compiled successfully in 888 ms.
formWriteln: Successfully executed.
formWriteln: New fonts available. Current version: -1. Latest version: 16
formWriteln: Successfully installed the new fonts!
formWriteln: Freeing the current fonts. Creating new ones now
Loading: SmallChars07
Loaded Font SmallChars07
Loading: MouseoverChars
Loaded Font MouseoverChars
Loading: NumberCharsSmooth
Loaded Font NumberCharsSmooth
Loading: NPCCharsSmooth
Loaded Font NPCCharsSmooth
Loading: UpChars07_s
Loaded Font UpChars07_s
Loading: BigChars
Loaded Font BigChars
Loading: UpChars
Loaded Font UpChars
Loading: SmallChars
Loaded Font SmallChars
Loading: LoginChars
Loaded Font LoginChars
Loading: StatChars07
Loaded Font StatChars07
Loading: SmallCharsNS
Loaded Font SmallCharsNS
Loading: CharsTrade07
Loaded Font CharsTrade07
Loading: FriendChars
Loaded Font FriendChars
Loading: UpCharsEx
Loaded Font UpCharsEx
Loading: CharsNPC07
Loaded Font CharsNPC07
Loading: XPChars
Loaded Font XPChars
Loading: UpChars07
Loaded Font UpChars07
Loading: CharsNPC
Loaded Font CharsNPC
Loading: StatChars
Loaded Font StatChars
Loading: CharsTrade
Loaded Font CharsTrade
SmallChars07, MouseoverChars, NumberCharsSmooth, NPCCharsSmooth, UpChars07_s, BigChars, UpChars, SmallChars, LoginChars, StatChars07, SmallCharsNS, CharsTrade07, FriendChars, UpCharsEx, CharsNPC07, XPChars, UpChars07, CharsNPC, StatChars, CharsTrade,
Loaded fonts: SmallChars07, MouseoverChars, NumberCharsSmooth, NPCCharsSmooth, UpChars07_s, BigChars, UpChars, SmallChars, LoginChars, StatChars07, SmallCharsNS, CharsTrade07, FriendChars, UpCharsEx, CharsNPC07, XPChars, UpChars07, CharsNPC, StatChars, CharsTrade
Loaded Font UpChars_s
Current Simba version: 1206
Latest Simba Version: 701
Loading plugin libtesseract2_64 at /home/R0b0t1/Simba/Plugins/
Plugin Version:2
Loading: Function Tesseract_Create(): Pointer;
Loading: Procedure Tesseract_Delete(var tesseract_ptr: Pointer);
Loading: Function Tesseract_Init(tesseract_ptr: Pointer; datapath, language: String): Integer;
Loading: Procedure Tesseract_End(var tesseract_ptr: Pointer);
Loading: Procedure Tesseract_SetImage(tesseract_ptr: Pointer; const imagedata: Pointer; width, height, bytes_per_pixel, bytes_per_line: Integer);
Loading: Function Tesseract_GetUTF8Text(tesseract_ptr: Pointer; var len: UInt32): PChar;
Loading: Procedure Tesseract_FreeUTF8Text(var utf8_text_ptr: PChar);
Loading: Function Tesseract_SetVariable(tesseract_ptr: Pointer; name, value: String): Boolean;
Loading: Procedure Tesseract_Clear(tesseract_ptr: Pointer);
Loading plugin SimpleOCR64 at /home/R0b0t1/Simba/Plugins/
Plugin Version:2
Loading: TFontChar
Loading: TFontset
Loading: TCompareRules
Loading: TSimpleOCR
Loading: procedure TFontSet.Load(Font:AnsiString; Space:Int32=4);
Loading: procedure TFontSet.Free();
Loading: procedure TSimpleOCR.Init(FontPath:TFontSet; AClient:TTarget_Exported=ExportImageTarget()); native;
Loading: procedure TSimpleOCR.Init(Font:AnsiString; SpaceWidth:Int32=4; AClient:TTarget_Exported=ExportImageTarget()); overload; native;
Loading: procedure TSimpleOCR.SetFont(FontPath:TFontSet); native;
Loading: procedure TSimpleOCR.SetFont(Font:AnsiString; SpaceWidth:Int32=4); overload; native;
Loading: procedure TSimpleOCR.Free(); native;
Loading: function TSimpleOCR.Recognize(B:TBox; Filter:TCompareRules; MaxWalk:Int32=40): AnsiString; native;
Loading: function TSimpleOCR.RecognizeEx(AClient:T2DIntArray; Filter:TCompareRules; MaxWalk:Int32=40): AnsiString; native;
Script name will be: SRLTest
Plugin libtesseract2_64 already loaded: 0
Plugin SimpleOCR64 already loaded: 1
formWriteln: Variable "clGreen" not used at line 50, column 20 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "clTeal" not used at line 57, column 22 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "clGray" not used at line 59, column 22 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "clSilver" not used at line 62, column 23 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "clPink" not used at line 63, column 23 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/globals.simba"
formWriteln: Variable "__worldsOrdered" not used at line 105, column 27 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/interfaces/lobby/worlds.simba"
formWriteln: Parameter "minWait" not used at line 52, column 30 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/mouse.simba"
formWriteln: Parameter "maxWait" not used at line 52, column 30 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/mouse.simba"
formWriteln: Parameter "minWait" not used at line 199, column 95 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/mouse.simba"
formWriteln: Parameter "maxWait" not used at line 199, column 95 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/core/mouse.simba"
formWriteln: Variable "i" not used at line 396, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/tboxarrays.simba"
formWriteln: Variable "i" not used at line 567, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/tboxarrays.simba"
formWriteln: Variable "tia" not used at line 775, column 21 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/tboxarrays.simba"
formWriteln: Variable "i" not used at line 1537, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/tpointarrays.simba"
formWriteln: Variable "I" not used at line 62, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/integerarrays.simba"
formWriteln: Variable "I" not used at line 62, column 14 in file "/home/R0b0t1/Simba/Includes/srl-6/lib/utilities/types/stringarrays.simba"

(Simba.x86_64-linux-debug:28006): Gdk-WARNING **: /home/jmm/scratch/gtk/gtk+2.0-2.24.25/gdk/gdkwindow.c:3161: no preceding call to gdk_window_begin_paint_region(), see documentation

(Simba.x86_64-linux-debug:28006): Gdk-CRITICAL **: IA__gdk_gc_set_background: assertion 'GDK_IS_GC (gc)' failed

(Simba.x86_64-linux-debug:28006): Gdk-CRITICAL **: IA__gdk_gc_set_fill: assertion 'GDK_IS_GC (gc)' failed

(Simba.x86_64-linux-debug:28006): Gdk-CRITICAL **: IA__gdk_gc_set_foreground: assertion 'GDK_IS_GC (gc)' failed

(Simba.x86_64-linux-debug:28006): Gdk-CRITICAL **: IA__gdk_gc_set_function: assertion 'GDK_IS_GC (gc)' failed

(Simba.x86_64-linux-debug:28006): Gdk-CRITICAL **: IA__gdk_draw_rectangle: assertion 'GDK_IS_GC (gc)' failed

(Simba.x86_64-linux-debug:28006): Gdk-CRITICAL **: IA__gdk_gc_set_function: assertion 'GDK_IS_GC (gc)' failed

(Simba.x86_64-linux-debug:28006): GLib-GObject-CRITICAL **: g_object_get_data: assertion 'G_IS_OBJECT (object)' failed

(Simba.x86_64-linux-debug:28006): GLib-GObject-CRITICAL **: g_object_get_data: assertion 'G_IS_OBJECT (object)' failed
Freeing plugin[0]
Freeing plugin[1]
Calling OnDetach
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
Simba.x86_64-linux-debug: ../../src/xcb_io.c:179: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed.
Aborted

I'm going to go back to trying to run this on Windows, I suppose, but the issue is still outstanding.