[Bug 47525] DirectX8 API calls are not being transferred to DirectX9

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jul 21 17:03:46 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=47525

--- Comment #8 from Olivier F. R. Dierick <o.dierick at piezo-forte.be> ---
(In reply to Fabian Maurer from comment #7)
> But what's up with that d3d8to9 library?

Hello,

I think I'm beginning to understand the issue.

The issue with dx8vb is unrelated.

The application uses a directx8 to directx9 converter that is a dll wrapper (it
changes features by proxying/hooking some functions).
It's implemented as an ASI loader (See
https://github.com/crosire/d3d8to9/issues/37, other example:
https://github.com/ThirteenAG/Ultimate-ASI-Loader/releases).
In Nin Online, the loader is named dxwrapper.dll.
It doesn't work with Wine out-of-the-box because the wrapper dll is not picked
up automatically (There is no trace of the application trying to load
dxwrapper.dll in the +loaddll output).

The wrapper dll must be named after a dll that can be overridden (some can't)
and, obviously, it must be a dll that gets loaded as part of the application or
one of its libraries.

I ran into a similar issue trying to use 'SilentPatchGF' to get widescreen
support in 'The Godfather' (https://github.com/CookiePLMonster/SilentPatchGF).
In that case I had to name the wrapper 'msacm32.dll'.
Other names would either not load, or made the application crash when set to
native.

So, I retested in a working wineprefix (i.e. with native dx8vb and dotnet40)
and copied dxwrapper.[dll/asi/ini] to equivalent msacm32.[dll/asi/ini] files
and launched the game.
The game ran fine and it created a msacm32-client.log which I'll attach.

@Seth: Do you confirm that this is the issue you want to report?

Regards.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list