Commit graph

115 commits

Author SHA1 Message Date
Le Philousophe
aef1690c1d ANDROID: Allow packagers to bundle games in the assets
They get copied on update and automatically added.
Removed games located in the assets are cleaned up too.
2024-11-12 22:46:21 +01:00
antoniou79
f9251fc030 ANDROID: Improve multitap gesture handling for direct touch mode
More guards were added to hopefully link the mouse down and up events that should be executed in sequence, albeit delayed

Also a new case was added for a delayed mouse up event (in JE_MULTI) to avoid it being executed out of order / too soon.
2024-11-07 17:50:47 +02:00
Le Philousophe
867cbfcd0d ANDROID: Create a dedicated define for Android backend
This allows other backends (SDL, libretro) to be used on Android without
hacks.
2024-09-02 20:53:57 +03:00
Le Philousophe
aa406ba5f3 ANDROID: Don't display burger menu when in launcher 2024-04-13 19:16:55 +02:00
Le Philousophe
01ebece807 COMMON: Make getDefaultConfigFileName return a Path instead of a String 2023-12-24 13:19:25 +01:00
Le Philousophe
d9a8131ba2 COMMON: Make getDefaultLogFileName return a Path instead of a String 2023-12-24 13:19:25 +01:00
Eugene Sandulenko
2bea791278 OSYSTEM: Improed const'ness of the buildHelpDialogData() call 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
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
Wyatt Radkiewicz
bdc6d72e0b ANDROID: Added ARM NEON detection in backend init 2023-08-13 00:22:10 +02: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
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
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
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
d371b50d30 ANDROID: Add setting to to disable screen rotation 2023-07-01 16:26:19 +02: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
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
ab2df113e3 ANDROID: Remove redundant exceptions and comments 2023-03-26 14:03:09 +03:00
Antoniou Athanasios
8ce6a32ac2 ANDROID: Clean up log code and use Backends::Log 2023-03-26 12:05:12 +03:00
Antoniou Athanasios
fb673553ce ANDROID: Write to a scummvm.log file 2023-03-25 23:23:12 +02:00
Le Philousophe
00e3208dd6 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:17:23 +01:00
Le Philousophe
8d83dac31e ANDROID: Simplify Android startup
Do not pass arguments to the process but customize the backend instead
2023-03-01 19:00:01 +02:00
Rudis Muiznieks
930028522e ANDROID: Simplify Joystick axis scaling
The scaling of Joystick axis values has been moved to the Java event
handler.
2022-12-19 00:36:51 +00:00
Rudis Muiznieks
c33a65e32b ANDROID: Map Joystick inputs to Joystick events
Previously joystick motion inputs were being translated to direct mouse
movement events. This changes those into Joystick AXIS events instead.
Also updates joystick button inputs into joystick button events instead
of mouse clicks and key presses.
2022-12-19 00:36:51 +00:00
Le Philousophe
4ab044a254 OPENGL: Merge both OpenGL contexts 2022-06-26 18:32:10 +02:00
Le Philousophe
57e27dcf12 ANDROID: Let user customize its preferred touch modes
There are 3 settings: in menus, in 2D games, in 3D games
2022-06-14 00:08:04 +03:00
Le Philousophe
b978cd1caa OPENGL: Allow engines to detect OpenGL info without switching
For now only OpenGL type and shaders support are available
2022-04-03 22:17:19 +02:00
Le Philousophe
1c18c269dc ANDROID: Add GLAD support 2022-01-18 16:49:03 +01:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Le Philousophe
e7b6cff4dd ANDROID: The virtual controls now generate fake joystick events
This allows to use the keymapper and not have hardcoded keyboard events
2021-11-29 00:04:45 +01:00
Le Philousophe
d6f37a161b ANDROID: Remove again updateEventScale
It was removed in android in #1695 but not in android3d in ResidualVM.
2021-11-29 00:04:45 +01:00
Le Philousophe
e4390abd86 ANDROID: Introduce back the touch controls for 3D 2021-11-29 00:04:45 +01:00
Le Philousophe
0988f3d6d8 ANDROID: Fix OpenGL debug in 3D backend 2021-11-29 00:04:45 +01:00
Le Philousophe
bb2871cd63 ANDROID: Implement modes completely to allow switching between 3D and 2D 2021-11-29 00:04:45 +01:00
Le Philousophe
5d56c1cdf0 ANDROID: Merge 3D graphics backend
Move each graphic part in backends/graphics and backends/graphics3d
2021-11-29 00:04:45 +01:00
Orgad Shaneh
b11c5ace90 BACKENDS: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:31:41 +02:00
Cameron Cawley
5022489277 BACKENDS: Refactor the API for creating Mutexes 2021-11-12 20:19:45 +01:00
Martin Gerhardy
a0c237f7b9 EVENTRECORDER: added new event for OSystem::getTimeAndDate 2021-07-09 19:23:21 +02:00
antoniou
987becc529 ANDROID: Fix physical mouse behavior and allow multitouch hold and drag
Also added various comments to document behavior.

Minor JE_MULTI event (Fix concerned bad brackets code in the events.cpp for JE_MULTI (multiple fingers held down)
) fix and comments for mouse behavior
Allow onHover to catch the mouse events instead of OnTrackBallEvent()
Also the "system back" button is ignored for the Trackball too because we treat it as mouse in isMouse(e) check
Add multitouch handler class. Handling and early filtering of multitouch events is moved in the new class.
2021-01-10 22:10:29 +02:00
Cameron Cawley
01b4432825 BACKENDS: Use Common::U32String for OSystem::setWindowCaption 2020-11-22 17:20:19 +00:00
Cameron Cawley
b246dbdfb6 ANDROID: Add a backend-specific options widget 2020-11-22 16:35:03 +00:00
Vladimir Serbinenko
68a9136e4d
COMMON: Rewrite Encoder and drop dependency on iconv (#2586)
Different platforms have different levels of support of encodings and
often have slight variations. We already have tables for most encoding
with only CJK missing. Full transcoding inclusion allows us to get reliable
encoding results independently of platform. The biggest con is the need for
external tables encoding.dat.

It removes a duplicate table for korean in graphics/korfont.cpp
2020-11-15 16:20:35 +01:00
antoniou
64eb1c0afe ANDROID: A tentative handling of handling joystick control
Basically as a virtual mouse
2020-10-25 02:30:32 +03:00
Cameron Cawley
8c90d4e498 ANDROID: Add override keywords 2020-10-14 17:48:29 +01:00
Cameron Cawley
b6a8fc5dd2 ANDROID: Minor cleanup 2020-10-14 17:47:22 +01:00
antoniou
75826f80fc ANDROID: Comment out the logfile code
Since currently the logFile stuff are specific to SDL_BACKED
2020-09-24 10:14:02 +03:00
aryanrawlani28
a9c5e930f0 ANDROID: Make clipboards work with U32Strings. 2020-08-30 14:43:41 +02:00
Cameron Cawley
7745ffdac1 BACKENDS: Simplify EventsBaseBackend 2020-08-24 14:22:35 +02:00
Cameron Cawley
75852a786a BACKENDS: Split ModularBackend into two separate classes 2020-08-24 14:22:35 +02:00
Cameron Cawley
cf068bcc08 ALL: Remove direct use of OSystem::createMutex() 2020-08-21 09:39:00 +02:00