Use wine-import.sh script for all d3dx9* headers imported from Wine

git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@4069 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-headers/direct-x/include/d3dx9effect.h b/mingw-w64-headers/direct-x/include/d3dx9effect.h
index 3bb2878..7ff0528 100644
--- a/mingw-w64-headers/direct-x/include/d3dx9effect.h
+++ b/mingw-w64-headers/direct-x/include/d3dx9effect.h
@@ -1,3 +1,4 @@
+#undef INTERFACE
 /*
  * Copyright 2010 Christian Costa
  *
@@ -108,10 +109,10 @@
     STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
     STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
     STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
-    STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
-    STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
-    STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
-    STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
+    STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, WINBOOL b) PURE;
+    STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, WINBOOL* b) PURE;
+    STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST WINBOOL* b, UINT count) PURE;
+    STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, WINBOOL* b, UINT count) PURE;
     STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
     STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
     STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
@@ -164,7 +165,7 @@
     STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE state, CONST D3DMATRIX* matrix) PURE;
     STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* material) PURE;
     STDMETHOD(SetLight)(THIS_ DWORD index, CONST D3DLIGHT9* light) PURE;
-    STDMETHOD(LightEnable)(THIS_ DWORD index, BOOL enable) PURE;
+    STDMETHOD(LightEnable)(THIS_ DWORD index, WINBOOL enable) PURE;
     STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE state, DWORD value) PURE;
     STDMETHOD(SetTexture)(THIS_ DWORD stage, LPDIRECT3DBASETEXTURE9 texture) PURE;
     STDMETHOD(SetTextureStageState)(THIS_ DWORD stage, D3DTEXTURESTAGESTATETYPE type, DWORD value) PURE;
@@ -174,11 +175,11 @@
     STDMETHOD(SetVertexShader)(THIS_ LPDIRECT3DVERTEXSHADER9 shader) PURE;
     STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT register_index, CONST FLOAT* constant_data, UINT register_count) PURE;
     STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT register_index, CONST INT* constant_data, UINT register_count) PURE;
-    STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT register_index, CONST BOOL* constant_data, UINT register_count) PURE;
+    STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT register_index, CONST WINBOOL* constant_data, UINT register_count) PURE;
     STDMETHOD(SetPixelShader)(THIS_ LPDIRECT3DPIXELSHADER9 shader) PURE;
     STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT register_index, CONST FLOAT* constant_data, UINT register_count) PURE;
     STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT register_index, CONST INT * constant_data, UINT register_count) PURE;
-    STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT register_index, CONST BOOL* constant_data, UINT register_count) PURE;
+    STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT register_index, CONST WINBOOL* constant_data, UINT register_count) PURE;
 };
 
 typedef struct ID3DXEffect *LPD3DXEFFECT;
@@ -214,10 +215,10 @@
     STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
     STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
     STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
-    STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
-    STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
-    STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
-    STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
+    STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, WINBOOL b) PURE;
+    STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, WINBOOL* b) PURE;
+    STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST WINBOOL* b, UINT count) PURE;
+    STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, WINBOOL* b, UINT count) PURE;
     STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
     STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
     STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
@@ -255,7 +256,7 @@
     STDMETHOD_(D3DXHANDLE, GetCurrentTechnique)(THIS) PURE;
     STDMETHOD(ValidateTechnique)(THIS_ D3DXHANDLE technique) PURE;
     STDMETHOD(FindNextValidTechnique)(THIS_ D3DXHANDLE technique, D3DXHANDLE* next_technique) PURE;
-    STDMETHOD_(BOOL, IsParameterUsed)(THIS_ D3DXHANDLE parameter, D3DXHANDLE technique) PURE;
+    STDMETHOD_(WINBOOL, IsParameterUsed)(THIS_ D3DXHANDLE parameter, D3DXHANDLE technique) PURE;
     STDMETHOD(Begin)(THIS_ UINT *passes, DWORD flags) PURE;
     STDMETHOD(BeginPass)(THIS_ UINT pass) PURE;
     STDMETHOD(CommitChanges)(THIS) PURE;
@@ -307,10 +308,10 @@
     STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, LPCSTR name) PURE;
     STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, LPCVOID data, UINT bytes) PURE;
     STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, LPVOID data, UINT bytes) PURE;
-    STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, BOOL b) PURE;
-    STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
-    STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST BOOL* b, UINT count) PURE;
-    STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
+    STDMETHOD(SetBool)(THIS_ D3DXHANDLE parameter, WINBOOL b) PURE;
+    STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, WINBOOL* b) PURE;
+    STDMETHOD(SetBoolArray)(THIS_ D3DXHANDLE parameter, CONST WINBOOL* b, UINT count) PURE;
+    STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, WINBOOL* b, UINT count) PURE;
     STDMETHOD(SetInt)(THIS_ D3DXHANDLE parameter, INT n) PURE;
     STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
     STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, CONST INT* n, UINT count) PURE;
@@ -345,12 +346,13 @@
     STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, LPDIRECT3DVERTEXSHADER9* vshader) PURE;
     STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
     /*** ID3DXEffectCompiler methods ***/
