Refreshing screen on mouse click is back as an option in AndroidAppSettings.cfg, enabled by default
This commit is contained in:
@@ -45,7 +45,6 @@ if [ "$AppUsesJoystick" != "y" ]; then
|
|||||||
AppUsesSecondJoystick=n
|
AppUsesSecondJoystick=n
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
MenuOptionsAvailable=
|
MenuOptionsAvailable=
|
||||||
for FF in Menu MenuMisc MenuMouse MenuKeyboard ; do
|
for FF in Menu MenuMisc MenuMouse MenuKeyboard ; do
|
||||||
MenuOptionsAvailable1=`grep 'extends Menu' $JAVA_SRC_PATH/Settings$FF.java | sed "s/.* class \(.*\) extends .*/Settings$FF.\1/" | tr '\n' ' '`
|
MenuOptionsAvailable1=`grep 'extends Menu' $JAVA_SRC_PATH/Settings$FF.java | sed "s/.* class \(.*\) extends .*/Settings$FF.\1/" | tr '\n' ' '`
|
||||||
@@ -58,6 +57,15 @@ if [ -z "$CompatibilityHacksForceScreenUpdate" ]; then
|
|||||||
CompatibilityHacksForceScreenUpdate=$CompatibilityHacks
|
CompatibilityHacksForceScreenUpdate=$CompatibilityHacks
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "$CompatibilityHacksForceScreenUpdateMouseClick" ]; then
|
||||||
|
CompatibilityHacksForceScreenUpdateMouseClick=y
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$TouchscreenKeysTheme" ]; then
|
||||||
|
TouchscreenKeysTheme=2
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ -z "$AppVersionCode" -o "-$AUTO" != "-a" ]; then
|
if [ -z "$AppVersionCode" -o "-$AUTO" != "-a" ]; then
|
||||||
echo
|
echo
|
||||||
echo -n "Application version code (integer) ($AppVersionCode): "
|
echo -n "Application version code (integer) ($AppVersionCode): "
|
||||||
@@ -172,6 +180,10 @@ echo "# Application does not call SDL_Flip() or SDL_UpdateRects() appropriately,
|
|||||||
echo "# enabling the compatibility mode will force screen update every 100 milliseconds, which is laggy and inefficient (y) or (n)" >> AndroidAppSettings.cfg
|
echo "# enabling the compatibility mode will force screen update every 100 milliseconds, which is laggy and inefficient (y) or (n)" >> AndroidAppSettings.cfg
|
||||||
echo CompatibilityHacksForceScreenUpdate=$CompatibilityHacksForceScreenUpdate >> AndroidAppSettings.cfg
|
echo CompatibilityHacksForceScreenUpdate=$CompatibilityHacksForceScreenUpdate >> AndroidAppSettings.cfg
|
||||||
echo >> AndroidAppSettings.cfg
|
echo >> AndroidAppSettings.cfg
|
||||||
|
echo "# Application does not call SDL_Flip() or SDL_UpdateRects() after mouse click (ScummVM and all Amiga emulators do that) -" >> AndroidAppSettings.cfg
|
||||||
|
echo "# force screen update by moving mouse cursor a little after each click (y) or (n)" >> AndroidAppSettings.cfg
|
||||||
|
echo CompatibilityHacksForceScreenUpdateMouseClick=$CompatibilityHacksForceScreenUpdateMouseClick >> AndroidAppSettings.cfg
|
||||||
|
echo >> AndroidAppSettings.cfg
|
||||||
echo "# Application initializes SDL audio/video inside static constructors (which is bad, you won't be able to run ndk-gdb) (y)/(n)" >> AndroidAppSettings.cfg
|
echo "# Application initializes SDL audio/video inside static constructors (which is bad, you won't be able to run ndk-gdb) (y)/(n)" >> AndroidAppSettings.cfg
|
||||||
echo CompatibilityHacksStaticInit=$CompatibilityHacksStaticInit >> AndroidAppSettings.cfg
|
echo CompatibilityHacksStaticInit=$CompatibilityHacksStaticInit >> AndroidAppSettings.cfg
|
||||||
echo >> AndroidAppSettings.cfg
|
echo >> AndroidAppSettings.cfg
|
||||||
@@ -347,7 +359,7 @@ echo >> AndroidAppSettings.cfg
|
|||||||
echo "# Your AdMob test device ID, to receive a test ad" >> AndroidAppSettings.cfg
|
echo "# Your AdMob test device ID, to receive a test ad" >> AndroidAppSettings.cfg
|
||||||
echo AdmobTestDeviceId=$AdmobTestDeviceId >> AndroidAppSettings.cfg
|
echo AdmobTestDeviceId=$AdmobTestDeviceId >> AndroidAppSettings.cfg
|
||||||
echo >> AndroidAppSettings.cfg
|
echo >> AndroidAppSettings.cfg
|
||||||
echo "# Your AdMob banner size (BANNER/IAB_BANNER/IAB_LEADERBOARD/IAB_MRECT/IAB_WIDE_SKYSCRAPER/SMART_BANNER)" >> AndroidAppSettings.cfg
|
echo "# Your AdMob banner size (BANNER/FULL_BANNER/LEADERBOARD/MEDIUM_RECTANGLE/SMART_BANNER/WIDE_SKYSCRAPER/FULL_WIDTH:Height/Width:AUTO_HEIGHT/Width:Height)" >> AndroidAppSettings.cfg
|
||||||
echo AdmobBannerSize=$AdmobBannerSize >> AndroidAppSettings.cfg
|
echo AdmobBannerSize=$AdmobBannerSize >> AndroidAppSettings.cfg
|
||||||
echo >> AndroidAppSettings.cfg
|
echo >> AndroidAppSettings.cfg
|
||||||
fi
|
fi
|
||||||
@@ -430,6 +442,12 @@ else
|
|||||||
CompatibilityHacksForceScreenUpdate=false
|
CompatibilityHacksForceScreenUpdate=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$CompatibilityHacksForceScreenUpdateMouseClick" = "y" ] ; then
|
||||||
|
CompatibilityHacksForceScreenUpdateMouseClick=true
|
||||||
|
else
|
||||||
|
CompatibilityHacksForceScreenUpdateMouseClick=false
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$CompatibilityHacksStaticInit" = "y" ] ; then
|
if [ "$CompatibilityHacksStaticInit" = "y" ] ; then
|
||||||
CompatibilityHacksStaticInit=true
|
CompatibilityHacksStaticInit=true
|
||||||
else
|
else
|
||||||
@@ -737,6 +755,7 @@ $SEDI "s/public static boolean NeedGles2 = .*;/public static boolean NeedGles2 =
|
|||||||
$SEDI "s/public static boolean CompatibilityHacksVideo = .*;/public static boolean CompatibilityHacksVideo = $CompatibilityHacksForceScreenUpdate;/" project/src/Globals.java
|
$SEDI "s/public static boolean CompatibilityHacksVideo = .*;/public static boolean CompatibilityHacksVideo = $CompatibilityHacksForceScreenUpdate;/" project/src/Globals.java
|
||||||
$SEDI "s/public static boolean CompatibilityHacksStaticInit = .*;/public static boolean CompatibilityHacksStaticInit = $CompatibilityHacksStaticInit;/" project/src/Globals.java
|
$SEDI "s/public static boolean CompatibilityHacksStaticInit = .*;/public static boolean CompatibilityHacksStaticInit = $CompatibilityHacksStaticInit;/" project/src/Globals.java
|
||||||
$SEDI "s/public static boolean CompatibilityHacksTextInputEmulatesHwKeyboard = .*;/public static boolean CompatibilityHacksTextInputEmulatesHwKeyboard = $CompatibilityHacksTextInputEmulatesHwKeyboard;/" project/src/Globals.java
|
$SEDI "s/public static boolean CompatibilityHacksTextInputEmulatesHwKeyboard = .*;/public static boolean CompatibilityHacksTextInputEmulatesHwKeyboard = $CompatibilityHacksTextInputEmulatesHwKeyboard;/" project/src/Globals.java
|
||||||
|
$SEDI "s/public static boolean CompatibilityHacksForceScreenUpdateMouseClick = .*;/public static boolean CompatibilityHacksForceScreenUpdateMouseClick = $CompatibilityHacksForceScreenUpdateMouseClick;/" project/src/Globals.java
|
||||||
$SEDI "s/public static boolean HorizontalOrientation = .*;/public static boolean HorizontalOrientation = $HorizontalOrientation;/" project/src/Globals.java
|
$SEDI "s/public static boolean HorizontalOrientation = .*;/public static boolean HorizontalOrientation = $HorizontalOrientation;/" project/src/Globals.java
|
||||||
$SEDI "s^public static boolean KeepAspectRatioDefaultSetting = .*^public static boolean KeepAspectRatioDefaultSetting = $SdlVideoResizeKeepAspect;^" project/src/Globals.java
|
$SEDI "s^public static boolean KeepAspectRatioDefaultSetting = .*^public static boolean KeepAspectRatioDefaultSetting = $SdlVideoResizeKeepAspect;^" project/src/Globals.java
|
||||||
$SEDI "s/public static boolean InhibitSuspend = .*;/public static boolean InhibitSuspend = $InhibitSuspend;/" project/src/Globals.java
|
$SEDI "s/public static boolean InhibitSuspend = .*;/public static boolean InhibitSuspend = $InhibitSuspend;/" project/src/Globals.java
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ class Globals
|
|||||||
public static boolean NeedStencilBuffer = false;
|
public static boolean NeedStencilBuffer = false;
|
||||||
public static boolean NeedGles2 = false;
|
public static boolean NeedGles2 = false;
|
||||||
public static boolean CompatibilityHacksVideo = false;
|
public static boolean CompatibilityHacksVideo = false;
|
||||||
|
public static boolean CompatibilityHacksForceScreenUpdateMouseClick = true;
|
||||||
public static boolean CompatibilityHacksStaticInit = false;
|
public static boolean CompatibilityHacksStaticInit = false;
|
||||||
public static boolean CompatibilityHacksTextInputEmulatesHwKeyboard = false;
|
public static boolean CompatibilityHacksTextInputEmulatesHwKeyboard = false;
|
||||||
public static boolean HorizontalOrientation = true;
|
public static boolean HorizontalOrientation = true;
|
||||||
|
|||||||
@@ -510,7 +510,8 @@ class Settings
|
|||||||
Globals.HoverJitterFilter ? 1 : 0,
|
Globals.HoverJitterFilter ? 1 : 0,
|
||||||
Globals.RightMouseButtonLongPress ? 1 : 0,
|
Globals.RightMouseButtonLongPress ? 1 : 0,
|
||||||
Globals.MoveMouseWithGyroscope ? 1 : 0,
|
Globals.MoveMouseWithGyroscope ? 1 : 0,
|
||||||
Globals.MoveMouseWithGyroscopeSpeed);
|
Globals.MoveMouseWithGyroscopeSpeed,
|
||||||
|
Globals.CompatibilityHacksForceScreenUpdateMouseClick ? 1 : 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Apply(MainActivity p)
|
static void Apply(MainActivity p)
|
||||||
@@ -787,7 +788,8 @@ class Settings
|
|||||||
int relativeMovement, int relativeMovementSpeed,
|
int relativeMovement, int relativeMovementSpeed,
|
||||||
int relativeMovementAccel, int showMouseCursor,
|
int relativeMovementAccel, int showMouseCursor,
|
||||||
int HoverJitterFilter, int RightMouseButtonLongPress,
|
int HoverJitterFilter, int RightMouseButtonLongPress,
|
||||||
int MoveMouseWithGyroscope, int MoveMouseWithGyroscopeSpeed);
|
int MoveMouseWithGyroscope, int MoveMouseWithGyroscopeSpeed,
|
||||||
|
int ForceScreenUpdateMouseClick);
|
||||||
private static native void nativeSetJoystickUsed(int amount);
|
private static native void nativeSetJoystickUsed(int amount);
|
||||||
private static native void nativeSetAccelerometerUsed();
|
private static native void nativeSetAccelerometerUsed();
|
||||||
private static native void nativeSetMultitouchUsed();
|
private static native void nativeSetMultitouchUsed();
|
||||||
|
|||||||
@@ -139,6 +139,7 @@ static int moveMouseWithGyroscope = 0;
|
|||||||
static float moveMouseWithGyroscopeSpeed = 5.0f;
|
static float moveMouseWithGyroscopeSpeed = 5.0f;
|
||||||
static int moveMouseWithGyroscopeX = 0;
|
static int moveMouseWithGyroscopeX = 0;
|
||||||
static int moveMouseWithGyroscopeY = 0;
|
static int moveMouseWithGyroscopeY = 0;
|
||||||
|
static int forceScreenUpdateMouseClick = 1;
|
||||||
|
|
||||||
static pthread_t mouseClickTimeoutThreadId = 0;
|
static pthread_t mouseClickTimeoutThreadId = 0;
|
||||||
static sem_t mouseClickTimeoutSemaphore;
|
static sem_t mouseClickTimeoutSemaphore;
|
||||||
@@ -515,6 +516,8 @@ static void ProcessMouseUp( int x, int y )
|
|||||||
{
|
{
|
||||||
SDL_ANDROID_MainThreadPushMouseMotion( mouseInitialX, mouseInitialY );
|
SDL_ANDROID_MainThreadPushMouseMotion( mouseInitialX, mouseInitialY );
|
||||||
SDL_ANDROID_MainThreadPushMouseButton( SDL_PRESSED, SDL_BUTTON_LEFT );
|
SDL_ANDROID_MainThreadPushMouseButton( SDL_PRESSED, SDL_BUTTON_LEFT );
|
||||||
|
if( forceScreenUpdateMouseClick && mouseInitialX > 0 )
|
||||||
|
SDL_ANDROID_MainThreadPushMouseMotion( mouseInitialX - 1, mouseInitialY );
|
||||||
mouseInitialX = -1;
|
mouseInitialX = -1;
|
||||||
mouseInitialY = -1;
|
mouseInitialY = -1;
|
||||||
deferredMouseTap = 1;
|
deferredMouseTap = 1;
|
||||||
@@ -862,6 +865,8 @@ static void ProcessDeferredMouseTap()
|
|||||||
{
|
{
|
||||||
deferredMouseTap = 0;
|
deferredMouseTap = 0;
|
||||||
SDL_ANDROID_MainThreadPushMouseButton( SDL_RELEASED, SDL_BUTTON_LEFT );
|
SDL_ANDROID_MainThreadPushMouseButton( SDL_RELEASED, SDL_BUTTON_LEFT );
|
||||||
|
if( forceScreenUpdateMouseClick && SDL_ANDROID_currentMouseX + 1 < SDL_ANDROID_sFakeWindowWidth )
|
||||||
|
SDL_ANDROID_MainThreadPushMouseMotion( SDL_ANDROID_currentMouseX + 1, SDL_ANDROID_currentMouseY );
|
||||||
moveMouseWithGyroscopeX = 0;
|
moveMouseWithGyroscopeX = 0;
|
||||||
moveMouseWithGyroscopeY = 0;
|
moveMouseWithGyroscopeY = 0;
|
||||||
}
|
}
|
||||||
@@ -1094,7 +1099,8 @@ JAVA_EXPORT_NAME(Settings_nativeSetMouseUsed) (JNIEnv* env, jobject thiz,
|
|||||||
jint LeftClickTimeout, jint RightClickTimeout,
|
jint LeftClickTimeout, jint RightClickTimeout,
|
||||||
jint RelativeMovement, jint RelativeMovementSpeed, jint RelativeMovementAccel,
|
jint RelativeMovement, jint RelativeMovementSpeed, jint RelativeMovementAccel,
|
||||||
jint ShowMouseCursor, jint HoverJitterFilter, jint RightMouseButtonLongPress,
|
jint ShowMouseCursor, jint HoverJitterFilter, jint RightMouseButtonLongPress,
|
||||||
jint MoveMouseWithGyroscope, jint MoveMouseWithGyroscopeSpeed)
|
jint MoveMouseWithGyroscope, jint MoveMouseWithGyroscopeSpeed,
|
||||||
|
jint ForceScreenUpdateMouseClick)
|
||||||
{
|
{
|
||||||
SDL_ANDROID_isMouseUsed = 1;
|
SDL_ANDROID_isMouseUsed = 1;
|
||||||
rightClickMethod = RightClickMethod;
|
rightClickMethod = RightClickMethod;
|
||||||
@@ -1119,6 +1125,7 @@ JAVA_EXPORT_NAME(Settings_nativeSetMouseUsed) (JNIEnv* env, jobject thiz,
|
|||||||
moveMouseWithGyroscope = MoveMouseWithGyroscope;
|
moveMouseWithGyroscope = MoveMouseWithGyroscope;
|
||||||
moveMouseWithGyroscopeSpeed = 0.0625f * MoveMouseWithGyroscopeSpeed * MoveMouseWithGyroscopeSpeed + 0.125f * MoveMouseWithGyroscopeSpeed + 0.5f; // Scale value from 0.5 to 2, with 1 at the middle
|
moveMouseWithGyroscopeSpeed = 0.0625f * MoveMouseWithGyroscopeSpeed * MoveMouseWithGyroscopeSpeed + 0.125f * MoveMouseWithGyroscopeSpeed + 0.5f; // Scale value from 0.5 to 2, with 1 at the middle
|
||||||
moveMouseWithGyroscopeSpeed *= 5.0f;
|
moveMouseWithGyroscopeSpeed *= 5.0f;
|
||||||
|
forceScreenUpdateMouseClick = ForceScreenUpdateMouseClick;
|
||||||
//__android_log_print(ANDROID_LOG_INFO, "libSDL", "moveMouseWithGyroscopeSpeed %d = %f", MoveMouseWithGyroscopeSpeed, moveMouseWithGyroscopeSpeed);
|
//__android_log_print(ANDROID_LOG_INFO, "libSDL", "moveMouseWithGyroscopeSpeed %d = %f", MoveMouseWithGyroscopeSpeed, moveMouseWithGyroscopeSpeed);
|
||||||
if( !mouseClickTimeoutInitialized && (
|
if( !mouseClickTimeoutInitialized && (
|
||||||
leftClickMethod == LEFT_CLICK_WITH_TAP ||
|
leftClickMethod == LEFT_CLICK_WITH_TAP ||
|
||||||
|
|||||||
Reference in New Issue
Block a user