Commit graph

447 commits

Author SHA1 Message Date
german77
25521cd948 core/hid: Improve accuary of mouse implementation 2021-11-24 20:30:28 -06:00
german77
dfb63175d1 core/hid: Fully implement native mouse 2021-11-24 20:30:28 -06:00
german77
6032358402 input_common: Allow keyboard to be backwards compatible 2021-11-24 20:30:28 -06:00
german77
ebfe40dec8 core/hid: Improve accuracy of the keyboard implementation 2021-11-24 20:30:28 -06:00
german77
94c972fb36 input_common: Fix motion from 3 axis 2021-11-24 20:30:27 -06:00
german77
a4cdafed54 core/hid: Prevent Emulated controller from flapping with multiple inputs devices 2021-11-24 20:30:27 -06:00
german77
93997b234f core/hid: Fully emulate motion from button 2021-11-24 20:30:27 -06:00
german77
4736326a05 second commit lion review 2021-11-24 20:30:26 -06:00
german77
a8852024b6 settings: Fix Debug controller type options 2021-11-24 20:30:26 -06:00
german77
9f91335a71 kraken: Address comments from review
start lion review
2021-11-24 20:30:26 -06:00
german77
f63c6fce6d input_common: Revert deleted TAS functions 2021-11-24 20:30:26 -06:00
german77
254d133be2 input_common: Fix GC adapter initialization
Fix GC controller
2021-11-24 20:30:26 -06:00
german77
3cd0dd4227 input_common: Fix UDP uuid 2021-11-24 20:30:26 -06:00
german77
124404e756 input_common: Add multiple vibration curves 2021-11-24 20:30:26 -06:00
german77
012691087a core/hid: Rework battery mappings 2021-11-24 20:30:26 -06:00
german77
ae6ba2c8bd input_common: Add manual update options to input devices 2021-11-24 20:30:26 -06:00
german77
d1bac9024d settings: Fix mouse and keyboard mappings 2021-11-24 20:30:25 -06:00
german77
b3f59b4407 kraken: Address comments from review
review fixes
2021-11-24 20:30:25 -06:00
german77
8ea02d19a1 service/hid: Fix gesture input 2021-11-24 20:30:25 -06:00
german77
6774c7988b configuration: Migrate controller settings to emulated controller 2021-11-24 20:30:25 -06:00
german77
6c7814bc9c core/hid: Fix rumble too strong at 1% 2021-11-24 20:30:24 -06:00
german77
00f654cd22 core/hid: Only signal when needed 2021-11-24 20:30:24 -06:00
german77
0292fe0198 kraken: Fix errors from rebase and format files 2021-11-24 20:30:24 -06:00
german77
66cf94709a core/hid: Add output devices 2021-11-24 20:30:24 -06:00
german77
547a1e6dc9 input_common: Rewrite main and add the new drivers 2021-11-24 20:30:23 -06:00
german77
4fc8607f61 input_common: Remove obsolete files 2021-11-24 20:30:23 -06:00
german77
9a108578ed input_common: Rewrite SDL 2021-11-24 20:30:23 -06:00
german77
13413c2290 input_common: Rewrite udp client 2021-11-24 20:30:22 -06:00
german77
ec744b3b04 input_common: Rewrite tas input 2021-11-24 20:30:22 -06:00
german77
78a8ed6290 input_common: Rewrite gc_adapter 2021-11-24 20:30:22 -06:00
german77
86a57fb096 input_common: Rewrite touch 2021-11-24 20:30:22 -06:00
german77
280342cd0a input_common: Rewrite mouse 2021-11-24 20:30:22 -06:00
german77
00d3c058c5 input_common: Rewrite keyboard 2021-11-24 20:30:22 -06:00
german77
1d0e9b62da input_common: Move touch and analog from button. Move udp protocol 2021-11-24 20:30:22 -06:00
german77
783c01771a input_common: Create input poller and mapping 2021-11-24 20:30:22 -06:00
german77
312dd2fb89 input_common: Create input_engine 2021-11-24 20:30:22 -06:00
Fernando S
0b63955efe Revert "input_common: Fix data race on GC implementation" 2021-10-23 23:32:16 +02:00
Fernando S
8eda2922b2 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
ameerj
1dabf6d025 input_common: Fix VS2022 compilation errors 2021-10-20 01:21:59 -04:00
german77
cfa3acd4a5 input_common/sdl: Fix joystick range 2021-10-11 01:03:01 -05:00
bunnei
ceafd4f92c Merge pull request #6979 from german77/joycon_name
input_common: Add alternative string for joycons
2021-10-02 02:58:25 -07:00
ameerj
d7977be416 general: Update style to clang-format-12 2021-09-24 15:52:05 -04:00
german77
1b060a47b2 UI: Relocate tas menu and add brief description 2021-09-18 23:23:03 +02:00
german77
d71f067db8 input_common/tas: Document the main class 2021-09-18 23:22:48 +02:00
german77
d552f84322 input_common/tas: Add swap controller 2021-09-18 23:22:42 +02:00
german77
368c9db4ee input_common/tas: overwrite file dialog 2021-09-18 23:22:42 +02:00
MonsterDruide1
1b67085cda input_common/tas: Fallback to simple update 2021-09-18 23:22:30 +02:00
german77
bba1ab83d6 config: Move TAS options to it's own menu 2021-09-18 23:22:30 +02:00
MonsterDruide1
cce0d58312 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
MonsterDruide1
31068a63a9 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