Commit graph

10177 commits

Author SHA1 Message Date
Le Philousophe
5d0d6b7379 BACKENDS: FS: Refactor StdioStream::makeFromPath
This allows to avoid code duplication with PosixIoStream
2024-10-01 22:43:38 +02:00
Eric Warmenhoven
6363f1d3d3 LIBRETRO: BUILD: Fix tvOS build 2024-10-01 22:11:30 +02:00
Cameron Cawley
3a757731a2 SDL: Support building with more than two renderers 2024-10-01 21:22:07 +03:00
Cameron Cawley
c4d1359f45 BACKENDS: Remove the legacy Dingux backend
# Conflicts:
#	backends/module.mk
2024-09-30 00:24:25 +02:00
Cameron Cawley
197ba8cbd5 BACKENDS: Remove leftover GP2X references 2024-09-29 22:48:29 +01:00
tunnelsociety
e533413c34 JANITORIAL: Fix typo in helpTabs Touch Controls 2024-09-29 21:28:28 +02:00
Eugene Sandulenko
ca4b64beeb
BACKENDS: SURFACESDL: Fix image generation for ImGui. Courtesy of lephilosouphe 2024-09-29 17:26:34 +02:00
Le Philousophe
7a69ccc4b8 JANITORIAL: Cleanup whitespaces problems 2024-09-29 17:08:13 +02:00
Le Philousophe
2813582f6b BACKENDS: SDL: Remove superfluous version checks
The code is already guarded by outer checks.
2024-09-29 17:04:03 +02:00
Le Philousophe
f04f248f20 BACKENDS: SDL: Implement ImGui API to load images 2024-09-29 17:04:03 +02:00
Le Philousophe
27c7a64683 COMMON: Add ImGui API to create images 2024-09-29 17:04:03 +02:00
Le Philousophe
2eebb5db02 BACKENDS: SDL: Add SDL2 Renderer support for ImGui
Some adaptations will be needed for the the engines.
2024-09-29 17:04:03 +02:00
Cameron Cawley
8c2619dfe4 TESTBED: Add an ImGui test 2024-09-29 16:40:53 +03:00
Vladimir Serbinenko
89f2e13e7d SDL: Remove needless typedef's 2024-09-29 11:27:50 +03:00
Vladimir Serbinenko
0e27f1b8a1 SDL: Open virtual keyboard on three-finger tap 2024-09-29 11:27:50 +03:00
Vladimir Serbinenko
488353480f SDL, COMMON: Support screen rotation 2024-09-29 02:10:39 +03:00
Donovan Watteau
ec0c864c98 TIMIDITY: Fix -Wmaybe-uninitialized warning with GCC 4.9 2024-09-27 18:23:11 +02:00
Eugene Sandulenko
2f8d0219e5
BACKENDS: SDL: Fix warnings 2024-09-27 15:59:55 +02:00
Filippos Karapetis
2133677046 SDL: Simplify pointer speed factor calculation 2024-09-27 03:45:49 +03:00
Vladimir Serbinenko
9fea178445 VITA: Remove useless override
This does basically the same as the base class but in a more complicated
way. Just remove it
2024-09-27 03:26:47 +03:00
Vladimir Serbinenko
4609ad13f9 SWITCH: Remove useless override
This does basically the same as the base class but in a more complicated
way. Just remove it
2024-09-27 03:26:47 +03:00
Vladimir Serbinenko
b2c4468aae SDL: Enable touchpad mode option on generic SDL
Touchscreen is present on Linux phones and can be present on generic Linux.
Allow to configure it in touchpad mode. Think of Raspberry pi connected to
a touchscreen
2024-09-27 03:26:47 +03:00
Vladimir Serbinenko
d4369c5666 SDL: Move finger handling to common SDL code
It's also useful on Linux be it on desktop with touchscreen or mobile Linux
2024-09-27 03:26:47 +03:00
Sebastien Ronsse
a9a3f0860f BACKENDS: Add ImGui support to SurfaceSdlGraphicsManager 2024-09-26 07:06:50 +02:00
Vladimir Serbinenko
820cbe391a SDL: Merge finger handling on vita and switch
This code is very similar and not specific to either platform but is generic
touchscreen handling with SDL

