Commit Graph

424 Commits

Author SHA1 Message Date
06a5ef5874 core/hid: Add output devices 2021-11-24 20:30:24 -06:00
29ae42f3e2 input_common: Rewrite main and add the new drivers 2021-11-24 20:30:23 -06:00
6d108f0dcb input_common: Remove obsolete files 2021-11-24 20:30:23 -06:00
59b995a9e5 input_common: Rewrite SDL 2021-11-24 20:30:23 -06:00
10241886dd input_common: Rewrite udp client 2021-11-24 20:30:22 -06:00
dc3ab9e110 input_common: Rewrite tas input 2021-11-24 20:30:22 -06:00
395e9a449d input_common: Rewrite gc_adapter 2021-11-24 20:30:22 -06:00
fa8e23b842 input_common: Rewrite touch 2021-11-24 20:30:22 -06:00
00834b84dd input_common: Rewrite mouse 2021-11-24 20:30:22 -06:00
5a785ed794 input_common: Rewrite keyboard 2021-11-24 20:30:22 -06:00
4c6f2c2547 input_common: Move touch and analog from button. Move udp protocol 2021-11-24 20:30:22 -06:00
854c933716 input_common: Create input poller and mapping 2021-11-24 20:30:22 -06:00
ea7b1fbc67 input_common: Create input_engine 2021-11-24 20:30:22 -06:00
33e92c15eb Revert "input_common: Fix data race on GC implementation" 2021-10-23 23:32:16 +02:00
7461196839 Merge pull request #6515 from german77/gc_thread_safe
input_common: Fix data race on GC implementation
2021-10-23 23:28:22 +02:00
b01aa721ff input_common: Fix VS2022 compilation errors 2021-10-20 01:21:59 -04:00
8212a864ca input_common/sdl: Fix joystick range 2021-10-11 01:03:01 -05:00
21ed944ff9 Merge pull request #6979 from german77/joycon_name
input_common: Add alternative string for joycons
2021-10-02 02:58:25 -07:00
73666fb262 general: Update style to clang-format-12 2021-09-24 15:52:05 -04:00
75d8ec1e9f UI: Relocate tas menu and add brief description 2021-09-18 23:23:03 +02:00
33a1d790e8 input_common/tas: Document the main class 2021-09-18 23:22:48 +02:00
e6c4bf52f0 input_common/tas: Add swap controller 2021-09-18 23:22:42 +02:00
9bb6580d89 input_common/tas: overwrite file dialog 2021-09-18 23:22:42 +02:00
f078b15565 input_common/tas: Fallback to simple update 2021-09-18 23:22:30 +02:00
c01a872c8e config: Move TAS options to it's own menu 2021-09-18 23:22:30 +02:00
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.
2021-09-18 23:22:20 +02:00
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>
2021-09-18 23:22:00 +02:00
5798537ce4 input_common: Enable steam controllers and 8 player support 2021-09-10 00:58:12 -05:00
4bc3c788f5 input_common: Add alternative string for joycons 2021-09-06 22:20:19 -05:00
2a2f0bfe9e input_common: Disable sdl raw input mode 2021-08-12 13:17:07 -05:00
48b6d41f1b input_common: Improve SDL joystick and hide toggle option 2021-08-07 23:11:23 -05:00
d4cab35533 input_common: Fix data race on GC implementation 2021-08-07 16:46:26 -05:00
dff438e219 Merge pull request #6654 from german77/custom_threshold
input_common: Make button threshold customizable
2021-07-21 20:31:33 -04:00
29fb110049 Merge pull request #6649 from german77/toggle_sdl
input_common: Support SDL toggle buttons
2021-07-20 20:35:20 -04:00
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.
2021-07-20 04:00:07 -04:00
ffc78ce9c1 Merge pull request #6652 from lat9nq/cmd-vulkan-fixes
yuzu-cmd: Linux Vulkan fixes
2021-07-19 20:54:03 -04:00
14d5202da6 input_common: Fix mouse panning behaivour 2021-07-16 18:57:29 -05:00
f785933125 sdl_impl, emu_window: Remove clang ignore
Fixed upstream by
libsdl-org/SDL@25fc40b0bd
2021-07-16 15:43:12 -04:00
240019feca input_common: Make button threshold customizable 2021-07-15 23:56:57 -05:00
3cd3230295 Merge pull request #6579 from ameerj/float-settings
settings: Eliminate usage of float-point setting values
2021-07-15 18:03:11 -04:00
c7478642a6 input_common: Support SDL toggle buttons 2021-07-15 14:31:58 -05:00
289f59dabd input_common: Fix build with sdl disabled 2021-07-10 20:02:02 -05:00
0ed1077763 configure_input: Use u8 for mouse sensitivity 2021-07-08 23:24:31 -04:00
5edc96f4a4 Merge pull request #6539 from lat9nq/default-setting
general: Move most settings' defaults and labels into their definition
2021-07-08 14:46:31 -04:00
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>
2021-07-08 14:07:10 -04:00
ebb82b0b83 CMakeLists: Treat -Wsign-compare as an error on GCC/Clang
Treats (un)signed comparison mismatches as errors to be consistent with MSVC
2021-07-06 12:50:09 -04:00
bf50345d4c Merge pull request #6537 from Morph1984/warnings
general: Enforce multiple warnings in MSVC
2021-07-05 17:09:23 -07:00
c19ec2edd9 input_common: Add missing modifier callback to analog from button 2021-07-05 11:39:42 -05:00
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
2021-06-28 20:56:17 -04:00
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.
2021-06-28 17:32:17 -04:00