Commit Graph

9764 Commits

Author SHA1 Message Date
Giovanni Cascione
d861059036 LIBRETRO: disable engines requiring opengl_game_shaders 2024-03-25 22:17:08 +01:00
Giovanni Cascione
0554419be2 LIBRETRO: use same libretro buffer size for mixer 2024-03-21 23:35:55 +01:00
Giovanni Cascione
2b1ad93f0e LIBRETRO: add silence-only buffers detection 2024-03-21 23:35:55 +01:00
Giovanni Cascione
a38cc2b6d9 LIBRETRO: BUILD: remove -rdynamic for debug builds 2024-03-21 23:35:55 +01:00
Le Philousophe
1ddc4cb955
BACKENDS: IMGUI: Use ScummVM facilities to get function pointers (#5715) 2024-03-17 22:32:28 +01:00
Le Philousophe
c952c63b69 AMIGAOS4: Don't use GLES2 system header
It is not freely available. Rely on loader instead.
2024-03-17 16:05:34 +01:00
Le Philousophe
2032dc2830 IOS7: Fix build 2024-03-17 16:03:02 +01:00
scemino
ab17f10a6f BACKENDS: Try to fix imgui compilation errors 2024-03-17 13:09:32 +01:00
PushmePullyu
926d5fd0b7 AMIGAOS: Cleanup and free signals via atexit(), 2nd attempt
Second attempt at fixing #6956
"ScummVM returned with unfreed signals (AmigaOS4)"

This only runs the cleanup code if the OSystem_AmigaOS
instance has not been destroyed already.
2024-03-17 13:58:10 +02:00
Hubert Maier
198e346bf8 Revert "AMIGAOS: Cleanup and free signals via atexit()"
This reverts commit e7fa161386.

The change sometimes caused ISI crashes on "normal" quits of ScummVM.
2024-03-17 13:58:10 +02:00
Hubert Maier
794f292b5d
AMIGAOS: Use compiler defines 2024-03-16 01:59:27 +02:00
Lars Sundström
b34b5ba2f1 IOS7: Add backend help information about external keyboards
Add tab describing the external keyboard support.
2024-03-15 14:26:51 +01:00
Lars Sundström
69554e0e52 IOS7: Fix memory leak when switching 3D framebuffers
When a 3D game does not support arbitrary resolutions a framebuffer
has to be created. The initSize method can be called multiple times
with different resolutions. Make sure to delete any existing
framebuffer before creating a new.
2024-03-15 14:26:51 +01:00
Lars Sundström
975ac38f72 IOS7: Make project build in Xcode 10.1
Builtin checks are not present in older Xcode versions. Add macros
to check the target iOS version.
2024-03-15 14:26:51 +01:00
Lars Sundström
dde3fa0ec3 IOS7: Fix left mouse clicks with tap gesture on some devices
Left mouse clicks are generated by tap gestures. To protect against
false mouse clicks the tap gesture is cancelled if the finger is
moved. Normally a tap gesture is generating a touchesBegan event
but doesn't generate any touchesMoved events. But for some devices,
not sure if it's the device or if the screen is broken, a false
touchesMoved event can be triggered even though the coordinates
aren't changed at all.

Add a check to see if the coordinate has changed from when the touch
began to see if the tap gesture should be cancelled or not.
2024-03-15 14:26:51 +01:00
Matthew Jimenez
5219c99400 GRAPHICS: Move PaletteManager definition to a separate header 2024-03-12 12:24:00 +02:00
Lars Sundström
15be37dd64 IOS7: Update backend options tab layout
The backend options widget is now in a scrollcontainer widget.
Change the options widget to not be scrollable since the parent
widget is and remove unnecessary padding.
2024-03-11 01:03:37 +01:00
Miro Kropacek
74e4973b43 BACKENDS: ATARI: Disable aspect ratio correction
It's used only in surfacesdl backend.
2024-03-10 23:34:33 +01:00
scemino
9ff903dd75 BACKENDS: Fix imgui width sdl1 2024-03-07 20:08:26 +01:00
scemino
8807ab74db BACKENDS: New imgui proposition 2024-03-07 20:08:26 +01:00
scemino
9c7098fb84 BACKENDS: Fix regression imgui windows not visible 2024-03-07 20:08:26 +01:00
scemino
b917604200 BACKENDS: Fix create random IniFilename
This was due to a pointer not kept in memory
2024-03-07 20:08:26 +01:00
scemino
100c996ce5 TWP: Move ImGui to backends 2024-03-07 20:08:26 +01:00
scemino
0cba66b204 TWP: Move ImGui to backends 2024-03-07 20:08:26 +01:00
Cameron Cawley
68fe8f77da DS: Remove duplicaFilesystemFactory creation 2024-03-06 23:37:20 +00:00
Cameron Cawley
5fdb5edd20 DS: Disable stdio buffering from newlib 2024-03-05 22:47:35 +00:00
elasota
7cfae77aad DISTS: Fix out-of-source-tree Win builds and multiple deps problems
Make .rh files dependent on their contents (maybe they should be deps of the .rc file?)
Make .rh files dependent on the .mk file that their item lists come from
Fix .rh files not creating destination directory
Fix .rh dependencies of .rc file being source-relative instead of build-relative
Fix .rh clean paths being source-relative instead of build-relative
Fix .rh generation appending to the old .rh instead of overwriting
2024-03-02 18:09:12 +01:00
elasota
4dc9ef2771 DISTS: Move engine data defs to dedicated files 2024-02-27 17:12:15 +01:00
Christian Kündig
82d0a4b06c EMSCRIPTEN: Load icons directly (not from an archive) 2024-02-27 17:07:13 +01:00
Christian Kündig
e36640efdf EMSCRIPTEN: GRAPHICS: Enable OpenGL graphics mode by default 2024-02-27 17:07:13 +01:00
Christian Kündig
7bdadaefae EMSCRIPTEN: GRAPHICS: Fix screenshots 2024-02-27 17:07:13 +01:00
Christian Kündig
bc73ee4b71 EMSCRIPTEN: Add support for saving logfiles 2024-02-27 17:07:13 +01:00
Christian Kündig
45c5f4673a EMSCRIPTEN: Cleanup file paths 2024-02-27 17:07:13 +01:00
Christian Kündig
4ea65b1a96 EMSCRIPTEN: Update Emscripten and cleanup build scripts 2024-02-27 17:07:13 +01:00
Le Philousophe
2a7241a97c PLUGINS: Implement NONE relocations
ARM emit them in some cases and add it to MIPS for completeness

Fixes: #14905
2024-02-24 20:48:21 +01:00
Le Philousophe
6342045cc3 BACKENDS: OPENGL: Don't take the alpha channel from the game texture
It's not always set correctly by engines (AGS) and a fill call to clear
the screen will set it to 0 along with the other components.
Setting the framebuffer to some transparent value is not something we
intend to do as this let the content underneath the drawing texture
visible like it's the case on ChromeOS.
This has been reported here: https://forums.scummvm.org/viewtopic.php?p=99293
2024-02-24 16:43:14 +01:00
Miro Kropacek
9152c3dc4e BACKENDS: ATARI: Buffer also mouse buttons state
Now double-click works also on really slow hardware. And Hatari.

Also, partially revert commit 01a2d2ed because events can't be passed
to the (multitasking) OS. So basically let's hope that it works fine now
even without handling IKBD overruns. I'm not able to replicate the issue
with Hatari + FF + slow UI + mouse movement anymore.
2024-02-24 06:21:43 +01:00
PushmePullyu
037131d977 KEYMAPPER: Add method isEnabled to Common::Keymapper 2024-02-23 18:59:27 -10:00
Miro Kropacek
01a2d2edab BACKENDS: ATARI: Call original keyboard/mouse routines
This helps to solve the issue when one pushes 'Return' immediately after
Hatari's start. This issue appeared after introducing the
interrupt-driven audio mixer.

Not sure whether this was a real bug but it's much cleaner
implementation now anyway.
2024-02-24 03:54:54 +01:00
Miro Kropacek
f41a678ba1 GRAPHICS: ATARI: Utilize dlmalloc
- every malloc is now aligned on 16 bytes

- no need for the hidden pointers

- ct60_vmalloc() is called only once, the rest is handled
  by dlmalloc (SV XBIOS' vmalloc is pretty fragile)
2024-02-24 03:54:54 +01:00
Miro Kropacek
fda1ce1672 BACKENDS: ATARI: Change dma playback to interrupt-driven
This not only decreases the amount of XBIOS calls but also avoids
repeating the sample buffer in case of a heavier CPU load.

Also clean up the mixer code.
2024-02-24 03:54:54 +01:00
Lars Sundström
414c427fd6 IOS7: Use new key overload functions
Call the overload functions for key inputs and return the results
as an array of UIKeyCommands.
2024-02-23 22:41:18 +01:00
Lars Sundström
c5ef6ecb77 IOS7: Add functions creating UIKeyCommands for special keys
Use the helper function to create an array of UIKeyCommands for the
END, HOME, PAGE UP, PAGE DOWN and the ESC keys. Add a generic handler
function that decides which action for which key.

This allows the application to register key presses of these keys,
however some of them requires iOS 13.4 or later.
2024-02-23 22:41:18 +01:00
Lars Sundström
25d7787d9f IOS7: Add functions creating UIKeyCommands for Fn keys
Use the helper function to create an array of UIKeyCommands for the
Fn keys. Add a generic handler function that decides which action
for which key.

This allows the application to register key presses of the Fn keys,
however only supoorted in iOS 13.4 and later.
2024-02-23 22:41:18 +01:00
Lars Sundström
a8314ea05b IOS7: Add functions creating UIKeyCommands for number keys
Use the helper function to create an array of UIKeyCommands for the
number keys. Add a generic handler function that decides which action
for which key.

Since not all keyboards have the function keys, Fn1-Fn12, e.g. the
Apple Magic Keyboard for iPads, map these keys to the number keys
when pressed together with the CMD modifier key. Fn11 and Fn12
requires CMD + Shift as modifier keys.
2024-02-23 22:41:18 +01:00
Lars Sundström
8baa1de5d0 IOS7: Add functions creating UIKeyCommands for roman letter keys
Use the helper function to create an array of UIKeyCommands for the
roman letter keys. Since most of the games supports input of roman
letters, overload these keys. Keys with other characters than these
are not overloaded and will therefore trigger the call to the
delegate function:
"textField:shouldChangeCharactersInRange:replacementString:"
and will therefore still be passed to the IOS7 event handler.
However no modifier flags will be passed for those and they will not
support repeated presses.

Add a generic handler function that decides which action
for which key.
2024-02-23 22:41:18 +01:00
Lars Sundström
2bbbdc75fb IOS7: Add functions creating UIKeyCommands for arrow keys
Use the helper function to create an array of UIKeyCommands for the
arrow keys. Add a generic handler function that decides which action
for which key.

Since not all keyboards have the PAGE UP/DOWN nor HOME/END keys,
e.g. the Apple Magic Keyboard for iPads, map these keys to the arrow
keys when pressed together with the CMD modifier key.
2024-02-23 22:41:18 +01:00
Lars Sundström
99fb3faf9d IOS7: Add helper functions to overload keys
Currently the key inputs are sent to the IOS7 event handler on calls
to the delegate function:
"textField:shouldChangeCharactersInRange:replacementString:"
So when typing on either the software keyboard or a connected HW
keyboard the input is handled by the hidden textfield that is in
focus. The delegate is called on each key input and the character
typed is passed to the IOS7 event handler.

Doing as above has the drawback that if they user holds down a key,
common in games when shooting or moving, the key event is only sent
once. The delegate function is only called once per distinct key
press.

By implementing the keyCommands function and create UIKeyCommands
for a set of keys, the system will call a defined callback function.
This also enables repeatedly calls as long as the key is held down.

Modifier keys can also be configured to create UIKeyCommands to
trigger custom actions. This way we can overload the key functions
when they are pressed at the same time as a modifier key.

Add helper funtions that can be used to create UIKeyCommands for
a set of keys. Keys are represented by their input, e.g. the key
for the character 'c' is defined as a string with only one char,
the 'c', while special keys are represeented by strings defined
by the OS.

Register UIKeyCommands for all types of modifier keys and add a
function that can convert system modifier flags to flags used by
ScummVM.
2024-02-23 22:41:18 +01:00
Lars Sundström
c8d93ad820 IOS7: Pass key modifier flags to key events
Prepare the backend to send key modifier flags in the key events.
No modifier flags are sent at this point but will be added in
upcoming commits.
2024-02-23 22:41:18 +01:00
Hubert Maier
d6b08d4d8d AMIGAOS: Remove local aspect ratio setting 2024-02-22 14:56:10 +01:00