Commit Graph
9283 Commits
Author SHA1 Message Date
Le Philousophe caa7e5c8df ALL: Add limits for all codebase 2023-06-06 08:14:25 +02:00
Le Philousophe 906a957b4a SURFACESDL: Apply the key color in the cursor margins
This avoids artefacts on borders when using scalers like AdvMame.
This fixes bug #14308
2023-06-04 18:24:06 +02:00
Le Philousophe 6ee040ee55 ANDROID: Fix glClearColor call
This function takes floats between 0 and 1 and not integers
2023-06-04 18:22:59 +02:00
Le Philousophe a95f42317c BACKENDS: OPENGL: Clear screen using opaque black instead of transparent
This looks like an overlook since the creation of the backend.
Previous Android backend used this and it shouldn't harm other
platforms.
This should fix a bug on ChromeOS.
2023-06-04 18:22:59 +02:00
Le Philousophe 287b228af0 POSIX: Add AppImage support
And add a target to generate the image
2023-06-01 20:39:17 +02:00
Le Philousophe f683b9b916 DISTS: Fix AppData id and update it to latest specification
AppData id should really be a rDNS but its filename and desktop
filename must match this id.
This commit makes everything match.
The provides directive must not mention its own desktop file but
launchable should.
2023-06-01 20:39:17 +02:00
Thierry Crozat 0eca37a262 BACKENDS: Remove old iPhone backend
This backend was no longer maintained and have had no release
and no daily builds for several years.
2023-05-31 19:31:19 +01:00
Lars Sundström 8e97e8dff4 IOS7: Refactor touchpad mode to utilize delta mouse function
Instead of having duplicated code, utilize the delta mouse function
also for touches when in touchpad mode.
2023-05-15 12:43:39 +02:00
Lars Sundström 01b9f728de IOS7: Implement relative mouse movements for touches
Send relative mouse movements from backend for touch events. The
relative x and y values are necessary for some games, e.g. Myst3.
2023-05-15 12:43:39 +02:00
Lars Sundström d397938107 IOS7: Implement support for setting mouse pointer speed
Implement support to set the mouse pointer speed in settings.
The mouse pointer speed is applied to both mouse input and touch
input when in touchpad-mode.
2023-05-15 12:43:39 +02:00
Lars Sundström 72518221d8 IOS7: Scale mouse movements
The delta values are in number of pixels on the native screen
resolution. Need to scale down the delta values based on the
game resolution. Store reminders that are added to next deltas
to mitigate "dead zones" if doing small movements.
2023-05-15 12:43:39 +02:00
Lars Sundström 568b06940e IOS7: Add mouse input events
Add input events that can be used by mouse devices, e.g. mices and
touchpads. This event sends the raw input actions and doesn't care
about different controller modes such as click-and-drag.

Make the mouse controller utilize the new mouse input events.
2023-05-15 12:43:39 +02:00
Lars Sundström 5a0eccf337 IOS7: Rename mouse events to touch events
The current mouse events are handling events created from both touch
and mouse input. The events have lots of logic to deal with gestures
and different modes (touchpad mode, click-and-drag etc) which are not
applicable for hardware inputs.

Rename the current "mouse events" to "touch events" to clarify which
input that triggered an event. As this is the first commit in multi-
commit change, the mouse input need to use the "touch events" until
a new "mouse event" is implemented.
2023-05-15 12:43:39 +02:00
D G Turner f1d2ba701a WII: Add Code for GDB Debugging Over Ethernet using TCP
The Gecko USB serial adapter is no longer easy to obtain and using
the Ethernet adapter instead is supported by devkitPro/libogc.

However, when enabled, this fails to link when dynamic plugins are
enabled due to missing symbols for gdbstub_getoffsets() found in
devkitPro/libogc/libdb/debug_supp.c. To be exact, this is the
u8 __text_fstart[],__data_fstart[],__bss_fstart[] which should be
implicitly provided by the linker(?)

A monolithic static build with this enabled does succeed, but has not
yet been tested.
2023-05-15 00:51:27 +01:00
Cameron Cawley 30bdbb6f76 Revert "GUI: Ensure that all keymap widgets fit within the scroll container"
This reverts commit d255fbe671.
2023-05-14 22:43:57 +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
Hubert Maier bce0eeb91c AMIGAOS: amigaos.cpp - Set default gfxmode to "surfacesdl" 2023-05-14 23:07:10 +03:00
Giovanni Cascione 14335f50aa LIBRETRO: refactor OSystem_libretro 2023-05-14 18:56:15 +02:00
Giovanni Cascione a062f06bd1 LIBRETRO: add auto setup for extra/theme folders 2023-05-11 20:50:48 +02:00
Giovanni Cascione 2e98da4e9e LIBRETRO: add core path as fallback for system and save folders 2023-05-11 20:50:35 +02:00
Giovanni Cascione 3590bb387c LIBRETRO: add osd_notification 2023-05-11 20:50:22 +02:00
Giovanni Cascione 20ce78d889 LIBRETRO: move retroQuit in close_emu_thread loop 2023-05-11 20:50:06 +02:00
Giovanni Cascione bf7938991d LIBRETRO: update libretro-common 2023-05-11 20:49:54 +02:00
Miro Kropacek a6a5b8ab42 BACKENDS: ATARI: Handle themes in installation script
- "fat" version uses repacked (zip -0) archives; also separate "data"
  and "themes" folders
- "slim" version doesn't use any external themes (for speed reasons)
2023-05-11 00:03:44 +02:00
Miro Kropacek aa8935e447 BACKENDS: ATARI: grabOverlay() uses accelerated blitting 2023-05-10 22:59:56 +02:00
Miro Kropacek 76d3706492 BACKENDS: ATARI: Add build scripts
- consolidate public #define's (just ATARI)
- cpu compiler flags are specified in the script
- allow explicit move16, SV and SV Blitter features enabled/disabled

Provide two build scripts:

1. "Fat" one targeted at 040/060 machines (possibly with SuperVidel)

This one is optimized for 68020-60 (so it's still possible to try
highres engines on 68030 machines).

2. "Slim" one targeted at 030 machines (Falcon030+DFB/CT2 or TT030)

This one is optimized for 68030 and stripped from even more features:
"fancy" (highres) themes, move16 & SuperVidel routines and most
importantly the highres engines.
2023-05-10 22:58:26 +02:00
Giovanni Cascione 72c3b53ae4 LIBRETRO: update libretro-deps 2023-05-09 21:57:15 +02:00
Giovanni Cascione a96eca3025 LIBRETRO: add git version to debug log 2023-05-09 21:51:54 +02:00
Lars Sundström 4de20a8032 IOS7: Adjust the frame on safeAreaInsetsDidChange calls
There is a race condition when iOS updates the safe insets and
the view is updated on orientation changes. When rotating the
device the callback function interfaceOrientationChanged is
called. This triggers rebuildSurface to be called, which will
call updateOutputSurface, which will trigger initSurface. That
function will finally will adjust the main frame towards the
safe areas by calling the function adjustViewFrameForSafeArea.

But it seems that when adjustViewFrameForSafeArea is called the
safe insets values are not updated which will lead to wrong
offset values in the frame for touches which will make the mouse
pointer inaccurate.

The iOS system makes calls to safeAreaInsetsDidChange whenever
the safe insets values are updated. Make sure to update the frame
on these calls to get correct touch offsets.
2023-05-09 14:33:56 +02:00
Giovanni Cascione 842a52fd42 LIBRETRO: fix delayMillis regular method 2023-05-07 15:25:11 +02:00
Giovanni Cascione 6be7019fb0 LIBRETRO: move timer handler calls 2023-05-06 13:30:52 +02:00
Lars Sundström 5817e72d0d IOS7: Implement Apple GCVirtualController
Apple introduced the GCVirtualController in iOS 15 which is a
software emulation of a real controller. The virtual controllers
can be configurable with different inputs. See more info at:
https://developer.apple.com/documentation/gamecontroller/gcvirtualcontroller

