From 78ccd1d0680ceff3d936c446a22da08f3b5317de Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 13 Apr 2009 08:49:41 +0000 Subject: [PATCH] Fixed bug #675 Description From maf6@cornell.edu 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. --- src/video/windx5/SDL_dx5video.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/video/windx5/SDL_dx5video.c b/src/video/windx5/SDL_dx5video.c index c0380c862..5f1b5908d 100644 --- a/src/video/windx5/SDL_dx5video.c +++ b/src/video/windx5/SDL_dx5video.c @@ -332,7 +332,7 @@ static DIOBJECTDATAFORMAT KBD_fmt[] = { { &GUID_Key, 255, 0x8000FF0C, 0x00000000 }, }; -const DIDATAFORMAT c_dfDIKeyboard = { 24, 16, 0x00000002, 256, 256, KBD_fmt }; +const DIDATAFORMAT c_dfDIKeyboard = { sizeof(DIDATAFORMAT), sizeof(DIOBJECTDATAFORMAT), 0x00000002, 256, 256, KBD_fmt }; /* Mouse */ @@ -347,7 +347,7 @@ static DIOBJECTDATAFORMAT PTR_fmt[] = { { NULL, 15, 0x80FFFF0C, 0x00000000 }, }; -const DIDATAFORMAT c_dfDIMouse = { 24, 16, 0x00000002, 16, 7, PTR_fmt }; +const DIDATAFORMAT c_dfDIMouse = { sizeof(DIDATAFORMAT), sizeof(DIOBJECTDATAFORMAT), 0x00000002, 16, 7, PTR_fmt }; /* Joystick */ @@ -399,7 +399,7 @@ static DIOBJECTDATAFORMAT JOY_fmt[] = { { NULL, 79, 0x80FFFF0C, 0x00000000 }, }; -const DIDATAFORMAT c_dfDIJoystick = { 24, 16, 0x00000001, 80, 44, JOY_fmt }; +const DIDATAFORMAT c_dfDIJoystick = { sizeof(DIDATAFORMAT), sizeof(DIOBJECTDATAFORMAT), 0x00000001, 80, 44, JOY_fmt }; /* Initialization/Query functions */