annotate include/SDL_config_dreamcast.h @ 4168:69bcba65c388 SDL-1.2

Fixed bug #526 Comment #1 From Simon Howard 2009-03-20 16:50:56 Hi, I'm the author of Chocolate Doom, one of the other source ports that James mentioned. This is a patch against the current SVN version of SDL 1.2 that fixes the bug. It has been tested and hopefully should be obviously correct from examining the changes. I'll give a brief explanation. When the palette is set with SDL_SetPalette, the IDirectDrawPalette_SetEntries DirectX function is invoked. However, when this happens, a WM_PALETTECHANGED message is sent to the window. A WM_PALETTECHANGED message can also be received if the palette is changed for some other reason, like if the system palette is changed. Therefore, the palette change handler (DX5_PaletteChanged) has code to deal with this case. It distinguishes "expected" palette changes (set with SDL_SetPalette) from "unexpected" palette changes using the colorchange_expected variable, which is set before calling IDirectDrawPalette_SetEntries. However, the code to set this variable is missing in the fullscreen code path. By setting this variable, the palette change is handled properly and the freezes go away.
author Sam Lantinga <slouken@libsdl.org>
date Mon, 13 Apr 2009 00:53:12 +0000
parents a1b03ba2fcd0
children
rev   line source
1422
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
1 /*
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
4159
a1b03ba2fcd0 Updated copyright date
Sam Lantinga <slouken@libsdl.org>
parents: 1608
diff changeset
3 Copyright (C) 1997-2009 Sam Lantinga
1422
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
4
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
6 modify it under the terms of the GNU Lesser General Public
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
7 License as published by the Free Software Foundation; either
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
8 version 2.1 of the License, or (at your option) any later version.
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
9
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
13 Lesser General Public License for more details.
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
14
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
15 You should have received a copy of the GNU Lesser General Public
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
16 License along with this library; if not, write to the Free Software
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
18
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
19 Sam Lantinga
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
20 slouken@libsdl.org
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
21 */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
22
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
23 #ifndef _SDL_config_dreamcast_h
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
24 #define _SDL_config_dreamcast_h
1608
d951a5afaf07 A less rude way of doing the same thing...
Sam Lantinga <slouken@libsdl.org>
parents: 1607
diff changeset
25
d951a5afaf07 A less rude way of doing the same thing...
Sam Lantinga <slouken@libsdl.org>
parents: 1607
diff changeset
26 #include "SDL_platform.h"
1422
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
27
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
28 /* This is a set of defines to configure the SDL features */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
29
1461
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
30 typedef signed char int8_t;
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
31 typedef unsigned char uint8_t;
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
32 typedef signed short int16_t;
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
33 typedef unsigned short uint16_t;
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
34 typedef signed int int32_t;
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
35 typedef unsigned int uint32_t;
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
36 typedef signed long long int64_t;
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
37 typedef unsigned long long uint64_t;
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
38 typedef unsigned long uintptr_t;
1422
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
39 #define SDL_HAS_64BIT_TYPE 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
40
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
41 /* Useful headers */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
42 #define HAVE_SYS_TYPES_H 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
43 #define HAVE_STDIO_H 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
44 #define STDC_HEADERS 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
45 #define HAVE_STRING_H 1
1461
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
46 #define HAVE_CTYPE_H 1
1422
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
47
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
48 /* C library functions */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
49 #define HAVE_MALLOC 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
50 #define HAVE_CALLOC 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
51 #define HAVE_REALLOC 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
52 #define HAVE_FREE 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
53 #define HAVE_ALLOCA 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
54 #define HAVE_GETENV 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
55 #define HAVE_PUTENV 1
1461
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
56 #define HAVE_QSORT 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
57 #define HAVE_ABS 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
58 #define HAVE_BCOPY 1
1422
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
59 #define HAVE_MEMSET 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
60 #define HAVE_MEMCPY 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
61 #define HAVE_MEMMOVE 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
62 #define HAVE_MEMCMP 1
1461
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
63 #define HAVE_STRLEN 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
64 #define HAVE_STRDUP 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
65 #define HAVE_INDEX 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
66 #define HAVE_RINDEX 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
67 #define HAVE_STRCHR 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
68 #define HAVE_STRRCHR 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
69 #define HAVE_STRSTR 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
70 #define HAVE_STRTOL 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
71 #define HAVE_STRTOD 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
72 #define HAVE_ATOI 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
73 #define HAVE_ATOF 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
74 #define HAVE_STRCMP 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
75 #define HAVE_STRNCMP 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
76 #define HAVE_STRICMP 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
77 #define HAVE_STRCASECMP 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
78 #define HAVE_SSCANF 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
79 #define HAVE_SNPRINTF 1
11134dc42da8 Updated for Dreamcast KOS June 2005 snapshot:
Sam Lantinga <slouken@libsdl.org>
parents: 1424
diff changeset
80 #define HAVE_VSNPRINTF 1
1422
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
81
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
82 /* Enable various audio drivers */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
83 #define SDL_AUDIO_DRIVER_DC 1
1533
38c1eb6b0083 By default all the real targets have dummy audio/video and disk audio.
Sam Lantinga <slouken@libsdl.org>
parents: 1532
diff changeset
84 #define SDL_AUDIO_DRIVER_DISK 1
1532
30f189cdd82b Implemented dummy audio driver.
Ryan C. Gordon <icculus@icculus.org>
parents: 1461
diff changeset
85 #define SDL_AUDIO_DRIVER_DUMMY 1
1422
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
86
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
87 /* Enable various cdrom drivers */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
88 #define SDL_CDROM_DC 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
89
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
90 /* Enable various input drivers */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
91 #define SDL_JOYSTICK_DC 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
92
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
93 /* Enable various shared object loading systems */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
94 #define SDL_LOADSO_DUMMY 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
95
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
96 /* Enable various threading systems */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
97 #define SDL_THREAD_DC 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
98
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
99 /* Enable various timer systems */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
100 #define SDL_TIMER_DC 1
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
101
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
102 /* Enable various video drivers */
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
103 #define SDL_VIDEO_DRIVER_DC 1
1533
38c1eb6b0083 By default all the real targets have dummy audio/video and disk audio.
Sam Lantinga <slouken@libsdl.org>
parents: 1532
diff changeset
104 #define SDL_VIDEO_DRIVER_DUMMY 1
1422
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
105
d2ee8da60262 Added pre-configured versions of SDL_config.h for various platforms
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
106 #endif /* _SDL_config_dreamcast_h */