Commit graph

137659 commits

Author SHA1 Message Date
antoniou79
8c77ce399d ANDROID: This is 2.7.0.5
Some checks failed
CI / Windows (push) Has been cancelled
CI / Xcode (push) Has been cancelled
CI / Ubuntu (push) Has been cancelled
2023-04-22 14:37:42 +03:00
antoniou79
e7b1e2a598 ANDROID: Update versioncodes reservation for 2.7.0.5 2023-04-22 14:35:02 +03:00
Le Philousophe
9a6a9a3c4c ANDROID: Fix assertion fault and missing initializer 2023-04-22 12:29:15 +02:00
Antoniou Athanasios
0ef812d9dd 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-05 09:19:38 +03:00
Antoniou Athanasios
773bfa1981 KEYMAPPER: Add HAT AXIS (DPAD as movement) to hw input
Also add it in JoystickAxis enum of common/events

Many gamepads have HATs instead of DPAD buttons, ie. they send movement events instead of button presses for the DPAD directions
2023-04-05 09:19:34 +03:00
antoniou79
077460788d 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 22:49:34 +03:00
Le Philousophe
969f41ab93 ANDROID: Remove ANDROID_PLAIN_PORT defines
They are not used anymore and we don't have any other kind of port
anymore
2023-04-02 12:37:15 +02:00
Le Philousophe
dd2c020cb2 ANDROID: Bundle cacert.pem and don't disable certificate checks 2023-04-02 12:37:15 +02:00
Le Philousophe
6d4268261c ANDROID: Don't set DATA_DIR and PLUGIN_DIRECTORY
Android doesn't have the concept of prefix so these pointed to something
invalid
2023-04-02 12:37:15 +02:00
antoniou79
ea2585db02 ANDROID: Support physical mouse wheel up-down
Tested and works with physical mouse but does not work with Android Studio emulated device
2023-04-02 00:51:00 +03:00
antoniou79
09ae3a1132 ANDROID: Treat DPAD keypresses as JOYSTICK_DPAD
Mapped by default to virtual mouse movement
2023-03-31 23:15:44 +03:00
antoniou79
d9dc3934ca
KEYMAPPER: Add DPAD_CENTER as hardware input source
And define an event for it as a JoystickButton

Some controllers produce this key press with their DPAD, typically to select and interact with options.
See: https://developer.android.com/develop/ui/views/touch-and-input/game-controllers/controller-input
Fire TV remote controller is such a contoller.
see: https://developer.amazon.com/docs/fire-tv/remote-input.html
2023-03-30 01:13:51 +02:00
antoniou79
88a1e1d57c ANDROID: Update some properties in AndroidManifest
This is according to Lint suggestions mostly
2023-03-29 12:45:49 +03:00
antoniou79
43fcc2f9ff ANDROID: Comments on Android storage
And a minor comment fix
2023-03-27 19:15:37 +03:00
Eugene Sandulenko
5751768dc5
GUI: Process empty log path and gracefully process unreadable paths 2023-03-27 00:30:39 +02:00
Eugene Sandulenko
d71accf00d
GUI: Reflect command line override for the log path 2023-03-27 00:30:33 +02:00
Eugene Sandulenko
87d94e921f
BASE: Fix --logfile command line option
It was plainly not functional. We were never passing it to backend
2023-03-27 00:30:26 +02:00
antoniou79
0e316a0a93 ANDROID: This is 2.7.0.4 (beta 4) proper 2023-03-26 15:53:03 +03:00
Eugene Sandulenko
d655ee1c6f
GUI: Added close button to the TextViewer dialog 2023-03-26 14:20:20 +02:00
antoniou79
fd8ba9ebf1 ANDROID: Revert "This is 2.7.0.4 (beta 4)"
This reverts commit 603ff5ae6c.

A few more changes are pending before beta 4
2023-03-26 14:52:26 +03:00
antoniou79
603ff5ae6c ANDROID: This is 2.7.0.4 (beta 4) 2023-03-26 14:44:52 +03:00
antoniou79
098d8d6083 ANDROID: Remove redundant exceptions and comments 2023-03-26 14:04:46 +03:00
Antoniou Athanasios
767f70d595 ANDROID: Clean up log code and use Backends::Log 2023-03-26 13:49:24 +03:00
Antoniou Athanasios
b1eb46ed44 ANDROID: Write to a scummvm.log file 2023-03-26 13:49:21 +03:00
Eugene Sandulenko
06c7b626e9
GUI: Fix crash in TextViewer 2023-03-25 17:30:11 +01:00
Eugene Sandulenko
e082efddca
GUI: Regenerate themes 2023-03-25 17:21:51 +01:00
Eugene Sandulenko
e4b08549d6
GUI: Expose Debug Level int the GUI (Misc tab), bump theme version 2023-03-25 17:21:38 +01:00
Eugene Sandulenko
4284fae0f0
GUI: Display scummvm.log path and add viewer 2023-03-25 17:21:29 +01:00
Eugene Sandulenko
1a92e18ff3
OSYSTEM: Expose getDefaultLogFileName() via OSystem 2023-03-25 17:21:14 +01:00
Le Philousophe
a56d26bff8 ANDROID: Fix GLES2 functions loading with EGL 1.4
With older EGL 1.4, functions from core OpenGL may not be resolved using
eglGetProcAddress. A fallback to dlsym is needed.
We still use eglGetProcAddress only on EGL 1.5+ because it is simpler
and faster.
2023-03-25 13:18:03 +01:00
antoniou79
c3fdd5a3fb ANDROID: Basic support for some TV remotes
And some fixes for DPAD handling

