VOGONS


First post, by OpenRift

User metadata
Rank Member
Rank
Member

I've been trying to get the software version Hexen II working but it has this rainbow effect (seen below)
file.php?mode=view&id=80598
My guess is that it has something to do with the color depth and DirectDraw. I assumed that dgVoodoo would be enough to remedy the issue, but it seems like this isn't the case. It didn't even add back the legacy non-square pixel resolutions (320x200, 640x400, etc). I tried fiddling with DxWrapper to no luck. I know that the issue fixes itself in Windowed mode, but windowed resolutions are limited, and I'd like to have all the original resolutions at my disposal.

And before you ask, no, I'm not interested in using any of the source ports. I was able to patch WinQuake, GLQuake, and QuakeWorld into using the legacy resolutions AND play the soundtrack (I made it a patch which you can download here 😉), and I intend to do the same for Hexen II.

But anyway, so does anyone have any suggestions for what to do?

Reply 1 of 18, by ZellSF

User metadata
Rank l33t
Rank
l33t

Works fine here. Can't even figure out a way to break it.

Is ddraw.dll in the same directory as h2.exe? Are you sure it's loaded (do you get the dgVoodoo watermark)?

Attachments

  • h2.png
    Filename
    h2.png
    File size
    77.26 KiB
    Views
    2092 views
    File license
    Fair use/fair dealing exception

Reply 2 of 18, by ZellSF

User metadata
Rank l33t
Rank
l33t

Hexen 2 at 320x200 upscaled to 4K (integer+lanczos):
https://www.youtube.com/watch?v=zh73enZrwWE
Looks terrible. Everything is moving.

I would much rather play GL Hexen 2. Unfortunately, there doesn't seem to be any FOV hack available for it. And the most recommended source port has UI glitches.

Reply 3 of 18, by OpenRift

User metadata
Rank Member
Rank
Member
ZellSF wrote on 2020-04-15, 06:58:

Works fine here. Can't even figure out a way to break it.

Is ddraw.dll in the same directory as h2.exe? Are you sure it's loaded (do you get the dgVoodoo watermark)?

Yeah the watermark doesn't even show up when I tried it. And yes, I do have the ddraw.dll file in the same directory as h2.exe.

Reply 4 of 18, by Firtasik

User metadata
Rank Oldbie
Rank
Oldbie

Hexen II v1.11 demo. No watermark here as well.

To remove those colors:
In HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
delete h2.exe DWM8And16BitMitigation

11 1 111 11 1 1 1 1 1 11 1 1 111 1 111 1 1 1 1 111

Reply 5 of 18, by OpenRift

User metadata
Rank Member
Rank
Member
Firtasik wrote on 2020-04-15, 16:17:
Hexen II v1.11 demo. No watermark here as well. […]
Show full quote

Hexen II v1.11 demo. No watermark here as well.

To remove those colors:
In HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
delete h2.exe DWM8And16BitMitigation

No luck. Gives the same result and the registry entry just reappears.

Reply 9 of 18, by OpenRift

User metadata
Rank Member
Rank
Member
Dege wrote on 2020-04-15, 17:39:

I cannot test it now, but doesn't the game initialize DDraw through OLE (instead of direct access) so you have to hack the proper Windows registry to make it usable with dgVoodoo?

Not exactly sure, but I'm willing to try that if it's worth it.

Reply 11 of 18, by OpenRift

User metadata
Rank Member
Rank
Member
Dege wrote on 2020-04-15, 19:03:

Before doing that, it's worth to look into the .exe (or dependent dll's in the game folder if there are any) to see if DDRAW.DLL is there.
If it is, then it's likely load DDraw directly instead of via OLE.

Well it didn't come with ddraw.dll, but I put the one included with dgVoodoo in there to no affect.

Reply 13 of 18, by OpenRift

User metadata
Rank Member
Rank
Member
Firtasik wrote on 2020-04-15, 19:43:

