Difference between revisions of "User:Eddman"
Line 144: | Line 144: | ||
</pre> | </pre> | ||
{{ii}}The Direct3D table isn't complete. The listed interfaces should be enough to determine the version. In most cases checking <code>Direct3D*</code> and/or <code>Direct3DDevice*</code> is enough. | {{ii}}The Direct3D table isn't complete. The listed interfaces should be enough to determine the version. In most cases checking <code>Direct3D*</code> and/or <code>Direct3DDevice*</code> is enough. | ||
− | |||
− | |||
{{ii}}If you have trouble determining the exact DirectDraw version, simply write <code>true</code> in the <code>directdraw versions</code> field on the wiki page.<br>An example would be mixed usage of interfaces, e.g. <code>DirectDraw2</code> with <code>DirectDrawSurface</code> and no sign of <code>DirectDrawSurface2</code>. It's recommended to set it to <code>true</code> to avoid a possible misidentification. | {{ii}}If you have trouble determining the exact DirectDraw version, simply write <code>true</code> in the <code>directdraw versions</code> field on the wiki page.<br>An example would be mixed usage of interfaces, e.g. <code>DirectDraw2</code> with <code>DirectDrawSurface</code> and no sign of <code>DirectDrawSurface2</code>. It's recommended to set it to <code>true</code> to avoid a possible misidentification. |
Revision as of 14:02, 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 | Direct3D2::CreateDevice | | Direct3DDevice2 | Direct3DDevice2::SetCurrentViewport | Direct3DDevice2::GetCurrentViewport | Direct3DDevice2::SetRenderTarget | Direct3DDevice2::GetRenderTarget | Direct3DDevice2::Begin | Direct3DDevice2::BeginIndexed | Direct3DDevice2::Vertex | Direct3DDevice2::Index | Direct3DDevice2::End | Direct3DDevice2::GetRenderState | Direct3DDevice2::SetRenderState | Direct3DDevice2::GetLightState | Direct3DDevice2::SetLightState | Direct3DDevice2::SetTransform | Direct3DDevice2::GetTransform | Direct3DDevice2::MultiplyTransform | Direct3DDevice2::DrawPrimitive | Direct3DDevice2::DrawIndexedPrimitive | Direct3DDevice2::SetClipStatus | Direct3DDevice2::GetClipStatus | | Direct3DRampDevice | Direct3DRGBDevice | Direct3DHALDevice | Direct3DMMXDevice | Direct3DMaterial2 | Direct3DTexture2 | Direct3DViewport2 ......................................................... 6 | Direct3D3 | Direct3D3::CreateVertexBuffer | Direct3D3::EnumZBufferFormats | Direct3D3::EvictManagedTextures | | Direct3DDevice3 | Direct3DDevice3::DrawPrimitiveStrided | Direct3DDevice3::DrawIndexedPrimitiveStrided | Direct3DDevice3::DrawPrimitiveVB | Direct3DDevice3::DrawIndexedPrimitiveVB | Direct3DDevice3::ComputeSphereVisibility | Direct3DDevice3::GetTexture | Direct3DDevice3::SetTexture | Direct3DDevice3::GetTextureStageState | Direct3DDevice3::SetTextureStageState | Direct3DDevice3::ValidateDevice | | Direct3DRefDevice | Direct3DNullDevice | Direct3DMaterial3 | Direct3DViewport3 | Direct3DVertexBuffer ......................................................... 7 | Direct3D7 | Direct3DDevice7
DirectDraw version | Interfaces -------------------|------------------------------------- 1 | DirectDraw | DirectDrawSurface ......................................................... 2/3 | DirectDraw2 | DirectDraw2::GetAvailableVidMem | | DirectDrawSurface2 | DirectDrawSurface2::GetDDInterface | DirectDrawSurface2::PageLock | DirectDrawSurface2::PageUnlock ......................................................... 5 | DirectDrawSurface3 | DirectDrawSurface3::SetSurfaceDesc | | DirectDrawColorControl ......................................................... 6 | DirectDraw4 | DirectDraw4::GetSurfaceFromDC | DirectDraw4::RestoreAllSurfaces | DirectDraw4::TestCooperativeLevel | DirectDraw4::GetDeviceIdentifier | | DirectDrawSurface4 | DirectDrawSurface4::SetPrivateData | DirectDrawSurface4::GetPrivateData | DirectDrawSurface4::FreePrivateData | DirectDrawSurface4::GetUniquenessValue | DirectDrawSurface4::ChangeUniquenessValue ......................................................... 7 | DirectDraw7 | DirectDraw7::StartModeTest | DirectDraw7::EvaluateMode | | DirectDrawSurface7 | DirectDrawSurface7::SetPriority | DirectDrawSurface7::GetPriority | DirectDrawSurface7::SetLOD | DirectDrawSurface7::GetLOD
|