Commit Graph

687 Commits

Author SHA1 Message Date
Joe Osborn fbf2c70e0d replay format extended to support external tools (#17042)
- replays now start each frame with the number of key events (8 bit
unsigned int, then key events) and the number of input events (16 bit
unsigned int, then the input events)
- this makes it possible to parse replay files without any core
loaded, and makes replays more portable if cores change their polling
strategies
- external tools can now parse replay files
- old (vsn 0) replays will still play back, but new (vsn 1) replays
will not play on old RA
- replay files grow faster now, with each input poll now taking 8
bytes instead of 2
2024-10-04 12:47:34 -07:00
Viačasłaŭ 3019b926c2 Fix typos (#17068) 2024-10-01 17:36:33 -07:00
Joe Osborn abe7d01e74 Report replay frame number for active_replay stdout api (#17039)
This changes the replay movie's frame_ptr (a 20-bit number used to
point to a log of file offsets) into a frame counter, which is masked
against the 20-bit pattern for use in the file offset log but also
functions as a time index into the replay.  Right now that is reported
in `GET_CONFIG_PARAM active_replay` but in the future it could be used
to show how far into the replay we are during playback or how long the
replay is during recording.
2024-09-27 14:37:31 -07:00
zoltanvb 4e063934fd Add option to disable analog stick menu navigation (#16743)
Two new settings added to Settings / Input / Menu Control:
- disable left analog stick in menu navigation
- disable right analog stick in menu navigation

Since the corresponding logic is already a distinct logic flow in
input driver, no change was necessary to analog-to-digital settings
or the like.
2024-09-10 18:13:31 -07:00
libretroadmin e675ea7e29 Variable cleanups - add TODO/FIXME notes for spurious variable sizes 2024-09-09 15:22:08 +02:00
Eric Warmenhoven fdf2faaf59 macOS: Don't include video/input drivers when compiling with SDL2 (#16865) 2024-08-10 17:56:03 -07:00
zoltanvb e5e7e66199 Add sensor function placeholders for all joypad drivers. (#16812)
In some cases, set_sensor_state and get_sensor_input are
more related to the joypad driver, e.g. in desktop platforms
where sensors are associated rather with the joypad.

If input driver supports the sensors, it is still preferred.
Placeholder inserted for all input drivers, no functionality
added yet.
2024-07-24 15:13:16 -07:00
libretroadmin 3c45d78a95 Buildfix 2024-07-20 19:49:31 +02:00
libretroadmin afc9cb509a CXX_BUILDFIX buildfixes 2024-07-20 19:42:45 +02:00
libretroadmin e543aa25ae Silence some warnings 2024-07-20 15:46:26 +02:00
zoltanvb 7db9a2de60 Test input driver and sensor test screen
A new input driver (test_input), similar to test joypad driver.
Takes its inputs from a json file provided in options. Supports
keyboard input and sensor input (accelerometer, gyroscope,
illuminance).

Remote Retropad extended with a sensor test screen.
2024-07-06 13:55:55 -05:00
Joseph C. Osborn 6104a9ad86 change some replay file seeks to seek+truncates in record mode 2024-06-18 13:13:59 -05:00
libretroadmin 54a24dc9d5 input_config_get_bind_string - do proper character
counting now, avoid strlcats, and have functions return
size_t value indicating how many chars were written
2024-06-16 18:07:30 +02:00
libretroadmin 3e2e53ba7f snprintf - if no formatting is required then use strlcpy 2024-06-13 06:48:50 +02:00
zoltanvb 28189a04a4 Analog button and keyboard tester. (#16390)
Added analog button indication for those buttons that may have use for it
- primarily L2/R2, but support was added for all buttons where at least
one controller is known to support it. Added also core option to hide
mismatching inputs where analog value is not sent (like keyboard
hotkeys assigned to retropad buttons). Analog button inputs are not
set up for remote transmission, only for local test.

Analog axes have now also dynamic coloring.

Added a keyboard tester screen which includes a standard 102-key PC
keyboard + extra blocks for all RETROK_ values present in the code.
Screen adapted from DOSBox-Pure onscreen keyboard with permission.
Keyboard button A+B switches between the two screens. Keyboard
inputs are not set up for remote transmission, only for local test.
Core option added to select start screen.

Other small improvements: core reset will take new option values,
input driver applies received values more carefully.
2024-05-04 00:33:25 -07:00
Barry Rowe 26a824caff Revert of AI service changes (#16428) 2024-04-12 16:17:24 -07:00
zoltanvb b27233b3b8 Test input joypad driver (#16370)
* Test driver for joypad inputs

Add a new joypad input driver:
- hide driver behind #ifdef and enable it in config_params.sh
- add a new config parameter to specify the test input file
- add aux files: additional config files that cancel out any binds
  that may be present in RA config, autoconfig profile for
  test joypads, test input file that matches controller test
  sequence

* Fixes and comments for test input driver.
2024-03-18 12:07:36 -07:00
neil4 5306da72ce Minor updates to Overlay Mouse and Lightgun (#16366) 2024-03-17 09:40:50 -07:00
neil4 cc97df732c Add Overlay Mouse, Lightgun, and Pointer (#16343)
- When enabled, any touch inputs not in a hitbox are used to create pointing device input for the core.
- Mouse: 1-, 2-, 3-touch inputs are LMB, RMB, and MMB
- Lightgun: allows input from overlay buttons or multi-touch mappings
2024-03-16 01:56:30 -07:00
Bobby Smith e1cc4fb14d Add a new "Classic (Toggle)" turbo mode (#16239) 2024-02-18 08:24:05 -08:00
sonninnos 6e6a4d8b6d RETROK_UNKNOWN fixes and cleanups (#16250) 2024-02-18 08:23:05 -08:00
sonninnos e8956418a8 Fix input state combos and empty binds (#16233) 2024-02-13 16:16:39 -08:00
Viačasłaŭ Chalikin 997c7453a8 Fix narrator modes (#16179)
* Fix narrator

* Refactor accessibility
2024-02-08 21:14:23 -08:00
Bobby Smith 7c3d07bf6d Tweaks to how the "Analog to Digital Type" setting is saved (#16187) 2024-02-02 12:53:24 -08:00
sonninnos 8ad8b6bdad Input state overflow band-aid (#16168) 2024-01-26 09:44:48 -08:00