Commit Graph
571 Commits
Author SHA1 Message Date
CadiH 7e41bec7f0 BACKENDS: ANDROID: minor edit to Help tab contents 2023-10-06 22:24:55 +02:00
CadiH 5df0851284 BACKENDS: ANDROID: updates contents of help dialog 2023-10-06 22:24:55 +02:00
CadiH a74c827076 BACKENDS: ADNROID: Updates content of help tab 2023-10-06 22:24:55 +02:00
Eugene Sandulenko 3cfcdd5d6f ANDROID: Add missing include 2023-09-17 14:39:58 +02:00
Eugene Sandulenko 2bea791278 OSYSTEM: Improed const'ness of the buildHelpDialogData() call 2023-09-17 00:56:28 +02:00
Eugene Sandulenko a14b2bf9ba ANDROID: Added andriod-help.zip to the bundle 2023-09-17 00:56:28 +02:00
Eugene Sandulenko 7527757d6f BACKENDS: ANDROID: Move Android-specific HelpDialog tabs to backend 2023-09-17 00:56:28 +02:00
Ankush Dutt a26d00a2b7 DLC: Remove Playstore code 2023-09-14 08:22:56 +02:00
Ankush Dutt 2a60a4d213 DLC: Set kFeatureDLC and _dlcStore for ScummVMCloud, Playstore in backend 2023-09-14 08:22:56 +02:00
Ankush Dutt 045a99e50c BACKENDS: Remove platform-specific defines and enforce factory design pattern for creating DLC store 2023-09-14 08:22:56 +02:00
Ankush Dutt 99af2be9c0 BACKENDS: Initial implementation of Android PlayStore DLC Manager 2023-09-14 08:22:56 +02:00
Ankush Dutt 6e8bdee909 BACKENDS: Add initial code for DLC Manager 2023-09-14 08:22:56 +02:00
antoniou79 9f4a32f88b ANDROID: Remove hack for virtual keyboard arrow key repeats
This hack was simulating repeated key presses (EVENT_KEYDOWN, then EVENT_KEYUP) for the arrow keys like the ones a physical keyboard sends

The hack could potentially cause further issues like spamming the events queue with many unnecessary events, and sending the events too quickly for some engines to handle
(thus missing some of them). We're now making use of the allowKbdRepeats() for the Up/Down/Left/Right event actions in the gui-manager, which will handle the case of a key
being kept pressed, sending an initial EVENT_KEYDOWN event and then subsequent EVENT_KEYDOWN events with the kbdRepeat flag set, and finally a single EVENT_KEYUP in the end.
Android itself handles repeated key events similarily (instead of a kbdRepeat flag, it updates a counter for the key repeats, which we translate to a simple flag).

This (and the hack that this replaces) affect things like moving the selection in the GUI lists (like the added games list) upwards or downwards continuously
while keeping the respective arrow key from the Android virtual keyboard pressed down.
2023-08-29 04:30:00 +03:00
Thierry Crozat ef7c881416 OSYSTEM: Add kFeatureTouchscreen to identify backends with a touchscreen 2023-08-22 23:37:11 +01:00
antoniou79 554f094dd6 ANDROID: Improvements for controller movement detection
Removed unnecessary normalization as Android already does this

Also fixed a wrong comparison in a clause for deciding to stop movement that was repeating
2023-08-13 23:25:18 +03:00
Le Philousophe 79c3063979 ANDROID: Improve CPU detection
CPU architecture can be determined at build time.
Add support for x86 extensions.
2023-08-13 12:58:45 +02:00
Le Philousophe 3b1465120a ANDROID: Fix build
cpu-features needs to be compiled by us
2023-08-13 12:58:45 +02:00
Wyatt Radkiewicz 787837ca41 ALL: Add Cpu prefix to SIMD extension features 2023-08-13 00:22:10 +02:00
Wyatt Radkiewicz bdc6d72e0b ANDROID: Added ARM NEON detection in backend init 2023-08-13 00:22:10 +02:00
antoniou79 a674b65c95 ANDROID: Support connection change for some bluetooth keyboards
Some bluetooth keyboards also need "navigation" supported as configuration change

Tested with a new Lamtech bluetooth (BLE5) keyboard and also this is suggested here as well:
https://stackoverflow.com/a/27238892
2023-08-12 20:34:58 +03:00
antoniou79 b347be081c ANDROID: Support two finger touch mouse wheel 2023-08-11 16:52:06 +03:00
antoniou79 ba815489f8 ANDROID: Add delay for jump move and mouse down in direct multitouch
This fixes right click and hold behavior to choose a verb action from the "verb coin" in tony tough

Previously, in direct touch mode, the action selected would refer to the previous item that was under the cursor
before the jump to the new touch point.
2023-08-11 16:52:06 +03:00
antoniou79 fbf91a4b28 ANDROID: Add another delay (move to button down) for direct touch mode
Some engines seems to also expect such a delay (tested with Curse of Monkey Island and Tony Tough).

Without this added delay, direct touch mode would work ok in the launcher and GMM GUI but in-game there would be issues.
In Curse of Monkey Island, early difficult selection screen, it was not possible to select the difficulty with a simple tap (direct touch mode).
And in gameplay proper, a simple tap would move the cursor to the touched position but Guybrush would walk to the last position of the cursor (before it jumped to the new one)
Tony Tough had similar issues with its menu.
2023-08-08 10:56:53 +03:00
antoniou79 7959c431aa ANDROID: Make virtual keyboard arrow keys similar to physical
Basically treats the arrow keys from the virtual keyboard in a special manner

