VOGONS


First post, by OpenRift

User metadata
Rank Member
Rank
Member

For whatever reason, dgVoodoo's Glide wrapper seems to cause Heretic II to crash when the 3dfxGL_Ht2 driver is applied. This usually manifests as the game showing a grey screen (black if using D3D12) and becoming completely unresponsive. I'm aware of different Glide driver versions for Heretic II, and I tried every driver version I could find with the Glide wrapper and get the same result every time. The DDraw wrapper seems to work fine in software mode, and using nGlide for the 3dfx renderer seems to work without issue. I've also tried using a fresh default dgVoodoo config as well as using the same settings I use for Quake II (same engine). I'm kind of at a loss here.

Anybody know of any ways to get it running? I'm on Windows 11 by the way.

Reply 2 of 10, by OpenRift

User metadata
Rank Member
Rank
Member
ZellSF wrote on 2024-01-14, 11:54:

Obvious question, why? It's a native OpenGL game, running it through a wrapper made in the 90s is a bit weird.

Mainly because 1: I like the 16-bit dithered aesthetic that you can get with dgVoodoo, and 2: I want to scale it nearest-neighbor to my monitor's resolution.

Reply 3 of 10, by Dege

User metadata
Rank l33t
Rank
l33t

Ok, I fixed it. The 3Dfx renderer expects a Glide2x library version of 2.60 at least. Otherwise it unloads Glide and falls back to the sw renderer, but the unload is done from DllMain, that's why exiting threads get stuck and the process gets into deadlock.

Reply 4 of 10, by OpenRift

User metadata
Rank Member
Rank
Member
Dege wrote on 2024-01-16, 20:06:

Ok, I fixed it. The 3Dfx renderer expects a Glide2x library version of 2.60 at least. Otherwise it unloads Glide and falls back to the sw renderer, but the unload is done from DllMain, that's why exiting threads get stuck and the process gets into deadlock.

Good catch! So this will be addressed in the next update, then?

Reply 5 of 10, by Dege

User metadata
Rank l33t
Rank
l33t

Yes, and I'm going to release a WIP soon.

But, there are still problems:

- The game crashes for me when starting a new game, no matter what renderer is used; one of its own dll's is not loaded when it tries to call into it (?? what kind of bug is that)
- The game also crashes when I want to load a saved game with the 3Dfx renderer; not always but there is a null ptr reference in H2common.dll (no matter what wrapper is used)

Are these known problems? Patch 1.06 does not solve them for me, nor does running it in WinXp compat mode.

Reply 6 of 10, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Dege wrote on 2024-01-18, 14:54:

- The game crashes for me when starting a new game, no matter what renderer is used; one of its own dll's is not loaded when it tries to call into it (?? what kind of bug is that)

This one is famous. I think Zeus has a patch for it. Although if you keep trying you may eventually get the game to start a new game, I got once in my 27th try.

previously known as Discrete_BOB_058

Reply 7 of 10, by OpenRift

User metadata
Rank Member
Rank
Member
BEEN_Nath_58 wrote on 2024-01-18, 17:17:
Dege wrote on 2024-01-18, 14:54:

- The game crashes for me when starting a new game, no matter what renderer is used; one of its own dll's is not loaded when it tries to call into it (?? what kind of bug is that)

This one is famous. I think Zeus has a patch for it. Although if you keep trying you may eventually get the game to start a new game, I got once in my 27th try.

If you mean nGlide fixes this, I tested it and it doesn't seem to help. It works fine in OpenGL32 though, assuming you saved the game while in OpenGL32 mode, I think.

EDIT: Nevermind, I found what you were talking about, and it seems to resolve that issue: https://www.zeus-software.com/files/nglide/he … etic2_patch.zip

Reply 8 of 10, by OpenRift

User metadata
Rank Member
Rank
Member
Dege wrote on 2024-01-18, 14:54:

- The game crashes for me when starting a new game, no matter what renderer is used; one of its own dll's is not loaded when it tries to call into it (?? what kind of bug is that)

This depends on how you installed Heretic II and where you got it from. If you install it from the CD, patch it to 1.06, then run it, it should work fine. I've seen some distributions of/patches for the game online that modify the ref_gl.dll file, which can cause the crashes when starting a new game.

At least, that's my experience.

Reply 10 of 10, by OpenRift

User metadata
Rank Member
Rank
Member
Dege wrote on 2024-01-23, 17:35:

Btw, what about loading a saved game? Does that crash for you?

With Zeus's patch, loading a saved game seems to work fine. Previously, loading a savegame worked fine in OpenGL32 (assuming the game was save while running that renderer), but Glide would have issues.