summaryrefslogtreecommitdiffstats
path: root/src/input_common/drivers/tas_input.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-01-07TAS: Show all script lengths for multiplayerMonsterDruide11-1/+1
2022-04-23general: Convert source file copyright comments over to SPDXMorph1-3/+2
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2021-12-13tas_input: Remove unnecessary includesLioncash1-2/+2
Gets rid of indirect includes and includes only what the interface needs.
2021-12-13tas_input: Use u8string_view instead of u8stringLioncash1-1/+1
Same behavior, but without the potential for extra allocations.
2021-12-13tas_input: Amend -Wdocumentation warningsLioncash1-23/+25
Parameters shouldn't have the colon by their name.
2021-12-13tas_input: Make TasAxes enum an enum classLioncash1-0/+5
Prevents these values from potentially clashing with anything in other headers.
2021-12-13input_engine: std::move engine name where applicableLioncash1-3/+3
We can allow the name to be moved into, allowing allocations to be avoided.
2021-11-25kraken: Address comments from reviewgerman771-1/+1
Fix compiler bug
2021-11-25core/hid: Prevent Emulated controller from flapping with multiple inputs devicesgerman771-8/+3
2021-11-25settings: Fix Debug controller type optionsgerman771-1/+0
2021-11-25input_common: Revert deleted TAS functionsgerman771-7/+7
2021-11-25input_common: Rewrite gc_adaptergerman771-90/+53
2021-09-18UI: Relocate tas menu and add brief descriptiongerman771-22/+26
2021-09-18input_common/tas: Document the main classgerman771-0/+108
2021-09-18input_common/tas: Add swap controllergerman771-1/+8
2021-09-18input_common/tas: overwrite file dialoggerman771-3/+3
2021-09-18input_common/tas: Fallback to simple updateMonsterDruide11-50/+9
2021-09-18config: Move TAS options to it's own menugerman771-6/+20
2021-09-18core: Hacky TAS syncing & load pausingMonsterDruide11-38/+20
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-18input_common/tas: Base playback & recording systemMonsterDruide11-0/+163
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>