https://bugs.winehq.org/show_bug.cgi?id=47525
--- Comment #8 from Olivier F. R. Dierick o.dierick@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.