-    STDMETHOD(SetLiteral)(THIS_ D3DXHANDLE parameter, BOOL literal) PURE;
-    STDMETHOD(GetLiteral)(THIS_ D3DXHANDLE parameter, BOOL* literal) PURE;
+    STDMETHOD(SetLiteral)(THIS_ D3DXHANDLE parameter, WINBOOL literal) PURE;
+    STDMETHOD(GetLiteral)(THIS_ D3DXHANDLE parameter, WINBOOL* literal) PURE;
     STDMETHOD(CompileEffect)(THIS_ DWORD flags, LPD3DXBUFFER* effect, LPD3DXBUFFER* error_msgs) PURE;
     STDMETHOD(CompileShader)(THIS_ D3DXHANDLE function, LPCSTR target, DWORD flags, LPD3DXBUFFER* shader,
         LPD3DXBUFFER* error_msgs, LPD3DXCONSTANTTABLE* constant_table) PURE;
 };
+#undef INTERFACE
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/mingw-w64-headers/direct-x/include/d3dx9math.h b/mingw-w64-headers/direct-x/include/d3dx9math.h
index f842e3e..49be4cc 100644
--- a/mingw-w64-headers/direct-x/include/d3dx9math.h
+++ b/mingw-w64-headers/direct-x/include/d3dx9math.h
@@ -1,3 +1,4 @@
+#undef INTERFACE
 /*
  * Copyright (C) 2007 David Adam
  * Copyright (C) 2007 Tony Wasserka
@@ -57,8 +58,8 @@
 
     friend D3DXVECTOR2 operator * (FLOAT, CONST D3DXVECTOR2&);
 
-    BOOL operator == (CONST D3DXVECTOR2&) const;
-    BOOL operator != (CONST D3DXVECTOR2&) const;
+    WINBOOL operator == (CONST D3DXVECTOR2&) const;
+    WINBOOL operator != (CONST D3DXVECTOR2&) const;
 #endif /* __cplusplus */
     FLOAT x, y;
 } D3DXVECTOR2, *LPD3DXVECTOR2;
@@ -89,8 +90,8 @@
 
     friend D3DXVECTOR3 operator * (FLOAT, CONST struct D3DXVECTOR3&);
 
-    BOOL operator == (CONST D3DXVECTOR3&) const;
-    BOOL operator != (CONST D3DXVECTOR3&) const;
+    WINBOOL operator == (CONST D3DXVECTOR3&) const;
+    WINBOOL operator != (CONST D3DXVECTOR3&) const;
 } D3DXVECTOR3, *LPD3DXVECTOR3;
 #else /* !__cplusplus */
 typedef struct _D3DVECTOR D3DXVECTOR3, *LPD3DXVECTOR3;
@@ -121,8 +122,8 @@
 
     friend D3DXVECTOR4 operator * (FLOAT, CONST D3DXVECTOR4&);
 
