Commit Graph

4577 Commits

Author SHA1 Message Date
libretroadmin 195c19a1c9 Fix more static code analysis errors/warnings 2025-07-17 09:44:19 +02:00
libretroadmin f45fd77d68 Fix errors and warnings pointed out by static code analysis (Clang) 2025-07-17 08:49:53 +02:00
libretroadmin c6d72062e2 remove dead code 2025-07-17 08:02:06 +02:00
Joseph C. Osborn 7c05359933 c89 fixes 2025-07-16 10:35:33 -07:00
Joseph C. Osborn 1cc76cd64d Add "same timeline check" and "future state check" for replays
When loading and saving states taken during a replay, their contents
should be compared with the current replay.

- If in playback mode, states from past the end of the current replay
should be disallowed, as should states from an alternate timeline of
the current replay (inconsistent input history)
  - This is because in playback mode, RA replays are read-only
- If in recording mode, states from the future or from another
timeline should overwrite the current replay's data with a warning
- In either playback or recording, loads of states from the past that
have a consistent series of inputs (same timeline) should be loaded
and the replay should be rewound (and truncated in case of recording)

This behavior is as specified in
https://tasvideos.org/LawsOfTAS/OnSavestates

The existing code only implemented some of these checks.
2025-07-16 10:09:09 -07:00
Joseph C. Osborn 1e0c723ba3 Fix warnings under many platforms, unpack nested ifdefs in includes. 2025-07-15 07:25:09 -07:00
Joseph C. Osborn 6227156e73 Add new replay token type CHECKPOINT2
This can optionally encode and compress checkpoints.  For now, only
raw encoding is supported, but e.g. delta encoding, block-based
encoding, or deduplicated encoding could be supported in the future.

Three compression schemes are included (selected automatically based
on compilation flags): ZSTD, ZLIB, or NONE.

All three schemes are supported for decompression if available.

For compression, ZSTD is preferred over ZLIB is preferred over NONE.
2025-07-14 14:32:53 -07:00
Joseph C. Osborn 27f141a7a5 fix some bugs with replays and rewinding
- rewinding past the start clobbers part of the header
- during recording & rewind, should not push input events
- during recording or playback, getting to the end of the rewind
  buffer should not halt the movie
2025-07-14 08:09:25 -07:00
libretroadmin 9c82213d19 Remove some else statements 2025-07-14 04:43:36 +02:00
nfore dabf543cde Fix input_overlay_track_touch_inputs
- Fixes bug introduced in 31014e99c0. Unmatched pointers were not considered outliers
2025-07-12 22:59:16 -05:00
nfore 31014e99c0 Overlays: Put a speed limit on touch pointer tracking
A pointer is considered new if it travels ~25% of the screen in one poll.
2025-07-12 14:11:22 -05:00
libretroadmin 2dbb9f62d8 * Change some variable naming conventions
* Make return control paths less dependent on variables
2025-07-11 02:15:12 +02:00
sonninnos b2ca569521 Logging unification cleanups 2025-07-10 05:59:06 +03:00
Eric Warmenhoven eea37466fc apple: better mfi controller disconnect handling 2025-06-27 11:17:33 -04:00
Eric Warmenhoven 5e578f9fc4 apple: better mfi controller disconnect handling 2025-06-23 22:45:45 -04:00
zoltanvb 69a9e05067 Minor Android keymap fixes
Some enhancement possibilities found while investigating another
issue - shift keys were swapped (especially noticeable in menu),
enter may be mapped to DPAD_CENTER by the system, but unfortunately
the 102. key can not be mapped separately.
2025-06-22 21:14:49 +02:00
sonninnos 0785dd7548 Unused variable cleanups 2025-06-15 05:08:24 +03:00
Eric Warmenhoven aebfff2166 apple: better mfi controller disconnect handling 2025-06-11 11:01:28 -04:00
LibretroAdmin c9360262ec
Revert "Kiosk Mode Hotkey and Bug Fix ( For Empty Main Menu )" 2025-06-07 18:00:14 +02:00
LibretroAdmin 28300fc606
Merge pull request #17980 from Lhaete/master 2025-06-07 07:49:11 +02:00
Lhaete 390f1d3760
Update input_defines.h with kiosk mode 2025-06-06 06:54:40 -04:00
j0ki 482b8241b8
udev_input.c: restore linux terminal in udev_input_free
Linux terminal settings were lost after restarting via menu.
This was caused by udev_input_init calling linux_terminal_disable_input multiple times.

