Commit Graph

4585 Commits

Author SHA1 Message Date
libretroadmin 13c6eb53c9 Some more static code analysis fixes/cleanups 2025-07-22 17:17:20 +02:00
libretroadmin 327621938b Cut down on gotos 2025-07-22 14:16:31 +02:00
libretroadmin eb6f0c8dba Get rid of winraw_scancodes enums 2025-07-20 12:52:12 +02:00
neil4 c89a44b15b
Overlays: Dedicate each touch pointer to hitboxes or pointing devices (#18108)
- A touch pointer controlling the mouse/lightgun/pointer will ignore hitboxes if it slides into any.
- A touch pointer pressing a button will not control the mouse/lightgun/pointer if it slides out of the hitbox.
2025-07-19 20:20:29 +02:00
LibretroAdmin 25546f864a Revert "Move code around"
This reverts commit a018f935d0.
2025-07-18 18:16:27 +02:00
LibretroAdmin a018f935d0 Move code around 2025-07-18 17:24:46 +02:00
LibretroAdmin 57a8a731da More UCRT buildfixes 2025-07-18 16:07:10 +02:00
LibretroAdmin 25edbe17d2 Some UCRT buildfixes 2025-07-18 13:44:56 +02:00
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