- 20 Nov, 2020 4 commits
-
-
LC authored
Modify rumble amplification
-
LC authored
common/bit_cast: Add function matching std::bit_cast without constexpr
-
Rodrigo Locatti authored
maxwell_3d: Move code to separate functions and insert instead of push_back
-
ReinUsesLisp authored
Add a std::bit_cast-like function archiving the same runtime results as the standard function, without compile time support. This allows us to use bit_cast while we wait for compiler support, it can be trivially replaced in the future.
-
- 19 Nov, 2020 4 commits
- 18 Nov, 2020 5 commits
-
-
bunnei authored
Project Mjölnir: Part 3 - Controller Profiles and Vibration Rework
-
Lioncash authored
VirtualBuffer makes use of VirtualAlloc (on Windows) and mmap() (on other platforms). Neither of these ensure that non-trivial objects are properly constructed in the allocated memory. To prevent potential undefined behavior occurring due to that, we can add a static assert to loudly complain about cases where that is done.
-
Lioncash authored
Makes page tables and virtual buffers able to be moved, but not copied, making the interface more flexible. Previously, with the destructor specified, but no move assignment or constructor specified, they wouldn't be implicitly generated.
-
Lioncash authored
Resolves two -Wdocumentation warnings.
-
Lioncash authored
Prevents indirect inclusions for these headers.
-
- 17 Nov, 2020 5 commits
- 16 Nov, 2020 22 commits
-
-
Morph authored
-
Morph authored
-
Morph authored
Upon further investigation, these commands allow temporary vibrations even when the "Controller Vibration" system setting is disabled. As a result, vibrations are allowed when either the system setting or this flag is set to true. Therefore, we can only block vibrations when both flags are set to false.
-
Morph authored
-
Morph authored
-
Morph authored
-
Morph authored
Not all controllers have a SDL_GameController binding. This caused controllers not present in the SDL GameController database to have buttons mapped instead of axes. Furthermore, it was not possible to invert the axes when it could be useful such as emulating a horizontal single joycon or other potential cases. This allows us to invert the axes by reversing the order of mapping (vertical, then horizontal).
-
Morph authored
Co-authored-by: Its-Rei <kupfel@gmail.com>
-
Morph authored
Previously we used a vibration filter that filters out amplitudes close to each other. It turns out there are cases where this results into vibrations that are too inaccurate. Remove this and move the 100Hz vibration filter (Only allowing a maximum of 100 vibrations per second) from sdl_impl to npad when enable_accurate_vibrations is set to false.
-
Morph authored
Some games do not respond to a change in controller type if 1) The controller is not disconnected prior to being reconnected and/or 2) The controller is reconnected instantly after being disconnected. Since it is not possible to change controllers instantly on hardware and requiring a disconnect prior to connecting a new one, we should emulate this as well with a small delay, fixing the aforementioned issue.
-
Morph authored
-
Morph authored
A vibration device is an input device that returns an unsigned byte as status. It represents whether the vibration device supports vibration or not. If the status returns 1, it supports vibration. Otherwise, it does not support vibration.
-
Morph authored
Allows for enabling and modifying vibration and vibration strength per player. Also adds a toggle for enabling/disabling accurate vibrations. Co-authored-by: Its-Rei <kupfel@gmail.com>
-
Morph authored
This will be replaced in favor of per-player vibration strength modifiers.
-
Morph authored
The implementation of these commands seem incomplete and causes rumble in Super Mario Party to stop working since only EndPermitVibrationSession is called. Thus, these are better off being marked as a stub until this can be investigated more thoroughly.
-
Morph authored
This stops all controllers from continuously vibrating when emulation is stopped.
-
Morph authored
- Used in Super Mario Odyssey
-
Morph authored
Sending too many state changes in a short period of time can cause massive performance issues. As a result, we have to use several heuristics to reduce the number of state changes to minimize/eliminate this performance impact while maintaining the quality of these vibrations as much as possible.
-
Morph authored
This allows setting the vibration strength percentage anywhere from 1% to 100%. Also hooks up the remaining motion button and checkbox in the Controller Applet.
-
Morph authored
Fixes vibration in 1-2 Switch and potentially other games where they would vibrate both players' joycons at the same time.
-
Morph authored
This fixes the issue where rumble is only sent to the first controller. Now, individual controllers can receive their own rumble commands.
-
Morph authored
Some parameters need to be doubleword aligned due to the presence of the applet_resource_user_id. Previously, this value was invalid in many commands where it was not doubleword aligned when popped.
-