This is an automated email from the git hooks/post-receive script. ecsv-guest pushed a commit to branch master in repository mupen64plus-input-sdl.
commit 1a67c2dc53cf58c00128107211c33d6e5668774f Author: Sven Eckelmann <[email protected]> Date: Wed Jun 26 21:24:46 2013 +0200 upport rumble effects when only a single effect can be registered --- debian/changelog | 8 ++++ debian/patches/sdl2_forcefeedback.patch | 73 +++++++++++---------------------- debian/patches/sdl2_mousemode.patch | 14 +++---- 3 files changed, 39 insertions(+), 56 deletions(-) diff --git a/debian/changelog b/debian/changelog index dde31c1..af08956 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +mupen64plus-input-sdl (2.0~rc2+1+9aaeab081d97-3) UNRELEASED; urgency=low + + * debian/patches: + - Update sdl2_forcefeedback.patch, Support rumble effects when only + a single effect can be registered + + -- Sven Eckelmann <[email protected]> Wed, 26 Jun 2013 21:23:41 +0200 + mupen64plus-input-sdl (2.0~rc2+1+9aaeab081d97-2) experimental; urgency=low * debian/rules: diff --git a/debian/patches/sdl2_forcefeedback.patch b/debian/patches/sdl2_forcefeedback.patch index db7e523..39f80bf 100644 --- a/debian/patches/sdl2_forcefeedback.patch +++ b/debian/patches/sdl2_forcefeedback.patch @@ -3,26 +3,19 @@ Author: Sven Eckelmann <[email protected]> --- diff --git a/src/plugin.c b/src/plugin.c -index 8ce635c592f35d774d0ab8fadd25160328d03796..0a44f01e501785ed06331f5c0a5ff509e1e544f7 100644 +index 8ce635c592f35d774d0ab8fadd25160328d03796..5adf21a600be08306ad1c9d93df81a2b38f2723b 100644 --- a/src/plugin.c +++ b/src/plugin.c -@@ -111,7 +111,14 @@ static int romopen = 0; // is a rom opened +@@ -111,7 +111,7 @@ static int romopen = 0; // is a rom opened static unsigned char myKeyState[SDL_NUM_SCANCODES]; -#ifdef __linux__ -+#if SDL_VERSION_ATLEAST(2,0,0) -+static SDL_HapticEffect ffeffect[4]; -+static int ffeffect_id[4]; -+static SDL_HapticEffect ffstrong[4]; -+static int ffstrong_id[4]; -+static SDL_HapticEffect ffweak[4]; -+static int ffweak_id[4]; -+#elif __linux__ ++#if __linux__ && !SDL_VERSION_ATLEAST(2,0,0) static struct ff_effect ffeffect[3]; static struct ff_effect ffstrong[3]; static struct ff_effect ffweak[3]; -@@ -402,7 +409,15 @@ EXPORT void CALL ControllerCommand(int Control, unsigned char *Command) +@@ -402,7 +402,15 @@ EXPORT void CALL ControllerCommand(int Control, unsigned char *Command) unsigned int dwAddress = (Command[3] << 8) + (Command[4] & 0xE0); if (dwAddress == PAK_IO_RUMBLE && *Data) DebugMessage(M64MSG_VERBOSE, "Triggering rumble pack."); @@ -30,16 +23,16 @@ index 8ce635c592f35d774d0ab8fadd25160328d03796..0a44f01e501785ed06331f5c0a5ff509 +#if SDL_VERSION_ATLEAST(2,0,0) + if(dwAddress == PAK_IO_RUMBLE && controller[Control].event_joystick) { + if (*Data) { -+ SDL_HapticRunEffect(controller[Control].event_joystick, ffeffect_id[Control], 1); ++ SDL_HapticRumblePlay(controller[Control].event_joystick, 1, SDL_HAPTIC_INFINITY); + } else { -+ SDL_HapticStopEffect(controller[Control].event_joystick, ffeffect_id[Control]); ++ SDL_HapticRumbleStop(controller[Control].event_joystick); + } + } +#elif __linux__ struct input_event play; if( dwAddress == PAK_IO_RUMBLE && controller[Control].event_joystick != 0) { -@@ -617,7 +632,29 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) +@@ -617,7 +625,30 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) *Keys = controller[Control].buttons; /* handle mempack / rumblepak switching (only if rumble is active on joystick) */ @@ -51,17 +44,18 @@ index 8ce635c592f35d774d0ab8fadd25160328d03796..0a44f01e501785ed06331f5c0a5ff509 + SwitchPackTime[Control] = SDL_GetTicks(); // time at which the 'switch pack' command was given + SwitchPackType[Control] = PLUGIN_MEMPAK; // type of new pack to insert + controller[Control].control->Plugin = PLUGIN_NONE;// remove old pack -+ SDL_HapticRunEffect(controller[Control].event_joystick, ffweak_id[Control], 1); ++ SDL_HapticRumblePlay(controller[Control].event_joystick, 0.5, 500); + } + if (controller[Control].buttons.Value & button_bits[15]) { + SwitchPackTime[Control] = SDL_GetTicks(); // time at which the 'switch pack' command was given + SwitchPackType[Control] = PLUGIN_RAW; // type of new pack to insert + controller[Control].control->Plugin = PLUGIN_NONE;// remove old pack -+ SDL_HapticRunEffect(controller[Control].event_joystick, ffstrong_id[Control], 1); ++ SDL_HapticRumblePlay(controller[Control].event_joystick, 1, 500); + } + // handle inserting new pack if the time has arrived + if (SwitchPackTime[Control] != 0 && (SDL_GetTicks() - SwitchPackTime[Control]) >= 1000) + { ++ SDL_HapticRumbleStop(controller[Control].event_joystick); + controller[Control].control->Plugin = SwitchPackType[Control]; + SwitchPackTime[Control] = 0; + } @@ -70,7 +64,7 @@ index 8ce635c592f35d774d0ab8fadd25160328d03796..0a44f01e501785ed06331f5c0a5ff509 if (controller[Control].event_joystick != 0) { struct input_event play; -@@ -657,9 +694,82 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) +@@ -657,9 +688,66 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) controller[Control].buttons.Value = 0; } @@ -119,42 +113,26 @@ index 8ce635c592f35d774d0ab8fadd25160328d03796..0a44f01e501785ed06331f5c0a5ff509 + return; + } + -+ if ((SDL_HapticQuery(controller[cntrl].event_joystick) & SDL_HAPTIC_SINE) == 0) { ++ if (SDL_HapticRumbleSupported(controller[cntrl].event_joystick) == SDL_FALSE) { ++ SDL_HapticClose(controller[cntrl].event_joystick); + controller[cntrl].event_joystick = NULL; -+ DebugMessage(M64MSG_WARNING, "Joystick #%i doesn't support sine effect", cntrl + 1); ++ DebugMessage(M64MSG_WARNING, "Joystick #%i doesn't support rumble effect", cntrl + 1); + return; + } + -+ memset(&ffeffect[cntrl], 0, sizeof(SDL_HapticEffect)); -+ ffeffect[cntrl].type = SDL_HAPTIC_SINE; -+ ffeffect[cntrl].periodic.period = 1000; -+ ffeffect[cntrl].periodic.magnitude = 0x7FFF; -+ ffeffect[cntrl].periodic.length = SDL_HAPTIC_INFINITY; -+ -+ ffeffect_id[cntrl] = SDL_HapticNewEffect(controller[cntrl].event_joystick, &ffeffect[cntrl]); -+ -+ memset(&ffstrong[cntrl], 0, sizeof(SDL_HapticEffect)); -+ ffstrong[cntrl].type = SDL_HAPTIC_SINE; -+ ffstrong[cntrl].periodic.period = 1000; -+ ffstrong[cntrl].periodic.magnitude = 0x7FFF; -+ ffstrong[cntrl].periodic.length = 500; -+ -+ ffstrong_id[cntrl] = SDL_HapticNewEffect(controller[cntrl].event_joystick, &ffstrong[cntrl]); -+ -+ memset(&ffstrong[cntrl], 0, sizeof(SDL_HapticEffect)); -+ ffweak[cntrl].type = SDL_HAPTIC_SINE; -+ ffweak[cntrl].periodic.period = 1000; -+ ffweak[cntrl].periodic.magnitude = 0x3FFF; -+ ffweak[cntrl].periodic.length = 500; -+ -+ ffweak_id[cntrl] = SDL_HapticNewEffect(controller[cntrl].event_joystick, &ffweak[cntrl]); ++ if (SDL_HapticRumbleInit(controller[cntrl].event_joystick) != 0) { ++ SDL_HapticClose(controller[cntrl].event_joystick); ++ controller[cntrl].event_joystick = NULL; ++ DebugMessage(M64MSG_WARNING, "Rumble initialization failed for Joystick #%i", cntrl + 1); ++ return; ++ } + + DebugMessage(M64MSG_INFO, "Rumble activated on N64 joystick #%i", cntrl + 1); +#elif __linux__ DIR* dp; struct dirent* ep; unsigned long features[4]; -@@ -760,6 +870,19 @@ static void InitiateRumble(int cntrl) +@@ -760,6 +848,16 @@ static void InitiateRumble(int cntrl) #endif /* __linux__ */ } @@ -162,9 +140,6 @@ index 8ce635c592f35d774d0ab8fadd25160328d03796..0a44f01e501785ed06331f5c0a5ff509 +{ +#if SDL_VERSION_ATLEAST(2,0,0) + if (controller[cntrl].event_joystick) { -+ SDL_HapticDestroyEffect(controller[cntrl].event_joystick, ffeffect_id[cntrl]); -+ SDL_HapticDestroyEffect(controller[cntrl].event_joystick, ffstrong_id[cntrl]); -+ SDL_HapticDestroyEffect(controller[cntrl].event_joystick, ffweak_id[cntrl]); + SDL_HapticClose(controller[cntrl].event_joystick); + controller[cntrl].event_joystick = NULL; + } @@ -174,7 +149,7 @@ index 8ce635c592f35d774d0ab8fadd25160328d03796..0a44f01e501785ed06331f5c0a5ff509 /****************************************************************** Function: InitiateControllers Purpose: This function initialises how each of the controllers -@@ -790,10 +913,13 @@ EXPORT void CALL InitiateControllers(CONTROL_INFO ControlInfo) +@@ -790,10 +888,13 @@ EXPORT void CALL InitiateControllers(CONTROL_INFO ControlInfo) for( i = 0; i < 4; i++ ) { // test for rumble support for this joystick @@ -188,7 +163,7 @@ index 8ce635c592f35d774d0ab8fadd25160328d03796..0a44f01e501785ed06331f5c0a5ff509 } DebugMessage(M64MSG_INFO, "%s version %i.%i.%i initialized.", PLUGIN_NAME, VERSION_PRINTF_SPLIT(PLUGIN_VERSION)); -@@ -830,12 +956,10 @@ EXPORT void CALL RomClosed(void) +@@ -830,12 +931,10 @@ EXPORT void CALL RomClosed(void) int i; // close joysticks @@ -205,7 +180,7 @@ index 8ce635c592f35d774d0ab8fadd25160328d03796..0a44f01e501785ed06331f5c0a5ff509 // quit SDL joystick subsystem SDL_QuitSubSystem( SDL_INIT_JOYSTICK ); -@@ -871,15 +995,10 @@ EXPORT int CALL RomOpen(void) +@@ -871,15 +970,10 @@ EXPORT int CALL RomOpen(void) } // open joysticks diff --git a/debian/patches/sdl2_mousemode.patch b/debian/patches/sdl2_mousemode.patch index 2b5a9b0..7585b76 100644 --- a/debian/patches/sdl2_mousemode.patch +++ b/debian/patches/sdl2_mousemode.patch @@ -3,10 +3,10 @@ Author: Sven Eckelmann <[email protected]> --- diff --git a/src/plugin.c b/src/plugin.c -index 0a44f01e501785ed06331f5c0a5ff509e1e544f7..341fa767694899773f072be9a96dd23f8ad65713 100644 +index 5adf21a600be08306ad1c9d93df81a2b38f2723b..5f4839247d59c9fce5455e6696d6a2f8e7691ea9 100644 --- a/src/plugin.c +++ b/src/plugin.c -@@ -313,7 +313,7 @@ doSdlKeys(unsigned char* keystate) +@@ -306,7 +306,7 @@ doSdlKeys(unsigned char* keystate) grabmouse = !grabmouse; // grab/ungrab mouse #if SDL_VERSION_ATLEAST(2,0,0) @@ -15,7 +15,7 @@ index 0a44f01e501785ed06331f5c0a5ff509e1e544f7..341fa767694899773f072be9a96dd23f #else SDL_WM_GrabInput( grabmouse ? SDL_GRAB_ON : SDL_GRAB_OFF ); #endif -@@ -582,9 +582,10 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) +@@ -575,9 +575,10 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) if (controller[Control].mouse) { #if SDL_VERSION_ATLEAST(2,0,0) @@ -27,7 +27,7 @@ index 0a44f01e501785ed06331f5c0a5ff509e1e544f7..341fa767694899773f072be9a96dd23f { SDL_PumpEvents(); #if SDL_VERSION_ATLEAST(1,3,0) -@@ -593,6 +594,11 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) +@@ -586,6 +587,11 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) while (SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_EVENTMASK(SDL_MOUSEMOTION)) == 1) #endif { @@ -39,7 +39,7 @@ index 0a44f01e501785ed06331f5c0a5ff509e1e544f7..341fa767694899773f072be9a96dd23f if (event.motion.xrel) { mousex_residual += (int) (event.motion.xrel * controller[Control].mouse_sens[0]); -@@ -601,10 +607,20 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) +@@ -594,10 +600,20 @@ EXPORT void CALL GetKeys( int Control, BUTTONS *Keys ) { mousey_residual += (int) (event.motion.yrel * controller[Control].mouse_sens[1]); } @@ -61,7 +61,7 @@ index 0a44f01e501785ed06331f5c0a5ff509e1e544f7..341fa767694899773f072be9a96dd23f { mousex_residual = 0; mousey_residual = 0; -@@ -966,7 +982,7 @@ EXPORT void CALL RomClosed(void) +@@ -941,7 +957,7 @@ EXPORT void CALL RomClosed(void) // release/ungrab mouse #if SDL_VERSION_ATLEAST(2,0,0) @@ -70,7 +70,7 @@ index 0a44f01e501785ed06331f5c0a5ff509e1e544f7..341fa767694899773f072be9a96dd23f #else SDL_WM_GrabInput( SDL_GRAB_OFF ); #endif -@@ -1003,10 +1019,12 @@ EXPORT int CALL RomOpen(void) +@@ -978,10 +994,12 @@ EXPORT int CALL RomOpen(void) // grab mouse if (controller[0].mouse || controller[1].mouse || controller[2].mouse || controller[3].mouse) { -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-input-sdl.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

