VOGONS


First post, by OpenRift

User metadata
Rank Member
Rank
Member

I know the Direct3D version is graphically inferior to the software version of the game, but I want to get all the classic versions of DK1 working on modern systems.

The software version works okay (but only launches if it's on the C drive for some reason), but Direct3D seems to have issues when it attempts to load a level.

It works fine in the menus and overview screen, but once you try to load a map, it will show the loading disc screen for a moment and then crash to the desktop. No errors messages or anything. I've tried this both with dgVoodoo2 and native D3D, and neither seem to resolve the issue.

Does anyone know of a solution for this? If there isn't a solution currently, could anything be done with dgVoodoo's development to accommodate this version of the game?

Reply 2 of 12, by OpenRift

User metadata
Rank Member
Rank
Member
ZellSF wrote on 2023-04-08, 22:40:

EmulateHeap shim (broken in Win11 22H2) or DxWnd's Handle Exceptions flag both work.

Fake fullscreen is also recommended.

Ugh, I hate when games have that problem.

Is there a way to still use dgVoodoo for rendering D3D while using DxWnd's compatibility flags? Or do I have to pick one of the other for rendering?

Reply 4 of 12, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
OpenRift wrote on 2023-04-08, 23:32:
ZellSF wrote on 2023-04-08, 22:40:

EmulateHeap shim (broken in Win11 22H2) or DxWnd's Handle Exceptions flag both work.

Fake fullscreen is also recommended.

Ugh, I hate when games have that problem.

Is there a way to still use dgVoodoo for rendering D3D while using DxWnd's compatibility flags? Or do I have to pick one of the other for rendering?

Well both dgVoodoo2 and DxWnd have the D3D problem sorted out. dgVoodoo2 usually works with DxWnd, but I never both together in the game. The crash problem was fixed with DxWnd. You might visit the SF thread of the game for more details.

I don't know if EmulateHeap creates problem with the game. I recall there's one of the game, Keeper or Deeper (Ddraw or D3d version) that doesn't launch unless exe is renamed or Hook/NoShims (DxWnd) is used (your C drive bypasses this issue). This is because the game tries to read "short pathnames", not available by default on Win10/11. By doing this, EmulateHeap was disabled along with the problematic shim in this case. This proves the game crashing could be fixed by enabling Handle Exceptions +/- Emulate Heap.

Oh and if you intend to play in real fullscreen, be ready to have 320x240(or 200) desktop resolution ready in graphics driver.

previously known as Discrete_BOB_058

Reply 5 of 12, by ZellSF

User metadata
Rank l33t
Rank
l33t
OpenRift wrote on 2023-04-08, 23:32:
ZellSF wrote on 2023-04-08, 22:40:

EmulateHeap shim (broken in Win11 22H2) or DxWnd's Handle Exceptions flag both work.

Fake fullscreen is also recommended.

Ugh, I hate when games have that problem.

Is there a way to still use dgVoodoo for rendering D3D while using DxWnd's compatibility flags? Or do I have to pick one of the other for rendering?

Set DirectX Version Hook to None in the DirectX tab in DxWnd and DxWnd won't touch DirectX rendering.

Reply 6 of 12, by OpenRift

User metadata
Rank Member
Rank
Member
ZellSF wrote on 2023-04-09, 13:13:
OpenRift wrote on 2023-04-08, 23:32:
ZellSF wrote on 2023-04-08, 22:40:

EmulateHeap shim (broken in Win11 22H2) or DxWnd's Handle Exceptions flag both work.

Fake fullscreen is also recommended.

Ugh, I hate when games have that problem.

Is there a way to still use dgVoodoo for rendering D3D while using DxWnd's compatibility flags? Or do I have to pick one of the other for rendering?

Set DirectX Version Hook to None in the DirectX tab in DxWnd and DxWnd won't touch DirectX rendering.

Well I was going to try that but now DxWnd just won't launch keepd3d.exe at all. Even when I did a fresh extraction of DxWnd it just decides not to work.

Reply 7 of 12, by OpenRift

User metadata
Rank Member
Rank
Member
zirkoni wrote on 2023-04-09, 08:18:
OpenRift wrote on 2023-04-08, 20:40:

I want to get all the classic versions of DK1 working on modern systems.

Why?

https://keeperfx.net/

For preservation purposes and also because I want to make like a patch for modern systems that people can extract to their GOG install or something.

Reply 8 of 12, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
OpenRift wrote on 2023-04-09, 19:04:
zirkoni wrote on 2023-04-09, 08:18:
OpenRift wrote on 2023-04-08, 20:40:

I want to get all the classic versions of DK1 working on modern systems.

Why?

https://keeperfx.net/

For preservation purposes and also because I want to make like a patch for modern systems that people can extract to their GOG install or something.

Just checked. With DxWnd, Keepd3d.exe needs Handle Exceptions and Support Offscreen 3D tweaks to be enabled. Also I enable InjectDll hook for best hooking.
file.php?mode=view&id=161958

Attachments

previously known as Discrete_BOB_058

Reply 9 of 12, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
BEEN_Nath_58 wrote on 2023-04-09, 19:28:
Just checked. With DxWnd, Keepd3d.exe needs Handle Exceptions and Support Offscreen 3D tweaks to be enabled. Also I enable Injec […]
Show full quote
OpenRift wrote on 2023-04-09, 19:04:
zirkoni wrote on 2023-04-09, 08:18:

For preservation purposes and also because I want to make like a patch for modern systems that people can extract to their GOG install or something.

Just checked. With DxWnd, Keepd3d.exe needs Handle Exceptions and Support Offscreen 3D tweaks to be enabled. Also I enable InjectDll hook for best hooking.
file.php?mode=view&id=161958

Also just checked keeperd3d. Needs the exact same settings.

previously known as Discrete_BOB_058

Reply 10 of 12, by OpenRift

User metadata
Rank Member
Rank
Member
BEEN_Nath_58 wrote on 2023-04-09, 19:47:
BEEN_Nath_58 wrote on 2023-04-09, 19:28:
Just checked. With DxWnd, Keepd3d.exe needs Handle Exceptions and Support Offscreen 3D tweaks to be enabled. Also I enable Injec […]
Show full quote
OpenRift wrote on 2023-04-09, 19:04:

For preservation purposes and also because I want to make like a patch for modern systems that people can extract to their GOG install or something.

Just checked. With DxWnd, Keepd3d.exe needs Handle Exceptions and Support Offscreen 3D tweaks to be enabled. Also I enable InjectDll hook for best hooking.
file.php?mode=view&id=161958

Also just checked keeperd3d. Needs the exact same settings.

Looks like making a new profile from scratch seemed to work. Is there any way I can have DxWnd automatically initialize by launching the EXE directly? Or is that something I can only do through the DxWnd launcher?

Reply 11 of 12, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
OpenRift wrote on 2023-04-09, 20:11:
BEEN_Nath_58 wrote on 2023-04-09, 19:47:
BEEN_Nath_58 wrote on 2023-04-09, 19:28:
Just checked. With DxWnd, Keepd3d.exe needs Handle Exceptions and Support Offscreen 3D tweaks to be enabled. Also I enable Injec […]
Show full quote

Just checked. With DxWnd, Keepd3d.exe needs Handle Exceptions and Support Offscreen 3D tweaks to be enabled. Also I enable InjectDll hook for best hooking.
file.php?mode=view&id=161958

Also just checked keeperd3d. Needs the exact same settings.

Looks like making a new profile from scratch seemed to work. Is there any way I can have DxWnd automatically initialize by launching the EXE directly? Or is that something I can only do through the DxWnd launcher?

Read

https://sourceforge.net/p/dxwnd/discussion/ge … /34f7/1bc8/699a

(Note: the conversation in the thread is otherwise not to DK)

previously known as Discrete_BOB_058

Reply 12 of 12, by OpenRift

User metadata
Rank Member
Rank
Member
BEEN_Nath_58 wrote on 2023-04-10, 17:10:
Read […]
Show full quote
OpenRift wrote on 2023-04-09, 20:11:
BEEN_Nath_58 wrote on 2023-04-09, 19:47:

Also just checked keeperd3d. Needs the exact same settings.

Looks like making a new profile from scratch seemed to work. Is there any way I can have DxWnd automatically initialize by launching the EXE directly? Or is that something I can only do through the DxWnd launcher?

Read

https://sourceforge.net/p/dxwnd/discussion/ge … /34f7/1bc8/699a

(Note: the conversation in the thread is otherwise not to DK)

Sorry for the delayed message, but thanks, that's a big help.

Although following up on that, I do have another thread that raises another question regarding the proxy:
https://sourceforge.net/p/dxwnd/discussion/ge … ead/8357bbf11c/