SRL Archive - Suggestions

DirectX application support in Simba.


CynicRus

2014-04-18 04:00:47

Do you think it necessary to build a implementation for Simba to work with Direct-X based games? Like Lineage 2 etc. Simba now can not work with such applications because getting a picture window by Winapi, its always get Black square. What do you think about it?


Cheers,

Cynic.:spot:

Flight

2014-04-18 04:08:37

Why not? Would it bring any disadvantages at all?

CynicRus

2014-04-18 04:15:45

Do not think, just need to add a few functions to the windows unit of Simba and add mode selection for the Screen grabber. Oh, and add SendInput for intercommunion of mouse with app.

masterBB

2014-04-18 06:32:35

Don't we already have a similar system in place with Brandon his directX plugin?

CynicRus

2014-04-18 06:54:13

No. I do not propose to be inject in another process, I propose to expand the system of color boting. Its…a more safe then inject.

Olly

2014-04-18 09:39:48

Can't Simba already read direct-x colors? At least it can for RS.

CynicRus

2014-04-18 10:20:39

From: Olly
Can't Simba already read direct-x colors? At least it can for RS.


Of course can't. Just try getting bitmap from something like Dota 2.

Brandon

2014-04-18 11:00:40

From: CynicRus
No. I do not propose to be inject in another process, I propose to expand the system of color boting. Its…a more safe then inject.


And.. this is where you're incorrect.

This is where these misconceptions come from.. it doesn't inject into anything. Not even into chrome. It's a wrapper.. That's why smart has to "load" it manually.

I'm going to bet money that this will use a wrapper too.. Specifically Clootie's delphi/pascal module. Ya prav?

It will either be directly included in Simba or in a plugin but allow the user to capture the screen without placing it in the same folder. Most likely it will be a plugin because if it's directly in Simba, Simba will no longer be fully cross-platform. Either way, it's still going to be a wrapper.

Anyway, I like your idea; I'm voting yes. Assuming you tested it?

CynicRus

2014-04-18 12:10:50

From: Brandon
And.. this is where you're incorrect.

This is where these misconceptions come from.. it doesn't inject into anything. Not even into chrome. It's a wrapper.. That's why smart has to "load" it manually.

I'm going to bet money that this will use a wrapper too.. Specifically Clootie's delphi/pascal module. Ya prav?

It will either be directly included in Simba or in a plugin but allow the user to capture the screen without placing it in the same folder. Most likely it will be a plugin because if it's directly in Simba, Simba will no longer be fully cross-platform. Either way, it's still going to be a wrapper.

Anyway, I like your idea; I'm voting yes. Assuming you tested it?


Well. I just plan to wrote a functionality for screen grabbing by DirectX from Simba directly. I do not understand why its would cease to be a cross-platform, if only expanded class for Windows. Yeah, I thought to do it with Clootie's delphi/pascal module, but in this case the image will be delivered to the TClient directly. In the case of the plug-in library - it will be harder. I like this and could not get correctly data from TMufasaBitmap with lape. Only Width, Height. But when we get data with GetData, and trying use that as TRGB32 struct - I get garbage, but not the data.

Brandon

2014-04-18 13:47:04

From: CynicRus
Well. I just plan to write a functionality for screen grabbing by DirectX from Simba directly. I do not understand why its would cease to be a cross-platform, if only expanded class for Windows. Yeah, I thought to do it with Clootie's delphi/pascal module, but in this case the image will be delivered to the TClient directly. In the case of the plug-in library - it will be harder. I like this and could not get correctly data from TMufasaBitmap with lape. Only Width, Height. But when we get data with GetData, and trying use that as TRGB32 struct - I get garbage, but not the data.


Ahh that makes sense. I meant cross-platform as in this would make Simba sort of one sided? Currently, everything that can be done in Simba on Windows can be done on Linux too.(I think) I'm not sure which is harder.


I understand what you mean about not being able to get the data.

CynicRus

2014-04-18 14:07:10

From: Brandon
Ahh that makes sense. I meant cross-platform as in this would make Simba sort of one sided? Currently, everything that can be done in Simba on Windows can be done on Linux too.(I think) I'm not sure which is harder.


I understand what you mean about not being able to get the data.


But under linux we don't have DirectX. Although I have seen wrappers that implement interfaces of DirectX for OpenGl. Well, I think to extend the functionality of windows version of Simba. I think it will attract more people to the project.

masterBB

2014-04-18 14:37:00

People who use hacky methods to get directX working on linux should expect some problems. Not being able to use simba would be a minor one.

CynicRus

2014-04-18 15:55:50

https://github.com/ValveSoftware/ToGL

CynicRus

2014-04-22 08:54:45

Implemented:



99> Well. I've finished the directx grabber for Simba. Now it works great. While I need a bit of clean code. Will commit that soon:)


https://github.com/MerlijnWajer/Simba/pull/265 Commited.

Janilabo

2014-04-22 11:08:12

From: CynicRus
Implemented:



99> Well. I've finished the directx grabber for Simba. Now it works great. While I need a bit of clean code. Will commit that soon:)


https://github.com/MerlijnWajer/Simba/pull/265 Commited.
This support might bring great deal of new Simba users around the community in the future.
Brilliant Cynic, thanks for the effort!

J J

2014-04-22 19:24:23

Great work Cynic!