Tested on Switch and Vita
2024-09-25 18:43:58 +03:00
Eugene Sandulenko
c84a71596f
ANDROID: Drop accidental +x flag on source files 2024-09-24 10:47:17 +02:00
Giovanni Cascione
66061a317c LIBRETRO: BUILD: define OPENGL_DEBUG if DEBUG is defined 2024-09-23 20:19:43 +02:00
Giovanni Cascione
630d45332f LIBRETRO: BUILD: fix noengine target 2024-09-23 10:51:35 +02:00
sluicebox
0887df6b39 WIN32: Fix memory leak in WindowsFilesystemNode
20 years old: be58f22feb
2024-09-18 01:06:59 -07:00
Le Philousophe
8ed733994f VITA: Fix build 2024-09-17 08:29:05 +02:00
Giovanni Cascione
668e2b66af LIBRETRO: fix cursor glitch 2024-09-16 23:34:36 +02:00
Giovanni Cascione
fa206df0d9 LIBRETRO: BUILD: fix genode TARGET string 2024-09-16 23:34:19 +02:00
Giovanni Cascione
b7c2e361b2 LIBRETRO: add context reset on retroarch graphic driver reset 2024-09-16 23:33:51 +02:00
Giovanni Cascione
5653e16f26 LIBRETRO: BUILD: add 'noengine' target 2024-09-16 23:33:31 +02:00
Hubert Maier
4533e12280 JANITORIAL: BACKENDS: Fix typos 2024-09-16 02:13:34 +03:00
Le Philousophe
c8c3a316d6 ANDROID: Properly apply touch settings when starting a game
The 2D graphics backend is recycled from the GUI when starting a game.
As a consequence, touch settings were never applied.
2024-09-14 16:51:19 +02:00
Martin Gerhardy
b146a9a9c6 BACKENDS: Added IconsMaterialSymbols.h
This is a header from https://github.com/juliettef/IconFontCppHeaders with all the font code points
and their defines

revision 778a12759ba9100f24a02efce5f2f95da89ea8a1 was taken
2024-09-13 17:34:59 +03:00
Le Philousophe
ba57ad3a9d ANDROID: Release the AudioTrack instead of stopping it
Stopping throws an exception when the audio track is not initialized.
Releasing is what we want: it stops the track, ignores the error and do
more cleanups.
2024-09-09 18:27:27 +02:00
Cameron Cawley
8162951761 COMMON: Replace type detection in configure with aliases for stdint.h types 2024-09-08 00:47:36 +03:00
Le Philousophe
8140e087b6 PSP: Fix uint vs uint32 discrepancies 2024-09-08 00:47:36 +03:00
Giovanni Cascione
2b4260db36 LIBRETRO: remove unneeded declaration 2024-09-03 22:58:48 +02:00
Filippos Karapetis
928f5bbcff BACKENDS: Minimal render rate support (force-frame-update)
Originally authored by @magicmyth in PR #1039

ScummVM is optimised to render frames when something changes on screen.
As some host environments can perform poorly if the app does not
reliably refresh its output regularly (notably Steam overlay) this new
option ensures that Scummvm outputs a minimal amount of frames even if
nothing is changing in the game renderer.

Currently this is only implemented in the SDL OpenGL renderer.

The new config option is called force-frame-update and it takes a
integer value representing the desired minimum milliseconds Scummvm
should wait before forcing a screen update/refresh. E.g: 50.

Note that the rendering system will not force a re-draw of a frame if
the app has rendered a changed frame within the desired minimum refresh.

Thus if the app is outputting 30fps and force-frame-update is set to
100ms (~10fps) then no duplicate frame will be shown (in theory).

As this is implemented in OpenGLSdlGraphicsManager::updateScreen()
OpenGLGraphicsManager::_forceRedraw has had its access changed to
*protected* so that it can be access by it's descendant. The reason this
has been done in OpenGLSdlGraphicsManager::updateScreen() is so
SDL_GetTicks() can be used to track the elapsed time. If it is useful
for other platforms using OpenGL to have this feature it could be
implemented within OpenGLGraphicsManager::updateScreen() provided a
suitable platform independent replacement for SDL_GetTicks() is used.
This would potentially be better as OpenGLSdlGraphicsManager checks
various other states when deciding if the screen should update.
2024-09-03 10:58:56 +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
Cameron Cawley
4a3f280f1a 3DS: Limit the linear heap to 10 MB 2024-09-02 11:13:09 +03:00
Cameron Cawley
c473c77523 3DS: Move larger surfaces into VRAM 2024-09-02 11:13:09 +03:00
Cameron Cawley
1e7c8913fd 3DS: Support more texture formats 2024-09-02 11:13:09 +03:00
Le Philousophe
1d6dc51bb8 ANDROID: Hide the keyboard before _scummvm is null
Else there is a NPE in showScreenKeyboardWithoutTextInputField
2024-09-01 19:14:41 +02:00
Le Philousophe
a98df4e445 ANDROID: Rework the virtual gamepad controller
- Use a SVG asset to allow for better scalability
- Make the controller visible when touching the screen
- Allow for oblique moving by placing finger between two directions
- Add more buttons on the center area of the screen (GUIDE, START, LEFT
  STICK, RIGHT STICK) and simplify right area (only four buttons)
- Don't track all fingers, only the ones needed
- Cleanup now unused code
2024-08-31 16:45:32 +02:00
Le Philousophe
5065891f0c ANDROID: Make system gestures insets available to C++
This will be used by touch controls
2024-08-31 16:45:32 +02:00
Le Philousophe
64eff5293a ANDROID: Add compatibility helper to get system gestures insets 2024-08-31 16:45:32 +02:00