https://github.com/narzoul/DDrawCompat/releas … ag/experimental

DDrawCompat works fine here (even with DWM8And16BitMitigation).

That seems to have fixed the color issue, thanks a bunch. Now I'm curious as to how I can also get those legacy resolutions working.

Reply 14 of 18, by ZellSF

User metadata
Rank l33t
Rank
l33t
Dege wrote on 2020-04-15, 17:39:

I cannot test it now, but doesn't the game initialize DDraw through OLE (instead of direct access) so you have to hack the proper Windows registry to make it usable with dgVoodoo

I thought about mentioning that was one of the ways I tried to break it. It's not that. Another way I tried breaking it was with compatibility mode and color settings.

Firtasik wrote on 2020-04-15, 16:17:

Hexen II v1.11 demo. No watermark here as well.

I tested the retail release, since I assumed the crazy purist would be using that.

Later versions seemingly don't use ddraw by default. Just add -usedirectdraw to the commandline and it will work fine.

Reply 15 of 18, by OpenRift

User metadata
Rank Member
Rank
Member
ZellSF wrote on 2020-04-15, 21:20:
I thought about mentioning that was one of the ways I tried to break it. It's not that. Another way I tried breaking it was with […]
Show full quote
Dege wrote on 2020-04-15, 17:39:

I cannot test it now, but doesn't the game initialize DDraw through OLE (instead of direct access) so you have to hack the proper Windows registry to make it usable with dgVoodoo

I thought about mentioning that was one of the ways I tried to break it. It's not that. Another way I tried breaking it was with compatibility mode and color settings.

Firtasik wrote on 2020-04-15, 16:17:

Hexen II v1.11 demo. No watermark here as well.

I tested the retail release, since I assumed the crazy purist would be using that.

Later versions seemingly don't use ddraw by default. Just add -usedirectdraw to the commandline and it will work fine.

...you just call me a crazy purist?

Reply 16 of 18, by ZellSF

User metadata
Rank l33t
Rank
l33t
OpenRift wrote on 2020-04-15, 21:23:

...you just call me a crazy purist?

You want to play a 1997 3D game in software mode in legacy resolutions, so purist fits. Crazy because I think your opinion is crazy, but you know, everyone thinks that of others opinions so you really shouldn't care.

At any rate, maybe focus on the part of my post where I tried helping you with your problem instead?

Reply 17 of 18, by Firtasik

User metadata
Rank Oldbie
Rank
Oldbie
ZellSF wrote on 2020-04-15, 21:20:

Later versions seemingly don't use ddraw by default. Just add -usedirectdraw to the commandline and it will work fine.

👍

11 1 111 11 1 1 1 1 1 11 1 1 111 1 111 1 1 1 1 111

Reply 18 of 18, by OpenRift

User metadata
Rank Member
Rank
Member
ZellSF wrote on 2020-04-15, 21:40:
OpenRift wrote on 2020-04-15, 21:23:

...you just call me a crazy purist?

You want to play a 1997 3D game in software mode in legacy resolutions, so purist fits. Crazy because I think your opinion is crazy, but you know, everyone thinks that of others opinions so you really shouldn't care.

At any rate, maybe focus on the part of my post where I tried helping you with your problem instead?

I'm mostly doing this in the name of experimentation and also preservation of software. Also I'm just bored out of my mind and need something to do. Once I have all this figured out I plan on putting together a 'vanilla patch' like I've done for the windows versions of Quake. Also I think being a purist would imply that I'm dismissive of any source port in general and am under the belief that they're inherently bad, which they're not (I actually will give HoT props for not completely neglecting the software rendered version of the game), but I want my first playthrough to at least be on the original executables.

But anyway, the commandline thing worked!! My legacy resolutions working with dgVoodoo, thanks a bunch! ^^
Now I just gotta get my hands on v0.15 of the HexenWorld executables, which was the last official version of HW released by Raven, if my research is correct.