New code follows the restore pattern of linuxraw_input.c
2025-06-06 02:18:20 +02:00
libretroadmin 15819612f7 Fix semicolon near end of conditional 2025-05-29 09:22:42 +02:00
libretroadmin 18ca0e671d (XInput) More C89 fixes and style nits 2025-05-29 09:17:52 +02:00
libretroadmin bd04f9154b C89 buildfix 2025-05-29 06:11:08 +02:00
libretroadmin c372dfad8b Rework xinput_joypad_rumble somewhat 2025-05-29 05:59:46 +02:00
libretroadmin b1ad554a14 C89_BUILD fixes 2025-05-29 04:59:41 +02:00
Ryunam 7ad10258f0 XInput: Reduce unnecessary polling and optimize performance 2025-05-29 00:21:43 +02:00
Ryunam bd9561d93c XInput: Fix rumble overload by limiting on state changes and interval 2025-05-28 17:20:33 +02:00
sonninnos a1a50afc9e Dinput: Ignore first mouse click on focus 2025-05-27 23:47:06 +03:00
sonninnos b3fd3e15ed WinRaw: Prevent stuck mouse buttons on unfocus 2025-05-27 22:43:15 +03:00
sonninnos 3f2021249b Deprecated msg hash cleanups 2025-05-25 15:49:49 +03:00
sonninnos cc57bbc06e
Turbo mode corrections (#17905) 2025-05-14 22:37:05 +03:00
sonninnos ee11b79738
Improve playlist thumbnail cycling (#17897)
* Improve playlist thumbnail cycling

* GLUI: Thumbnail cycling fixes
2025-05-13 22:14:49 +03:00
LibretroAdmin 79d78a6860
Merge pull request #17880 from Sunderland93/wayland_toplevel_icon
[Wayland]: Add support for xdg-toplevel-icon-v1
2025-05-09 06:14:58 +02:00
Aleksey Samoilov 7264709776 Set toplevel icon for libdecor frame 2025-05-09 02:15:22 +04:00
BinBashBanana 2d3c18e48d Emscripten improvements pt. 4 2025-05-08 11:01:43 -07:00
Aleksey Samoilov 6c7b648570 [Wayland]: Add support for xdg-toplevel-icon-v1 2025-05-08 17:58:20 +04:00
sonninnos 10738f532c
Add shader hold hotkey and improve toggling logic (#17840) 2025-05-08 00:56:59 +03:00
zoltanvb 1678e25af0 Extend X11 input driver with XInput2 extensions for multi-mouse
Add multi-mouse support for X11, by using XInput2 extensions. Only
master pointers are considered as mice.

New behavior put behind HAVE_XI2 and configure script extended with
necessary detection.
2025-04-13 12:16:53 +02:00
pstef d6cc1847bf Finish converting to SOCKET type in _WIN32 code
fixes c048a21
2025-04-12 10:45:08 +00:00
pstef 66aa1424f0 Define WIN32_LEAN_AND_MEAN to avoid collision with winsock2 2025-04-12 10:45:08 +00:00
pstef c048a21aa4 Use platform-specific checks for invalid descriptors
Check network fd/socket validity using INVALID_SOCKET on Windows
(requiring conditional winsock2.h include) and < 0 otherwise.
Fixes -Wsign-compare warning.
2025-04-10 21:10:45 +00:00
pstef bcc3ae448f Silence a -Waddress warning 2025-04-10 21:10:45 +00:00
LibretroAdmin 82d8b9630a
Merge pull request #17750 from BinBashBanana/master 2025-04-10 03:35:45 -07:00
pstef d65c17f6b8 Add missing includes
malloc.h for memalign() and unistd.h for usleep().
2025-04-09 20:43:09 +00:00
LibretroAdmin 4bf8855fda
Merge pull request #17754 from zoltanvb/udev_to_linuxraw_fallback
Save fallback to linuxraw driver in case of first boot.
2025-04-09 13:26:34 -07:00
LibretroAdmin c9998dfb32
Merge pull request #17752 from neil4/fix-overlay-mouse-lightgun 2025-04-06 01:53:55 -07:00
pstef b3f1152049 Fix a callback function's type to enable compilation with GCC14 2025-04-06 00:57:34 +00:00
zoltanvb 3bbbeca957 Save fallback to linuxraw driver in case of first boot.
When no devices can be detected and it is the initial boot, make
sure the driver is set to linuxraw, if supported.
2025-04-01 21:55:14 +02:00