More fixes for DPAD will be coming. We currently don't handle DPAD Center, and also do not handle the case where DPAD is HATs (motion events)
2023-03-25 00:10:15 +02:00
Athanasios Antoniou
ad27a2fa8d
KEYMAPPER: Allow multiple inputs bound to a keymap action as defaults (#4830)
This allows backeds to override a keymap action mapping with lists of mapped hardware inputs instead of just one hardware input id

However, it will still be an overridding, so it will require all hardware input ids for a given keymap action to be added.
In other words, if a backend uses addDefaultBinding() for a given action, it will not ADD to any existing mappings of the action,
other than the ones that the backend itself has added (with addDefaultBinding())
2023-03-24 11:30:24 +01:00
antoniou79
8cb9cb74dc ANDROID: Fix another deprecated Handler() usage 2023-03-22 22:22:00 +02:00
antoniou79
3713a988f9 ANDROID: Fix deprecated Handler()
Also remove permission request for external storage from API 33 and above since it no longer works
2023-03-22 22:01:21 +02:00
antoniou79
f6bc68ac72 ANDROID: Upgrade gradle plugin and dependencies version 2023-03-22 21:49:05 +02:00
Le Philousophe
10715366e3 GRAPHICS: Fix clipping for circle and rounded squares
Rect::contains expect that bottom right is excluded but circle functions
consider the radius as included.

In addition fix an error in Wu's algorithm for rounded squares.
2023-03-19 17:32:42 +01:00
Eugene Sandulenko
ef9b6c9b45
SCUMM: Fix crash when compressded files are detected
We call Dialog::runModal() which in turn, calls pauseEngine().

At this point, SMUSH player is not yet initialized, but our implementation
calls _splayer->pause() which leads to a crash on Android.
2023-03-19 15:49:23 +01:00
Le Philousophe
acf6280fbe OPENGL: Make sure shader has been created before cloning it 2023-03-19 09:37:04 +01:00
Le Philousophe
2beeeb0fbc ANDROID: Make sure ScummVMActivity is always run once
We don't support having multiple instances of ScummVMActivity running at
the same time (because of the system singleton in C++).
2023-03-18 12:00:36 +01:00
Le Philousophe
2d704af6c2 ANDROID: Fix onDestroy cleanup
onDestroy could never work before as it was sending a quit event to a
paused C++ code.
Make sure C++ code is unpaused.
In addition don't call finish in termination callback if finish was
responsibile of the termination. Else, finish events get queued in
Android and a new ScummVMActivity gets killed immediately.
2023-03-18 12:00:36 +01:00
Le Philousophe
b368e186be ANDROID: Allow to set same pause status from Java several times 2023-03-18 12:00:36 +01:00
Le Philousophe
7d57ebcf18 ANDROID: Don't crash when fetchChildren failed in Java 2023-03-18 12:00:36 +01:00
antoniou79
6a2fe43232 ANDROID: This is 2.7.0.2 (beta 3) 2023-03-11 22:52:46 +02:00
antoniou79
c0346f5205 ANDROID: Update versionCodes for 2.7.0 beta 3 2023-03-11 22:48:30 +02:00
Le Philousophe
526fe90d56 GRAPHICS: Handle cases where glGetString returns a nullptr 2023-03-11 18:20:36 +01:00
Le Philousophe
1d0227a1a8 ANDROID: Fix RequiresApi annotations
These have been checked with Android linter and are not necessary.
setMarginEnd is only available starting with L_MR1 and is not useful.
2023-03-11 18:20:36 +01:00
Le Philousophe
cebc19b2cd ANDROID: Use SAF only with Nougat
Lollipop doesn't have some functions like removeDocument and isTreeUri.
SAF is slower and doesn't need to be enabled on Lollipop devices.
2023-03-11 18:20:36 +01:00
Le Philousophe
5b76a3563e ENGINES: Use proper domain when creating backend options widget
_domain is empty as per comment above the function
2023-03-05 10:50:55 +01:00
Le Philousophe
6e74b4d364 ANDROID: Don't keep a _cache variable, it's never checked 2023-03-04 18:18:33 +01:00
Le Philousophe
86c40287d7 ANDROID: Slightly optimize and rewrite cacheData 2023-03-04 18:18:33 +01:00