Commit Graph
421 Commits
Author SHA1 Message Date
Martin Gerhardy a3adb2933c BACKENDS: moved imgui_logger code from directory engine into backends code 2024-10-11 09:06:43 +02:00
Martin Gerhardy 059f0ca1d2 BACKENDS: added imgui window for showing a Graphics::Palette instance 2024-10-10 11:31:39 +02: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
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 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
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
Miro Kropacek c7bc03d4f4 BACKENDS: ATARI: Move Screen outside AtariGraphicsManager 2024-07-15 19:42:51 +02:00
Miro Kropacek 957aa15e7e BACKENDS: ATARI: Move Cursor outside AtariGraphicsManager 2024-07-15 19:42:51 +02:00
Miro Kropacek e9c7c8e03c JANITORIAL: atari_c2p-asm -> atari-c2p-asm 2024-07-15 19:42:50 +02:00
Le Philousophe 63c04eb700 EVENTRECORDER: Fix build and obvious mistype error 2024-06-05 19:02:18 +02:00
Eugene Sandulenko f5fa7aeb0c IMGUI: Switched to FreeType2 rendering 2024-05-21 21:02:48 +02:00
Eugene Sandulenko 4cd62e3398 BACKENDS: IMGUI: Renamed modified files to minimize diff with upstream 2024-05-17 01:46:45 +02:00
scemino c3745698e2 BACKENDS: Add the ability to load ScummVM fonts in ImGui 2024-05-03 21:24:08 +02:00
scemino ab17f10a6f BACKENDS: Try to fix imgui compilation errors 2024-03-17 13:09:32 +01:00
scemino 0cba66b204 TWP: Move ImGui to backends 2024-03-07 20:08:26 +01:00
Miro Kropacek f7d78ec70a BACKENDS: ATARI: Implement internal downsampling to 8-bit
So we don't rely on STFA's questionable algorithms and we can use
X-SOUND, too.
2023-11-09 18:20:06 +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
Ankush Dutt a26d00a2b7 DLC: Remove Playstore code 2023-09-14 08:22:56 +02:00
Ankush Dutt 4ae119d63f DLC: Add USE_DLC in configure for general DLC integration
- Developers will need to use --enable-dlc with configure if they want to integrate
the DLC downloader. The kFeatureDLC will determine if the target platform is supported
- USE_SCUMMVMDLC will be used specifically to compile curl based ScummVMCloud (USE_DLC
will be automatically enabled if ScummVMCloud is supported)
2023-09-14 08:22:56 +02:00
Ankush Dutt 22f912d7e0 DLC: Wrap ScummVM DLC in configure enabled feature, disabled by default 2023-09-14 08:22:56 +02:00
Ankush Dutt c0f91421cc BACKENDS: Initial code for downloading DLCs using CURL 2023-09-14 08:22:56 +02:00
Ankush Dutt 99af2be9c0 BACKENDS: Initial implementation of Android PlayStore DLC Manager 2023-09-14 08:22:56 +02:00
Ankush Dutt 6e8bdee909 BACKENDS: Add initial code for DLC Manager 2023-09-14 08:22:56 +02:00
Thierry Crozat e73b277589 IOS7: Add missing file in module.mk
The iOSGraphics3dManager uses the OpenGL::FrameBuffer class, so the
corresponding code needs to be compiled for the ios7 backend.
2023-07-03 22:09:25 +01:00
Lars Sundström 6a74f7b32b IOS7: Implement iOSGraphics3dManager
Add a graphic manager rendering 3D graphics for engines supporting
3D games. The manager is implemented using the 3D graphic managers
for Android and SDL as models.

Most probably Android and iOS can share much more of the code, but
that will be a separate work to refactor.
The iOSGraphics3dManager handles resize since the screen dimension
changes on rotation.

Games not supporting arbitary resolutions, e.g. Grim, are rendered
on an intermediate framebuffer with the size requested by the
engine and then rendered to the backbuffer (a framebuffer bound to
the renderbuffer) and stretched to the screen resolution off the
device.

This commit just adds the manager. It will be utilised in next
commit.

Update gitlab ci worker and update documentation.
2023-07-03 21:50:32 +02:00
Lars Sundström e6232547d5 IOS7: Add iOSGraphicsManager class
The ios7 backend implements the graphic handling in the backend code.
iOS supports OpenGL through the OpenGL Framework since iOS 2.0. It's
marked as deprecated but is still shipped with the SDKs for iPhoneOS
and tvOS and will hopefully be so for some time.
The ios7 backend can therefore utilize the OpenGLGraphicsManager to
handle all graphics.

Implement an iOSGraphicsManager class that can be used in the ios7
backend. The iOSGraphicsManager will require some callback functions
in the ios7 backend. createOpenGLContext() will be called to ask the
backend to create an OpenGL context in which the graphic manager can
draw. The function returns the ID of the renderbuffer which shall be
used when creating the framebuffer object this differ iOS from other
platforms). A custom RenderBufferTarget class is added to address
this.

destroyOpenGLContext() will be called to make sure that the old GLES
context is not reused. notifyContextDestroy() does call the function
OpenGLContext.reset() but that will not destroy the context.

refreshScreen() will be called to ask the backend to present the
drawn graphics on the screen. getSystemHiDPIScreenFactor() is called
to get the screen scaling factor. getScreenWidth() and
getScreenHeight() are called to get the width and height of the
surface to draw on.

