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

[UT99] Any benefits this can provide? #137

Closed alextwothousand closed 1 month ago

alextwothousand commented 2 years ago

I was wondering if dxwrapper could provide any benefits for Unreal Tournament 99. I'm already using a D3D10 driver (there is a D3D11 one, but it adds RT and some fancy crap - not needed).

alextwothousand commented 2 years ago

I've just tested this with UT99, works great with the stub dinput.dll. I've enabled the Dinputto8 layer, and DxWnd, works fantastically. I can run the game in windowed mode. I've yet to test other fixes, and the ASI loader, but most are not necessary as rendering backends can be added to the game near-effortlessly.

alextwothousand commented 2 years ago

ASI loading works fine! Sample ASI source code:

//
// Created by alex on 26/09/2021.
//

#include <windows.h>

BOOL WINAPI DllMain(HMODULE hMod, DWORD fdwReason, LPVOID lpReserved) {
    switch (fdwReason) {
        case DLL_PROCESS_ATTACH: {
            MessageBox(nullptr, L"Hello", L"Hi", MB_OK);
            CreateThread
            break;
        }

        case DLL_PROCESS_DETACH: {

            break;
        }
    }

    return TRUE;
}
elishacloud commented 10 months ago

I don't have Unreal Tournament 99. But I tested the latest non-released dxwrapper build using dd7to9 with Unreal Gold and it works. Using this it can convert the Direct3D to Direct3D9.

Here is the latest build: dxwrapper.zip

elishacloud commented 1 month ago

Closing issue.