119 Commits
Author SHA1 Message Date
Le Philousophe 1fd96b5085 ANDROID: Rework the audio subsystem and use Oboe
It would appear that Oboe is the new audio library.
It's way more complex to handle (especially on really old devices), but
it brings low latency.
Oboe also comes with its share of warkaround to apply that have no
real doc... A fine piece of software...
2026-04-12 17:28:26 +02:00
Le Philousophe 396e2deb73 ANDROID: Add antialiasing support 2025-06-01 08:24:34 +02:00
Le Philousophe fb36820d86 ANDROID: Don't use the old 3D graphics manager
It's useless now
2025-06-01 08:24:34 +02:00
Le Philousophe acb6703e32 ANDROID: Remove static PauseToken
This forced us to have a global destructor.
This removes the only one warning present in Android backend code.
2025-05-25 11:33:21 +02:00
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