A simple gamepad configuration with a dPad and A and B buttons
is added. The user can enable/disable the virtual game controller
swiping two fingers right to left, or through the port-specific
option dialog.
2023-05-05 22:35:03 +02:00
Lars Sundström 045ddca927 IOS7: Add dpad actions to gamepad controller
Some game engines requires the dpad to control a character. The GRIM
engine is an example of this where the user steer the character by
the arrow keys or dpad controller.
2023-05-05 22:35:03 +02:00
Lars Sundström fac7008914 IOS7: Call correct delegate method
The wrong delegate method was called for touchesCancelled. This
led to button presses ended too early if moving the fingers.
2023-05-05 22:35:03 +02:00
Lars Sundström 6d325f26c6 IOS7: Write changes to mouse modes to ConfMan
When changing "Touchpad mode" or "Mouse-click-and-drag mode" by
swipe gestures, these changes must be stored in ConfMan.
2023-05-05 22:35:03 +02:00
Lars Sundström 7861bca156 IOS7: Don't disable "touchpad" mode when enabling "click-and-drag"
The "touchpad" mode and "click-and-drag" mode was mutual exclusive
when enabling "click-and-drag" using swipe gesture.

The difference between "touchpad" mode and "click-and-drag" mode
is how the button down/up events are sent. In touchpad mode the
button down and button up events are sent on touches ended, while
in click-and-drag the button down event is sent on touches began
and button up on touches ended.
2023-05-05 22:35:03 +02:00
Lars Sundström a690552301 IOS7: Remove legacy gesture recognizers
These gesture recognizers were inherited from the iphone port. The
ios7 port use the UIGestureRecognizers to accomplish the same.
2023-05-05 22:35:03 +02:00
Lars Sundström 9bc623a8a4 IOS7: Implement port-specifc option widget
Include the newly added ios7_options implementation to the project.
Change the file type to .mm which is Objective C++ to be able to use
the @availble mechanism.

Implement virtual functions and fix build errors in initial code.
Also add help section for the tvOS port when building for tvOS.

Add ios7_options to POTFILES to get automatic translation on the
help section.
2023-05-05 22:35:03 +02:00
D G Turner 91b8c1bb89 WII: Fix Build When Debugging Wii Memory Usage 2023-05-05 18:16:57 +01:00
Giovanni Cascione b84bc71c25 LIBRETRO: rework delayMillis 2023-05-05 04:50:43 +02:00
Giovanni Cascione b71a9808a6 LIBRETRO: add libretro timer 2023-05-05 04:50:25 +02:00
Thierry Crozat 0b92f048dc IOS: Add back new delegate methods but keep old ones
On iOS 12 and below, the one delegate methods are called. On iOS13.2
and above if both sets are implemented only the new delegate methods
are called, which prevent getting the deprecation warning.
2023-05-03 21:35:17 +01:00
Thierry Crozat d2554266b3 Revert "IOS7: Implement new delegate methods replacing deprecated ones"
This reverts commit 46d6a76b8e.
The commit broke saving and restoring state when compiling with SDK 13
or above and running on iOS 12 or below. The functions to save/restore
were no longer called.
2023-05-03 01:54:22 +01:00
Giovanni Cascione 90680549f4 LIBRETRO: improve auto frameskip 2023-05-02 22:53:35 +02:00
Giovanni Cascione 65aed42e7f LIBRETRO: add retroDestroy() 2023-05-02 18:03:15 +02:00
Eugene Sandulenko d362dc924e BACKENDS: IOS7: Add inital code for port-specifc options 2023-05-02 11:13:02 +02:00
Lars Sundström 46d6a76b8e IOS7: Implement new delegate methods replacing deprecated ones
The delegate methods application:shouldRestoreApplicationState
is replaced with application:shouldRestoreSecureApplicationState
and the method application:shouldSaveApplicationState with
application:shouldSaveSecureApplicationState.

To support older versions of iOS, put them in a version check
macro.
2023-05-02 08:02:12 +02:00