Commit graph

447 commits

Author SHA1 Message Date
Le Philousophe
2d1b05bf17 BACKENDS: SDL: Fix sdlGetAttribute shim on SDL2
sdlGetAttribute returns true on success (like SDL_GL_GetAttribute on
SDL3), but SDL_GL_GetAttribute on SDL2 return 0 on success.
2025-02-22 10:57:49 +01:00
scemino
8afb2c1f62 BACKENDS: Add SDL3 backend + update imgui 2025-02-18 22:13:56 +01:00
Cameron Cawley
3ead988a29 SDL: Fix order of components when detecting the language with SDL_GetPreferredLocales() 2024-12-11 00:32:19 +02:00
Roland van Laar
ca23e7fa2d SDL: Fix memory leak
The variable `locales` wasn't freed when it succesfully
contained data.
2024-11-29 20:41:06 +01:00
BeWorld
52fbe6620a
BACKENDS: MORPHOS: enhanced init and add features
- Add initBackend (same as AmigaOS)
- Add getSystemLanguage() to detect system language (use SDL_GetPreferredLocales)
2024-11-23 19:24:02 +02:00
Le Philousophe
e61dac6c68 BACKENDS: Allow write streams to be created atomically
When creating an atomic write stream, the file is only created once it
is closed.
This can be done using a temporary file.
This commit only adds the API but not the proper implementation.
2024-10-15 22:45:50 +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
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
Le Philousophe
9bdf1233b1 BACKENDS: Migrate to Path API 2023-12-24 13:19:25 +01:00
Le Philousophe
dc7fadef28 COMMON: Make iconspath a Path object 2023-12-24 13:19:25 +01:00
Le Philousophe
e689166a2c BACKENDS: Make screenshots use the Path class 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
elasota
bd857272f4 BACKENDS: SDL: Use null mixer if audio initialization fails, and add a flag to forcibly disable it for testing. Add an alternate call that returns true if the mixer manager is a null device.
SDL audio init will fail on Windows if all audio output devices are disabled.
Only about 10 engines are checking for this case and numerous pieces of common code (EmulatedOPL, VideoDecoder) fail as well, so this acts as a fallback to prevent instability.
2023-11-07 02:45:49 +01:00
Eugene Sandulenko
af89b0dc2c
SDL: Switch Keyboard shortcuts helptext to Markdown tables 2023-10-14 01:54:05 +02:00
Eugene Sandulenko
6b99f6a5bb
SDL: Revert accidental change 2023-10-11 11:26:09 +02:00
Eugene Sandulenko
17a480f1c5
NANCY: Fix potentially uninitialized variable 2023-10-10 23:55:06 +02:00
Eugene Sandulenko
0485f4a593
SDL: Added (disabled) Markdown table to the Keyboard help 2023-10-09 00:22:15 +02:00
D G Turner
a3706e0976 BACKENDS: SDL: Fix Undefined Preprocessor Symbol GCC Compiler Warning 2023-09-17 14:46:12 +01:00
Eugene Sandulenko
2bea791278 OSYSTEM: Improed const'ness of the buildHelpDialogData() call 2023-09-17 00:56:28 +02:00
Eugene Sandulenko
d4d82be3e7 BACKENDS: SDL: Specified platform-dependent quit shortcut in help dialog 2023-09-17 00:56:28 +02:00
Eugene Sandulenko
6ae8089c61 GUI: Move Keyboards shortcut help to SDL backend 2023-09-17 00:56:28 +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
708432c163 BACKENDS: Change return type of getDefaultDLCsPath() to Common::Path 2023-09-14 08:22:56 +02:00
Ankush Dutt
b4438f744a BACKENDS: Create dlcspath for storing DLCs 2023-09-14 08:22:56 +02:00
Cameron Cawley
3f38f6c500 SDL: Improve CPU detection with older SDL versions 2023-08-14 00:40:42 +02:00
Wyatt Radkiewicz
55550f85ac BACKENDS: Move SIMD detection to more stable SDL2 2023-08-13 00:22:10 +02:00
elasota
ee758dee53 BACKENDS: Undo some formatting-only changes. 2023-05-14 22:42:59 +02:00
elasota
6c8ceeae25 BACKENDS: Refactor some things to make getDoubleClickTime behavior with event recorder simpler. 2023-05-14 22:42:59 +02:00
elasota
126ccc5983 BACKENDS: Fix double click time pull from event recorder not working correctly. 2023-05-14 22:42:59 +02:00
elasota
74ddbe5eaa BACKENDS: Add double-click time feature to support OS-configurable double-click intervals, implement it for Windows. 2023-05-14 22:42:59 +02:00
Donovan Watteau
18ab6803d6 JANITORIAL: Fix various "an" typos in comments 2023-03-16 14:47:28 +01:00
Le Philousophe
42ff7120dc SDL: Fix missing replacement for enginesShadersSupported 2022-10-06 19:53:52 +02:00
Thunderforge
9afd41b195 COMMON: Renaming getDefaultIconPath() -> getDefaultIconsPath() 2022-07-02 22:34:36 +02:00
Thunderforge
fe001b35b5 COMMON: Adding default iconspath functionality
It's for macOS only right now.
2022-07-02 22:34:36 +02:00
Le Philousophe
4ab044a254 OPENGL: Merge both OpenGL contexts 2022-06-26 18:32:10 +02:00
Thierry Crozat
bde10f0dda BASE: Store screenshotpath command line in Session domain
The SDL backend was getting that path at the start and storing
it in a class member so that it would persist for the session.
But now that we have a kSessionDomain in ConfMan, it is cleaner
to use that (and this will also work for non-SDL backends).
2022-06-05 15:39:36 +01:00
D G Turner
8c4eddc506 OPENPANDORA: Don't Disable Cursor at SDL Init for Open Pandora Builds
This breaks the hack for SDL problems with touchscreen events at the
screen edges on this platform.
2022-04-21 19:39:05 +01:00
Le Philousophe
7061b4109e AMIGAOS: Remove outdated ifdefs
We now link with OpenGL dynamically so symbols are provided by GLAD.
If it's not supported pointer will be null.
OGLES2 should support these functions so they must be removed
2022-04-17 12:34:38 +02:00
Thierry Crozat
04b76bfbc4 SDL: Fix compilation when USE_FORCED_GLES2 is defined 2022-04-04 01:52:20 +01: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
06bc7a25fa OPENGL: Indicate support of OpenGL even in 2D mode
This allows to check for OpenGL support in backend without having to
call initGraphics3d
2022-04-03 22:17:19 +02:00
Le Philousophe
bc4e7662cc SDL: Initialize OpenGLContext with the proper version 2022-04-03 09:40:51 +02:00
Thierry Crozat
f3dc1df7d8 SDL: Get a user-specified screenshotpath from ConfMan at the start
There are two ways the user can specify a screenshot path: by
editing the config file manually, or by passing it on the command
line. In the later case it is added to the transient domain that
is cleared when opening the launcher, so it only worked when also
specifying a game to start on the command line. With this change
a screenshot path specified on the command line will be used until
quitting ScummVM.

