From a2979ed1795b5b9fcd038d2af38ab1705b812e80 Mon Sep 17 00:00:00 2001 From: lubomyr Date: Sat, 20 Aug 2016 16:01:28 +0300 Subject: [PATCH] updated MilkyTracker app 0.90.86 --- .../milkytracker/AndroidAppSettings.cfg | 21 +- .../application/milkytracker/AndroidBuild.sh | 12 +- .../milkytrackey-0.90.85-android.diff | 248 ------------------ .../milkytrackey-0.90.86-android.diff | 131 +++++++++ 4 files changed, 153 insertions(+), 259 deletions(-) mode change 100644 => 100755 project/jni/application/milkytracker/AndroidAppSettings.cfg delete mode 100644 project/jni/application/milkytracker/milkytrackey-0.90.85-android.diff create mode 100755 project/jni/application/milkytracker/milkytrackey-0.90.86-android.diff diff --git a/project/jni/application/milkytracker/AndroidAppSettings.cfg b/project/jni/application/milkytracker/AndroidAppSettings.cfg old mode 100644 new mode 100755 index 8ed5d0b93..e3f98ca4f --- a/project/jni/application/milkytracker/AndroidAppSettings.cfg +++ b/project/jni/application/milkytracker/AndroidAppSettings.cfg @@ -16,6 +16,9 @@ SdlVideoResizeKeepAspect=n CompatibilityHacks=y CompatibilityHacksStaticInit=n CompatibilityHacksTextInputEmulatesHwKeyboard=y +# Application does not call SDL_Flip() or SDL_UpdateRects() after mouse click (ScummVM and all Amiga emulators do that) - +# force screen update by moving mouse cursor a little after each click (y) or (n) +CompatibilityHacksForceScreenUpdateMouseClick=n AppUsesMouse=y AppNeedsTwoButtonMouse=y ShowMouseCursor=y @@ -24,18 +27,24 @@ AppNeedsArrowKeys=n AppNeedsTextInput=y AppUsesJoystick=n AppHandlesJoystickSensitivity=y -AppUsesMultitouch=n +AppUsesMultitouch=y NonBlockingSwapBuffers=n RedefinedKeys="SPACE TAB NO_REMAP NO_REMAP RETURN ESCAPE DELETE" AppTouchscreenKeyboardKeysAmount=0 AppTouchscreenKeyboardKeysAmountAutoFire=0 RedefinedKeysScreenKb="SPACE TAB PLUS MINUS RETURN ESCAPE DELETE" StartupMenuButtonTimeout=3000 -HiddenMenuOptions='OptionalDownloadConfig' -FirstStartMenuOptions='new Settings.DummyMenu()' +# Menu items to hide from startup menu, available menu items: +# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout SettingsMenuKeyboard.ScreenKeyboardAdvanced +HiddenMenuOptions='SettingsMenuMisc.OptionalDownloadConfig' +# Menu items to show at startup - this is Java code snippet, leave empty for default +# new SettingsMenuMisc.ShowReadme(), (AppUsesMouse \&\& \! ForceRelativeMouseMode \? new SettingsMenuMouse.DisplaySizeConfig(true) : new SettingsMenu.DummyMenu()), new SettingsMenuMisc.OptionalDownloadConfig(true), new SettingsMenuMisc.GyroscopeCalibration() +# Available menu items: +# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout SettingsMenuKeyboard.ScreenKeyboardAdvanced +FirstStartMenuOptions='SettingsMenu.DummyMenu' MultiABI=n -AppVersionCode=0908506 -AppVersionName="0.90.85.06" +AppVersionCode=0908601 +AppVersionName="0.90.86.01" ResetSdlConfigForThisVersion=y DeleteFilesOnUpgrade="%" CompiledLibraries="jpeg png zzip" @@ -45,3 +54,5 @@ AppLdflags='' AppSubdirsBuild='' AppCmdline='milkytracker -fullscreen -nonstdkb -nosplash' ReadmeText='^You may press "Home" now - the data will be downloaded in background' +# Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower +AppMinimumRAM=0 \ No newline at end of file diff --git a/project/jni/application/milkytracker/AndroidBuild.sh b/project/jni/application/milkytracker/AndroidBuild.sh index 361269b1b..054983302 100755 --- a/project/jni/application/milkytracker/AndroidBuild.sh +++ b/project/jni/application/milkytracker/AndroidBuild.sh @@ -6,15 +6,15 @@ LOCAL_PATH=`cd $LOCAL_PATH && pwd` ln -sf libsdl-1.2.so $LOCAL_PATH/../../../obj/local/armeabi/libSDL.so -[ -d milkytracker-0.90.85 ] || { curl "http://www.milkytracker.org/files/milkytracker-0.90.85.tar.bz2" | bunzip2 | tar xv && patch -p0 < milkytrackey-0.90.85-android.diff || exit 1 ; } +[ -d milkytracker-0.90.86 ] || { curl "http://www.milkytracker.org/files/milkytracker-0.90.86.tar.bz2" | bunzip2 | tar xv && patch -p0 < milkytrackey-0.90.86-android.diff || exit 1 ; } -if [ \! -f milkytracker-0.90.85/configure ] ; then - sh -c "cd milkytracker-0.90.85 && ./autogen.sh" +if [ \! -f milkytracker-0.90.86/configure ] ; then + sh -c "cd milkytracker-0.90.86 && ./autogen.sh" fi -if [ \! -f milkytracker-0.90.85/Makefile ] ; then +if [ \! -f milkytracker-0.90.86/Makefile ] ; then env CFLAGS=-D__LOWRES__ \ - ../setEnvironment.sh sh -c "cd milkytracker-0.90.85 && ZZIP_CFLAGS='-I$LOCAL_PATH/../../zzip/include' ZZIP_LIBS='-L$LOCAL_PATH/../../../obj/local/armeabi -lzzip' LIBS=-lgnustl_static ./configure --host=arm-linux-androideabi" + ../setEnvironment.sh sh -c "cd milkytracker-0.90.86 && ZZIP_CFLAGS='-I$LOCAL_PATH/../../zzip/include' ZZIP_LIBS='-L$LOCAL_PATH/../../../obj/local/armeabi -lzzip' LIBS=-lgnustl_static ./configure --host=arm-linux-androideabi" fi -make -j4 -C milkytracker-0.90.85 && mv -f milkytracker-0.90.85/src/tracker/milkytracker libapplication.so +make -j4 -C milkytracker-0.90.86 && mv -f milkytracker-0.90.86/src/tracker/milkytracker libapplication.so diff --git a/project/jni/application/milkytracker/milkytrackey-0.90.85-android.diff b/project/jni/application/milkytracker/milkytrackey-0.90.85-android.diff deleted file mode 100644 index 95573b5f5..000000000 --- a/project/jni/application/milkytracker/milkytrackey-0.90.85-android.diff +++ /dev/null @@ -1,248 +0,0 @@ -Only in milkytracker-0.90.85: config.h -Only in milkytracker-0.90.85: config.log -Only in milkytracker-0.90.85: config.status -diff -u -r milkytracker-0.90.85-old/configure milkytracker-0.90.85/configure ---- milkytracker-0.90.85-old/configure 2010-01-02 02:03:37.000000000 +0200 -+++ milkytracker-0.90.85/configure 2012-06-19 14:47:54.608553718 +0300 -@@ -5431,95 +5431,9 @@ - fi - - pkg_failed=no --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZZIP" >&5 --$as_echo_n "checking for ZZIP... " >&6; } -- --if test -n "$PKG_CONFIG"; then -- if test -n "$ZZIP_CFLAGS"; then -- pkg_cv_ZZIP_CFLAGS="$ZZIP_CFLAGS" -- else -- if test -n "$PKG_CONFIG" && \ -- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zziplib >= 0.10.75\""; } >&5 -- ($PKG_CONFIG --exists --print-errors "zziplib >= 0.10.75") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; then -- pkg_cv_ZZIP_CFLAGS=`$PKG_CONFIG --cflags "zziplib >= 0.10.75" 2>/dev/null` --else -- pkg_failed=yes --fi -- fi --else -- pkg_failed=untried --fi --if test -n "$PKG_CONFIG"; then -- if test -n "$ZZIP_LIBS"; then -- pkg_cv_ZZIP_LIBS="$ZZIP_LIBS" -- else -- if test -n "$PKG_CONFIG" && \ -- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zziplib >= 0.10.75\""; } >&5 -- ($PKG_CONFIG --exists --print-errors "zziplib >= 0.10.75") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; then -- pkg_cv_ZZIP_LIBS=`$PKG_CONFIG --libs "zziplib >= 0.10.75" 2>/dev/null` --else -- pkg_failed=yes --fi -- fi --else -- pkg_failed=untried --fi -- -- -- --if test $pkg_failed = yes; then -- --if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then -- _pkg_short_errors_supported=yes --else -- _pkg_short_errors_supported=no --fi -- if test $_pkg_short_errors_supported = yes; then -- ZZIP_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "zziplib >= 0.10.75"` -- else -- ZZIP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "zziplib >= 0.10.75"` -- fi -- # Put the nasty error message in config.log where it belongs -- echo "$ZZIP_PKG_ERRORS" >&5 -- -- as_fn_error "Package requirements (zziplib >= 0.10.75) were not met: - - $ZZIP_PKG_ERRORS - --Consider adjusting the PKG_CONFIG_PATH environment variable if you --installed software in a non-standard prefix. -- --Alternatively, you may set the environment variables ZZIP_CFLAGS --and ZZIP_LIBS to avoid the need to call pkg-config. --See the pkg-config man page for more details. --" "$LINENO" 5 --elif test $pkg_failed = untried; then -- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --as_fn_error "The pkg-config script could not be found or is too old. Make sure it --is in your PATH or set the PKG_CONFIG environment variable to the full --path to pkg-config. -- --Alternatively, you may set the environment variables ZZIP_CFLAGS --and ZZIP_LIBS to avoid the need to call pkg-config. --See the pkg-config man page for more details. -- --To get pkg-config, see . --See \`config.log' for more details." "$LINENO" 5; } --else -- ZZIP_CFLAGS=$pkg_cv_ZZIP_CFLAGS -- ZZIP_LIBS=$pkg_cv_ZZIP_LIBS -- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 --$as_echo "yes" >&6; } -- : --fi -- - SDL_VERSION=1.2.0 - - # Check whether --with-sdl-prefix was given. -Only in milkytracker-0.90.85: Makefile -Only in milkytracker-0.90.85/src/compression: .deps -Only in milkytracker-0.90.85/src/compression: Makefile -Only in milkytracker-0.90.85/src/compression/zziplib/generic: .deps -Only in milkytracker-0.90.85/src/compression/zziplib/generic: Makefile -Only in milkytracker-0.90.85/src/fx: .deps -Only in milkytracker-0.90.85/src/fx: Makefile -Only in milkytracker-0.90.85/src: Makefile -Only in milkytracker-0.90.85/src/midi: .deps -Only in milkytracker-0.90.85/src/midi: Makefile -Only in milkytracker-0.90.85/src/milkyplay: .deps -Only in milkytracker-0.90.85/src/milkyplay: Makefile -Only in milkytracker-0.90.85/src/ppui: .deps -Only in milkytracker-0.90.85/src/ppui: Makefile -Only in milkytracker-0.90.85/src/ppui/osinterface: .deps -Only in milkytracker-0.90.85/src/ppui/osinterface: Makefile -diff -u -r milkytracker-0.90.85-old/src/ppui/sdl/DisplayDevice_SDL.cpp milkytracker-0.90.85/src/ppui/sdl/DisplayDevice_SDL.cpp ---- milkytracker-0.90.85-old/src/ppui/sdl/DisplayDevice_SDL.cpp 2009-02-22 12:20:39.000000000 +0200 -+++ milkytracker-0.90.85/src/ppui/sdl/DisplayDevice_SDL.cpp 2012-06-19 14:52:22.140551268 +0300 -@@ -47,6 +47,7 @@ - return NULL; - } - } -+ SDL_Flip(screen); // Update screen on Android - - return screen; - } -@@ -173,6 +174,8 @@ - void PPDisplayDevice::setSize(const PPSize& size) - { - theSurface = SDL_SetVideoMode(size.width, size.height, theSurface->format->BitsPerPixel, theSurface->flags); -+ if(theSurface) -+ SDL_Flip(theSurface); // Update screen on Android - } - - bool PPDisplayDevice::goFullScreen(bool b) -Only in milkytracker-0.90.85/src/tracker: .deps -Only in milkytracker-0.90.85/src/tracker: Makefile -diff -u -r milkytracker-0.90.85-old/src/tracker/sdl/SDL_Main.cpp milkytracker-0.90.85/src/tracker/sdl/SDL_Main.cpp ---- milkytracker-0.90.85-old/src/tracker/sdl/SDL_Main.cpp 2009-02-22 12:20:39.000000000 +0200 -+++ milkytracker-0.90.85/src/tracker/sdl/SDL_Main.cpp 2012-06-19 14:47:54.608553718 +0300 -@@ -303,7 +303,7 @@ - #endif - - if (lMouseDown && -- (timerTicker - lButtonDownStartTime) > 25) -+ (timerTicker - lButtonDownStartTime) > 100) - { - ev.code = SDLUserEventLMouseRepeat; - ev.data1 = (void*)p.x; -@@ -315,7 +315,7 @@ - } - - if (rMouseDown && -- (timerTicker - rButtonDownStartTime) > 25) -+ (timerTicker - rButtonDownStartTime) > 100) - { - ev.code = SDLUserEventRMouseRepeat; - ev.data1 = (void*)p.x; -@@ -424,7 +424,7 @@ - { - pp_uint32 deltat = PPGetTickCount() - lmyTime; - -- if (deltat > 500) -+ if (deltat > 2000) - { - lClickCount = 0; - lmyTime = PPGetTickCount(); -@@ -455,7 +455,7 @@ - { - pp_uint32 deltat = PPGetTickCount() - rmyTime; - -- if (deltat > 500) -+ if (deltat > 2000) - { - rClickCount = 0; - rmyTime = PPGetTickCount(); -@@ -504,11 +504,11 @@ - { - pp_uint32 deltat = PPGetTickCount() - lmyTime; - -- if (deltat < 500) -+ if (deltat < 2000) - { - p.x = localMouseX; p.y = localMouseY; -- if (abs(p.x - llastClickPosition.x) < 4 && -- abs(p.y - llastClickPosition.y) < 4) -+ if (abs(p.x - llastClickPosition.x) < 30 && -+ abs(p.y - llastClickPosition.y) < 30) - { - PPEvent myEvent(eLMouseDoubleClick, &p, sizeof(PPPoint)); - RaiseEventSerialized(&myEvent); -@@ -531,11 +531,11 @@ - { - pp_uint32 deltat = PPGetTickCount() - rmyTime; - -- if (deltat < 500) -+ if (deltat < 2000) - { - p.x = localMouseX; p.y = localMouseY; -- if (abs(p.x - rlastClickPosition.x) < 4 && -- abs(p.y - rlastClickPosition.y) < 4) -+ if (abs(p.x - rlastClickPosition.x) < 30 && -+ abs(p.y - rlastClickPosition.y) < 30) - { - PPEvent myEvent(eRMouseDoubleClick, &p, sizeof(PPPoint)); - RaiseEventSerialized(&myEvent); -@@ -570,13 +570,33 @@ - p.x = localMouseX; p.y = localMouseY; - if (mouseButton == 1 && lMouseDown) - { -- PPEvent myEvent(eLMouseDrag, &p, sizeof(PPPoint)); -- RaiseEventSerialized(&myEvent); -+ if (abs(p.x - llastClickPosition.x) < 30 && -+ abs(p.y - llastClickPosition.y) < 30) -+ { -+ PPEvent myEvent(eMouseMoved, &p, sizeof(PPPoint)); -+ RaiseEventSerialized(&myEvent); -+ } -+ else -+ { -+ llastClickPosition.x = -31; -+ PPEvent myEvent(eLMouseDrag, &p, sizeof(PPPoint)); -+ RaiseEventSerialized(&myEvent); -+ } - } - else if (rMouseDown) - { -- PPEvent myEvent(eRMouseDrag, &p, sizeof(PPPoint)); -- RaiseEventSerialized(&myEvent); -+ if (abs(p.x - rlastClickPosition.x) < 30 && -+ abs(p.y - rlastClickPosition.y) < 30) -+ { -+ PPEvent myEvent(eMouseMoved, &p, sizeof(PPPoint)); -+ RaiseEventSerialized(&myEvent); -+ } -+ else -+ { -+ rlastClickPosition.x = -31; -+ PPEvent myEvent(eRMouseDrag, &p, sizeof(PPPoint)); -+ RaiseEventSerialized(&myEvent); -+ } - } - } - } -Only in milkytracker-0.90.85: stamp-h1 diff --git a/project/jni/application/milkytracker/milkytrackey-0.90.86-android.diff b/project/jni/application/milkytracker/milkytrackey-0.90.86-android.diff new file mode 100755 index 000000000..b3411860d --- /dev/null +++ b/project/jni/application/milkytracker/milkytrackey-0.90.86-android.diff @@ -0,0 +1,131 @@ +Only in milkytracker-0.90.86: configure.orig +Only in milkytracker-0.90.86: configure.rej +Only in milkytracker-0.90.86/platforms/osx/milkytracker_universal/milkytracker_universal.xcodeproj: project.pbxproj +diff -ru old/milkytracker-0.90.86/src/ppui/sdl/DisplayDevice_SDL.cpp milkytracker-0.90.86/src/ppui/sdl/DisplayDevice_SDL.cpp +--- old/milkytracker-0.90.86/src/ppui/sdl/DisplayDevice_SDL.cpp 2013-11-09 00:11:59.000000000 +0000 ++++ milkytracker-0.90.86/src/ppui/sdl/DisplayDevice_SDL.cpp 2015-03-05 13:45:09.000000000 +0000 +@@ -47,6 +47,7 @@ + return NULL; + } + } ++ SDL_Flip(screen); // Update screen on Android + + return screen; + } +@@ -173,6 +174,8 @@ + void PPDisplayDevice::setSize(const PPSize& size) + { + theSurface = SDL_SetVideoMode(size.width, size.height, theSurface->format->BitsPerPixel, theSurface->flags); ++ if(theSurface) ++ SDL_Flip(theSurface); // Update screen on Android + } + + bool PPDisplayDevice::goFullScreen(bool b) +diff -ru old/milkytracker-0.90.86/src/tracker/sdl/SDL_Main.cpp milkytracker-0.90.86/src/tracker/sdl/SDL_Main.cpp +--- old/milkytracker-0.90.86/src/tracker/sdl/SDL_Main.cpp 2013-11-09 00:12:02.000000000 +0000 ++++ milkytracker-0.90.86/src/tracker/sdl/SDL_Main.cpp 2015-03-05 13:45:32.000000000 +0000 +@@ -302,7 +302,7 @@ + #endif + + if (lMouseDown && +- (timerTicker - lButtonDownStartTime) > 25) ++ (timerTicker - lButtonDownStartTime) > 100) + { + ev.code = SDLUserEventLMouseRepeat; + ev.data1 = (void*)p.x; +@@ -314,7 +314,7 @@ + } + + if (rMouseDown && +- (timerTicker - rButtonDownStartTime) > 25) ++ (timerTicker - rButtonDownStartTime) > 100) + { + ev.code = SDLUserEventRMouseRepeat; + ev.data1 = (void*)p.x; +@@ -423,7 +423,7 @@ + { + pp_uint32 deltat = PPGetTickCount() - lmyTime; + +- if (deltat > 500) ++ if (deltat > 2000) + { + lClickCount = 0; + lmyTime = PPGetTickCount(); +@@ -454,7 +454,7 @@ + { + pp_uint32 deltat = PPGetTickCount() - rmyTime; + +- if (deltat > 500) ++ if (deltat > 2000) + { + rClickCount = 0; + rmyTime = PPGetTickCount(); +@@ -503,11 +503,11 @@ + { + pp_uint32 deltat = PPGetTickCount() - lmyTime; + +- if (deltat < 500) ++ if (deltat < 2000) + { + p.x = localMouseX; p.y = localMouseY; +- if (abs(p.x - llastClickPosition.x) < 4 && +- abs(p.y - llastClickPosition.y) < 4) ++ if (abs(p.x - llastClickPosition.x) < 30 && ++ abs(p.y - llastClickPosition.y) < 30) + { + PPEvent myEvent(eLMouseDoubleClick, &p, sizeof(PPPoint)); + RaiseEventSerialized(&myEvent); +@@ -530,11 +530,11 @@ + { + pp_uint32 deltat = PPGetTickCount() - rmyTime; + +- if (deltat < 500) ++ if (deltat < 2000) + { + p.x = localMouseX; p.y = localMouseY; +- if (abs(p.x - rlastClickPosition.x) < 4 && +- abs(p.y - rlastClickPosition.y) < 4) ++ if (abs(p.x - rlastClickPosition.x) < 30 && ++ abs(p.y - rlastClickPosition.y) < 30) + { + PPEvent myEvent(eRMouseDoubleClick, &p, sizeof(PPPoint)); + RaiseEventSerialized(&myEvent); +@@ -569,13 +569,33 @@ + p.x = localMouseX; p.y = localMouseY; + if (mouseButton == 1 && lMouseDown) + { +- PPEvent myEvent(eLMouseDrag, &p, sizeof(PPPoint)); +- RaiseEventSerialized(&myEvent); ++ if (abs(p.x - llastClickPosition.x) < 30 && ++ abs(p.y - llastClickPosition.y) < 30) ++ { ++ PPEvent myEvent(eMouseMoved, &p, sizeof(PPPoint)); ++ RaiseEventSerialized(&myEvent); ++ } ++ else ++ { ++ llastClickPosition.x = -31; ++ PPEvent myEvent(eLMouseDrag, &p, sizeof(PPPoint)); ++ RaiseEventSerialized(&myEvent); ++ } + } + else if (rMouseDown) + { +- PPEvent myEvent(eRMouseDrag, &p, sizeof(PPPoint)); +- RaiseEventSerialized(&myEvent); ++ if (abs(p.x - rlastClickPosition.x) < 30 && ++ abs(p.y - rlastClickPosition.y) < 30) ++ { ++ PPEvent myEvent(eMouseMoved, &p, sizeof(PPPoint)); ++ RaiseEventSerialized(&myEvent); ++ } ++ else ++ { ++ rlastClickPosition.x = -31; ++ PPEvent myEvent(eRMouseDrag, &p, sizeof(PPPoint)); ++ RaiseEventSerialized(&myEvent); ++ } + } + } + } +Only in milkytracker-0.90.86/src/tracker/sdl: SDL_Main.cpp.orig