Difference between revisions of "User:Eddman"
Line 3: | Line 3: | ||
===DirectDraw versions=== | ===DirectDraw versions=== | ||
− | '''DirectDraw''' is an obsolete 2D rendering API from Microsoft that was used by game developers mainly before the release of Direct3D 8. To determine the exact version of DirectDraw being used by a game, a more in-depth investigation needs to be performed by tracing the API calls with dgVoodoo (see [[#Determine the Direct3D/DirectDraw version for older games|Determine the Direct3D/DirectDraw version for older games]]). | + | '''DirectDraw''' is an obsolete 2D rendering API from Microsoft that was used by game developers mainly before the release of Direct3D 8. To determine the exact version of DirectDraw being used by a game, a more in-depth investigation needs to be performed by tracing the API calls with dgVoodoo 2 (see [[#Determine the Direct3D/DirectDraw version for older games|Determine the Direct3D/DirectDraw version for older games]]). |
===Determine the Direct3D/DirectDraw version for older games=== | ===Determine the Direct3D/DirectDraw version for older games=== | ||
Line 12: | Line 12: | ||
* If the game loads {{file|d3dim700.dll}}, it uses '''Direct3D 7'''. | * If the game loads {{file|d3dim700.dll}}, it uses '''Direct3D 7'''. | ||
− | *If the game loads the following DLLs, the exact API version cannot be determined based on the DLL alone. A tool such as [[dgVoodoo]] must be used to trace the API calls for determining the exact version: | + | *If the game loads the following DLLs, the exact API version cannot be determined based on the DLL alone. A tool such as [[dgVoodoo 2]] must be used to trace the API calls for determining the exact version: |
** If the game loads {{file|d3dim.dll}}, it uses a version in the '''Direct3D 2-6''' range. | ** If the game loads {{file|d3dim.dll}}, it uses a version in the '''Direct3D 2-6''' range. | ||
** If the game loads {{file|ddraw.dll}} '''only''', it uses a version in the '''DirectDraw 1-7''' range. | ** If the game loads {{file|ddraw.dll}} '''only''', it uses a version in the '''DirectDraw 1-7''' range. | ||
Line 22: | Line 22: | ||
{{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. | {{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 | + | If '''dgVoodoo 2''' needs to be used, perform the following procedure to trace the calls: |
− | |||
− | #Download the debug build (named as <code>(spec release with Debug Layer)</code>) | + | #Download the debug build of '''dgVoodoo 2''' (named as <code>(spec release with Debug Layer)</code>), and also download <code>DebugView</code> or <code>DebugView++</code>. |
− | #Apply the | + | #Apply the '''dgVoodoo 2''' files to the game per the usual method in the [[DgVoodoo_2#Installation|guide]]. |
#In the game folder, run {{file|dgVoodooCpl.exe}}, right-click on the <code>dgVoodoo</code> banner, and enable <code>Show all sections of the configuration</code>. | #In the game folder, run {{file|dgVoodooCpl.exe}}, right-click on the <code>dgVoodoo</code> banner, and enable <code>Show all sections of the configuration</code>. | ||
#Open the last tab, <code>Debug</code>, and set <code>Maximum trace level</code> to <code>+Additional trace info for internals</code>. | #Open the last tab, <code>Debug</code>, and set <code>Maximum trace level</code> to <code>+Additional trace info for internals</code>. |
Revision as of 01:39, 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.
DirectDraw versions
DirectDraw is an obsolete 2D rendering API from Microsoft that was used by game developers mainly before the release of Direct3D 8. To determine the exact version of DirectDraw being used by a game, a more in-depth investigation needs to be performed by tracing the API calls with dgVoodoo 2 (see Determine the Direct3D/DirectDraw version for older games).
Determine the Direct3D/DirectDraw version for older games
This section is applicable for DirectDraw and Direct3D 7 or older. Although these methods can be used for Direct3D 8-9, using a tool such as MSI Afterburner or Special K is recommended.
Identify the render API being used: |
---|
Use a tool such as Process Explorer to identify the loaded DLL files of the game process while the game is running:
If dgVoodoo 2 needs to be used, perform 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
|