I'm very puzzled why this specific control scheme seems to be absent from the official Dolphin builds when configuring alternative inputs. So much work has been put into the Emulator to function with both Wii and GC games, and it appears that the emulator did once support Wii Motion Plus nearly 7 entire years ago, so why has motion plus emulation been neglected for so long when ongoing dev builds and general Emulator development has been continued?
Is there just some confusion of how to implement it? All you'd need to do is essentially copy the standard emulated wiimote values into the Plus profile. This attachment does not work in any further myserious way than any other function of wii controller hardware.
I've talked about it before -
https://forums.dolphin-emu.org/Thread-unofficial-rebased-wii-motionplus-build?pid=458585#pid458585
The gist is, the "button press does a motion" approach of the current Wii Remote emulation only works at all because so many Wii games use motions to engage an action; like how Twilight Princess has players swing the wii remote, and when it detects that motion, it does the attack action, effectively turning the motion into a trigger for a button press. But for any game that uses real motion controls, like Wii Sports, our current wii remote emulation is completely awful to even attempt to use with a traditional gamepad, and is nothing like the original experience. But it is worth keeping around since most Wii titles are really lazy about motion controls.
However, Wii Motion Plus titles are games that not only wanted to use full motion, but wanted even more out of it! These games use all 13 axis and 12 buttons
all at the same time to build highly complex motions that are reflected directly on the screen. There are zero "do motion to engage action" Wii Motion Plus titles! So any traditional gamepad emulation is just not going to work - it is going to be awful to set up, awful to use, and so far removed from the original game that you might as well be playing something else entirely. It's not accurate emulation, or even emulation of the original game at all really.
That said, there is potential to emulate Wii Motion Plus via VR controllers. We'll see what OpenXR brings!
(10-17-2018, 12:14 PM)MayImilae Wrote: [ -> ]I've talked about it before - https://forums.dolphin-emu.org/Thread-unofficial-rebased-wii-motionplus-build?pid=458585#pid458585
The gist is, the "button press emulates a gesture" approach only works at all because so many Wii games literally turn motions into button presses, like how Twilight Princess has players swing the wii remote, and when it detects that motion, it "presses the attack button". For any game that uses real motion controls, like Wii Sports, it is completely awful to even attempt to use with a traditional gamepad, and is nothing like the original experience. Wii Motion Plus titles are games that not only wanted to use full motion, but wanted even more out of it. These games use all 13 axis and 12 buttons all at the same time to build highly complex actions that are reflected directly on the screen. There are zero "do gesture to do action" Wii Motion Plus titles! So any traditional gamepad emulation is just not going to work - it is going to be awful to set up, awful to use, and so far removed from the original game that you might as well be playing something else entirely. It's not accurate emulation, or even emulation of the original game at all really.
That said, there is potential to emulate Wii Motion Plus via VR controllers. We'll see what OpenXR brings!
This seems like a misunderstanding of how the logistics of the default Wii Motion functions have been implemented, in terms of IR tracking emulation via a joystick. WiiMotionPlus should be no different than these values. Gesture recognition is a per-game functionality and already caught with standard WiiMote emulation implements already in the emulator. All there needs to be is a radio box tick on the wiimote config window to "use Motion Plus" if not have it built in default given it wont be hindering any games that don't natively support it.
The most amount of work that ought to be done is just passing through the emulator to let MotionPlus games interpret that MotionPlus is present, otherwise already defined emulated wiimote motion configuration values should lay the groundwork for MotionPlus.
If OpenXR ever materializes lol
Did you read any of her post?
She just explained why we haven't done it.
WM+ creates over a dozen new controls to bind and configure. How we've been presenting emulated wiimotes to the user will not work with something like that, and any attempt to stuff it in anyways would only result in an implementation that only works for specific games because every game interprets these controls differently for WM+ and does complex movements that are more than "Swing up" or "shake"
If anybody wants to try to entirely rewrite our emulated Wiimote code and UI to better support this, go for it, but that's a massive undertaking probably bigger than ubershaders in terms of dev hours.
(10-17-2018, 12:24 PM)Helios Wrote: [ -> ]Did you read any of her post?
She just explained why we haven't done it.
WM+ creates over a dozen new controls to bind and configure. How we've been presenting emulated wiimotes to the user will not work with something like that, and any attempt to stuff it in anyways would only result in an implementation that only works for specific games because every game interprets these controls differently for WM+ and does complex movements that are more than "Swing up" or "shake"
If anybody wants to try to entirely rewrite our emulated Wiimote code and UI to better support this, go for it, but that's a massive undertaking probably bigger than ubershaders in terms of dev hours.
Just point me to the github where inputs are handled for the wiimote.
(10-17-2018, 04:16 PM)JosJuice Wrote: [ -> ]If you want the link, here it is: https://github.com/dolphin-emu/dolphin/tree/master/Source/Core/Core/HW/WiimoteEmu
But like the others said, MotionPlus is far more complicated to control than the Wii's usual motion controls, so it would be hard to come up with a satisfying solution that doesn't involve actual motion controls.
When it comes down to it, it can be said that a base implement already handled in tandem with the way IR is setup, for example, wouldn't be very useful for a lot of motionplus games. But also, when it comes down to it, the basic implement of allowing the IR dirextion emulation to be controlled by a joystick or mouse is also "not as ideal" as legitimate hardware in terms of replicating 1:1 experiences. Seems to me this feature was excluded for sake of it not aligning with an expectation bias on how it ideally ought to work, being VR controllers or the like. There should be no reason xInput could be mapped to all the various motion and IR functions of a basic wiimote if that philosophy were really so important. It's an end-user-choice at the end of the day, but they're not getting the choice since they don't have the option.
Thanks for the link, I'll check it out.
There's a big reason why XInput specifically can't be mapped to Motion Plus - XInput has a fixed number of buttons and axis and it's far lower than Motion Plus has. SDL or DInput lift this restriction, but you're still stuck without any controllers with that many inputs.
Rabidon Wrote:There should be no reason xInput could be mapped to all the various motion and IR functions of a basic wiimote if that philosophy were really so important.
MayImilae Wrote:The gist is, the "button press does a motion" approach of the current Wii Remote emulation only works at all because so many Wii games use motions to engage an action; like how Twilight Princess has players swing the wii remote, and when it detects that motion, it does the attack action, effectively turning the motion into a trigger for a button press. But for any game that uses real motion controls, like Wii Sports, our current wii remote emulation is completely awful to even attempt to use with a traditional gamepad, and is nothing like the original experience. But it is worth keeping around since most Wii titles are really lazy about motion controls.
-
Rabidon Wrote:Seems to me this feature was excluded for sake of it not aligning with an expectation bias on how it ideally ought to work, being VR controllers or the like. ... It's an end-user-choice at the end of the day, but they're not getting the choice since they don't have the option.
*sigh* I'm going to be direct. Just because you care about it doesn't mean it's worth developer time. Out of the tens of thousands of users we have, we've only received a few dozen requests for this, at most. Those requesters tend to be reeaaally vocal, but there aren't many of them. Plus, we know the result would be terrible; there have been experiments after all. Combine that with the dev time: Helios already compared the dev time to ubershaders, which took thousands of hours of several developers' time, but helped
literally every single Dolphin user!
So, why would someone volunteer thousands of hours of their time into something when they know the end result would be awful and almost no one would even use it? They wouldn't, and haven't. Hence waiting for better alternatives such as VR controllers, while developing better support for the original hardware (bluetooth passthrough, etc). If you think you can make it work well, and want to volunteer thousands of hours of your time on it, go for it!