| Age | Commit message (Collapse) | Author |
|
Ranges Algorithms Modernization - Rewrite
|
|
Ranges Algorithms Modernization - Trivial
|
|
minimum threshold in UI to 1% to prevent user error.
|
|
|
|
|
|
With 12 uses of `JoinStrings` in the codebase vs 36 uses of `fmt::join`, fmtlib's range adapter for string concatenation with delimiters is clearly the preferred option.
|
|
|
|
InputCommon: Fix unnecessary "Modifier/Range" ini file entries.
|
|
|
|
button is pressed.
|
|
|
|
the IR camera objects.
|
|
To avoid duplicating information between Kotlin and C++.
|
|
|
|
Gets this out of the global namespace and into the Common namespace
|
|
Up until now, there have been two settings on Android that stored the
selected Wii Remote extension: the normal one that's also used on PC,
and a SharedPreferences one that's used by the overlay controls to
determine what controls to show. It is possible for these two to end up
out of sync, and my input changes have made that more likely to happen.
To fix this, let's rework how the overlay controller setting works.
We don't want it to encode the currently selected Wii Remote extension.
However, we can't simply get rid of the setting, because for some Wii
games we need the ability to switch between a GameCube controller and a
Wii Remote. What this commit does is give the user the option to select
any of the 4 GameCube controllers and any of the 4 Wii Remotes. (Before,
controllers 2-4 weren't available in the overlay.) Could be useful for
things like the Psycho Mantis fight in Metal Gear Solid. I'm also
switching from SharedPreferences to Dolphin.ini while I'm at it.
|
|
I also changed LoadConfig, but that change doesn't affect correctness,
it's only so it looks neat by matching SaveConfig.
This bug was added in 18a4afb053e8b5f356e22cfc5aec8cc27700710b, the
commit that introduced DefaultValue::Disabled. The bug can't actually be
triggered in master, but it can be triggered in the Android input
overhaul PR.
|
|
This lets the TAS input code use a higher-level interface for
overriding inputs instead of having to fiddle with raw bits.
WiiTASInputWindow in particular was messy with how much
controller code it had to re-implement.
|
|
|
|
|
|
|
|
I don't see why not.
|
|
|
|
WiimoteEmu: Expose IMU pointing accelerometer weight setting.
|
|
InputCommon/ControllerEmu: Use more locks
|
|
|
|
Notches" and "Gate Size" categorized as such.
|
|
|
|
|
|
Loading configs while another thread is messing with stuff just doesn't feel like a good idea
Hopefully fixes Wiimote Scanning Thread crashes on startup
|
|
always applying 50%.
Make "Clear" button reset "Modifier" "Range" settings to 50%.
|
|
|
|
Removed useless locks to DeviceContainer::m_devices_mutex, as they were all already protected by m_devices_population_mutex.
We have no interest in blocking other threads that were potentially reading devices at the same time so this seems fine.
This simplifies the code, and I've adjusted a few comments which mentioned possible deadlock that should now be totally gone.
The deadlock could have happen if a thread directly called EmulatedController::UpdateReferences(), while another another thread also reached EmulatedController::UpdateReferences() within a call to ControllerInterface::UpdateDevices(), as the mentioned function locked both the DeviceContainer::m_devices_mutex and s_get_state_mutex at the same time.
The deadlock was frequent on game emulation startup on Android, due to the UpdateReferences() call in InputConfig::LoadConfig() and the UI thread triggering calls to ControllerInterface::UpdateDevices().
It could also have happened on Desktop if a user pressed "Refresh Devices" manually in the UI while the input config was loading.
Also brought some UpdateReferences() comments and thread safety fixes from https://github.com/dolphin-emu/dolphin/pull/9489
|
|
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
|
|
-add a way to reset their value (from the mappings UI)
-fix "memory leak" where they would never be cleaned,
one would be created every time you wrote a character after a "$"
-fix ability to create variables with an empty string by just writing "$" (+added error for it)
-Add $ operator to the UI operators list, to expose this functionality even more
|
|
clean code
My future PRs will split the UI state from the Emulation State of some of these emulated
controller values and this readies the code for it.
|
|
casting a value to a u32 when it's originally an int, and it's exposed as int to users,
could end up in cases where a negative number would result as a positive one.
This doesn't really affect the value range of the attachment enum,
still I think the code was wrong.
Heavily tested.
|
|
Similar to the guitar, only control[0] was checked, and that felt random.
|
|
Input cleanup
|
|
Works exactly as before by default.
It will be used by my upcoming input PRs.
|
|
NumericSettings support a max, so let's use it.
It might not do much now, but the max and min values will be used to give visual feeback
in the UI in one of my upcoming input PRs
|
|
|
|
The control expression editor allows line breaks, but the serialization was
losing anything after the first line break (/r /n).
Instead of opting to encode them and decode them on serialization
(which I tried but was not safe, as it would lose /n written in the string by users),
I opted to replace them with a space.
|
|
And remove useless include
|
|
fix some related grammar errors
only the ButtonManager required code changes
|
|
to only pitch or only yaw
|
|
only running dynamic input textures once for all controllers
|
|
|
|
[committer note: fixed commit message style]
|
|
|