-    BOOL operator == (CONST D3DXVECTOR4&) const;
-    BOOL operator != (CONST D3DXVECTOR4&) const;
+    WINBOOL operator == (CONST D3DXVECTOR4&) const;
+    WINBOOL operator != (CONST D3DXVECTOR4&) const;
 #endif /* __cplusplus */
     FLOAT x, y, z, w;
 } D3DXVECTOR4, *LPD3DXVECTOR4;
@@ -161,8 +162,8 @@
 
     friend D3DXMATRIX operator * (FLOAT, CONST D3DXMATRIX&);
 
-    BOOL operator == (CONST D3DXMATRIX&) const;
-    BOOL operator != (CONST D3DXMATRIX&) const;
+    WINBOOL operator == (CONST D3DXMATRIX&) const;
+    WINBOOL operator != (CONST D3DXMATRIX&) const;
 } D3DXMATRIX, *LPD3DXMATRIX;
 #else /* !__cplusplus */
 typedef struct _D3DMATRIX D3DXMATRIX, *LPD3DXMATRIX;
@@ -195,8 +196,8 @@
 
     friend D3DXQUATERNION operator * (FLOAT, CONST D3DXQUATERNION&);
 
-    BOOL operator == (CONST D3DXQUATERNION&) const;
-    BOOL operator != (CONST D3DXQUATERNION&) const;
+    WINBOOL operator == (CONST D3DXQUATERNION&) const;
+    WINBOOL operator != (CONST D3DXQUATERNION&) const;
 #endif /* __cplusplus */
     FLOAT x, y, z, w;
 } D3DXQUATERNION, *LPD3DXQUATERNION;
@@ -214,8 +215,8 @@
     D3DXPLANE operator + () const;
     D3DXPLANE operator - () const;
 
-    BOOL operator == (CONST D3DXPLANE&) const;
-    BOOL operator != (CONST D3DXPLANE&) const;
+    WINBOOL operator == (CONST D3DXPLANE&) const;
+    WINBOOL operator != (CONST D3DXPLANE&) const;
 #endif /* __cplusplus */
     FLOAT a, b, c, d;
 } D3DXPLANE, *LPD3DXPLANE;
@@ -255,8 +256,8 @@
 
     friend D3DXCOLOR operator * (FLOAT, CONST D3DXCOLOR&);
 
-    BOOL operator == (CONST D3DXCOLOR&) const;
-    BOOL operator != (CONST D3DXCOLOR&) const;
+    WINBOOL operator == (CONST D3DXCOLOR&) const;
+    WINBOOL operator != (CONST D3DXCOLOR&) const;
 #endif /* __cplusplus */
     FLOAT r, g, b, a;
 } D3DXCOLOR, *LPD3DXCOLOR;
diff --git a/mingw-w64-headers/direct-x/include/d3dx9math.inl b/mingw-w64-headers/direct-x/include/d3dx9math.inl
index 3cd078a..b68a0cd 100644
--- a/mingw-w64-headers/direct-x/include/d3dx9math.inl
+++ b/mingw-w64-headers/direct-x/include/d3dx9math.inl
@@ -113,12 +113,12 @@
     return D3DXVECTOR2(f * v.x, f * v.y);
 }
 
-inline BOOL D3DXVECTOR2::operator == (CONST D3DXVECTOR2& v) const
+inline WINBOOL D3DXVECTOR2::operator == (CONST D3DXVECTOR2& v) const
 {
     return x == v.x && y == v.y;
 }
 
-inline BOOL D3DXVECTOR2::operator != (CONST D3DXVECTOR2& v) const
+inline WINBOOL D3DXVECTOR2::operator != (CONST D3DXVECTOR2& v) const
 {
     return x != v.x || y != v.y;
 }
@@ -226,12 +226,12 @@
     return D3DXVECTOR3(f * v.x, f * v.y, f * v.z);
 }
 
-inline BOOL D3DXVECTOR3::operator == (CONST D3DXVECTOR3& v) const
+inline WINBOOL D3DXVECTOR3::operator == (CONST D3DXVECTOR3& v) const
 {
     return x == v.x && y == v.y && z == v.z;
 }
 
-inline BOOL D3DXVECTOR3::operator != (CONST D3DXVECTOR3& v) const
+inline WINBOOL D3DXVECTOR3::operator != (CONST D3DXVECTOR3& v) const
 {
     return x != v.x || y != v.y || z != v.z;
 }
@@ -338,12 +338,12 @@
     return D3DXVECTOR4(f * v.x, f * v.y, f * v.z, f * v.w);
 }
 
-inline BOOL D3DXVECTOR4::operator == (CONST D3DXVECTOR4& v) const
+inline WINBOOL D3DXVECTOR4::operator == (CONST D3DXVECTOR4& v) const
 {
     return x == v.x && y == v.y && z == v.z && w == v.w;
 }
 
-inline BOOL D3DXVECTOR4::operator != (CONST D3DXVECTOR4& v) const
+inline WINBOOL D3DXVECTOR4::operator != (CONST D3DXVECTOR4& v) const
 {
     return x != v.x || y != v.y || z != v.z || w != v.w;
 }
@@ -498,12 +498,12 @@
                       f * mat._41, f * mat._42, f * mat._43, f * mat._44);
 }
 
-inline BOOL D3DXMATRIX::operator == (CONST D3DXMATRIX& mat) const
+inline WINBOOL D3DXMATRIX::operator == (CONST D3DXMATRIX& mat) const
 {
     return (memcmp(this, &mat, sizeof(D3DXMATRIX)) == 0);
 }
 
-inline BOOL D3DXMATRIX::operator != (CONST D3DXMATRIX& mat) const
+inline WINBOOL D3DXMATRIX::operator != (CONST D3DXMATRIX& mat) const
 {
     return (memcmp(this, &mat, sizeof(D3DXMATRIX)) != 0);
 }
@@ -629,12 +629,12 @@
     return D3DXQUATERNION(f * quat.x, f * quat.y, f * quat.z, f * quat.w);
 }
 
-inline BOOL D3DXQUATERNION::operator == (CONST D3DXQUATERNION& quat) const
+inline WINBOOL D3DXQUATERNION::operator == (CONST D3DXQUATERNION& quat) const
 {
     return x == quat.x && y == quat.y && z == quat.z && w == quat.w;
 }
 
-inline BOOL D3DXQUATERNION::operator != (CONST D3DXQUATERNION& quat) const
+inline WINBOOL D3DXQUATERNION::operator != (CONST D3DXQUATERNION& quat) const
 {
     return x != quat.x || y != quat.y || z != quat.z || w != quat.w;
 }
@@ -680,12 +680,12 @@
     return D3DXPLANE(-a, -b, -c, -d);
 }
 
-inline BOOL D3DXPLANE::operator == (CONST D3DXPLANE& pl) const
+inline WINBOOL D3DXPLANE::operator == (CONST D3DXPLANE& pl) const
 {
     return a == pl.a && b == pl.b && c == pl.c && d == pl.d;
 }
 
-inline BOOL D3DXPLANE::operator != (CONST D3DXPLANE& pl) const
+inline WINBOOL D3DXPLANE::operator != (CONST D3DXPLANE& pl) const
 {
     return a != pl.a || b != pl.b || c != pl.c || d != pl.d;
 }
@@ -841,12 +841,12 @@
     return D3DXCOLOR(f * col.r, f * col.g, f * col.b, f * col.a);
 }
 
-inline BOOL D3DXCOLOR::operator == (CONST D3DXCOLOR& col) const
+inline WINBOOL D3DXCOLOR::operator == (CONST D3DXCOLOR& col) const
 {
     return r == col.r && g == col.g && b == col.b && a == col.a;
 }
 
-inline BOOL D3DXCOLOR::operator != (CONST D3DXCOLOR& col) const
+inline WINBOOL D3DXCOLOR::operator != (CONST D3DXCOLOR& col) const
 {
     return r != col.r || g != col.g || b != col.b || a != col.a;
 }
@@ -1181,7 +1181,7 @@
     return pout;
 }
 
-static inline BOOL D3DXMatrixIsIdentity(D3DXMATRIX *pm)
+static inline WINBOOL D3DXMatrixIsIdentity(D3DXMATRIX *pm)
 {
     int i,j;
     D3DXMATRIX testmatrix;
@@ -1247,7 +1247,7 @@
     return pout;
 }
 
-static inline BOOL D3DXQuaternionIsIdentity(D3DXQUATERNION *pq)
+static inline WINBOOL D3DXQuaternionIsIdentity(D3DXQUATERNION *pq)
 {
     if ( !pq) return FALSE;
     return ( (pq->x == 0.0f) && (pq->y == 0.0f) && (pq->z == 0.0f) && (pq->w == 1.0f) );
diff --git a/mingw-w64-headers/direct-x/include/d3dx9mesh.h b/mingw-w64-headers/direct-x/include/d3dx9mesh.h
index 5773d24..cf3860f 100644
--- a/mingw-w64-headers/direct-x/include/d3dx9mesh.h
+++ b/mingw-w64-headers/direct-x/include/d3dx9mesh.h
@@ -1,3 +1,4 @@
+#undef INTERFACE
 /*
  * Copyright (C) 2009 David Adam
  * Copyright (C) 2010 Tony Wasserka
@@ -30,6 +31,32 @@
     MAX_FVF_DECL_SIZE = MAXD3DDECLLENGTH + 1
 };
 
+enum _D3DXMESH
+{
+    D3DXMESH_32BIT                 = 0x001,
+    D3DXMESH_DONOTCLIP             = 0x002,
+    D3DXMESH_POINTS                = 0x004,
+    D3DXMESH_RTPATCHES             = 0x008,
+    D3DXMESH_NPATCHES              = 0x4000,
+    D3DXMESH_VB_SYSTEMMEM          = 0x010,
+    D3DXMESH_VB_MANAGED            = 0x020,
+    D3DXMESH_VB_WRITEONLY          = 0x040,
+    D3DXMESH_VB_DYNAMIC            = 0x080,
+    D3DXMESH_VB_SOFTWAREPROCESSING = 0x8000,
+    D3DXMESH_IB_SYSTEMMEM          = 0x100,
+    D3DXMESH_IB_MANAGED            = 0x200,
+    D3DXMESH_IB_WRITEONLY          = 0x400,
+    D3DXMESH_IB_DYNAMIC            = 0x800,
+    D3DXMESH_IB_SOFTWAREPROCESSING = 0x10000,
+    D3DXMESH_VB_SHARE              = 0x1000,
+    D3DXMESH_USEHWONLY             = 0x2000,
+    D3DXMESH_SYSTEMMEM             = 0x110,
+    D3DXMESH_MANAGED               = 0x220,
+    D3DXMESH_WRITEONLY             = 0x440,
+    D3DXMESH_DYNAMIC               = 0x880,
+    D3DXMESH_SOFTWAREPROCESSING    = 0x18000
+};
+
 typedef struct ID3DXBaseMesh* LPD3DXBASEMESH;
 typedef struct ID3DXMesh* LPD3DXMESH;
 
@@ -124,15 +151,19 @@
 extern "C" {
 #endif
 
+HRESULT WINAPI D3DXCreateMesh(DWORD, DWORD, DWORD, CONST D3DVERTEXELEMENT9 *, LPDIRECT3DDEVICE9, LPD3DXMESH *);
+HRESULT WINAPI D3DXCreateMeshFVF(DWORD, DWORD, DWORD, DWORD, LPDIRECT3DDEVICE9, LPD3DXMESH *);
 HRESULT WINAPI D3DXCreateBuffer(DWORD, LPD3DXBUFFER*);
+UINT    WINAPI D3DXGetDeclLength(const D3DVERTEXELEMENT9 *decl);
 UINT    WINAPI D3DXGetDeclVertexSize(const D3DVERTEXELEMENT9 *decl, DWORD stream_idx);
 UINT    WINAPI D3DXGetFVFVertexSize(DWORD);
-BOOL    WINAPI D3DXBoxBoundProbe(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *);
-BOOL    WINAPI D3DXSphereBoundProbe(CONST D3DXVECTOR3 *,FLOAT,CONST D3DXVECTOR3 *,CONST D3DXVECTOR3 *);
+WINBOOL WINAPI D3DXBoxBoundProbe(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *);
+WINBOOL WINAPI D3DXSphereBoundProbe(CONST D3DXVECTOR3 *,FLOAT,CONST D3DXVECTOR3 *,CONST D3DXVECTOR3 *);
 HRESULT WINAPI D3DXComputeBoundingBox(CONST D3DXVECTOR3 *, DWORD, DWORD, D3DXVECTOR3 *, D3DXVECTOR3 *);
 HRESULT WINAPI D3DXComputeBoundingSphere(CONST D3DXVECTOR3 *, DWORD, DWORD, D3DXVECTOR3 *, FLOAT *);
 HRESULT WINAPI D3DXDeclaratorFromFVF(DWORD, D3DVERTEXELEMENT9[MAX_FVF_DECL_SIZE]);
-BOOL    WINAPI D3DXIntersectTri(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3*, FLOAT *, FLOAT *, FLOAT *);
+HRESULT WINAPI D3DXFVFFromDeclarator(const D3DVERTEXELEMENT9 *decl, DWORD *fvf);
+WINBOOL WINAPI D3DXIntersectTri(CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3 *, CONST D3DXVECTOR3*, FLOAT *, FLOAT *, FLOAT *);
 
 #ifdef __cplusplus
 }
diff --git a/mingw-w64-headers/direct-x/include/d3dx9shader.h b/mingw-w64-headers/direct-x/include/d3dx9shader.h
index c8380bc..4909e4a 100644
--- a/mingw-w64-headers/direct-x/include/d3dx9shader.h
+++ b/mingw-w64-headers/direct-x/include/d3dx9shader.h
@@ -1,3 +1,5 @@
+#include <_mingw_unicode.h>
+#undef INTERFACE
 /*
  * Copyright 2008 Luis Busquets
  *
@@ -135,8 +137,8 @@
     STDMETHOD_(D3DXHANDLE, GetConstantElement)(THIS_ D3DXHANDLE hConstant, UINT Index) PURE;
     STDMETHOD(SetDefaults)(THIS_ LPDIRECT3DDEVICE9 pDevice) PURE;
     STDMETHOD(SetValue)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, LPCVOID pData, UINT Bytes) PURE;
-    STDMETHOD(SetBool)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, BOOL b) PURE;
-    STDMETHOD(SetBoolArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST BOOL* pb, UINT Count) PURE;
+    STDMETHOD(SetBool)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, WINBOOL b) PURE;
+    STDMETHOD(SetBoolArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST WINBOOL* pb, UINT Count) PURE;
     STDMETHOD(SetInt)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, INT n) PURE;
     STDMETHOD(SetIntArray)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, CONST INT* pn, UINT Count) PURE;
     STDMETHOD(SetFloat)(THIS_ LPDIRECT3DDEVICE9 pDevice, D3DXHANDLE hConstant, FLOAT f) PURE;
@@ -264,13 +266,13 @@
                                            DWORD flags,
                                            LPD3DXBUFFER* shader,
                                            LPD3DXBUFFER* error_messages);
-
 HRESULT WINAPI D3DXAssembleShaderFromFileW(LPCWSTR filename,
                                            CONST D3DXMACRO* defines,
                                            LPD3DXINCLUDE include,
                                            DWORD flags,
                                            LPD3DXBUFFER* shader,
                                            LPD3DXBUFFER* error_messages);
+#define D3DXAssembleShaderFromFile __MINGW_NAME_AW(D3DXAssembleShaderFromFile)
 
 HRESULT WINAPI D3DXAssembleShaderFromResourceA(HMODULE module,
                                                LPCSTR resource,
@@ -279,7 +281,6 @@
                                                DWORD flags,
                                                LPD3DXBUFFER* shader,
                                                LPD3DXBUFFER* error_messages);
-
 HRESULT WINAPI D3DXAssembleShaderFromResourceW(HMODULE module,
                                                LPCWSTR resource,
                                                CONST D3DXMACRO* defines,
@@ -287,6 +288,7 @@
                                                DWORD flags,
                                                LPD3DXBUFFER* shader,
                                                LPD3DXBUFFER* error_messages);
+#define D3DXAssembleShaderFromResource __MINGW_NAME_AW(D3DXAssembleShaderFromResource)
 
 HRESULT WINAPI D3DXAssembleShader(LPCSTR data,
                                   UINT data_len,
@@ -296,6 +298,92 @@
                                   LPD3DXBUFFER* shader,
                                   LPD3DXBUFFER* error_messages);
 
+HRESULT WINAPI D3DXCompileShader(LPCSTR src_data,
+                                 UINT data_len,
+                                 const D3DXMACRO* defines,
+                                 LPD3DXINCLUDE include,
+                                 LPCSTR function_name,
+                                 LPCSTR profile,
+                                 DWORD flags,
+                                 LPD3DXBUFFER* shader,
+                                 LPD3DXBUFFER* error_messages,
+                                 LPD3DXCONSTANTTABLE* constant_table);
+
+HRESULT WINAPI D3DXCompileShaderFromFileA(LPCSTR filename,
+                                          CONST D3DXMACRO* defines,
+                                          LPD3DXINCLUDE include,
+                                          LPCSTR entrypoint,
+                                          LPCSTR profile,
+                                          DWORD flags,
+                                          LPD3DXBUFFER* shader,
+                                          LPD3DXBUFFER* error_messages,
+                                          LPD3DXCONSTANTTABLE* constant_table);
+HRESULT WINAPI D3DXCompileShaderFromFileW(LPCWSTR filename,
+                                          CONST D3DXMACRO* defines,
+                                          LPD3DXINCLUDE include,
+                                          LPCSTR entrypoint,
+                                          LPCSTR profile,
+                                          DWORD flags,
+                                          LPD3DXBUFFER* shader,
+                                          LPD3DXBUFFER* error_messages,
+                                          LPD3DXCONSTANTTABLE* constant_table);
+#define D3DXCompileShaderFromFile __MINGW_NAME_AW(D3DXCompileShaderFromFile)
+
+HRESULT WINAPI D3DXCompileShaderFromResourceA(HMODULE module,
+                                              LPCSTR resource,
+                                              CONST D3DXMACRO* defines,
+                                              LPD3DXINCLUDE include,
+                                              LPCSTR entrypoint,
+                                              LPCSTR profile,
+                                              DWORD flags,
+                                              LPD3DXBUFFER* shader,
+                                              LPD3DXBUFFER* error_messages,
+                                              LPD3DXCONSTANTTABLE* constant_table);
+HRESULT WINAPI D3DXCompileShaderFromResourceW(HMODULE module,
+                                              LPCWSTR resource,
+                                              CONST D3DXMACRO* defines,
+                                              LPD3DXINCLUDE include,
+                                              LPCSTR entrypoint,
+                                              LPCSTR profile,
+                                              DWORD flags,
+                                              LPD3DXBUFFER* shader,
+                                              LPD3DXBUFFER* error_messages,
+                                              LPD3DXCONSTANTTABLE* constant_table);
+#define D3DXCompileShaderFromResource __MINGW_NAME_AW(D3DXCompileShaderFromResource)
+
+HRESULT WINAPI D3DXPreprocessShader(LPCSTR data,
+                                    UINT data_len,
+                                    CONST D3DXMACRO* defines,
+                                    LPD3DXINCLUDE include,
+                                    LPD3DXBUFFER* shader,
+                                    LPD3DXBUFFER* error_messages);
+
+HRESULT WINAPI D3DXPreprocessShaderFromFileA(LPCSTR filename,
+                                             CONST D3DXMACRO* defines,
+                                             LPD3DXINCLUDE include,
+                                             LPD3DXBUFFER* shader,
+                                             LPD3DXBUFFER* error_messages);
+HRESULT WINAPI D3DXPreprocessShaderFromFileW(LPCWSTR filename,
+                                             CONST D3DXMACRO* defines,
+                                             LPD3DXINCLUDE include,
+                                             LPD3DXBUFFER* shader,
+                                             LPD3DXBUFFER* error_messages);
+#define D3DXPreprocessShaderFromFile __MINGW_NAME_AW(D3DXPreprocessShaderFromFile)
+
+HRESULT WINAPI D3DXPreprocessShaderFromResourceA(HMODULE module,
+                                                 LPCSTR resource,
+                                                 CONST D3DXMACRO* defines,
+                                                 LPD3DXINCLUDE include,
+                                                 LPD3DXBUFFER* shader,
+                                                 LPD3DXBUFFER* error_messages);
+HRESULT WINAPI D3DXPreprocessShaderFromResourceW(HMODULE module,
+                                                 LPCWSTR resource,
+                                                 CONST D3DXMACRO* defines,
+                                                 LPD3DXINCLUDE include,
+                                                 LPD3DXBUFFER* shader,
+                                                 LPD3DXBUFFER* error_messages);
+#define D3DXPreprocessShaderFromResource __MINGW_NAME_AW(D3DXPreprocessShaderFromResource)
+
 HRESULT WINAPI D3DXGetShaderConstantTableEx(CONST DWORD* byte_code,
                                             DWORD flags,
                                             LPD3DXCONSTANTTABLE* constant_table);
diff --git a/mingw-w64-headers/direct-x/include/d3dx9shape.h b/mingw-w64-headers/direct-x/include/d3dx9shape.h
index e1bf231..1201d18 100644
--- a/mingw-w64-headers/direct-x/include/d3dx9shape.h
+++ b/mingw-w64-headers/direct-x/include/d3dx9shape.h
@@ -1,3 +1,4 @@
+#include <_mingw_unicode.h>
 /*
  * Copyright 2010 Christian Costa
  *
@@ -32,6 +33,45 @@
                              LPD3DXMESH* mesh,
                              LPD3DXBUFFER* adjacency);
 
+HRESULT WINAPI D3DXCreateSphere(LPDIRECT3DDEVICE9 device,
+                                FLOAT radius,
+                                UINT slices,
+                                UINT stacks,
+                                LPD3DXMESH* mesh,
+                                LPD3DXBUFFER* adjacency);
+
+HRESULT WINAPI D3DXCreateCylinder(LPDIRECT3DDEVICE9 device,
+                                  FLOAT radius1,
+                                  FLOAT radius2,
+                                  FLOAT length,
+                                  UINT slices,
+                                  UINT stacks,
+                                  LPD3DXMESH *mesh,
+                                  LPD3DXBUFFER *adjacency);
+
+HRESULT WINAPI D3DXCreateTeapot(LPDIRECT3DDEVICE9 device,
+                                LPD3DXMESH *mesh,
+                                LPD3DXBUFFER *adjacency);
+
+HRESULT WINAPI D3DXCreateTextA(LPDIRECT3DDEVICE9 device,
+                               HDC hdc,
+                               LPCSTR text,
+                               FLOAT deviation,
+                               FLOAT extrusion,
+                               LPD3DXMESH *mesh,
+                               LPD3DXBUFFER *adjacency,
+                               LPGLYPHMETRICSFLOAT glyphmetrics);
+
+HRESULT WINAPI D3DXCreateTextW(LPDIRECT3DDEVICE9 device,
+                               HDC hdc,
+                               LPCWSTR text,
+                               FLOAT deviation,
+                               FLOAT extrusion,
+                               LPD3DXMESH *mesh,
+                               LPD3DXBUFFER *adjacency,
+                               LPGLYPHMETRICSFLOAT glyphmetrics);
+#define D3DXCreateText __MINGW_NAME_AW(D3DXCreateText)
+
 #ifdef __cplusplus
 }
 #endif