* Pad: Get rid of redundant object lookup
* Pad: Serialize 'stage' state
[SAVEVERSION+]
* Pad: Reduce Freeze duplication and add markers
Catch any possible unhandled device type change.
[SAVEVERSION+]
* Pad: Localize controller type names
* Pad: Handle mismatch between state and current config
* Misc: Drop .at() from vector/array access
We don't use exceptions.
* Pad: Remove redundant GetUnifiedSlot()
Sio has routines for converting these.
* Sio2: Remove redundant optional in Pad()
* Pad: Constify and finalize controller classes
* Pad: Move PadManager to Pad namespace
No point having a class when there's only a single instance.
* Pad: Move PadConfig to Pad namespace
* Pad: Move PadMacros to Pad namespace
* Pad: Re-localize controller bindings/settings
* Pad: Make controller info local
Don't want to create duplicates.
* Pad: Use span for ControllerInfo settings/bindings
* Pad: Fix auto-toggled macro buttons
* Pad: Fix pressure for macros
* Pad: Merge PadConfig/PadManager/PadMacros
Faster compile time.
* Pad: Fix incorrect condition in Sio0::SetTxData()
* Pad: Add deadzone for macro triggers
Force pushed because git hates me
[SAVEVERSION+] Bump savestate version
CI: Update locations of pad/memcard sources
Discard leftover old PAD code
Fix additional merge oddities
Add translations for OSD messages
Copyright headers
Version bump
Fix a whole boatload of concurrency problems from file moves and other miscellaneous update problems
Partial redo of PS1 pad support
Fix incorrect mode due to analog behavior at startup
Mostly reimplement SIO0 memory card logic
Still needs pocketstation
Use new runtime wrapped translate function
Dead code
Fix multiple port/slot/presence issues for PS1
Save State version bump
Clean up some duplicate/unused headers
More header consistency
Remove old stray files
Fix incorrect return
Fix uninitialized array
Add missing overrides
Switch to init/close model used by other subsystems
Remove old input recording references
Rename SIO globals
Rename SIO2 FIFO globals
Remove commented SIO0 code for illegal write
Add guitar icon
recording: Factor in DPIScaling when scaling VirtualPad window
recording: Add a reset button, hopefully better quality backgrounds for lower resolutions
recording: Improved VPad analog alignment
Co-authored-by: sonicfind
recording: Some final VirtualPad coordinate adjustments
* recording: Only stop the current recording once the menuing hasnt been cancelled
* recording: Avoid changing menu option's state if the recording couldn't be played
* recording: Don't play a recording that uses a savestate, if no game is running
* recording: Don't modify `frameAdvance` flag when explicitly [un]pausing
These functions are only called when creating/playing a recording, and modifying the frameAdvance flag leads to unexpected behaviour (such as the game starting paused if the recording was made from "power-on")
* recording: Refactor and simplify `InputRecordingFile`
InputRecordingFile will no longer be concerned with loading the save-state when playing back an existing recording. This makes it much easier to only load the save-state if the file is valid and manipulate the emulation state correctly.
* recording: Update play logic with new refactor, resume emulation in the event of a failure
* recording/lint: spaces to tabs
* recording: Properly only examine controller 1A & 2A
The previous controller port checks in place never actually succeeded in their designated task. A new slot check in sio.cpp will perform this task instead.
* recording: Save the savestate in OpenNew() instead of open()
Ensures that the savesate could be saved before trying to create the actual input recording file. It will overwrite any previous backup savestate.
Also, allows for a simplified & easier to read code struture of open().
* Refactor and simplify `InputRecording`
Changes the return type of Play/Create from void to bool.
Optimizes Stop(), Pause(), and Unpause() call placements
Improved handling of emulation pause state, the recording menu on failures, and the conditioning of when a recording file should actually be unloaded.
For example, a currently loaded recording should not get unloaded if a user presses Play *but* chooses cancel in the file browser. However, the emulation should be paused during the duration of this action.
On the flipside, a loaded recording *should* get unloaded if the tools get disabled in settings AND emulation should resume if not already playing.
* recording: Simplify VirtualPad_Open_Click
Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
VS complains about errors so isolate the code in each file for TAS with macros.
Remove ifndef for m_capturingVideo as it is used for video capture menu.