dege-diosg / dgVoodoo2

Glide/DirectX implementation on D3D11/12
927 stars 40 forks source link

[Feature Request] Application Blacklist #30

Open BinToss opened 4 years ago

BinToss commented 4 years ago

If dgVoodoo is somehow loaded into these applications, enable passthrough to DirectX. A configurable blacklist could be stored in dgBlacklist.ini, located in the same folder as dgVoodoo's DLL. Doing so would allow a configurable blacklist for each "deployment" of dgVoodoo. Alternatively, an unconfigurablebase/global blacklist.

Reason: I have some WindowsForms applications that run, but are invisible when they load dgVoodoo. These applications expect to be in the same folder as a game executable, so I can't simply move them to another folder to prevent them from loading dgVoodoo. So, unless I use another plugin/module/dll/what-have-you to LoadLibrary() dgVoodoo's DLL, the procedure for using the WindowsForms applications and then the game would be...

  1. Add the .bak extension to dgVoodoo's DLL.
  2. Run the WindowsForms apps.
  3. Undo Step 1
  4. Start the game

In this case, the WindowsForms applications work as a sort of "launcher" for the game. This whole procedure slows down rapid-testing when one thing in the launcher needs to be changed to test its affect on the game.

dege-diosg commented 3 years ago

It'd be interesting to see the reason why those WinForms apps don't work. If it's all about testing then you can workaround the problem by hex-editing the game executables and rename strings like ddraw.dll to e.g. bdraw.dll to separate MS and dg DX implementations.