DirectX-D3DX9
D3DX9_xx.dll
D3DX9 extension library files. Relevant MSDN section, although unfortunately MSDN URLs tend to break over time.
A Brief Overview
In order to simplify the code structure in Wine, nearly all functions from the various d3dx9_xx dlls are forwarded to d3dx9_36. The primary exceptions are functions that were never implemented in d3dx9_36 (these are forwarded to d3dx9_24), the functions D3DXGetTargetDescByName and D3DXGetTargetDescByVersion, which are in d3dx9_24 to d3dx9_30 since we couldn't find any documentation for them.
This means that most Wine d3dx9 developers only need to focus on d3dx9_36. As of v1.5.27, Wine's implementation of the d3dx9 API includes:
- most math functions
- ID3DXSprite interface
- partial ID3DXFont interface (currently missing text drawing)
- most surface and texture functions
- some mesh functions
Also note that the shader assembler/compiler functions are now forwarded to d3dcompiler_43.dll, which is the "modern" interface to these features. This lets us reuse a lot of code for d3dx9, d3d10 and d3dx10 too.
Games for Testing
Here is a table of games that rely on d3dx9, along with which module they primarily (?) depend on:
| Title | d3dx9_?? |
|---|---|
| FEAR | 25 |
| Black & White 2 | 25 |
| Universal Combat | 25 |
| Civilization IV | 26 |
| Dreamfall: The Longest Journey 2 | 27 |
| Oblivion | 27 |
| Sid Meier's Railroads | 28 |
| Warlords Battlecry III | 28 |
| Settlers 2: The Next Generation | 29 |
| Caesar IV | 29 |
| Need for Speed Carbon | 30 |
| The Sims: Pet Stories (others too?) | 30 |
| Entropia Universe | 30 |
| Lego Star Wars II | 30 |
| EverQuest | 30 |
| Avencast: Rise of the Mage | 30 |
| Transformers | 31 |
| Touhou 10 | 31 |
| Tabula Rasa | 33 |
| Lost Planet | 33 |
| Need For Speed: Pro Street | 34 |
| Lego Indiana Jones | 35 |
| Lego Island | 35 |
| Chessmaster 11 | 35 |
| The Witcher | 35 |
| Medieval 2: Total War | 36 |
| Rainbow Six Vegas | 36 |
| Age of Empires III | 36 |
| Fable: The Lost Chapters | 36 |
| TrackMania Nations Forever | 36 |
| Europa Universalis Rome | 36 |
| Age of Conan | 36 |
| Overlord | 36 |
| Guitar Hero 3 | 36 |
| PatchCon | 36? |
| Resident Evil 4 | 36? |
| Flatout 2 | 36? |
| Battlefield 2 | 36? |
| Psychonauts | 36? |
| Crysis | 36? |
| Titan Quest | 36? |
| IrrEdit | 36? |