This commit adds the class but the ios7 backend doesn't make use of
it quite yet. To use it require the ios7 to be a child class of the
ModularGraphicsBackend. That change requires a lot of changes which
will be targeted in separate commits.

Update docportal and github ci worker to only disable the feature
opengl_classic_game since opengl and opengl_shaders are required to
compile the OpenGLGraphicsManager.
2023-07-03 21:50:32 +02:00
Le Philousophe f337abae70 BACKENDS: SDL: Remove superfluous ifdef
This block is already dedicated to SDL_BACKEND
2023-07-03 21:50:32 +02:00
Miro Kropacek 2ce02658ec BACKENDS: ATARI: DMA playback is not always active
E.g. in the overlay there's no need to steal cycles for playing empty
sample buffer.

Also make STMIDI default audio driver for the slim version.
2023-06-15 22:57:55 +02:00
Miro Kropacek 5537759c53 BACKENDS: ATARI: Rework
- Atari TT support
- all video and audio is now handled via XBIOS
- reworked IKBD handling using Kbdvbase vectors, esp. Kbdvec()
- video uses proper triple buffer
- arbitrary game screen size support
- many fixes and optimizations
2023-06-15 22:57:55 +02:00
Alexander Tkachov b4dd48f395 CLOUD: Add new flow (WIP)
- allow OPTIONS HTTP method to be handled by local webserver;
- add /connect_cloud endpoint;
- add new DropboxStorage constructor that works with JSON response instead of requesting that via shortcode;
- add CloudManager::connectStorage() overload for this new JSON flow.

/connect_cloud endpoint allows cross-origin request (via CORS HTTP headers) from cloud.scummvm.org, so user's browser sends the JSON response directly to ScummVM app, instead of the app requesting that response from the site.

This commit is WIP, introducing a new constructor for Dropbox only, and not changing the GUI part at all.
2023-04-08 16:20:11 +02:00
Little Cat 1cf1f302ad BACKENDS: LIBCURL: URL Parsing. 2023-03-06 00:07:13 +01:00
Little Cat f42930ba66 BACKENDS: CURL: Ability to create raw sockets.
This can be used to create custom protocols with an SDL_net like
interface while being able to connect to SSL/TLS servers.
2023-03-06 00:07:13 +01:00
Little Cat c16244a23a BACKENDS: ENET: Compile stable 1.3.17 source. 2023-03-06 00:07:13 +01:00
Little Cat 64200c8643 BACKENDS: ENET: Raw UDP socket creation. 2023-03-06 00:07:13 +01:00
Little Cat 129b56cd3e BACKENDS: ENET: Host creation. 2023-03-06 00:07:13 +01:00
Little Cat 68425432ab BACKENDS: ENET: Preliminary ENet backend. 2023-03-06 00:07:13 +01:00
Miro Kropacek 276cf354bf BACKENDS: ATARI: Separate AtariEventSource from OSystem_Atari 2023-03-04 23:38:42 +01:00
Miro Kropacek 4d21a496d2 BACKENDS: ATARI: Add new backend (graphics, mixer, platform)
Compile as:

./configure --backend=atari --host=m68k-atari-mint --enable-release --disable-mt32emu --disable-lua --disable-nuked-opl --disable-16bit --disable-scalers --disable-translation --disable-eventrecorder --disable-tts --disable-bink --opengl-mode=none --enable-verbose-build --prefix=/usr --bindir=/ --datarootdir=share --datadir=data && make -j 16 && m68k-atari-mint-flags -S -r ./scummvm && make install DESTDIR=$PWD/_release/ && mv $PWD/_release/scummvm $PWD/_release/scummvm.ttp
2023-03-04 23:38:42 +01:00
Cameron Cawley 8adcc29df9 RISCOS: Use double buffering in full screen mode when V-sync is enabled 2023-02-19 21:27:45 +00:00
Vladimir Serbinenko 31071d7938 CONFIGURE: Support for kolibri OS 2023-02-05 22:55:40 +01:00
Vladimir Serbinenko 4bcd4671ab KOLIBRI: Add kolibrios backend 2023-02-05 22:55:40 +01:00
Le Philousophe ca1dbfc9d6 ANDROID: Add SAF support 2023-01-20 14:14:03 +01:00
Vladimir Serbinenko 576b2be0cb SDL: Workaround for broken SDL on Miyoo Mini 2023-01-18 00:51:38 +03:00
Vladimir Serbinenko 1bc4fe5279 SDL: Move RS90-specific code to opendingux directory 2023-01-17 13:48:50 +03:00
Vladimir Serbinenko 3701325b0e OPENDINGUX: Don't add posix files twice
They are already added by POSIX conditional as OpenDingux is POSIX compliant
(Linux-based). Adding it twice confuses some linkers.
2023-01-12 10:27:20 +03:00
Johannes Schickel 9f3249286f BACKENDS: OPENGL: Initial WIP import for shader support 2022-10-08 23:39:18 +02:00
Le Philousophe 2a84d3e988 VITA: Add plugins support 2022-08-07 18:15:09 +02:00
Cameron Cawley 863988fee4 OPENGL: Add proper error checking to the Shader class 2022-06-29 22:37:38 +01:00