annotate src/audio/windx5/directx.h @ 4427:eada7e321df6 SDL-1.2

Fixed bug #943 Ozkan Sezer 2010-02-06 12:31:06 PST Hi: Here are some small fixes for compiling SDL against mingw-w64. (see http://mingw-w64.sourceforge.net/ . Despite the name, it supports both win32 and win64.) Two patches, one for SDL-1.2 and one for SDL-1.3 attached. src/audio/windx5/directx.h and src/video/windx5/directx.h (both SDL-1.2 and SDL-1.3.) I get compilation errors about some union not having a member named u1 and alike, because of other system headers being included before this one and them already defining DUMMYUNIONNAME and stuff. This header probably assumes that those stuff are defined in windef.h, but mingw-w64 headers define them in _mingw.h. Easily fixed by moving NONAMELESSUNION definition to the top of the file. SDL_dx5yuv.c (SDL-1.2-only) also needs to include the header before SDL_video.h to avoid the same problem. src/thread/win32/SDL_systhread.c (both SDL-1.2 and SDL-1.3.) : The __GNUC__ case for pfnSDL_CurrentBeginThread is 32-bit centric because _beginthreadex returns uintptr_t, not unsigned long which is 32 bits in win64. Changing the return type to uintptr_t fixes it. Hope these are useful. Thanks.
author Sam Lantinga <slouken@libsdl.org>
date Wed, 10 Mar 2010 15:04:13 +0000
parents bb6839704ed6
children 134c6707b767
rev   line source
1274
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
1
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
2 #ifndef _directx_h
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
3 #define _directx_h
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
4
4427
eada7e321df6 Fixed bug #943
Sam Lantinga <slouken@libsdl.org>
parents: 1433
diff changeset
5 #ifdef __GNUC__
eada7e321df6 Fixed bug #943
Sam Lantinga <slouken@libsdl.org>
parents: 1433
diff changeset
6 #define NONAMELESSUNION
eada7e321df6 Fixed bug #943
Sam Lantinga <slouken@libsdl.org>
parents: 1433
diff changeset
7 #endif
eada7e321df6 Fixed bug #943
Sam Lantinga <slouken@libsdl.org>
parents: 1433
diff changeset
8
1274
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
9 /* Include all of the DirectX 5.0 headers and adds any necessary tweaks */
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
10
1433
bb6839704ed6 SDL_windows.h is no longer necessary
Sam Lantinga <slouken@libsdl.org>
parents: 1330
diff changeset
11 #define WIN32_LEAN_AND_MEAN
bb6839704ed6 SDL_windows.h is no longer necessary
Sam Lantinga <slouken@libsdl.org>
parents: 1330
diff changeset
12 #include <windows.h>
1274
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
13 #include <mmsystem.h>
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
14 #ifndef WIN32
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
15 #define WIN32
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
16 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
17 #undef WINNT
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
18
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
19 /* Far pointers don't exist in 32-bit code */
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
20 #ifndef FAR
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
21 #define FAR
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
22 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
23
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
24 /* Error codes not yet included in Win32 API header files */
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
25 #ifndef MAKE_HRESULT
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
26 #define MAKE_HRESULT(sev,fac,code) \
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
27 ((HRESULT)(((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))))
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
28 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
29
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
30 #ifndef S_OK
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
31 #define S_OK (HRESULT)0x00000000L
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
32 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
33
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
34 #ifndef SUCCEEDED
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
35 #define SUCCEEDED(x) ((HRESULT)(x) >= 0)
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
36 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
37 #ifndef FAILED
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
38 #define FAILED(x) ((HRESULT)(x)<0)
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
39 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
40
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
41 #ifndef E_FAIL
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
42 #define E_FAIL (HRESULT)0x80000008L
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
43 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
44 #ifndef E_NOINTERFACE
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
45 #define E_NOINTERFACE (HRESULT)0x80004002L
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
46 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
47 #ifndef E_OUTOFMEMORY
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
48 #define E_OUTOFMEMORY (HRESULT)0x8007000EL
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
49 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
50 #ifndef E_INVALIDARG
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
51 #define E_INVALIDARG (HRESULT)0x80070057L
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
52 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
53 #ifndef E_NOTIMPL
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
54 #define E_NOTIMPL (HRESULT)0x80004001L
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
55 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
56 #ifndef REGDB_E_CLASSNOTREG
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
57 #define REGDB_E_CLASSNOTREG (HRESULT)0x80040154L
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
58 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
59
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
60 /* Severity codes */
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
61 #ifndef SEVERITY_ERROR
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
62 #define SEVERITY_ERROR 1
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
63 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
64
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
65 /* Error facility codes */
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
66 #ifndef FACILITY_WIN32
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
67 #define FACILITY_WIN32 7
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
68 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
69
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
70 #ifndef FIELD_OFFSET
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
71 #define FIELD_OFFSET(type, field) ((LONG)&(((type *)0)->field))
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
72 #endif
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
73
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
74 /* DirectX headers (if it isn't included, I haven't tested it yet)
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
75 */
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
76 /* We need these defines to mark what version of DirectX API we use */
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
77 #define DIRECTDRAW_VERSION 0x0700
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
78 #define DIRECTSOUND_VERSION 0x0500
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
79 #define DIRECTINPUT_VERSION 0x0500
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
80
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
81 #include <ddraw.h>
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
82 #include <dsound.h>
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
83 #include <dinput.h>
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
84
4726fa79ede1 Date: Mon, 23 Feb 2004 23:29:20 -0500
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
85 #endif /* _directx_h */