diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec
index 3cd695ab86dcc9066d6695576e552f01cd7583d0..3a7e007e87306d6cdb6356dc8a99859760c54a27 100644
--- a/dlls/d3dx9_24/d3dx9_24.spec
+++ b/dlls/d3dx9_24/d3dx9_24.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_24/d3dx9_24_main.c b/dlls/d3dx9_24/d3dx9_24_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..1d4e9786a03e2e12bb276efa97291aea8453dd66 100644
--- a/dlls/d3dx9_24/d3dx9_24_main.c
+++ b/dlls/d3dx9_24/d3dx9_24_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==24)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_25/d3dx9_25.spec b/dlls/d3dx9_25/d3dx9_25.spec
index 74b013d51c4072ff5a901da501789eacc3214120..849d0ababe4dcd6fd66afc03536f19a4cf2d4f9d 100644
--- a/dlls/d3dx9_25/d3dx9_25.spec
+++ b/dlls/d3dx9_25/d3dx9_25.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_25/d3dx9_25_main.c b/dlls/d3dx9_25/d3dx9_25_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..7d1955aac23c4f2507dc3863479c188835b8abfe 100644
--- a/dlls/d3dx9_25/d3dx9_25_main.c
+++ b/dlls/d3dx9_25/d3dx9_25_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==25)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_26/d3dx9_26.spec b/dlls/d3dx9_26/d3dx9_26.spec
index a06efef24223f6006087c4bc8d57708d3ae5e9b2..55d40425803ae81d5c99764b71abe9c8286c81ef 100644
--- a/dlls/d3dx9_26/d3dx9_26.spec
+++ b/dlls/d3dx9_26/d3dx9_26.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_26/d3dx9_26_main.c b/dlls/d3dx9_26/d3dx9_26_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..570bfeac92ea133b82b0d3b0b4c13e16a3bf39d4 100644
--- a/dlls/d3dx9_26/d3dx9_26_main.c
+++ b/dlls/d3dx9_26/d3dx9_26_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==26)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_27/d3dx9_27.spec b/dlls/d3dx9_27/d3dx9_27.spec
index a06efef24223f6006087c4bc8d57708d3ae5e9b2..55d40425803ae81d5c99764b71abe9c8286c81ef 100644
--- a/dlls/d3dx9_27/d3dx9_27.spec
+++ b/dlls/d3dx9_27/d3dx9_27.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_27/d3dx9_27_main.c b/dlls/d3dx9_27/d3dx9_27_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..e872a9dded81fd648120f02ca938d9e5ef7c8bf5 100644
--- a/dlls/d3dx9_27/d3dx9_27_main.c
+++ b/dlls/d3dx9_27/d3dx9_27_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==27)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_28/d3dx9_28.spec b/dlls/d3dx9_28/d3dx9_28.spec
index 6b837dcaf3485137d7cb4246cfa4e644fc18d98d..e6648b864809ec00b4f7d2a40e345ecd19569112 100644
--- a/dlls/d3dx9_28/d3dx9_28.spec
+++ b/dlls/d3dx9_28/d3dx9_28.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_28/d3dx9_28_main.c b/dlls/d3dx9_28/d3dx9_28_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..d861b37841d850d184955bbc707e5aae365c2358 100644
--- a/dlls/d3dx9_28/d3dx9_28_main.c
+++ b/dlls/d3dx9_28/d3dx9_28_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==28)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_29/d3dx9_29.spec b/dlls/d3dx9_29/d3dx9_29.spec
index 6b837dcaf3485137d7cb4246cfa4e644fc18d98d..e6648b864809ec00b4f7d2a40e345ecd19569112 100644
--- a/dlls/d3dx9_29/d3dx9_29.spec
+++ b/dlls/d3dx9_29/d3dx9_29.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_29/d3dx9_29_main.c b/dlls/d3dx9_29/d3dx9_29_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..a1dc9ae9d5efbad69d7665a7bf634ec684f1ca3a 100644
--- a/dlls/d3dx9_29/d3dx9_29_main.c
+++ b/dlls/d3dx9_29/d3dx9_29_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==29)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_30/d3dx9_30.spec b/dlls/d3dx9_30/d3dx9_30.spec
index 6b837dcaf3485137d7cb4246cfa4e644fc18d98d..e6648b864809ec00b4f7d2a40e345ecd19569112 100644
--- a/dlls/d3dx9_30/d3dx9_30.spec
+++ b/dlls/d3dx9_30/d3dx9_30.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_30/d3dx9_30_main.c b/dlls/d3dx9_30/d3dx9_30_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..1cafa4156d77f853dab14c0cf7ee9940e07e94ba 100644
--- a/dlls/d3dx9_30/d3dx9_30_main.c
+++ b/dlls/d3dx9_30/d3dx9_30_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==30)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_31/d3dx9_31.spec b/dlls/d3dx9_31/d3dx9_31.spec
index 9e5e2e3a26ab4ef7c4d391240a98b6c7d8247fae..807b7a90b7473e8558d49d43590072a72c9064b7 100644
--- a/dlls/d3dx9_31/d3dx9_31.spec
+++ b/dlls/d3dx9_31/d3dx9_31.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_31/d3dx9_31_main.c b/dlls/d3dx9_31/d3dx9_31_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..13f8e17085395f58a245c144289d3016312629f2 100644
--- a/dlls/d3dx9_31/d3dx9_31_main.c
+++ b/dlls/d3dx9_31/d3dx9_31_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==31)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_32/d3dx9_32.spec b/dlls/d3dx9_32/d3dx9_32.spec
index 54abbd96324879e8542a10e78a1c817a89f931b6..5a152aeeef874ffee9391bbaa0ec009ab6c92dda 100644
--- a/dlls/d3dx9_32/d3dx9_32.spec
+++ b/dlls/d3dx9_32/d3dx9_32.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_32/d3dx9_32_main.c b/dlls/d3dx9_32/d3dx9_32_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..f03c4397631c2131d0e7d6d9efb1d76b440ab8f0 100644
--- a/dlls/d3dx9_32/d3dx9_32_main.c
+++ b/dlls/d3dx9_32/d3dx9_32_main.c
@@ -51,3 +51,16 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==32)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_33/d3dx9_33.spec b/dlls/d3dx9_33/d3dx9_33.spec
index 54abbd96324879e8542a10e78a1c817a89f931b6..5a152aeeef874ffee9391bbaa0ec009ab6c92dda 100644
--- a/dlls/d3dx9_33/d3dx9_33.spec
+++ b/dlls/d3dx9_33/d3dx9_33.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_33/d3dx9_33_main.c b/dlls/d3dx9_33/d3dx9_33_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..e8e144be434f849e2ece1012d4d306e8d2f8a4c2 100644
--- a/dlls/d3dx9_33/d3dx9_33_main.c
+++ b/dlls/d3dx9_33/d3dx9_33_main.c
@@ -51,3 +51,16 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==33)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_34/d3dx9_34.spec b/dlls/d3dx9_34/d3dx9_34.spec
index 54abbd96324879e8542a10e78a1c817a89f931b6..5a152aeeef874ffee9391bbaa0ec009ab6c92dda 100644
--- a/dlls/d3dx9_34/d3dx9_34.spec
+++ b/dlls/d3dx9_34/d3dx9_34.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_34/d3dx9_34_main.c b/dlls/d3dx9_34/d3dx9_34_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..e34b4d647cad521f2090b7f5db78f1eaed09d340 100644
--- a/dlls/d3dx9_34/d3dx9_34_main.c
+++ b/dlls/d3dx9_34/d3dx9_34_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==34)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_35/d3dx9_35.spec b/dlls/d3dx9_35/d3dx9_35.spec
index 54abbd96324879e8542a10e78a1c817a89f931b6..5a152aeeef874ffee9391bbaa0ec009ab6c92dda 100644
--- a/dlls/d3dx9_35/d3dx9_35.spec
+++ b/dlls/d3dx9_35/d3dx9_35.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx9_36.D3DXBoxBoundProbe
 @ stdcall D3DXCheckCubeTextureRequirements(ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckCubeTextureRequirements
 @ stdcall D3DXCheckTextureRequirements(ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckTextureRequirements
-@ stdcall D3DXCheckVersion(long long) d3dx9_36.D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stdcall D3DXCheckVolumeTextureRequirements(ptr ptr ptr ptr ptr long ptr long) d3dx9_36.D3DXCheckVolumeTextureRequirements
 @ stdcall D3DXCleanMesh(ptr ptr ptr ptr ptr) d3dx9_36.D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx9_36.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_35/d3dx9_35_main.c b/dlls/d3dx9_35/d3dx9_35_main.c
index c5d671635b4a26e1a6d8b360b4ed65da038d44fd..bde53688c380b4dc4684cf21a9cb12621d1701f4 100644
--- a/dlls/d3dx9_35/d3dx9_35_main.c
+++ b/dlls/d3dx9_35/d3dx9_35_main.c
@@ -51,3 +51,15 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     }
     return TRUE;
 }
