elishacloud / dxwrapper

Fixes compatibility issues with older games running on Windows 10/11 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .asi into game processes.
zlib License
1.16k stars 83 forks source link

Does this support Canvas or WebGL to DirectX9 or OpenGL? #160

Closed DumbJoe closed 1 month ago

DumbJoe commented 1 year ago

Like some games made from RPG maker?

mirh commented 1 year ago

Modern RPGM should use ANGLE... which in turn means as far as Windows is concerned, it's a dx application that is being run.

On the other hand, I have just tried to run some random MV game, and while it does load d3d9.dll MSI afterburner couldn't show any overlay with it. Meaning that gdi32.dll is probably the actual final api. Which kinda makes sense given AFAICT there's nothing making use of that "3D" aspect here.

What is even that you are trying to do?

DumbJoe commented 1 year ago

What is even that you are trying to do?

If ANGLE is directX, how come fraps can't put its fps overlay on top(or msi afterburner in your case)? Which means you won't be able to screen record or take screenshots with the app... I tried copying over the d3d9.dll, dxwrapper.dll and the dxwrapper ini file and then renaming that to d3d9.ini but fraps' overlay still refuses to show. And I also see that you don't have gdi32.dll to copy over to test with either...

Which kinda makes sense given AFAICT there's nothing making use of that "3D" aspect here.

So if a game is 100% 2D, how do you make apps like fraps and msi afterburner show its overlay?

mirh commented 1 year ago

Or I guess ANGLE is just a dumb dependency needed by NW.js to run and that's it. (thinking better, it's not like you see the overlays work with vanilla chromium or firefox either)

p.s. VX Ace really only loads ddraw or gdi32.

So if a game is 100% 2D, how do you make apps like fraps and msi afterburner show its overlay?

I mean, their purpose is kinda different tbh. It would be a contradiction in terms to (I don't know) work with the control panel. If you want to record arbitrary windows of sections of the screen, there are other tools for that. And if it's frame rate counting that you are interested to.. I think PresentMon/CapFrameX should handle that too (and probably many other tools.. it's just that benchmarking the 2D pipeline is a pretty different beast from the domain of games)

elishacloud commented 1 year ago

Dxwrapper mostly does not work for GDI32 games or other games that don't use DirectX 1-9. Only the HandleExceptions and SingleProcAffinity options work on these games.

elishacloud commented 1 month ago

Closing issue. No plan to support WebGL or OpenGL.