Difference between revisions of "User:Eddman"
Line 3: | Line 3: | ||
===Determine the Direct3D/DirectDraw version for older games=== | ===Determine the Direct3D/DirectDraw version for older games=== | ||
− | This section is only applicable for DirectDraw and Direct3D 7 or older. For newer render APIs, use a tool such as [https://www.msi.com/Landing/afterburner/graphics-cards MSI Afterburner] or [[Special K]]. | + | This section is only applicable for '''DirectDraw''' and '''Direct3D 7 or older'''. For newer render APIs, use a tool such as [https://www.msi.com/Landing/afterburner/graphics-cards MSI Afterburner] or [[Special K]]. |
{{Fixbox|description=Identify the render API being used:|ref=|fix= | {{Fixbox|description=Identify the render API being used:|ref=|fix= | ||
Line 11: | Line 11: | ||
#* '''DirectDraw''' uses the following system DLL file: {{file|ddraw.dll}}. | #* '''DirectDraw''' uses the following system DLL file: {{file|ddraw.dll}}. | ||
#* Older games could often combine the use of render APIs, and might use both Direct3D (e.g. 3D rendering) and DirectDraw (e.g. video playback). | #* Older games could often combine the use of render APIs, and might use both Direct3D (e.g. 3D rendering) and DirectDraw (e.g. video playback). | ||
+ | |||
# Use a tool such as [https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer Process Explorer] to identify loaded DLL files of the game process while the game is running: | # Use a tool such as [https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer Process Explorer] to identify loaded DLL files of the game process while the game is running: | ||
− | #* Does the game | + | #* Does the game load {{file|d3dim700.dll}}? The game uses '''Direct3D 7'''. |
− | #* Does the game | + | #* Does the game load {{file|d3dim.dll}}? The game uses '''Direct3D 2-6''', and a tool such as [[dgVoodoo]] must be used for tracing the API calls to determine the exact version. |
− | #* Does the game | + | #* Does the game load {{file|ddraw.dll}} '''only'''? The game uses '''DirectDraw 1-7''', and a tool such as [[dgVoodoo]] must be used for tracing the API calls to determine the exact version. |
− | + | #* Does the game load both {{file|d3dim.dll}} and {{file|d3dim700.dll}}? The game potential uses one for rendering and the other for other purposes. A tool such as [[dgVoodoo]] must be used for tracing the API calls to determine which is used for rendering the game. | |
− | + | #* Does a 2D game load {{file|d3dim700.dll}}, despite having 2D graphics? Possible cases are: | |
− | + | ##Direct3D 7 is used to render certain effects which are not possible with DirectDraw alone. | |
− | + | ##The game might not be utilizing Direct3D 7 in any meaningful capacity at all. {{file|d3dim700.dll}} is possibly loaded as a result of a developer mistake, or using dev tools that added the DLL as a dependency by default. | |
+ | |||
+ | {{ii}}Note that {{file|ddraw.dll}} is always loaded alongside {{file|d3dim.dll}} and {{file|d3dim700.dll}}, since Direct3D 2-7 require DirectDraw to be able to function. | ||
If [[dgVoodoo]] needs to be used, do the following procedure to trace the calls: | If [[dgVoodoo]] needs to be used, do the following procedure to trace the calls: | ||
Line 31: | Line 34: | ||
#Exit the game and check <code>DebugView</code> or <code>DebugView++</code>. | #Exit the game and check <code>DebugView</code> or <code>DebugView++</code>. | ||
− | You | + | You should see a list of interfaces sorted by time. Determine the Direct3D or DirectDraw version using the following tables: |
{{ii}}There is no Direct3D 4 or DirectDraw 4, since DirectX 4 was canceled and never released. | {{ii}}There is no Direct3D 4 or DirectDraw 4, since DirectX 4 was canceled and never released. | ||
<pre> | <pre> |
Revision as of 00:20, 6 April 2024
Direct3D versions
DirectDraw is an obsolete 2D rendering API from Microsoft that was used by game developers mainly before the release of Direct3D 8.
Determine the Direct3D/DirectDraw version for older games
This section is only applicable for DirectDraw and Direct3D 7 or older. For newer render APIs, use a tool such as MSI Afterburner or Special K.
Identify the render API being used: |
---|
If dgVoodoo needs to be used, do the following procedure to trace the calls:
You should see a list of interfaces sorted by time. Determine the Direct3D or DirectDraw version using the following tables:
Direct3D version | Interfaces -----------------|----------------------------- 2/3 | Direct3D, Direct3DDevice 5 | Direct3D2, Direct3DDevice2 6 | Direct3D3, Direct3DDevice3 7 | Direct3D7, Direct3DDevice7 DirectDraw version | Interfaces -------------------|--------------------------- 1 | DirectDraw, DirectDrawSurface 2/3 | DirectDraw2, DirectDrawSurface2 5 | DirectDraw2, DirectDrawSurface3 6 | DirectDraw4, DirectDrawSurface4 7 | DirectDraw7, DirectDrawSurface7
|