+
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==35)
+        return TRUE;
+    else
+        return FALSE;
+}
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index 607a09876c41f54a2110eeb73a346e343149da3e..1a26ebcebad7756f7eb462f9a50e05df23e954bd 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -6,7 +6,7 @@
 @ stdcall D3DXBoxBoundProbe(ptr ptr ptr ptr) d3dx8.D3DXBoxBoundProbe
 @ stub D3DXCheckCubeTextureRequirements
 @ stub D3DXCheckTextureRequirements
-@ stub D3DXCheckVersion
+@ stdcall D3DXCheckVersion(long long)
 @ stub D3DXCheckVolumeTextureRequirements
 @ stub D3DXCleanMesh
 @ stdcall D3DXColorAdjustContrast(ptr ptr long) d3dx8.D3DXColorAdjustContrast
diff --git a/dlls/d3dx9_36/d3dx9_36_main.c b/dlls/d3dx9_36/d3dx9_36_main.c
index 6ccb78c9b3aecc3b8bbcfc33ece7f5c074c4c382..1857eb9323ba889619bf5383c5ce2b67c05d5855 100644
--- a/dlls/d3dx9_36/d3dx9_36_main.c
+++ b/dlls/d3dx9_36/d3dx9_36_main.c
@@ -53,6 +53,18 @@ BOOL WINAPI DllMain(HINSTANCE inst, DWORD reason, LPVOID reserved)
     return TRUE;
 }
 
+/***********************************************************************
+ * D3DXCheckVersion
+ * Checks wether we are compiling against the correct d3d and d3dx library.
+ */
+BOOL WINAPI D3DXCheckVersion(UINT d3dsdkvers, UINT d3dxsdkvers)
+{
+    if(d3dsdkvers==D3D_SDK_VERSION && d3dxsdkvers==36)
+        return TRUE;
+    else
+        return FALSE;
+}
+
 /***********************************************************************
  * D3DXGetDriverLevel.
  * Returns always 900 (DX 9) for us