| Commit message (Collapse) | Author | Files | Lines |
|
|
|
Previously the UDP backend would never actually get shut down.
|
|
Prevents trivial warnings and ensures interfaces are properly
maintained between the base class.
|
|
std::function is allowed to heap allocate if the size of the captures
associated with each lambda exceed a certain threshold. This prevents
potentially unnecessary reallocations from occurring.
|
|
Gets rid of a trivially avoidable atomic reference count increment and
decrement.
|
|
Future-proofs code if boost is ever updated.
|
|
Amends the constructor initializer list to specify the order of its
elements in the same order that initialization would occur.
|
|
|
|
|
|
|
|
|
|
An implementation of the cemuhook motion/touch protocol, this adds the
ability for users to connect several different devices to citra to send
direct motion and touch data to citra.
Co-Authored-By: jroweboy <jroweboy@gmail.com>
|
|
|
|
If this path was ever taken, a runtime exception would occur due to the
lack of a formatting specifier to insert the error code into the format
string.
|
|
Places the documentation comments with the rest of SDLState's member
function documentation.
|
|
Adds another underscore to clearly indicate the axis names.
|
|
Make it explicit that these aren't modified elsewhere (either through
functions by reference, or by other operations).
|
|
Its prototype declared at the top of the translation unit contains the
static qualifier, so the function itself should also contain it to make
it a proper internally linked function.
|
|
It's valid to static_cast a void pointer back into its proper type.
|
|
Same behavior, but without a potential need to unnecessarily default
construct a value.
|
|
The deleter can just be set in the constructor and maintained throughout
the lifetime of the object.
If a contained pointer is null, then the deleter won't execute, so this
is safe to do. We don't need to swap it out with a version of a deleter
that does nothing.
|
|
Silences the final two warnings in SDL code.
|
|
Gets rid of a few unnecessary inclusion dependencies. It also uncovered
a few indirect inclusion dependencies being relied upon.
|
|
|
|
Makes the conversions explicit, as opposed to implicit.
|
|
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.
|
|
|
|
Removes the need to store to separate SRC and HEADER variables, and then
construct the target in most cases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|