It translates them to KEYCODE_UP(/DOWN/LEFT/RIGHT) and if held down sents consecutive KEYUP / KEYDOWN events
instead of the previous behavior of setting the kbdRepeat flag and just sending repeated KEYDOWN events and one final KEYUP.
Previous behavior would result in poor navigation on lists when the arror keys were held down. The new system works better.
2023-08-07 17:31:02 +03:00
antoniou79 95f1ca2847 ANDROID: Fix double tap and right click hold for direct mouse mode
Also re-work slightly the system for handling the delayed mouse up touch event
2023-08-07 17:31:02 +03:00
antoniou79 3bb60278d6 ANDROID: JANITORIAL: Fix formatting 2023-08-07 17:31:01 +03:00
elasota 88fcfad6ca BACKENDS: ANDROID: Fix build 2023-07-20 19:07:20 +02:00
Le Philousophe 538fd65ed6 ANDROID: Make 3 fingers multitouch easier to trigger
We can receive a move event while having two fingers pressed but this
doesn't always mean we really moved.
2023-07-14 20:53:35 +02:00
Le Philousophe a58bac8ccb ANDROID: Avoid calling native code from UI thread
This can lead to race conditions.
When synchronizing virtual keyboard state, just set a variable in UI
thread.
The variable will be read in worker thread during event polling, this
will ensure that graphics code is configured at a proper time.
2023-07-14 11:22:06 +02:00
antoniou79 8e6be2beec ANDROID: Don't trigger haptic feedback on double tap 2023-07-11 18:15:54 +03:00
antoniou79 e9db16350e ANDROID: Don't use the long press haptic feedback for multitouch 2023-07-09 17:51:40 +03:00
Le Philousophe e3877d2606 ANDROID: Move game at the top of screen when keyboard is shown 2023-07-09 11:48:27 +02:00
Le Philousophe e62b59f16c ANDROID: Synchronize keyboard status between Java and C++
Without this, if keyboard is displayed by the user, the C++ side never
knows about it.
2023-07-09 11:48:27 +02:00
Le Philousophe 36418c7ebd ANDROID: Increase timeout to trigger middle click to 1.5s 2023-07-06 20:54:39 +02:00
Le Philousophe c2ee0fb250 ANDROID: Notify user when a touch will trigger a right or middle click 2023-07-06 20:54:29 +02:00
Le Philousophe 7f0d75bbfc ANDROID: Fix cursor position in touchpad mode while rotating
Without this, the cursor ends up in limbo and you need to scroll several
times to make it appear again.
2023-07-04 21:09:13 +02:00
Le Philousophe 7d816c23db ANDROID: Reload keyboard on display configuration change
This ensures that keyboard is properly resized
2023-07-01 16:26:19 +02:00
Le Philousophe d371b50d30 ANDROID: Add setting to to disable screen rotation 2023-07-01 16:26:19 +02:00
Le Philousophe 3a838c99f9 ANDROID: Various small fixes
- Comment and space fixes
- Remove outdated setting
2023-07-01 16:26:19 +02:00
Le Philousophe 1cffb9c86a ANDROID: Don't make GL calls when there is not context
This is forbidden by EGL specification
2023-06-26 15:25:27 +03:00
Le Philousophe 8e731782cc ANDROID: Fix ifdef
isRunningInMainThread is used by GLTHREADCHECK when ANDROID_DEBUG_GL is
defined
2023-06-26 15:25:27 +03:00
Cameron Cawley 33b09af3b2 ANDROID: Allow screen rotation 2023-06-26 15:25:27 +03:00
Le Philousophe bc438d078a ANDROID: When resizing don't reset everything
Only reinitialize the needed bits.
EGLSurface needs to be reset to take the new size into account.
GLSurfaceView in AOSP does the same thing.
2023-06-26 15:25:27 +03:00
Le Philousophe 14d57b2b61 ANDROID: Don't use a framebuffer when it's not needed
This also fixes a bug in frame buffer placement in vertical aspect ratio
2023-06-26 15:25:27 +03:00
Le Philousophe 75b3be75b3 ANDROID: Don't improve score when bits is not enough 2023-06-26 15:25:27 +03:00
Le Philousophe caa7e5c8df ALL: Add limits for all codebase 2023-06-06 08:14:25 +02:00
antoniou79 135cd721c5 ANDROID: Prevent getPath() when getExternalFilesDir(null) returns null
According to documentation getExternalFilesDir returns the absolute path to application-specific directory

May return null if shared storage is not currently available.
This will not happen for getFilesDir() which returns the internal app path (always guaranteed to be available)
2023-04-23 13:36:53 +03:00
Antoniou Athanasios 12c5b7bb2b ANDROID: Improve support for gamepads and joysticks
Detect motion on DPAD (HATs), and on right stick as separately from the left stick

Also detect left and right trigger presses (when available)
2023-04-04 22:16:24 +03:00
antoniou79 64797234e6 ANDROID: Add Control tab for mouse pointer speed
and joystick deadzone. By supporting kFeatureKbdMouseSpeed and kFeatureJoystickDeadzone and registering default values

Both of these config settings (kbdmouse_speed, joystick_deadzone) factor in virtual mouse movement.

Helps handle virtual mouse pointer speed when controlled with DPAD or is too fast for the user
2023-04-02 21:55:56 +03:00
Le Philousophe ecc050e83c ANDROID: Bundle cacert.pem and don't disable certificate checks 2023-04-02 11:39:44 +02:00