Sun, 26 Apr 2009 07:14:29 +0000 Enable Xbios audio for Magic SDL-1.2
Patrice Mandin <> [Sun, 26 Apr 2009 07:14:29 +0000] rev 4175
Enable Xbios audio for Magic
Fri, 24 Apr 2009 19:04:02 +0000 Add Teamtap autodetection, to avoid generating ghost events if it is not present SDL-1.2
Patrice Mandin <> [Fri, 24 Apr 2009 19:04:02 +0000] rev 4174
Add Teamtap autodetection, to avoid generating ghost events if it is not present
Mon, 13 Apr 2009 09:03:35 +0000 Fixed bug #421 SDL-1.2
Sam Lantinga <> [Mon, 13 Apr 2009 09:03:35 +0000] rev 4173
Fixed bug #421 Comment #3 From 2008-04-09 11:46:46 (-) [reply] ------- This bug also needs to be fixed for SDL_GetRGB and SDL_GetRGBA (those should not change the format of the surface either). Until this is fixed, I still need to const_cast the format parameter in calls to those functions.
Mon, 13 Apr 2009 08:49:41 +0000 Fixed bug #675 SDL-1.2
Sam Lantinga <> [Mon, 13 Apr 2009 08:49:41 +0000] rev 4172
Fixed bug #675 Description From 2009-01-10 14:07:52 (-) [reply] Assuming the SDL project doesn't just want to pick these up from dinput8.lib or whatever instead, the definitions in SDL_dx5video.c should be: const DIDATAFORMAT c_dfDIKeyboard = { sizeof(DIDATAFORMAT), sizeof(DIOBJECTDATAFORMAT), 0x00000002, 256, 256, KBD_fmt }; const DIDATAFORMAT c_dfDIMouse = { sizeof(DIDATAFORMAT), sizeof(DIOBJECTDATAFORMAT), 0x00000002, 16, 7, PTR_fmt }; const DIDATAFORMAT c_dfDIJoystick = { sizeof(DIDATAFORMAT), sizeof(DIOBJECTDATAFORMAT), 0x00000001, 80, 44, JOY_fmt }; This way the call to IDirectInputDevice2_SetDataFormat in SDL_dx5events.c will succeed on x64.
Mon, 13 Apr 2009 08:44:48 +0000 Fixed bug #619 SDL-1.2
Sam Lantinga <> [Mon, 13 Apr 2009 08:44:48 +0000] rev 4171
Fixed bug #619 Description From Tim Angus 2008-08-31 03:38:36 (-) [reply] When pressing "system keys" e.g. ALT+F4 etc., the default for the windib driver is to ignore them completely, whereas with the directx driver they're handled (badly as it turns out). As the windib driver is the default, I assume its behaviour is considered correct, so the following patch makes the directx driver the same in this regard.
Mon, 13 Apr 2009 08:42:09 +0000 Fixed bug #618 SDL-1.2
Sam Lantinga <> [Mon, 13 Apr 2009 08:42:09 +0000] rev 4170
Fixed bug #618 Description From Tim Angus 2008-08-30 12:23:56 (-) [reply] As we all know SDL 1.2 doesn't handle dead keys well since one key press potentially equals two (or more) characters. For example, on many layouts, keying <backquote>,<space> results in <no character>,<backquote><space>. Since the unicode member of the SDL_keysym struct only has room for one character, only one can be returned. On Linux, the first character is returned. On Windows however, unless the exact number of characters generated by the keypress is 1, nothing is returned. The following patch addresses this inconsistency. Updated patch which includes a further fix to the handling of the numpad when numlock is on. This further fix is courtesy Amanieu d'Antras.
Mon, 13 Apr 2009 08:38:04 +0000 Fixed bug #611 SDL-1.2
Sam Lantinga <> [Mon, 13 Apr 2009 08:38:04 +0000] rev 4169
Fixed bug #611 Comment #22 From Tim Angus 2009-04-02 08:45:52 (-) [reply] ------- First of all, thanks for committing this. Unfortunately it seems the patch has only partially applied to wincommon/SDL_sysevents.c and currently a clean SDL 1.2 checkout doesn't build. The new patch here ( fixes this.
Mon, 13 Apr 2009 00:53:12 +0000 Fixed bug #526 SDL-1.2
Sam Lantinga <> [Mon, 13 Apr 2009 00:53:12 +0000] rev 4168
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.
Thu, 02 Apr 2009 04:43:36 +0000 Fixed bug #611 SDL-1.2
Sam Lantinga <> [Thu, 02 Apr 2009 04:43:36 +0000] rev 4167
Fixed bug #611 From Tim Angus 2008-08-12 11:18:06 I'm one of the maintainers of, an updated version of the Quake 3 engine. Relatively recently, we moved ioq3 to use SDL as a replacement for 95% of the platform specific code that was there. On the whole it's doing a great job but unfortunately since the move we've been getting complaints about the quality of the mouse input on the Windows platform to the point where for many the game is unplayable. Put in other terms, the current stable SDL 1.2 is basically not fit for purpose if you need high quality mouse input as you do in a first person shooter. Over the weekend I decided to pull my finger out and actually figure out what's going on. There are basically two major problems. Firstly, when using the "windib" driver, mouse input is gathered via the WM_MOUSEMOVE message. Googling for this indicates that often this is known to result in "spurious" and/or "missing" mouse movement events; this is the primary cause of the poor mouse input. The second problem is that the "directx" driver does not work at all in combination with OpenGL meaning that you can't use DirectInput if your application also uses OpenGL. In other words you're locked into using the "windib" driver and its poor mouse input. In order to address these problems I've done the following: * Remove WM_MOUSEMOVE based motion event generation and replace with calls to GetCursorPos which seems much more reliable. In order to achieve this I've moved mouse motion out into a separate function that is called once per DIB_PumpEvents. * Remove the restriction on the "directx" driver being inoperable in combination with OpenGL. There is a bug for this issues that I've hijacked to a certain extent ( I'm the first to admit I don't really understand why this restriction is there in the first place. The commit message for the bug fix that introduced this restriction (r581) isn't very elaborate and I couldn't see any other bug tracking the issue. If anyone has more information on the bug that was avoided by r581 it would be helpful as I/someone could then look into addressing the problem without disabling the "directx" driver. * I've also removed the restriction on not being allowed to use DirectInput in windowed mode. I couldn't see any reason for this, at least not from our perspective. I have my suspicions that it'll be something like matching up the cursor with the mouse coordinates... * I bumped up the DirectInput API used to version 7 in order to get access to mouse buttons 4-7. I've had to inject a little bit of the DX7 headers into SDL there as the MinGW ones aren't up to date in this respect.
Thu, 02 Apr 2009 04:09:40 +0000 Added credits for the PS3 code SDL-1.2
Sam Lantinga <> [Thu, 02 Apr 2009 04:09:40 +0000] rev 4166
Added credits for the PS3 code
(0) -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip