Commit Graph

311 Commits (f7e0a377536cc7e84c81173bd54ac2a45b39addf)

Author SHA1 Message Date
Fernando S 33e92c15eb
Revert "input_common: Fix data race on GC implementation" 5 years ago
Fernando S 7461196839
Merge pull request #6515 from german77/gc_thread_safe
input_common: Fix data race on GC implementation
5 years ago
ameerj b01aa721ff input_common: Fix VS2022 compilation errors 5 years ago
german77 8212a864ca input_common/sdl: Fix joystick range 5 years ago
bunnei 21ed944ff9
Merge pull request #6979 from german77/joycon_name
input_common: Add alternative string for joycons
5 years ago
ameerj 73666fb262 general: Update style to clang-format-12 5 years ago
german77 75d8ec1e9f UI: Relocate tas menu and add brief description 5 years ago
german77 33a1d790e8 input_common/tas: Document the main class 5 years ago
german77 e6c4bf52f0 input_common/tas: Add swap controller 5 years ago
german77 9bb6580d89 input_common/tas: overwrite file dialog 5 years ago
MonsterDruide1 f078b15565 input_common/tas: Fallback to simple update 5 years ago
german77 c01a872c8e config: Move TAS options to it's own menu 5 years ago
MonsterDruide1 4297d2fea2 core: Hacky TAS syncing & load pausing
To keep the TAS inputs synced to the game speed even through lag spikes and loading zones, deeper access is required.

First, the `TAS::UpdateThread` has to be executed exactly once per frame. This is done by connecting it to the service method the game calls to pass parameters to the GPU: `Service::VI::QueueBuffer`.

Second, the loading time of new subareas and/or kingdoms (SMO) can vary. To counteract that, the `CPU_BOOST_MODE` can be detected: In the `APM`-interface, the call to enabling/disabling the boost mode can be caught and forwarded to the TASing system, which can pause the script execution if neccessary and enabled in the settings.
5 years ago
MonsterDruide1 b42c3ce21d input_common/tas: Base playback & recording system
The base playback system supports up to 8 controllers (specified by `PLAYER_NUMBER` in `tas_input.h`), which all change their inputs simulataneously when `TAS::UpdateThread` is called.

The recording system uses the controller debugger to read the state of the first controller and forwards that data to the TASing system for recording. Currently, this process sadly is not frame-perfect and pixel-accurate.

Co-authored-by: Naii-the-Baf <sfabian200@gmail.com>
Co-authored-by: Narr-the-Reg <juangerman-13@hotmail.com>
5 years ago
german77 5798537ce4 input_common: Enable steam controllers and 8 player support 5 years ago
german77 4bc3c788f5 input_common: Add alternative string for joycons 5 years ago
german77 2a2f0bfe9e input_common: Disable sdl raw input mode 5 years ago
german77 48b6d41f1b input_common: Improve SDL joystick and hide toggle option 5 years ago
Rodrigo Locatti d4cab35533 input_common: Fix data race on GC implementation 5 years ago
bunnei dff438e219
Merge pull request #6654 from german77/custom_threshold
input_common: Make button threshold customizable
5 years ago
bunnei 29fb110049
Merge pull request #6649 from german77/toggle_sdl
input_common: Support SDL toggle buttons
5 years ago
Nicolas Jallamion 6573ff64b4
input/sdl_impl: fix rumble support on DualSense. (#6683)
- value return can be different 0, is not error is normal, error is only -1.
5 years ago
bunnei ffc78ce9c1
Merge pull request #6652 from lat9nq/cmd-vulkan-fixes
yuzu-cmd: Linux Vulkan fixes
5 years ago
german77 14d5202da6 input_common: Fix mouse panning behaivour 5 years ago
lat9nq f785933125 sdl_impl, emu_window: Remove clang ignore
Fixed upstream by
libsdl-org/SDL@25fc40b0bd
5 years ago
german77 240019feca input_common: Make button threshold customizable 5 years ago
bunnei 3cd3230295
Merge pull request #6579 from ameerj/float-settings
settings: Eliminate usage of float-point setting values
5 years ago
german77 c7478642a6 input_common: Support SDL toggle buttons 5 years ago
german77 289f59dabd input_common: Fix build with sdl disabled 5 years ago
ameerj 0ed1077763 configure_input: Use u8 for mouse sensitivity 5 years ago
Ameer J 5edc96f4a4
Merge pull request #6539 from lat9nq/default-setting
general: Move most settings' defaults and labels into their definition
5 years ago
lat9nq a949ee0410 general: Code formatting improvements
Slight improvements to readability.

Dropped suggestions for string_view (settings.h:101), pass by value
(settings.h:82), reverting double to a float (config.cpp:316), and other
smaller ones, some out of scope.

Addresses review feedback.

Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
5 years ago
Morph ebb82b0b83 CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
5 years ago
bunnei bf50345d4c
Merge pull request #6537 from Morph1984/warnings
general: Enforce multiple warnings in MSVC
5 years ago
german77 c19ec2edd9 input_common: Add missing modifier callback to analog from button 5 years ago
lat9nq 0e5c74bc9e core, input_common: Miscellaneous fixes
bcat: Fix settings access

telemetry_session: Fix settings accesses

So this is what I get for testing with the web service disabled.

touch_from_button: Fix settings access for clang
5 years ago
lat9nq b91b76df4f general: Make most settings a BasicSetting
Creates a new BasicSettings class in common/settings, and forces setting
a default and label for each setting that uses it in common/settings.
Moves defaults and labels from both frontends into common settings.
Creates a helper function in each frontend to facillitate reading the
settings now with the new default and label properties.

Settings::Setting is also now a subclass of Settings::BasicSetting. Also
adds documentation for both Setting and BasicSetting.
5 years ago
Morph 954259312e input_common: Remove #pragma warning directives for external headers 5 years ago
Morph 58550cfcdc input_common: Enforce C4242 5 years ago
Chloe f216a9432b
Add missing includes (#6521)
* Add missing includes

* Add array
5 years ago
Rodrigo Locatti 0a39163a90 input_common/mouse_input: Fix data race
Fix data race using std::jthread and std::stop_token.
5 years ago
bunnei c1b8e59ea0
Merge pull request #6407 from lat9nq/fix-libusb-2
cmake: Use autotools for libusb linking generally on GNU, and cleanup
5 years ago
bunnei 1d1f616063
Merge pull request #6389 from german77/Analog_button_fix
input_common: Analog button, use time based position
5 years ago
lat9nq ddc47e6df8 cmake: General improvements to libusb linking
Delegates libusb external communication to externals/CMakeLists.txt
Ensures an interface library `usb` for every pathway
input_common just links to the `usb` library now
externals/libusb/CMakeLists.txt sets variables to override SDL2's libusb
finding
Other minor cleanup
5 years ago
bunnei 348ca07e0d
Merge pull request #6318 from german77/dualJoycon
input_common: Add dual joycon support
5 years ago
german77 a323bc5af8 input_common: Analog button, use time based position instead of frequent updates 5 years ago
bunnei aee3b57c44
Merge pull request #6312 from german77/analogMapping
input_common: Rewrite sdl analog mapping and fix controller disconnection crash
5 years ago
german77 ea4b7226a6 input_common: Add dual joycon support 5 years ago
bunnei 41b1f8d616
Merge pull request #6310 from german77/nanMotion
input_common: Sanitize motion data
5 years ago
german77 f20f4587e6 input_common: Implement SDL motion 5 years ago