This is implemented by listening for event changes from MPRIS2 clients
over D-Bus. Unfortunately there is no good API for this nor a good way
to identify current player as there is on Windows, and as such we have
to track and queue them manually just to get a seemingly good enough
result. This also gives us the issue of needing to guess and manually
prioritise which player to use when we first start, as we cannot
determine when something before us started.
playerctld is preferred to be read on systems that have it available,
however that has the behaviour of setting its status to the most recent
change. Those who use this and have media key scripts use it would
likely be expecting such behaviour though.
(All my editors were eager to fix inconsistent CRLF's in the CMakeLists,
sorry)
* Update README dumping requirements and instructions
Include the option of using a USB storage device for dumping game files in the README.
* Add note to hard drive dumping instructions
Clarify that the instructions for dumping game files directly from the Xbox 360 hard drive differ from those for using a USB storage device by adding a note to the hard drive dumping guide.
* Add dumping guide for USB storage devices
Add a comprehensive guide for dumping the game using a USB storage device instead of a Hard Drive Transfer Cable.
* Apply suggestions from the review
Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
* Implement additional suggestions from the review
- Rename the file to ```DUMPING-USB-en.md```.
- Add Xbox 360 E to the note about incompatible consoles.
- Move the note under the Pre-requisites section.
---------
Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
* Experimenting Button Label
Experimenting a way to add a hint for Button Labels. It should attempt to fix the Nintendo Layout issue when using a Nintendo Switch controller
* Create c-cpp.yml
* Create cmake-multi-platform.yml
* Create apply-patch.yml
* removing the workflows
* added experimental Steam Virtual Gamepad support
* restoring notes for Button Labels.
* Initial Gamepad Hotplug Logic improvements
This changes the way how a Controller will be prioritized. By default: it'll always prioritize based on Player 1. It should play nicely with Steam Deck's internal inputs when Steam Input is active
* Lightbar detection when using multiple PlayStation controllers at the same time.
An attempt to remedy the Lightbar activation. While Player 2/3/4 will override the in-game lightbar event upon connection: it'll later revert back to the in-game event.
* Attempt to reduce Input leaking
To avoid "the Controller is leaking" situation, there's now a Gamepad stat management that should reset Controller state based on connected controller.
* Lightbar active fix when gamepad plugged first prior to game launch
Another attempt to fix the lightbar by redoing the controller state mangement. For some reason: the Lightbar gets disabled when a controller is already plugged prior to game launch. It reverts back to normal until the next game event.
* Revert "restoring notes for Button Labels."
This reverts commit ef4e37cb41.
* Reapply "restoring notes for Button Labels."
This reverts commit f3ddd80024.
* Moving all Gamepad Hotplug changes to separate branch
To ensure all Hotplug-related changes don't accidentally get leftover: this commit will revert all the back back to the accidental removal of Button Label's note.
* added SDL's GameController naming convention as Fallback
If EInputDeviceExplicit doesn't recognize a specific Controller Type or Device: it'll fallback to SDL's naming conventions. This helps troubleshooting Controller-related issues when using the debug console.
* Official device naming scheme for EInputDeviceExplicit
Changes some of EInputDeviceExplicit's names to match the device's official name (such as Nintendo Switch Pro Controller, Xbox Wireless Controller, Amazon Luna Controller, etc.)
* spacing formatting fix
* remove "SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS" hint
since #1045 will include it: we're gonna get rid of it on this code section to avoid conflicts.
* moved EInputDevice Unknown class to the top priority
* Replacing EInputDeviceExplicit with SDL_GameControllerName
Based on @hyperbx's suggestions: It'll look for SDL's Controller Name as opposed to EInputDevice's naming scheme.
* remove hid::GetInputDeviceName() from hid.ccp
Now that SDL_GameControllerName handles Controller naming conventions, the hid.ccp portion of GetInputDeviceName is no longer needed.
* Fix indentation
---------
Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
* Experimenting Button Label
Experimenting a way to add a hint for Button Labels. It should attempt to fix the Nintendo Layout issue when using a Nintendo Switch controller
* added description for Button Labels
* slightly reworded the description
* spaced out the initiation hints
* Add CLI installation check option.
* Show the console for Windows Release builds.
---------
Co-authored-by: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com>
* Fix DLC info message always being displayed
* Use uint32_t for version numbers
* Make AchievementManager follow the same naming convention as PersistentStorageManager
* persistent_data: remove header size field
* Make status success by default or on file not existing
* Japanese localization: Fix some typos and grammatical errors
* Fixed errors described in PR #940 review
* Revert camera movement description in Japanese
* put \u200B
* Update locale.cpp
Changed Japanese installer introduction text.
* Moved line break location and changed "北米" to US
* Reverting US to 北米 and capitalizing the game name
* hook different part of the code to affect Eggmanland too
* Update UnleashedRecomp/patches/misc_patches.cpp
Co-authored-by: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>
---------
Co-authored-by: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>
* Explicitly set working directory to executable directory on boot
* change to GetModuleFileNameW instead
* switch to pre-existing implementations of getting the executable path
* add argument to use current working directory
* use error code variant of current_path
* Fix slider fastIncrement conditions
* Change options menu sliders' fastIncrement logic to use a persistent holdTime variable, rather than the current frame's deltaTime
* Clamp deltaTime to a max value of 1/15f
* Compile fix
* Spacing fix
* Initial work for GPU upload heap & UMA.
* Finish D3D12 Support.
* Rework the logic for the GPU Upload Heap fallback.
* Only enable UMA on Vulkan on integrated GPUs.
* Fix D3D12 fallback condition.
---------
Co-authored-by: Dario <dariosamo@gmail.com>