609 Commits

Author SHA1 Message Date
Joe Osborn
4d81f70f00
Replay nomenclature (#15054)
* change bsv file suffix to replay, update strings

* Fix bsv cli args

* Fix help whitespace

* Fix another message

---------

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-03-03 23:16:48 +01:00
libretroadmin
7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
Joe Osborn
155e99b92c
add keyboard recording support to bsv (#14933)
* add keyboard recording support to bsv

BSV movies recorded in older RA *WILL NOT* replay properly after this
patch.  While looking to see if the core actually uses a keyboard
device could mitigate this, it is an unavoidable consequence of using
BSV, a format which carries no metadata whatsoever.

* Fix for loop declarations and some whitespace

---------

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-02-01 00:22:00 +01:00
Joe Osborn
5dbdde4316
BSV ergonomics improvements (#14929)
* BSV ergonomics improvements

- Date stamp toggled recordings instead of overwriting or using save
slot number
- Properly stop movie on playback EOF; also pause emulation
- Add recording flag to match playback flag in bsv state enum
- Rename bsv "movie path" to "movie auto path" to clarify role
- Allow stopping movie playback before EOF using record toggle hotkey
---------

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-01-31 05:34:26 +01:00
sonninnos
a055bcd16b
Do not block input overlay hotkeys (#14923) 2023-01-29 14:52:03 +01:00
Joe Osborn
f149519351
Allow for both -e and -R to start a BSV file recording at a state (#14898)
* Allow for both -e and -R to start a BSV file recording at a state

The key issue is that loading a state takes some time, and the BSV
recording shouldn't start until that's done.

The minimal patch for this would just be a change to runloop.c which
moves movie initialization after entry state loading, throwing in a
task_queue_wait().  This makes for some awkward repeated autoload OSD
messages and doesn't solve the underlying issue.

Most of this change puts BSV recording start/stop into tasks, like
saving and loading are tasks; this was important to centralize BSV
operations a bit more and is the first part of a refactoring towards
more robust input recording.  The necessary wait is introduced in the
begin-recording callback.

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-01-25 07:15:32 +01:00
libretroadmin
a8c43daef6 Addendum - no additional whitespace - already done beforehand 2023-01-22 17:35:49 +01:00
libretroadmin
610194e805 input_config_get_bind_string_hotkey - snprintf concatenation
so we don't repeat the same formatting for every switch case
statement
2023-01-22 17:34:12 +01:00
Joe Osborn
baa14ae213
Fix #14870 (#14871)
* Don't start video recording when BSV recording starts

* Don't double-record inputs in BSV recording

- Will this work properly with the part of input handling outside of
input_state_wrap? Who knows?

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-01-20 18:20:10 +01:00
sonninnos
b8bcce98c3
(WIN32) Restore zero key event characters (#14848) 2023-01-15 09:00:47 +01:00
reallibretroadmin
3b6aef23e1 Silence 'value stored to variable is never read' warning 2023-01-13 16:18:20 +01:00
sonninnos
2f1a03523b
Hotkey blocking correction (#14831) 2023-01-13 04:56:14 +01:00
libretroadmin
daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
reallibretroadmin
adee2dbe72 * Use strlcat instead of strcat
* Silence implicit conversion warnings detected in Xcode
2023-01-07 07:12:25 +01:00
libretroadmin
b59a13771c Move input LUT table to input_driver.h 2023-01-05 19:30:51 +01:00
sonninnos
883e88fa73
Keyboard event blocking corrections (#14728) 2022-12-18 18:36:24 +01:00
sonninnos
5024809c85
Device Index menu refactor (#14691) 2022-12-02 17:47:53 +01:00
LibretroAdmin
c75af6194b
Extended IME and Korean OSK (#14676) 2022-11-29 04:45:55 +01:00
libretroadmin
f062b74e26 Overlays/Input: Turn a bunch more functions static 2022-11-23 19:54:15 +01:00
libretroadmin
0cf1d86a3a (input_driver.c) Turn bunch of functions static that are never accessed outside
* Turn some variable / parameter names like 'joypad_driver_name' into 'joypad_drv_name'
so they are less likely to conflict with symbol names
2022-11-23 19:14:24 +01:00
libretroadmin
aa0ae2cd3e Silence warnings 2022-11-22 18:34:04 +01:00
neil4
3b0db75782
Overlay cleanups; replace bools with flags (#14661) 2022-11-22 18:29:11 +01:00
sonninnos
9bc7bebf51
More hotkey cleanups (#14657) 2022-11-22 14:45:30 +01:00
libretroadmin
1c9d3ad0bf Silence some warnings 2022-11-21 20:56:28 +01:00
libretroadmin
6b71214ed7 Silence some signed/unsigned mismatch warnings 2022-11-21 19:34:43 +01:00
neil4
e71a5ff921
Overlay animation-related fixes (#14651)
- Fix analog drift blocking touch input (could occur on overlay_next if physical inputs shown on overlay)
- Fix overlay_next buttons lighting up in unison
- Skip meta keys in input_overlay_add_inputs (not supported by input_state_internal)
2022-11-21 04:48:34 +01:00
sonninnos
3377fd55ab
Driver + hotkey list reorder (#14646)
* Reorder driver menu and lists

* Reorder hotkey list
2022-11-20 07:26:34 +01:00
neil4
3de186e374
Overlays: Ignore hitboxes with zero area (#14619)
I.e. Set 'reach_x' or 'reach_y' to zero to ensure no hitbox math is done

nits
2022-11-13 10:46:41 +01:00
sonninnos
954d1bf605
Driver independent disconnection notification (#14600) 2022-11-07 05:51:37 -08:00
neil4
217fba48c5
minor overlay-related fixes (#14594)
input_overlay_loaded: Only update menu entries if changed

input_overlay_add_inputs: Set 'updated' for analogs when touched
2022-11-06 17:25:44 +01:00
neil4
b47fb0b807
Overlays: Add 'reach' and 'exclusive' for hitboxes (#14591)
Allows stretching hitboxes and handling their overlap

reach_up, reach_down, reach_left, reach_right:
- Stretches in one direction:
reach_x, reach_y
- Stretches symmetrically

exclusive:
- If true, blocks input from overlapped hitboxes
range_mod_exclusive:
- Similar, but only applies when this hitbox is extended by range_mod
- After range_mod takes effect, has priority over 'exclusive'

E.g. This creates a D-Pad area and extends its hitbox left & right 50%, up 15%, and down 30%. Then applies range_mod_exclusive:
overlay0_desc0 = "dpad_area,0.15,0.57,rect,0.166228,0.295516"
overlay0_desc0_reach_x = 1.5
overlay0_desc0_reach_up = 1.15
overlay0_desc0_reach_down = 1.3
overlay0_desc0_range_mod = 2.0
overlay0_desc0_range_mod_exclusive = true
2022-11-05 21:32:22 +01:00
sonninnos
d4eef18f18
Addition to analog stick menu navigation (#14584) 2022-11-03 20:28:24 +01:00
LibretroAdmin
1263b53dae Silence warning 2022-11-03 00:34:33 +01:00
sonninnos
1aa258faa0
Enable menu navigation also with right analog stick (#14579) 2022-11-02 07:42:36 +01:00
LibretroAdmin
c4d2788c08 Rollback extended character PR - caused too many issues
and caused crashes - contributor can submit a new improved PR -
would also prefer increased readability
2022-11-02 06:23:46 +01:00
neil4
2de52baf74
Overlays: Add eightway area types (#14565)
- New descriptors: 'dpad_area' and 'abxy_area'
- Each has a diagonal sensitivity setting, 100% being 8-way symmetry
- Buttons can be redefined in the cfg file

E.g. This would create a d-pad area, then redefine it to use analog directions:
overlay0_desc0 = "dpad_area,0.85,0.57,rect,0.166228,0.295516"
overlay0_desc0_up = "r_y_minus"
overlay0_desc0_down = "r_y_plus"
overlay0_desc0_left = "r_x_minus"
overlay0_desc0_right = "r_x_plus"
2022-10-30 06:31:27 +01:00
LibretroAdmin
ffd3d195b5 Another C++ comment that had to be converted to C-style comment 2022-10-29 19:18:22 +02:00
LibretroAdmin
8825eea884 Style nits 2022-10-29 19:13:17 +02:00
LibretroAdmin
55daddf286 * Fix C++ comments - turn them into C comments for C files
* Some other additional style nits along the way
2022-10-29 19:05:39 +02:00
Kangmo-Ahn
3a744b7dae
Extended character ime (#14559)
* Update Makefile

* Update win32_common.c

* Update input_driver.c

* Update gfx_thumbnail_path.c
2022-10-29 19:01:30 +02:00
LibretroAdmin
4854643ead (input_driver.c) Small cleanups 2022-10-29 18:52:10 +02:00
LibretroAdmin
22f43a4b75 C89_BUILD buildfix 2022-10-20 04:30:28 +02:00
Dyllan Kobal
6ade32336a Fixed error for UWP 2022-10-19 18:52:21 +02:00
Dyllan Kobal
55ce774527 Fixed the way devices were previously indexed 2022-10-19 18:52:21 +02:00
Keith Bowes
72a076a58d
Fixed compiling with --disable-menu (#14535) 2022-10-19 03:30:52 +02:00
neil4
b98c53ddb7
Improve haptic feedback for input overlays (#14517)
Repurpose vibrate_on_keypress to enable device's standard keypress feedback on overlay key/button state changes

- Add keypress_vibrate function ptr to input_driver_t (only implemented on Android for now)
- (Android) Remove APP_CMD_VIBRATE_KEYPRESS
- (Android) Add doHapticFeedback, called directly to avoid latency
2022-10-16 09:58:09 +02:00
LibretroAdmin
e62abac647 Add BSV movie flags 2022-10-15 14:32:26 +02:00
LibretroAdmin
076a1a398c (Runloop) Turn some boolean variables into flags 2022-10-10 04:37:17 +02:00
LibretroAdmin
d506210fbe
(menu_driver.c) Use flags instead of bools (#14500)
* (menu_driver.c) Use flags instead of bools
2022-10-08 22:52:18 +02:00
LibretroAdmin
fcbd72dbf3
Use flags pt4 (#14497)
* * Use flags for rarch_state
* Get rid of ^M linebreaks in retroarch_types.h

* Buildfixes for consoles

* (audio driver) use flags instead of bools

* (video) Use flags instead of bools

* Rewrite input driver state bools into flags
2022-10-08 10:39:15 +02:00