510 Commits

Author SHA1 Message Date
Miro Kropacek
d9eee7906a BACKENDS: ATARI: Use unordered_set for dirty rects
This allows efficient redraw of surfaces which don't change their
position too much.
2023-06-15 22:58:13 +02:00
Miro Kropacek
a4e85dab01 BACKENDS: ATARI: Remove double buffering & vsync
ScummVM engines are not built for synchronous screen locking (i.e.
updateScreen() can't be really used for any sort of blocking updates
otherwise performance suffers).

Single buffering now means deliberate tearing as a speed optimization
and triple buffering provides a tearingless picture with slight overhead.
2023-04-08 20:27:43 +02:00
Miro Kropacek
6c5e3dbfd5 BACKENDS: ATARI: Refactor 2023-03-25 21:45:50 +01:00
Miro Kropacek
276cf354bf BACKENDS: ATARI: Separate AtariEventSource from OSystem_Atari 2023-03-04 23:38:42 +01:00
Vladimir Serbinenko
3a3da1b41e SDL: Allow joystick init to fail
It's not critical so can be skipped
2023-02-05 22:55:40 +01:00
Vladimir Serbinenko
17c5a0ce44 SDL: Don't use SDLK_UNDO prior to its introduction in SDL-1.2.3 2023-02-05 22:55:40 +01:00
AndywinXp
aae1cac682 GUI: Only show the quit dialog in absence of an engine GUI override 2023-01-20 10:03:37 +01:00
Cameron Cawley
cb3a024589 COMMON: Allow registering multiple event mappers 2022-06-18 23:13:17 +02:00
Hubert Maier
a30d637347 BACKENDS: Typo in comments 2022-05-17 18:38:52 +02:00
Thierry Crozat
e302590cab SDL: Improve AmigaOS workaround for numpad
The previous workaround was introduced to fix fighting using the keypad
in Indy 3. It enforced genering a number on KEYCODE_KP# events even
when KBD_NUM is not set. The issue on AmigaOS is that SDL never reports
KBD_NUM as being set. Instead we get different keycodes depending if
numlock is on or off (e.g. KEYCODE_KP3 and KEYCODE_PAGEDOWN).

The new workaround is to set the KBD_NUM modifier whenever we receive
a KEYCODE_KP# event from SDL. This way we also generate a number, but
in addition this is consistent with the modifier and works with code
that checks the KDB_NUM modifier (such as the GUI code or the AGI
engine).
2022-03-13 21:33:39 +00:00
Le Philousophe
9f84198643 ANDROIDSDL: Remove deprecated port 2022-02-06 21:34:08 +01:00
Thunderforge
fd129ebc0c JANITORIAL: "Mac OS X" and "OS X" to "macOS" in comments
Apple's desktop operating system was formerly called "Mac OS X" and "OS X", but since 2016 it has been called "macOS" (starting with version 10.12).

Changing across all comments and documentation to use this current terminology, except in cases where the historical versions are explicitly referenced. No code changes are made; we should consider changing those in future PRs.
2022-01-29 14:15:05 +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
Orgad Shaneh
b11c5ace90 BACKENDS: JANITORIAL: Remove 'virtual' when override is specified 2021-11-14 14:31:41 +02:00
Cameron Cawley
224d626e65 DS: WIP virtual keyboard support 2021-11-01 16:19:15 +00:00
Cameron Cawley
dd1bf34f18 BACKENDS: Hide the virtual keyboard action when one isn't available 2021-11-01 16:54:39 +01:00
Cameron Cawley
6dbb129f40 BACKENDS: Allow activating the system virtual keyboard using the keymapper 2021-11-01 16:54:39 +01:00
sluicebox
386c5659ec BASE: Purge keyboard/mouse events before running Engine
Fixes GUI events leaking into engines at startup. This caused
Phantasmagoria 1 to skip its introduction if the game was started from
the ScummVM GUI with a keyboard (Enter) but not with a mouse because
the key-down event started the engine and the key-up event remained
in the queue.

