1. 18 Sep, 2021 7 commits
    • german77's avatar
      config: Move TAS options to it's own menu · c01a872c
      german77 authored
      c01a872c
    • MonsterDruide1's avatar
      core: Hacky TAS syncing & load pausing · 4297d2fe
      MonsterDruide1 authored
      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.
      4297d2fe
    • MonsterDruide1's avatar
      main: TAS Playback state label · 3a7b3723
      MonsterDruide1 authored
      During script playback/recording, the user has to see what happens currently. For that, a new label has been added to the bottom-left corner, always displaying the current state of the TASing system.
      3a7b3723
    • MonsterDruide1's avatar
      settings: File selector & other settings · f25d6ebc
      MonsterDruide1 authored
      First of all, TASing requires a script to play back. The user can select the parent directory at `System -> Filesystem`, next to an option to pause TAS during loads: This requires a "hacky" setup deeper in the code and will be added in the last commit.
      
      Also, Hotkeys are being introduced: CTRL+F5 for playback start/stop, CTRL+F6 for re-reading the script and CTRL+F7 for recording a new script.
      f25d6ebc
    • MonsterDruide1's avatar
      input_common/tas: Base playback & recording system · b42c3ce2
      MonsterDruide1 authored
      
      
      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: default avatarNaii-the-Baf <sfabian200@gmail.com>
      Co-authored-by: default avatarNarr-the-Reg <juangerman-13@hotmail.com>
      b42c3ce2
    • bunnei's avatar
      Merge pull request #7020 from Moonlacer/remove_audio_stretching · 35f46fc0
      bunnei authored
      Remove audio stretching
      35f46fc0
    • bunnei's avatar
      Merge pull request #6950 from german77/multiplay · 6d7801de
      bunnei authored
      input_common: Add advanced setting for 8 player support
      6d7801de
  2. 17 Sep, 2021 2 commits
  3. 16 Sep, 2021 7 commits
  4. 15 Sep, 2021 2 commits
  5. 14 Sep, 2021 5 commits
  6. 13 Sep, 2021 10 commits
  7. 12 Sep, 2021 7 commits