1056 Commits

Author SHA1 Message Date
Joe Osborn
d0ca2384c5
Add LOAD_STATE_SLOT N command to stdin/network protocol (#15010)
* Add LOAD_STATE_SLOT N command to stdin/network protocol

* Style fixes

---------

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-02-24 23:04:39 +01:00
libretroadmin
7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
sonninnos
dfef7a5ba3
Don't take rewind steps while menu pause active (#15009) 2023-02-22 19:02:36 +01:00
Hans-Kristian Arntzen
9f7d0c74d5
[Vulkan] Define and implement v2 of context negotiation interface (#14890)
* [Vulkan] Add v2 of context negotiation interface.

* [Vulkan] Add vkEnumerateInstanceVersion symbol.

* [Vulkan] Implement v2 context negotiation

* [libretro] Add GET_HW_CONTEXT_NEGOTIATION_INTERFACE_SUPPORT.

Works around issues in v1 interface where it was not possible to
query what frontend would do when faces with newer interface versions.

This env-call gives stronger guarantees how things have to work.

* [runloop] Implement GET_HW_CONTEXT_NEGOATION_INTERFACE_SUPPORT.

Fairly trivial. Just report the latest version.

* [Vulkan] Add stricted wording around get_application_info in v2.

* [Vulkan] Be more defensive about get_application_info() in v1.
2023-02-04 16:51:50 +01:00
LibretroAdmin
02f0a829ed
Revert "Add support for system subdirs per core/database (#14885)" (#14941)
This reverts commit c3fe980a1df742f6beb148e9b3a04d54137f0eb3.
2023-02-03 04:04:44 +01:00
LibretroAdmin
e7fe79e8ed
Revert "Ignore system subdir replacement if subdir has subdirs (#14887)" (#14940)
This reverts commit f46550bd7ce7347a4edef163390546a351f84d0d.
2023-02-03 04:04: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
456434928b
Use non-rendering pause mode when frameadvance is triggered (#14931) 2023-01-31 04:27:37 +01:00
sonninnos
6378d8e0f8
Override config + appendconfig fixes (#14920) 2023-01-29 00:12:08 +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
sonninnos
f46550bd7c
Ignore system subdir replacement if subdir has subdirs (#14887) 2023-01-22 13:03:10 +01:00
sonninnos
c3fe980a1d
Add support for system subdirs per core/database (#14885) 2023-01-21 19:20:17 +01:00
sonninnos
3b129e6098
State slot hotkey adjustments (#14881) 2023-01-21 13:47:55 +01:00
sonninnos
f421194974
Pause + hotkey + runloop related changes (#14879) 2023-01-21 01:17:47 +01:00
Joe Osborn
17c7e8744e
Don't autoload states if a BSV file is being played back or recorded (#14877)
- Moved BSV initialization before autoload code
- Don't trigger autoload code if there is bsv movie state

Open question: What's the difference between entry state and autoload
state? Should BSV recording use the entry state even if playback does
not?

Co-authored-by: Joseph C. Osborn <jcoa2018@pomona.edu>
2023-01-21 00:15:14 +01:00
libretroadmin
16621f0a0c Remove unused variables 2023-01-20 18:33:53 +01:00
reallibretroadmin
1e88300395 Remove unused variables 2023-01-16 20:32:18 +01:00
sonninnos
127c676048
Cleanup runloop_environment logging + readability (#14855) 2023-01-16 01:49:25 +01:00
sonninnos
2f1a03523b
Hotkey blocking correction (#14831) 2023-01-13 04:56:14 +01:00
libretroadmin
f0c8008bda Split up runahead into its own file(s) - runahead.c/runahead.h -
by Dwedit's request
2023-01-11 10:19:56 +01:00
neil4
7213aada8d
Add Preemptive Frames to Latency Settings (#14832) 2023-01-10 07:22:14 +01:00
libretroadmin
e10361ed52 Header include cleanups for driver.h 2023-01-09 15:28:15 +01:00
libretroadmin
daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
reallibretroadmin
a34598512e (Auto frame delay) silence some warnings that pop up in Xcode 2023-01-09 00:05:21 +01:00
Tatsuya79
f441821297 Start unpause restriction. 2023-01-07 20:08:40 +01:00
libretroadmin
5ac8cc0b6a * Rename retroarch_path_set_redirect to runloop_path_set_redirect
* move more retroarch path functions to runloop.c - because they
are related to the runloop state instead of retroarch state
2023-01-06 21:21:31 +01:00
libretroadmin
5debb7a622 Rewrite runloop_set_frame_limit 2023-01-06 20:59:15 +01:00
gugueU
b6aa95cf16 Update selected save slot when start with cli --entryslot 2023-01-03 19:34:58 +01:00
libretroadmin
27611288c0 Rename retroarch_get_current_savestate_path and retroarch_get_entry_state_path
to runloop_{function_name}
2022-12-29 02:13:31 +01:00
LibretroAdmin
f836328c56
Append Preset (#14737) (#14757)
WIP version of Append and Prepend preset, Includes UI for Standard Retroarch, but not the QT UI companion

Co-authored-by: HyperspaceMadness <remimcgill@hotmail.com>
2022-12-22 21:36:32 +01:00
sonninnos
05c3c0a552
Automatic Frame Delay improvements (#14754) 2022-12-22 18:58:26 +01:00
LibretroAdmin
f5133d8cc4
Revert "Add Xdelta support for softpatching (#14706)" (#14743)
This reverts commit aaad220836c90e398417e20f3afae4ccf479a87e.
2022-12-19 03:29:46 +01:00
Jesse Talavera-Greenberg
aaad220836
Add Xdelta support for softpatching (#14706)
* Add xdelta in deps

* Include <assert.h> in xdelta3.h

- Otherwise the static_assert calls can fail

* Build xdelta3 in Makefile.common

* Add xdelta support to the softpatching infrastructure

- The patching itself isn't fully implemented yet

* Adjust how xdelta3.h checks the sizes of some types

- Now checks max values instead of relying on autotools

* First crack at xdelta softpatching support

- There may be undiscovered edge cases or bugs

* Add xdelta in deps

* Include <assert.h> in xdelta3.h

- Otherwise the static_assert calls can fail

* Build xdelta3 in Makefile.common

* Add xdelta support to the softpatching infrastructure

- The patching itself isn't fully implemented yet

* Adjust how xdelta3.h checks the sizes of some types

- Now checks max values instead of relying on autotools

* First crack at xdelta softpatching support

- There may be undiscovered edge cases or bugs

* Remove trailing commas from the enums I modified

- C89 doesn't allow them

* Remove stray whitespace

* Adjust SIZE macros in xdelta3.h

- Move them outside the XD3_USE_LARGEFILE64 block
- Add more SIZE declarations
- Make SIZEOF_UNSIGNED_LONG_LONG contingent on the presence of ULLONG_MAX

* Add some RARCH_DBG calls for xdelta patching

* Enable support for xdelta's secondary compressors

- Necessary for some patches

* Fix some format specifiers

* Remove unnecessary files from xdelta

* Include xdelta3.h with a relative path

* Add xdelta3 headers to HEADERS variable

* Gate Xdelta support behind HAVE_XDELTA

- HAVE_XDELTA is on by default
- HAVE_PATCH is still required for HAVE_XDELTA to be meaningful
- Support is mostly contingent on the availability of LZMA
- Anything modern should be okay
- Legacy platforms (e.g. DOS) may need to have Xdelta support disabled
- At least until some other solution can be found

* Disable HAVE_XDELTA on platforms where the build recently failed

- These come from looking at the failed builds on GitHub
- These are guesses, and may turn out to be wrong

* Fix a potential memory leak

- Whoops, looks like I need to call two cleanup functions
- xd3_close_stream exists separately from xd3_free_stream

* Split the --help printout for --xdelta into its own strlcat call

- GCC was complaining about #ifdefs within macro arguments being non-portable

* Fix some incorrect printf format specifiers

* Modify Xdelta to adhere to C89

- It's mostly using RetroArch's INLINE macro instead of the inline keyword
2022-12-19 01:10:04 +01:00
sonninnos
88c1e276a3
Restore framelimit on fastforward toggle (#14668) 2022-11-24 16:53:52 +01:00
libretroadmin
f062b74e26 Overlays/Input: Turn a bunch more functions static 2022-11-23 19:54:15 +01:00
libretroadmin
9bbe6992e2 (UI Companion) simplify boolean code by replacing it with flags 2022-11-23 06:14:56 +01:00
sonninnos
9bc7bebf51
More hotkey cleanups (#14657) 2022-11-22 14:45:30 +01:00
LibretroAdmin
b04853faf7
Runahead buildfixes #1 for Switch (#14655) 2022-11-21 20:16:10 +01:00
libretroadmin
8335e347f0 Simplify core_load_game 2022-11-21 19:41:57 +01:00
libretroadmin
065cdc87ac Final buildfixes for runahead 2022-11-21 19:38:15 +01:00
libretroadmin
6b71214ed7 Silence some signed/unsigned mismatch warnings 2022-11-21 19:34:43 +01:00
libretroadmin
0eed1c4853 Buildfixes for targets with no runahead support 2022-11-21 19:26:01 +01:00
libretroadmin
cc3169febe (runloop) Cleanups 2022-11-21 19:11:55 +01:00
libretroadmin
6815383113 * Create runloop_state_free (instead of duplicated code lines in
retroarch.c and runloop.c
* Turn a whole bunch of unctions in runloop.c static as a consequence
2022-11-21 17:45:39 +01:00
sonninnos
10a74657c3
Move SRAM init to content init (#14653) 2022-11-21 15:24:58 +01:00
libretroadmin
0b71407b62 Use flags for state_manager_rewind_state 2022-11-16 15:13:59 +01:00
sonninnos
3b921ffbfa
Fix shader toggle and add hotkey + sublabel (#14628) 2022-11-15 22:14:09 +01:00
libretroadmin
d5a268a2ac * Fix signed/unsigned mismatches
* Fix missing IPAddr on MSVC2017 UWP - use ULONG instead since this is
just a typedef
2022-11-15 00:24:26 +01:00
sonninnos
86669d21e2
Pausing cleanups and corrections (#14618) 2022-11-13 17:22:36 +01:00