Descent3
Descent3 copied to clipboard
[Runtime Issue]: Game Won't Switch to Direct3D or Glide
Build Version
9753f8367fa64b7d02bdf910bddceb51c42fd1e7
Operating System Environment
- [ ] Microsoft Windows (32-bit)
- [X] Microsoft Windows (64-bit)
- [ ] Mac OS X
- [ ] Linux (specify distribution and version below)
CPU Environment
- [ ] x86 (32-bit Intel/AMD)
- [X] x86_64 (64-bit Intel/AMD)
- [ ] ARM (32-bit)
- [ ] ARM64 (64-bit; sometimes called AArch64)
- [ ] Other (RISC V, PPC...)
Game Modes Affected
- [X] Single player
- [X] Anarchy
- [X] Hyper-Anarchy
- [X] Robo-Anarchy
- [X] Team Anarchy
- [X] Capture the Flag
- [X] Bounty
- [X] Entropy
- [X] Hoard
- [X] Monsterball
- [X] Cooperative
Game Environment
The issue is present while the game is launched.
Description
So when testing again with both dgVoodoo2's Glide and Direct3D wrappers, it seems that the game isn't really acknowledging them at all. I'm not much of a programmer, so I looked at the new EXE in a hex editor and compared it to the original 1.4 version, finding that there wasn't any mention of the string "glide" in the new EXE. I don't know if this was a change found in the original unfinished version of 1.5, but searching "glide" in the repo seems to still show results, but I'm not seeing any comments or anything regarding disabling the API. Was this stripped out?
Regardless, I don't know why it doesn't acknowledge the D3D wrapper tho, since "d3d" has the same number of string occurrences in the new EXE as it did in 1.4.
Regression Status
I don't know.
Steps to Reproduce
- Place dgVoodoo files as necessary in your Descent 3 install folder (glide2x.dll, ddraw.dll, d3dimm.dll, etc.)
- Launch the game. Normally it should display either a dgVoodoo or 3DFX watermark for D3D and Glide respectively, but that isn't what's happening.
What game assets are you using?
What game assets are you using?
The GOG release.
I'm confused here. You mention ddraw.dll
and d3dimm.dll
, but those files are not in the release. https://steamdb.info/depot/273591/
Where do you normally see these watermarks?
I'm confused here. You mention
ddraw.dll
andd3dimm.dll
, but those files are not in the release. https://steamdb.info/depot/273591/Where do you normally see these watermarks?
I guess I misunderstood what you meant by "game assets."
The files I mentioned aren't included in Steam or GOG release, dgVoodoo2 is a third party wrapper that makes running old games that use these APIs more compatible on modern systems. I believe nGlide is what's bundled with Descent 3 by default. You may try that as well and see if it detects that, but I'm doubtful.
When using dgVoodoo, the watermark should appear in the bottom-right.
Well, it seems to be working somewhat:
I don't see the watermark, but the game detects the emulated card and the effects chosen seem to work.
Well, it seems to be working somewhat:
I don't see the watermark, but the game detects the emulated card and the effects chosen seem to work.
I think the launcher detects them, but not the actual main.exe itself. Does main.exe have any role in the detection process in the launcher?
The launcher only sets up values. A better question is, does this tool work on other versions of the game. Does it work with the gog executable?
The launcher only sets up values. A better question is, does this tool work on other versions of the game. Does it work with the gog executable?
Yes, it does. It works with vanilla 1.4 as intended.
The gog release of 1.4 is a 64bit executable. Our 1.5 artifacts are 32bit. Make sure you use the x86 DLL files.
The gog release of 1.4 is a 64bit executable. Our 1.5 artifacts are 32bit. Make sure you use the x86 DLL files.
Are you looking at the Windows release or the Mac release? I think there was an updated version released for Mac at some point in the past decade or so that runs on modernish (pre-M) versions of MacOS or something, and that's probably the one that's 64-bit. The GOG version for Windows is 32-bit. I just ran it with the x86 dlls for Glide and D3D and I can see the watermark.
For some reason I thought they were all brought up to 64bit and windows was lacking other features. The confusion was likely brought on by the launcher being updated.
I'm afraid I can't help you much here. There are many things changes between 1.4 and 1.5 before source was released. You can try building the d3-historical branch to confirm it wasn't something we did.
Only OpenGL code is built in the source as released, the Direct3D code is included but not compiled (could be reactivated, but not with the hardware T&L code), and Glide is nowhere to be found. (Kevin probably has it though, if he ends up adding historical source).
Only OpenGL code is built in the source as released, the Direct3D code is included but not compiled (could be reactivated, but not with the hardware T&L code), and Glide is nowhere to be found. (Kevin probably has it though, if he ends up adding historical source).
If reimplimenting D3D is doable and if it's possible to ask Kevin about it the Glide code, I'd encourage it.
I don't see that being done any time soon. D3D was probably disabled to help in developing cross-platform. A proper legacy
roadmap will likely be visited in the future.