| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Since C++17, the introduction of deduction guides for locking facilities
means that we no longer need to hardcode the mutex type into the locks
themselves, making it easier to switch mutex types, should it ever be
necessary in the future.
|
|
|
|
|
| |
In both cases, we weren't actually returning anything, which is
undefined behavior.
|
|
|
|
| |
Just makes the definitions a little bit more tidy.
|
|
|
|
|
| |
We don't need to universally capture by reference. We specifically just
need to capture the this pointer.
|
|
|
|
| |
Specifying the time unit itself is sufficient here.
|
| |
|
| |
|
|
|
|
| |
Any SDL invocation can call the even callback on the same thread, which can call GetSDLJoystickBySDLID and eventually cause double lock on joystick_map_mutex. To avoid this, lock guard should be placed as closer as possible to the object accessing code, so that any SDL invocation is with the mutex unlocked
|
|
|
|
|
|
|
|
|
| |
Changes the interface as well to remove any unique methods that
frontends needed to call such as StartJoystickEventHandler by
conditionally starting the polling thread only if the frontend hasn't
started it already. Additionally, moves all global state into a single
SDLState class in order to guarantee that the destructors are called in
the proper order
|
|
|
|
|
| |
This should make reviewing much easier as you can then see what changed
happened between the old file and the new one
|
|
|
|
|
| |
These types are within the common library, so they should be within the
Common namespace.
|
|
|
|
|
| |
These types are within the common library, so they should be using the
Common namespace.
|
|
|
|
|
| |
Quaternion is within the common library, so it should be using the
Common namespace.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Joystick hotplug support (#4141)
* use SDL_PollEvent instead of SDL_JoystickUpdate
Register hot plugged controller by GUID if they were configured in a previous session
* Move SDL_PollEvent into its own thread
* Don't store SDLJoystick pointer in Input Device; Get pointer on each GetStatus call
* Fix that joystick_list gets cleared after SDL_Quit
* Add VirtualJoystick for InputDevices thats never nullptr
* fixup! Add VirtualJoystick for InputDevices thats never nullptr
* fixup! fixup! Add VirtualJoystick for InputDevices thats never nullptr
* Remove SDL_GameController, make SDL_Joystick* unique_ptr
* fixup! Remove SDL_GameController, make SDL_Joystick* unique_ptr
* Adressed feedback; fixed handling of same guid reconnects
* fixup! Adressed feedback; fixed handling of same guid reconnects
* merge the two joystick_lists into one
* make SDLJoystick a member of VirtualJoystick
* fixup! make SDLJoystick a member of VirtualJoystick
* fixup! make SDLJoystick a member of VirtualJoystick
* fixup! fixup! make SDLJoystick a member of VirtualJoystick
* SDLJoystick: Addressed review comments
* Address one missed review comment
|
|
|
|
| |
Avoids unnecessary atomic reference count increments and decrements
|
| |
|
| |
|
| |
|
|
|
|
|
| |
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
|
| |
|
|\
| |
| | |
CMakeLists: Derive the source directory grouping from targets themselves
|
| |
| |
| |
| |
| | |
Removes the need to store to separate SRC and HEADER variables, and then
construct the target in most cases.
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
Refactor MotionEmu into a InputDevice
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.
Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
|
| |
|
|
|
|
| |
credit to @Hawkheart for the original idea
|
| |
|
| |
|
|
|