ddraw.h updates:
- Add missing members in DDPIXELFORMAT struct.
(wine git commit 7a4ca1b0b2b5203b7ec9c7b56f9ccf25691ba91f)
- Add missing UpdateOverlay flags.
(wine git commit 577ee2938f89c23a10e63ea9910f2c9c8fdaf426)
- Add missing DDSCAPS2.dwCaps2 flags.
(wine git commit f4c382f980b2971929e0b5a7681ecfb0bf1356de)
- Add DDSCAPS2.dwCaps3 flags.
(wine git commit 67a86980077f68ba0a54d3444a4fa595eb2c1aa3)
- Add HMONITOR compatibility definition.
diff --git a/mingw-w64-headers/direct-x/include/ddraw.h b/mingw-w64-headers/direct-x/include/ddraw.h
index a47008d..117dd7f 100644
--- a/mingw-w64-headers/direct-x/include/ddraw.h
+++ b/mingw-w64-headers/direct-x/include/ddraw.h
@@ -367,6 +367,30 @@
/* indicates surface is part of a stereo flipping chain */
#define DDSCAPS2_STEREOSURFACELEFT 0x00080000
#define DDSCAPS2_VOLUME 0x00200000
+#define DDSCAPS2_NOTUSERLOCKABLE 0x00400000
+#define DDSCAPS2_POINTS 0x00800000
+#define DDSCAPS2_RTPATCHES 0x01000000
+#define DDSCAPS2_NPATCHES 0x02000000
+#define DDSCAPS2_RESERVED3 0x04000000
+#define DDSCAPS2_DISCARDBACKBUFFER 0x10000000
+#define DDSCAPS2_ENABLEALPHACHANNEL 0x20000000
+#define DDSCAPS2_EXTENDEDFORMATPRIMARY 0x40000000
+#define DDSCAPS2_ADDITIONALPRIMARY 0x80000000
+
+/* DDSCAPS2.dwCaps3 */
+#define DDSCAPS3_MULTISAMPLE_MASK 0x0000001f
+#define DDSCAPS3_MULTISAMPLE_QUALITY_MASK 0x000000e0
+#define DDSCAPS3_MULTISAMPLE_QUALITY_SHIFT 5
+#define DDSCAPS3_RESERVED1 0x00000100
+#define DDSCAPS3_RESERVED2 0x00000200
+#define DDSCAPS3_LIGHTWEIGHTMIPMAP 0x00000400
+#define DDSCAPS3_AUTOGENMIPMAP 0x00000800
+#define DDSCAPS3_DMAP 0x00001000
+#ifndef D3D_DISABLE_9EX
+#define DDSCAPS3_CREATESHAREDRESOURCE 0x00002000
+#define DDSCAPS3_READONLYRESOURCE 0x00004000
+#define DDSCAPS3_OPENSHAREDRESOURCE 0x00008000
+#endif /* !D3D_DISABLE_9EX */
typedef struct _DDSCAPS2 {
DWORD dwCaps; /* capabilities of surface wanted */
@@ -753,6 +777,7 @@
DWORD dwAlphaBitDepth; /* C: how many bits for alpha channels*/
DWORD dwLuminanceBitCount;
DWORD dwBumpBitCount;
+ DWORD dwPrivateFormatBitCount;
} DUMMYUNIONNAME1;
__GNU_EXTENSION union {
DWORD dwRBitMask; /* 10: mask for red bit*/
@@ -760,12 +785,17 @@
DWORD dwStencilBitDepth;
DWORD dwLuminanceBitMask;
DWORD dwBumpDuBitMask;
+ DWORD dwOperations;
} DUMMYUNIONNAME2;
__GNU_EXTENSION union {
DWORD dwGBitMask; /* 14: mask for green bits*/
DWORD dwUBitMask; /* 14: mask for U bits*/
DWORD dwZBitMask;
DWORD dwBumpDvBitMask;
+ struct {
+ WORD wFlipMSTypes;
+ WORD wBltMSTypes;
+ } MultiSampleCaps;
} DUMMYUNIONNAME3;
__GNU_EXTENSION union {
DWORD dwBBitMask; /* 18: mask for blue bits*/
@@ -899,6 +929,9 @@
#define DDOVER_BOB 0x00200000
#define DDOVER_OVERRIDEBOBWEAVE 0x00400000
#define DDOVER_INTERLEAVED 0x00800000
+#define DDOVER_BOBHARDWARE 0x01000000
+#define DDOVER_ARGBSCALEFACTORS 0x02000000
+#define DDOVER_DEGRADEARGBSCALING 0x04000000
/* DDPIXELFORMAT.dwFlags */
#define DDPF_ALPHAPIXELS 0x00000001
@@ -1098,6 +1131,10 @@
typedef HRESULT (CALLBACK *LPDDENUMSURFACESCALLBACK2)(LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID);
typedef HRESULT (CALLBACK *LPDDENUMSURFACESCALLBACK7)(LPDIRECTDRAWSURFACE7, LPDDSURFACEDESC2, LPVOID);
+#if (WINVER < 0x0500) && !defined(HMONITOR_DECLARED)
+DECLARE_HANDLE(HMONITOR);
+#define HMONITOR_DECLARED 1
+#endif
typedef BOOL (CALLBACK *LPDDENUMCALLBACKEXA)(GUID *, LPSTR, LPSTR, LPVOID, HMONITOR);
typedef BOOL (CALLBACK *LPDDENUMCALLBACKEXW)(GUID *, LPWSTR, LPWSTR, LPVOID, HMONITOR);
DECL_WINELIB_TYPE_AW(LPDDENUMCALLBACKEX)