I reinstalled recently this old game (2004), but it doesn't work on Windows 10. Eventually, a fix is available here which works well, but then since I have an NV Optimus laptop and since the game is pre-DX9.0c, it's forced to run on the integrated GPU and not running as smooth as it should, the GPU being overloaded.

And that's where dgVoodoo comes into play. I was hoping that running the game with Dege's DX wrapper would solve everything as usual, which unfortunately it didn't, the game refusing to start. I would like to try both the Windows 10 fix and dgVoodoo but that's impossible since both are in the form of a file with the same name (D3D8.dll) that I must paste in the game directory.

Dege: The screenshot I posted in the other topic was from Win7. I can't get this working nicely with dgVoodoo2 in Win10 either. So it is a Win10 specific d3d8 issue affecting dgVoodoo2.

It works in windowed mode (edit dangerouswaters.ini and set .RunInWindow to Yes), but you generally don't want to play games in window mode (and borderless fullscreen isn't playing nice with the mouse coordinates on this).

It also works if the patch linked to is used (open it in a hex editor, find ".d.3.d.8...d.l.l." and replace it with ".d.g.d.8...d.l.l", rename dgVoodoo2''s d3d8.dll to dgd8.dll and put it it C:\windows\syswow64\), but there's an extreme amount of cursor trailing. Not really recommended to play that way, just saying the patch works with dgVoodoo2 as well as it does natively (there's cursor trailing there too...).

Thanks ZellSF, very interesting indeed ! I didn't even try windowed but that's better than nothing...

EDIT : Finally, it doesn't work. Trying windowed with dgVoodoo, the program just quits silently. When I use the other fix, it tells me "You must be in 16-bit color depth to run in a window.". When I start with the 16-bit color compatibility option it fails too with "Failed to initialize the graphics display" followed by "Context Create Error : -2147467259".

I never run games as admin (never), and they still work. DW used to work with no problem on my Vista computer, running as non-admin, and it works on my Win10 with the fix (but with slowdowns on the integrated GPU). There are indeed games that don't work out-of-the-box as non-admin but there are ways to solve this and I think I know them pretty well.

That being said I may try anyway but I'm almost certain of the result. Not sure I'll try however since the game is using some activation-based DRM, it would use one more and I don't want to have all my activations used up before it goes DRM-free. At least I should make sure I can revoke the activation before trying...

I made my tests with the game directory being user-writeable, and as I said it "works" with the fix, and quits silently with dgVoodoo. Maybe we're using different parameters on the game and/or dgVoodoo.

Did you try my alternative solution? I said there was a lot of cursor trailing but that was only because I was running the retail version of the game, patch 1.04 is fine.

I've attached the modified file in case you don't want to try yourself, copy it in Dangerous Water's directory then rename dgVoodoo2's "d3d8.dll" to "dgd8.dll" and move it to C:\windows\syswow64. If it asks you to overwrite files, don't and stop (you're doing something wrong).

I've tried the game and it crashed for me both natively and with dgVoodoo.It works with the spec d3d8 patch though, with heavy cursor trailing.

The crashing code seems to be a bitmap data copy (or converter) code, for the time being I have no idea what's the problem (in addition to it's obviously a memory overaddressing). A guess, as I read it was coded specifically for 16 bit surfaces, the game might create 32 bit surfaces while thinking they're 16 bit.An idea I didn't try so far is setting the desktop color mode to 16 bit (compat settings), so the game creates true 16 bit surfaces instead of 32 ones.

Btw, are you sure it really worked for you, for example by activating the dgVoodoo watermark, and that it didn't just simply find its way directly to the DX interface, bypassing Dégé's wrapper ?

Very sure:

Dege wrote:I've tried the game and it crashed for me both natively and with dgVoodoo.It works with the spec d3d8 patch though, with heavy cursor trailing.

The patch seems to only be meant for v1.04 of the game, on the retail version you get the cursor trailing. On the latest version you don't. The behavior there is identical whether you use dgVoodoo2 or not.

I notice on your screenshot that the color banding problem is still present. I was secretly hoping dgVoodoo would solve this too !

So finally I tried, and it didn't work.

First I wanted to put dgd8.dll in a non-system directory, setting the Path environment variable accordingly, but that wasn't enough since it seems the fix enables some sort of security option making sure the file it loads is from a secure place. Moreover, it has a wrapper.log file meant to receive errors, and it was clearly stating it couldn't find the "real" d3d8.dll.

So I finally put Dégé's renamed dgd8.dll in syswow64, now the wrapper isn't complaining any more but the game still crashes, not silently this time since I get the classical "***** has stopped working" window that usually displays when a program crashes.

Since I was trying all this fullscreen, I tried back in windowed mode (who knows), and got again the "must be in 16-bit color depth" message. If I set the 16-bit compatibility option, the program crashes the same way it did when I was trying full screen ("***** has stopped working").

I tried ultimately fullscreen with "disable and passthru to real DirectX" and it failed too (stopped working). So even when just passing through Dégé's wrapper, it fails. When I get back to the classical fix (without the dgd8 modification) it "works" again.

The only difference I can see between you and me is that for me it doesn't work with dgVoodoo. Everything else looks the same. Btw, it doesn't seem to work for Dégé either...

I suppose you're running a Steam version of the game, while I run a Securom PA-protected one. Could that explain things ? I'm doubtful... and of course you're running the game as an admin while I'm not.

Could you without too much of a hassle try running the game as a non-admin ? I would have tested admin myself long ago had I not this annoying Securom activation limit. In case you get the same problems as me with the game silently quitting (using dgVoodoo only and not the fix), that will have some meaning. Otherwise it will mean it's not a system privilege related problem. After all, there must be a reason behind all this...

I got it running with dgVoodoo2 without admin privileges too (by moving it to another folder). The version of the game I'm running does not seem to have any copy protection, though I haven't actually checked for it.

Stricly speaking that doesn't mean admin privileges aren't the cause of my problems since running it once as admin could have enabled something, but I doubt it's the case.

I performed a hash check on the files in the game root directory for people who have time to lose comparing my files and theirs, but I doubt it will be very useful. If you have no copy protection, it's likely your game executable will be different from mine (plus Securom's paul.dll will be absent) but I'm not convinced it's the cause since not many people must still be using Securom, and Dégé has problems too. So unless Dégé has a Securom-protected one as well, I doubt it's worth checking...

Stricly speaking that doesn't mean admin privileges aren't the cause of my problems since running it once as admin could have enabled something, but I doubt it's the case.

I performed a hash check on the files in the game root directory for people who have time to lose comparing my files and theirs, but I doubt it will be very useful. If you have no copy protection, it's likely your game executable will be different from mine (plus Securom's paul.dll will be absent) but I'm not convinced it's the cause since not many people must still be using Securom, and Dégé has problems too. So unless Dégé has a Securom-protected one as well, I doubt it's worth checking...