Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Topic on Talk:A.I.M. 2: Clan Wars

I apologize for the harshness of my tone in my initial reply. I was not in a good place when I wrote it, and I should not have even been replying in that state.

While the main reason is still correct, I would also invite you to share how you came to your conclusions. Windows compatibility works in strange ways. For example, D3D9 has backwards-compatibility built-in for both D3D8.x and D3D7 and lower (long story short, up until D3D8, all D3D versions contained supersets of all prior D3D versions, meaning you didn't have to have multiple versions of system D3D files installed), which is how the original release of Half-Life 2 can directly support GPUs as old as the D3D6 era while still requiring and exclusively using D3D9. It's still making the same old calls those cards will recognize, just not through the normal methods.

Furthermore, it sounds like the behavior you're describing is simple Windows compatibility kicking in. Nobody with a modern machine has D3D7 installed, yet those games will still run because Microsoft has built-in system files for anyone playing games which need them. Plus, it could be that D3D8 has a similar approach to backwards-compatibility as D3D9 does.

Also, why dgVoodoo2 needs both D3D8 and D3D7 DLLs when a game like A.I.M. 2 uses D3D8's backwards-compatibility is because when D3D8 makes the D3D7 calls, Windows is expecting the GPU drivers to handle those calls because, as far as it knows, a D3D8-compatible GPU is being used, so it doesn't need its usual compatibility work. So when D3D8 makes D3D7 calls, dgVoodoo2 needs the corresponding D3D7 DLLs to accept and wrap those calls - otherwise, the game crashes because, in effect, the GPU has no idea how to handle calls it should know how to make.