This also purges and mouse events since we happen to already have a
purgeMouseEvents() method. We may want to also clear joystick inputs,
or possibly the entire event queue, but that can be done after the
upcoming release. For now, the known bug is fixed.
2021-08-23 15:46:33 -05:00
Cameron Cawley
0a9bf3708f DS: Update the MaxMod callback manually 2021-06-19 14:32:10 +02:00
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Cameron Cawley
d33487f641 SDL: Refactor OpenGLSdlGraphics3dManager to inherit from SdlGraphicsManager 2021-04-17 20:32:27 +02:00
Eugene Sandulenko
91832bf9d8
SYMBIAN: Remove old Keys Dialog, now the global KeyMapper is used. PR#2712 2021-04-17 19:41:09 +02:00
Orgad Shaneh
b49e6eb96f JANITORIAL: Fix some excess tabs 2021-04-15 23:18:08 +03:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
rsn8887
044ea0b60e VITA: Use regular SDL2 graphics code, fixes crash with latest SDK 2021-04-11 19:56:34 -05:00
sluicebox
cbaae38721 EVENTS: Fix mouse position outside active area
Fixes regression introduced in 35b9cccbde37d20fdbc10254d4ab8cc260551e84
which ignored SdlGraphicsManager::notifyMousePosition() return value
2021-03-09 08:18:56 +01:00
Cameron Cawley
2ea22a451c DS: Ensure that a mouse move event is sent before a mouse down event 2021-02-04 01:59:14 +01:00
Cameron Cawley
626b6ac4e9 DS: Move graphics code into a separate file 2021-02-04 01:59:14 +01:00
Cameron Cawley
37774cd578 DS: Allow the game screen and the overlay to be shown at the same time 2021-02-04 01:59:14 +01:00
Cameron Cawley
438c2d8714 DS: Rewrite event handling 2021-02-04 01:59:14 +01:00
Thierry Crozat
a1c807704d ALL: Ignore force RTL option when the engine does not support RTL
This fixes bug #12072: Cannot quit Blazing Dragons when always
return to launcher is selected
2021-01-20 23:35:47 +00:00
Cameron Cawley
ade345b975 SDL: Fix crash with certain key combos on AmigaOS 4 2021-01-17 14:47:09 +00:00
Cameron Cawley
7a6fcba9b6
SWITCH: Fix missing include 2021-01-02 14:21:28 +00:00
Thierry Crozat
9e5540f838 BASE: Handle RTL at exit config in scummvm_main
This config was handled in the DefaultEventManager, but this did not
work for engines that quit the game without using a QUIT_EVENT (such
as SCI). So now it is handled one level up directly in scummvm_main.

Note: It is still also handled in the DefaultEventManager so that we
get the correct confirmation dialog there when "confirm_exit" is true.
2020-12-09 22:13:22 +00:00
Thierry Crozat
5638fc84f3 GUI: Prevent the 'Confirm RTL' dialog from being invoked recursively
I reused the same flag that was already used for the same purpose
for the 'Confirm exit' dialog. This means that if we have both a
RTL and a Quit event in the queue, only the first one will have a
confirmation dialog. If this is an issue, we can instead introduce
a separate flag for the RTL dialog.
2020-12-04 22:43:03 +00:00
Lothar Serra Mari
c027d3789d GUI: Cleanup confirm_exit code 2020-12-02 22:39:22 +00:00
Lothar Serra Mari
6325e751f2 GUI: Only show 'confirm_exit' dialog when running an engine 2020-12-02 22:39:22 +00:00
Lothar Serra Mari
6da9994da9 GUI: Change button label on 'return to launcher' confirmation 2020-12-02 22:39:22 +00:00
Lothar Serra Mari
80de351bd9 GUI: Reword 'exit' and 'return to launcher' confirmation messages 2020-12-02 22:39:22 +00:00
Lothar Serra Mari
fbd2173f3a GUI: Clarify that leaving a game will lead to loss of unsaved data 2020-12-02 22:39:22 +00:00
Lothar Serra Mari
4ee02f869c GUI: Add GUI option to always return to the Launcher instead of quitting
ScummVM
2020-12-02 22:39:22 +00:00
Hubert Maier
e19d4e197b
AMIGAOS: Keep platform name continuity (#2643) 2020-11-26 15:10:01 +01:00
antoniou79
637d845210 COMMON: DEBUGGER: Don't attach again at EVENT_DEBUGGER
If already active

Addresses bug https://bugs.scummvm.org/ticket/11964
2020-11-22 13:58:57 +02: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
Cameron Cawley
ee18a89df5 MAEMO: Add override and final keywords 2020-11-01 20:04:57 +00:00
Matthieu Milan
90d9540ad8
SWITCH: Add support for 3d games (#2558)
SWITCH: Add support for 3d games
2020-10-26 21:01:12 +01:00
rsn8887
28a1f729ff BACKENDS: Fix reading window height in PSP2 events 2020-10-10 09:20:59 -05:00
Paweł Kołodziejski
e20bddb738 BACKENDS: Attempt to fix PSP and SWITCH ports. Use proper class cast 2020-10-10 13:55:27 +02:00
SupSuper
293b648745 SDL: Only handle events from current display window
This fixes the GraphicsManager reacting to dummy window events from testing OpenGL hardware capabilities
2020-10-10 00:14:10 +01:00