This could be confusing if the user had the ability to specify the
path in the ScummVM Options, as then we would probably want to use
the new specified path immediately. But since the path does not
appear in the options, this change should work fine.
2022-02-16 22:24:07 +00:00
Le Philousophe
d9b4e457e8 ALL: Remove USE_GLES2 define
Replace it with USE_FORCED_GLES2
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
Orgad Shaneh
44219dfa1a BACKENDS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Cameron Cawley
5022489277 BACKENDS: Refactor the API for creating Mutexes 2021-11-12 20:19:45 +01:00
BeWorld
db3f152ca6
MorphOS: disabled detectFramebufferSupport. added MorphOS doc 2021-10-07 16:02:29 +02:00
Thierry Crozat
7c9761b2da SDL: Fix switching to the <default> graphics mode
The OSystem_SDL::getDefaultGraphicsMode  was returning the
default for the current graphics manager and not the default
for the OSystem_SDL instance. So for example if the default
is SDL Surface when starting ScummVM with the gfx_mode not
set in the config file, and then the user selects the OpenGL
graphics mode, getDefaultGraphicsMode() would now return the
OpenGL mode (the default the OpenGLGraphicsManager). As a
result changing the graphics mode back to <default> and
applying the change would not switch back to Surface SDL
until you restart ScummVM or start a game.

This commit also change how the SDL backends can specify which
graphics mode to use by default. They no longer have to assume
they know the names of the graphics modes in the graphics manager.
2021-08-15 17:43:43 +01:00