SRL Archive - S.M.A.R.T. Questions and Answers.

Can SMART be used with non-RS?


mtester

2015-02-18 14:06:10

I don't play Runescape. I've used SCAR before for a few games. I left it for several years, and came back to see there's now Simba as well, and this SMART thing, which seems pretty awesome as an alternative to VMs. My question is, can I use SMART for other games as well? Primarily HTML5-based or Flash based. I also read something about Appa. Which would be my best choice?

Thanks!

Floor66

2015-02-18 14:16:40

SMART is really focused on RS, Appa is your best bet. I don't know how up-to-date it is, however.

Torol

2015-02-21 13:19:48

What is Appa?

KeepBotting

2015-02-21 13:36:31

From: Torol
What is Appa?


This is Appa!


And this is also Appa!

BillSn0w

2015-03-17 06:04:01

Is there any way to make SMART compatible with other games?…

I'd like to use simba with a Java based game. I used to use Scar to draw on top of the game screen using getclientcanvas.

Example:
getclientcanvas.Pen.Color := clRed;
getclientcanvas.Rectangle(207, 155, 472, 195);

In Scar, this would draw a red rectangle from (207, 155) to (472, 195)…

From all of my research, I can only find mention of drawing with Simba onto the SMART canvas. I don't need the minimizable mouse integration or any of that… I just need the canvas.

If there's any other canvas that can be used with Simba, or any way to just create a blank debug canvas, it would be great to use it without SMART…

KeepBotting

2015-03-17 07:20:43

From: BillSn0w
Is there any way to make SMART compatible with other games?…

I'd like to use simba with a Java based game. I used to use Scar to draw on top of the game screen using getclientcanvas.

Example:
getclientcanvas.Pen.Color := clRed;
getclientcanvas.Rectangle(207, 155, 472, 195);

In Scar, this would draw a red rectangle from (207, 155) to (472, 195)…

From all of my research, I can only find mention of drawing with Simba onto the SMART canvas. I don't need the minimizable mouse integration or any of that… I just need the canvas.

If there's any other canvas that can be used with Simba, or any way to just create a blank debug canvas, it would be great to use it without SMART…


Check out TMufasaLayer, it sounds like it'd be ust what you need.

Brandon

2015-03-17 10:23:44

From: BillSn0w
Is there any way to make SMART compatible with other games?…

I'd like to use simba with a Java based game. I used to use Scar to draw on top of the game screen using getclientcanvas.

Example:
getclientcanvas.Pen.Color := clRed;
getclientcanvas.Rectangle(207, 155, 472, 195);

In Scar, this would draw a red rectangle from (207, 155) to (472, 195)…

From all of my research, I can only find mention of drawing with Simba onto the SMART canvas. I don't need the minimizable mouse integration or any of that… I just need the canvas.

If there's any other canvas that can be used with Simba, or any way to just create a blank debug canvas, it would be great to use it without SMART…



Get someone to export "GetDisplayHandle" or "GetNativeDisplay" from Simba..



{$IFDEF LINUX}
function TWindow.GetNativeDisplay: PtrUInt;
begin
Result := self.display;
end;
{$ELSE}
function TWindow.GetNativeDisplay: PtrUInt;
begin
Result := self.dc;
end;
{$ENDIF}


OR:


{$IFDEF LINUX}
Function GetDisplayHandle(Wnd: TNativeWindow): PtrUInt;
begin
Result := XOpenDisplay(NULL);
end;

Procedure FreeDisplayHandle(Wnd: TNativeWindow; Dpy: PtrUInt);
begin
XCloseDisplay(Dpy);
end;
{$ELSE}
Function GetDisplayHandle(Wnd: TNativeWindow): PtrUInt;
begin
Result := GetDC(Wnd);
end;

Procedure FreeDisplayHandle(Wnd: TNativeWindow; DC: PtrUInt);
begin
ReleaseDC(Wnd, DC);
end;
{$ENDIF}


Either set will allow you to draw on external windows.. They're not currently exported and don't currently exist..


If it does get exported or added, then you could do:


var
T: TCanvas;
begin
T.Init();
T.setHandle(GetNativeDisplay()); //whatever window you drag the cross-hairs on OR target.
T.SetPixels(TPAFromBox(IntToBox(100, 100, 200, 200)), $FF); //draw a red box
T.Free();
end.


But for now you'll have to use plugins.