New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ControllerEmu: Make mapping indicators pretty #7662

Merged
merged 8 commits into from Jan 11, 2019

Conversation

5 participants
@jordan-woyak
Copy link
Contributor

jordan-woyak commented Dec 30, 2018

Demonstrations:
Cursor: https://i.imgur.com/JVnSP5m.gif
MixedTriggers: https://i.imgur.com/0I2FcZr.gif
Tilt: https://i.imgur.com/sRkIoJB.gif

Made the "MixedTriggers" mapping indicator styling match that of the analog sticks.
Reordered groups in wiimote extension mapping dialogs for better fits.
Added "Dead Zone" setting to "MixedTriggers".
Made "Tilt" mappings use the new stick reshaping code and eliminated the old mysterious "circle stick" option.
Removed an extra "Threshold" setting from the wiimote hotkeys button group.
Made wiimote "Cursor" mappings use stick reshaping and made the indicator super pretty.
Circular cursor inputs in absolute mode are now usable.
I also made relative cursor mode obey the center/width/height settings.

This fixes issues:
https://bugs.dolphin-emu.org/issues/3937
https://bugs.dolphin-emu.org/issues/7730
https://bugs.dolphin-emu.org/issues/9908
https://bugs.dolphin-emu.org/issues/11019 (partially)

jordan-woyak added some commits Dec 29, 2018

ControllerEmu: Reorganize stick reshaping code and use it for emu wii…
…mote tilt as well. Also make the tilt mapping indicator pretty.
ControllerEmu::Cursor: Add input radius/shape settings to IR Cursor m…
…appings to allow use of round inputs in absolute mode. Make relative input option obey the center/width/height settings. Make the mapping indicator pretty and actually show what the relative/center/w/h settings are doing.
@JMC47

This comment has been minimized.

Copy link
Contributor

JMC47 commented Dec 30, 2018

This is a life changing change that will change lives. Huge quality of life upgrade especially for general use and configuration. Usually when I run into quirks setting up my controller, I just work-around them or use real controllers. Now you can make many more controllers work better.

// If auto-hide time is up or hide button is held:
if (!m_auto_hide_timer || controls[6]->control_ref->State() > BUTTON_THRESHOLD)
{
// TODO: Use NaN or something:

This comment has been minimized.

@BhaaLseN

BhaaLseN Jan 6, 2019

Member

Do you intend to take care of this TODO within the scope of this PR?

This comment has been minimized.

@jordan-woyak

jordan-woyak Jan 6, 2019

Contributor

Nope. :P It's just an ugly magic number that is handled elsewhere.

@JMC47

This comment has been minimized.

Copy link
Contributor

JMC47 commented Jan 9, 2019

Tested Emulated Wii Remotes and for the first time I actually understood what I was configuring with some of the motions instead of just mapping them all to the same button and hoping it made the game do what I wanted. Also looks prettier.

@JMC47 JMC47 added the QA done label Jan 9, 2019

@BhaaLseN
Copy link
Member

BhaaLseN left a comment

Code LGTM, untested.

@MayImilae

This comment has been minimized.

Copy link
Contributor

MayImilae commented Jan 10, 2019

Looks great! Even works on Mac.

@JMC47 JMC47 merged commit 0123382 into dolphin-emu:master Jan 11, 2019

10 checks passed

default Very basic checks passed, handed off to Buildbot.
Details
lint Build succeeded on builder lint
Details
pr-android Build succeeded on builder pr-android
Details
pr-deb-dbg-x64 Build succeeded on builder pr-deb-dbg-x64
Details
pr-deb-x64 Build succeeded on builder pr-deb-x64
Details
pr-freebsd-x64 Build succeeded on builder pr-freebsd-x64
Details
pr-osx-x64 Build succeeded on builder pr-osx-x64
Details
pr-ubu-x64 Build succeeded on builder pr-ubu-x64
Details
pr-win-dbg-x64 Build succeeded on builder pr-win-dbg-x64
Details
pr-win-x64 Build succeeded on builder pr-win-x64
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment