diff --git a/mingw-w64-crt/revstamp.h b/mingw-w64-crt/revstamp.h
index 5d59f98..38ab413 100644
--- a/mingw-w64-crt/revstamp.h
+++ b/mingw-w64-crt/revstamp.h
@@ -1,4 +1,4 @@
 /* Do not edit. Autogenerated.  */
-#define __MINGW_W64_REV	"5140"
+#define __MINGW_W64_REV	"5144"
 #define __MINGW_W64_REV_STAMP "2012-06-28"
 
diff --git a/mingw-w64-headers/direct-x/include/d3d10shader.h b/mingw-w64-headers/direct-x/include/d3d10shader.h
index 7398627..de6e390 100644
--- a/mingw-w64-headers/direct-x/include/d3d10shader.h
+++ b/mingw-w64-headers/direct-x/include/d3d10shader.h
@@ -207,6 +207,11 @@
 };
 #undef INTERFACE
 
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 HRESULT WINAPI D3D10CompileShader(LPCSTR data, SIZE_T data_size, LPCSTR filename,
         const D3D10_SHADER_MACRO *defines, ID3D10Include *include, LPCSTR entrypoint,
         LPCSTR profile, UINT flags, ID3D10Blob **shader, ID3D10Blob **error_messages);
@@ -220,4 +225,8 @@
 HRESULT WINAPI D3D10GetInputAndOutputSignatureBlob(const void *data, SIZE_T data_size, ID3D10Blob **blob);
 HRESULT WINAPI D3D10GetShaderDebugInfo(const void *data, SIZE_T data_size, ID3D10Blob **blob);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* __WINE_D3D10SHADER_H */
diff --git a/mingw-w64-headers/direct-x/include/d3d9.h b/mingw-w64-headers/direct-x/include/d3d9.h
index 88cabb3..fba2746 100644
--- a/mingw-w64-headers/direct-x/include/d3d9.h
+++ b/mingw-w64-headers/direct-x/include/d3d9.h
@@ -259,8 +259,8 @@
     /* Note: Microsoft's d3d9.h does not declare IDirect3D9Ex::RegisterSoftwareDevice . This would mean that
      * the offsets of the other methods in the Vtable change too. This is wrong. In Microsoft's
      * d3d9.dll, the offsets for the other functions are still compatible with IDirect3D9.
-     * This is probably because even in MS's header IDirect3D9Ex inherits from IDirect3D9, which makes the
-     * C++ inferface compatible, and nobody uses the C interface in Windows world.
+     * This is probably because even in MS header IDirect3D9Ex inherits from IDirect3D9, which makes the
+     * C++ interface compatible, and nobody uses the C interface in Windows world.
      */
     STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE;
 
diff --git a/mingw-w64-headers/direct-x/include/d3d9types.h b/mingw-w64-headers/direct-x/include/d3d9types.h
index baa661e..c953282 100644
--- a/mingw-w64-headers/direct-x/include/d3d9types.h
+++ b/mingw-w64-headers/direct-x/include/d3d9types.h
@@ -1305,7 +1305,7 @@
     DWORD         OptMethod; 
      /* Cache size to use (only valid if OptMethod==1) */
     DWORD         CacheSize;
-    /* internal for deciding when to restart strips, non user modifyable (only valid if OptMethod==1) */
+    /* internal for deciding when to restart strips, non user modifiable (only valid if OptMethod==1) */
     DWORD         MagicNumber; 
 } D3DDEVINFO_VCACHE;
 
diff --git a/mingw-w64-headers/direct-x/include/d3drm.h b/mingw-w64-headers/direct-x/include/d3drm.h
index fab9398..f911494 100644
--- a/mingw-w64-headers/direct-x/include/d3drm.h
+++ b/mingw-w64-headers/direct-x/include/d3drm.h
@@ -75,9 +75,9 @@
     STDMETHOD(CreateDeviceFromD3D)(THIS_ LPDIRECT3D pD3D, LPDIRECT3DDEVICE pD3DDev, LPDIRECT3DRMDEVICE *) PURE;
     STDMETHOD(CreateDeviceFromClipper)(THIS_ LPDIRECTDRAWCLIPPER pDDClipper, LPGUID pGUID, int width, int height,
         LPDIRECT3DRMDEVICE *) PURE;
+    STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE pDDS, LPDIRECT3DRMTEXTURE *) PURE;
     STDMETHOD(CreateShadow)(THIS_ LPDIRECT3DRMVISUAL, LPDIRECT3DRMLIGHT, D3DVALUE px, D3DVALUE py, D3DVALUE pz,
         D3DVALUE nx, D3DVALUE ny, D3DVALUE nz, LPDIRECT3DRMVISUAL *) PURE;
-    STDMETHOD(CreateTextureFromSurface)(THIS_ LPDIRECTDRAWSURFACE pDDS, LPDIRECT3DRMTEXTURE *) PURE;
     STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DRMDEVICE, LPDIRECT3DRMFRAME, DWORD, DWORD, DWORD, DWORD,
         LPDIRECT3DRMVIEWPORT *) PURE;
     STDMETHOD(CreateWrap)(THIS_ D3DRMWRAPTYPE, LPDIRECT3DRMFRAME, D3DVALUE ox, D3DVALUE oy, D3DVALUE oz,
@@ -231,7 +231,7 @@
     STDMETHOD(Load)(THIS_ LPVOID, LPVOID, LPIID *, DWORD, D3DRMLOADOPTIONS, D3DRMLOADCALLBACK, LPVOID,
         D3DRMLOADTEXTURECALLBACK, LPVOID, LPDIRECT3DRMFRAME) PURE;
     STDMETHOD(Tick)(THIS_ D3DVALUE) PURE;
-    STDMETHOD(CreateProgressiveMesh)(THIS_ LPDIRECT3DRMPROGRESSIVEMESH) PURE;
+    STDMETHOD(CreateProgressiveMesh)(THIS_ LPDIRECT3DRMPROGRESSIVEMESH *) PURE;
 };
 #undef INTERFACE
 
diff --git a/mingw-w64-headers/direct-x/include/d3drmobj.h b/mingw-w64-headers/direct-x/include/d3drmobj.h
index fa89d80..b6f1daa 100644
--- a/mingw-w64-headers/direct-x/include/d3drmobj.h
+++ b/mingw-w64-headers/direct-x/include/d3drmobj.h
@@ -1610,6 +1610,7 @@
     STDMETHOD(AddChild)(THIS_ LPDIRECT3DRMFRAME3 child) PURE;
     STDMETHOD(AddLight)(THIS_ LPDIRECT3DRMLIGHT) PURE;
     STDMETHOD(AddMoveCallback)(THIS_ D3DRMFRAME3MOVECALLBACK, VOID *arg, DWORD flags) PURE;
+    STDMETHOD(AddTransform)(THIS_ D3DRMCOMBINETYPE, D3DRMMATRIX4D) PURE;
     STDMETHOD(AddTranslation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z) PURE;
     STDMETHOD(AddScale)(THIS_ D3DRMCOMBINETYPE, D3DVALUE sx, D3DVALUE sy, D3DVALUE sz) PURE;
     STDMETHOD(AddRotation)(THIS_ D3DRMCOMBINETYPE, D3DVALUE x, D3DVALUE y, D3DVALUE z, D3DVALUE theta) PURE;
@@ -2856,7 +2857,7 @@
     STDMETHOD(GenerateNormals)(THIS_ D3DVALUE crease, DWORD flags) PURE;
     STDMETHOD_(D3DRMCOLORSOURCE, GetColorSource)(THIS) PURE;
     STDMETHOD(AddMesh)(THIS_ LPDIRECT3DRMMESH) PURE;
-    STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3) PURE;
+    STDMETHOD(AddMeshBuilder)(THIS_ LPDIRECT3DRMMESHBUILDER3, DWORD flags) PURE;
     STDMETHOD(AddFrame)(THIS_ LPDIRECT3DRMFRAME3) PURE;
     STDMETHOD(AddFace)(THIS_ LPDIRECT3DRMFACE2) PURE;
     STDMETHOD(AddFaces)(THIS_ DWORD vcount, D3DVECTOR *vertices, DWORD ncount, D3DVECTOR *normals, DWORD *data,
diff --git a/mingw-w64-headers/direct-x/include/d3dx9mesh.h b/mingw-w64-headers/direct-x/include/d3dx9mesh.h
index 9f12f1d..03c6c92 100644
--- a/mingw-w64-headers/direct-x/include/d3dx9mesh.h
+++ b/mingw-w64-headers/direct-x/include/d3dx9mesh.h
@@ -115,8 +115,8 @@
     D3DXTANGENT_WRAP_UV =                 0x0003,
     D3DXTANGENT_DONT_NORMALIZE_PARTIALS = 0x0004,
     D3DXTANGENT_DONT_ORTHOGONALIZE =      0x0008,
-    D3DXTANGENT_ORTHOGANALIZE_FROM_V =    0x0010,
-    D3DXTANGENT_ORTHOGANALIZE_FROM_U =    0x0020,
+    D3DXTANGENT_ORTHOGONALIZE_FROM_V =    0x0010,
+    D3DXTANGENT_ORTHOGONALIZE_FROM_U =    0x0020,
     D3DXTANGENT_WEIGHT_BY_AREA =          0x0040,
     D3DXTANGENT_WEIGHT_EQUAL =            0x0080,
     D3DXTANGENT_WIND_CW =                 0x0100,
@@ -336,11 +336,9 @@
     STDMETHOD(GenerateAdjacency)(THIS_ FLOAT epsilon, DWORD* adjacency) PURE;
     STDMETHOD(UpdateSemantics)(THIS_ D3DVERTEXELEMENT9 declaration[MAX_FVF_DECL_SIZE]) PURE;
 };
-
-
 #undef INTERFACE
-#define INTERFACE ID3DXMesh
 
+#define INTERFACE ID3DXMesh
 DECLARE_INTERFACE_(ID3DXMesh, ID3DXBaseMesh)
 {
     /*** IUnknown methods ***/
@@ -678,6 +676,7 @@
     STDMETHOD_(WINBOOL, ClosestRayIntersects)(THIS_ CONST D3DXVECTOR3 *ray_pos, CONST D3DXVECTOR3 *ray_dir,
         DWORD *face_index, FLOAT *u, FLOAT *v, FLOAT *dist) PURE;
 };
+#undef INTERFACE
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/mingw-w64-headers/direct-x/include/d3dx9tex.h b/mingw-w64-headers/direct-x/include/d3dx9tex.h
index 9b68193..7ee6638 100644
--- a/mingw-w64-headers/direct-x/include/d3dx9tex.h
+++ b/mingw-w64-headers/direct-x/include/d3dx9tex.h
@@ -53,7 +53,7 @@
 #define D3DX_CHANNEL_LUMINANCE           0x00000010
 
 /**********************************************
- **************** Typedefs ****************
+ ****************** Typedefs ******************
  **********************************************/
 typedef enum _D3DXIMAGE_FILEFORMAT
 {
@@ -64,6 +64,8 @@
     D3DXIFF_DDS,
     D3DXIFF_PPM,
     D3DXIFF_DIB,
+    D3DXIFF_HDR,
+    D3DXIFF_PFM,
     D3DXIFF_FORCE_DWORD = 0x7fffffff
 } D3DXIMAGE_FILEFORMAT;
 
diff --git a/mingw-w64-headers/direct-x/include/dmusbuff.h b/mingw-w64-headers/direct-x/include/dmusbuff.h
index ba5b776..7632b1a 100644
--- a/mingw-w64-headers/direct-x/include/dmusbuff.h
+++ b/mingw-w64-headers/direct-x/include/dmusbuff.h
@@ -20,6 +20,8 @@
 #ifndef __WINE_DMUSIC_BUFFER_H
 #define __WINE_DMUSIC_BUFFER_H
 
+#include <dmdls.h>
+
 /*****************************************************************************
  * Misc. definitions
  */
diff --git a/mingw-w64-headers/direct-x/include/dmusicc.h b/mingw-w64-headers/direct-x/include/dmusicc.h
index d00a6e9..a408aa2 100644
--- a/mingw-w64-headers/direct-x/include/dmusicc.h
+++ b/mingw-w64-headers/direct-x/include/dmusicc.h
@@ -21,9 +21,7 @@
 #ifndef __WINE_DMUSIC_CORE_H
 #define __WINE_DMUSIC_CORE_H
 
-#ifndef __WINESRC__
 #include <windows.h>
-#endif /* __WINESRC__ */
 
 #define COM_NO_WINDOWS_H
 #include <objbase.h>
@@ -381,7 +379,7 @@
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirectMusic methods ***/
     STDMETHOD(EnumPort)(THIS_ DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps) PURE;
-    STDMETHOD(CreateMusicBuffer)(THIS_ LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER **ppBuffer, LPUNKNOWN pUnkOuter) PURE;
+    STDMETHOD(CreateMusicBuffer)(THIS_ LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER *ppBuffer, LPUNKNOWN pUnkOuter) PURE;
     STDMETHOD(CreatePort)(THIS_ REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT *ppPort, LPUNKNOWN pUnkOuter) PURE;
     STDMETHOD(EnumMasterClock)(THIS_ DWORD dwIndex, LPDMUS_CLOCKINFO lpClockInfo) PURE;
     STDMETHOD(GetMasterClock)(THIS_ LPGUID pguidClock, struct IReferenceClock **ppReferenceClock) PURE;
@@ -422,7 +420,7 @@
     STDMETHOD_(ULONG,Release)(THIS) PURE;
     /*** IDirectMusic methods ***/
     STDMETHOD(EnumPort)(THIS_ DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps) PURE;
-    STDMETHOD(CreateMusicBuffer)(THIS_ LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER **ppBuffer, LPUNKNOWN pUnkOuter) PURE;
+    STDMETHOD(CreateMusicBuffer)(THIS_ LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER *ppBuffer, LPUNKNOWN pUnkOuter) PURE;
     STDMETHOD(CreatePort)(THIS_ REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT *ppPort, LPUNKNOWN pUnkOuter) PURE;
     STDMETHOD(EnumMasterClock)(THIS_ DWORD dwIndex, LPDMUS_CLOCKINFO lpClockInfo) PURE;
     STDMETHOD(GetMasterClock)(THIS_ LPGUID pguidClock, struct IReferenceClock **ppReferenceClock) PURE;
diff --git a/mingw-w64-headers/direct-x/include/dmusicf.h b/mingw-w64-headers/direct-x/include/dmusicf.h
index 3d82377..81dc1b3 100644
--- a/mingw-w64-headers/direct-x/include/dmusicf.h
+++ b/mingw-w64-headers/direct-x/include/dmusicf.h
@@ -21,9 +21,7 @@
 #ifndef __WINE_DMUSIC_FILEFORMATS_H
 #define __WINE_DMUSIC_FILEFORMATS_H
 
-#ifndef __WINESRC__
 #include <windows.h>
-#endif /* __WINESRC__ */
 
 #define COM_NO_WINDOWS_H
 #include <objbase.h>
diff --git a/mingw-w64-headers/direct-x/include/dmusici.h b/mingw-w64-headers/direct-x/include/dmusici.h
index f29d73f..d26ec97 100644
--- a/mingw-w64-headers/direct-x/include/dmusici.h
+++ b/mingw-w64-headers/direct-x/include/dmusici.h
@@ -22,11 +22,7 @@
 #ifndef __WINE_DMUSIC_PERFORMANCE_H
 #define __WINE_DMUSIC_PERFORMANCE_H
 
-#ifndef __WINESRC__
 #include <windows.h>
-#else
-#include <oleauto.h> /* VARIANT */
-#endif /* __WINESRC__ */
 
 #define COM_NO_WINDOWS_H
 #include <objbase.h>
diff --git a/mingw-w64-headers/direct-x/include/dplobby.h b/mingw-w64-headers/direct-x/include/dplobby.h
index da4c581..891d9fd 100644
--- a/mingw-w64-headers/direct-x/include/dplobby.h
+++ b/mingw-w64-headers/direct-x/include/dplobby.h
@@ -105,7 +105,7 @@
  * System messages can be identified by dwMessageFlags having a value of DPLMSG_SYSTEM
  * after a call to ReceiveLobbyMessage.
  *
- * Standard messages can be indentified by dwMessageFlags having a value of DPLMSG_STANDARD
+ * Standard messages can be identified by dwMessageFlags having a value of DPLMSG_STANDARD
  * after a call to ReceiveLobbyMessage.
  */
 
@@ -129,7 +129,7 @@
 
 
 
-/* Used to indentify the message type */
+/* Used to identify the message type */
 typedef struct tagDPLMSG_GENERIC
 {
     DWORD       dwType;         /* Message type */
@@ -153,7 +153,7 @@
         DWORD   dwPropertyData[1];   /* Buffer containing data */
 } DPLMSG_SETPROPERTY, *LPDPLMSG_SETPROPERTY;
 
-#define DPL_NOCONFIRMATION                      0L
+#define DPL_NOCONFIRMATION      0
 
 /* Reply to DPLMSG_SETPROPERTY */
 typedef struct tagDPLMSG_SETPROPERTYRESPONSE
diff --git a/mingw-w64-headers/direct-x/include/dpnathlp.h b/mingw-w64-headers/direct-x/include/dpnathlp.h
index 8757f53..a1b2026 100644
--- a/mingw-w64-headers/direct-x/include/dpnathlp.h
+++ b/mingw-w64-headers/direct-x/include/dpnathlp.h
@@ -20,6 +20,8 @@
 #ifndef __DPNATHLP_H__
 #define __DPNATHLP_H__
 
+#include <ole2.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/mingw-w64-headers/direct-x/include/xinput.h b/mingw-w64-headers/direct-x/include/xinput.h
index 607add8..d3ca726 100644
--- a/mingw-w64-headers/direct-x/include/xinput.h
+++ b/mingw-w64-headers/direct-x/include/xinput.h
@@ -106,7 +106,7 @@
 /*
  * Defines what type of abilities the type of joystick has
  * DEVTYPE_GAMEPAD is available for all joysticks, however
- * there may be more specfic identifiers for other joysticks
+ * there may be more specific identifiers for other joysticks
  * which are being used.
  */
 
@@ -188,8 +188,8 @@
 
 /*
  * Defines the structure for what kind of abilities the joystick has
- * such abilites are things such as if the joystick has the ability
- * to send and receive audio, if the joystick is infact a driving
+ * such abilities are things such as if the joystick has the ability
+ * to send and receive audio, if the joystick is in fact a driving
  * wheel or perhaps if the joystick is some kind of dance pad or
  * guitar.
  */
