VOGONS


First post, by eddman

User metadata
Rank Member
Rank
Member

RTSS is the go-to tool for detecting graphics APIs; the problem is, it can only detect D3D8 and higher.

Since games using D3D7 and older rely on DirectDraw to present the final result, RTSS detects them as DD (DirectDraw ).

Is there a way to determine the D3D variants in old games?

Last edited by eddman on 2021-01-25, 23:06. Edited 2 times in total.

Reply 1 of 7, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

You can check out WINE source code for ddraw. There are several version of virtual function tables when the caller instantiates a Direct3D device. That will tell you the version of Direct3D.

Reply 2 of 7, by eddman

User metadata
Rank Member
Rank
Member

I don't even know what to look for exactly. I have no knowledge of coding and source codes; besides maybe writing a "hello world" code.

Reply 3 of 7, by mr.cat

User metadata
Rank Member
Rank
Member

PCgamingwiki has some listed (I know you asked for a method, but it depends what your end goal with this information is). EDIT: Seems I was onto something here 😁
https://www.pcgamingwiki.com/wiki/List_of_DirectX_2-7_games

If the game works with WINE, you can use WINEDEBUG environment variable to trace what's happening:
https://wiki.winehq.org/Wine_Developer%27s_Gu … e/Debug_Logging
Note though, that's only one way to do it and probably kjliew has some better ways in his back pocket...maybe something better suited for Windows use? 😁
Hmm, can this be readily seen just by taking a look at the import tables? EDIT: Nope...or at least I don't know how to interpret that...

In the WINE source, check dlls/ddraw/ddraw.c (search for vtbl or Vtbl there). They are just simple tables for each D3D version, so don't worry about not knowing the code.

Last edited by mr.cat on 2021-01-28, 11:23. Edited 1 time in total.

Reply 4 of 7, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

MS DX SDKs include the debug version of DirectX.

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 5 of 7, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Or, just look at the game installation media. The bundled version of DirectX runtime redist gives the clue of the version of Direct3D the game would use.

Reply 6 of 7, by ZellSF

User metadata
Rank l33t
Rank
l33t

Why would you want to know?

Reply 7 of 7, by eddman

User metadata
Rank Member
Rank
Member
ZellSF wrote on 2021-01-26, 10:24:

Why would you want to know?

I, and others, are trying to clean up the direct3d information on PCgamingwiki, specifically for old games.

I could perhaps rely on system requirements, but tracking down original, official requirements is time consuming and in some cases not easy. They could also be unreliable for lesser known games, and open to debate.

Being able to check the d3d version directly would help immensely. It would provide concrete proof of the d3d version that can be trusted.