-
-
Notifications
You must be signed in to change notification settings - Fork 302
Ultimate profile for Switch/XInput/Gamecube Backends #31
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
Conversation
|
Did you test this through GCC adapter or over USB? Just checking because the coordinates are currently not scaled correctly over USB to Switch, so any mode changes should be tested on adapter. |
|
I only tested this over USB. |
|
@ZeroniaFX I can test this with a gcc adapter, but could you describe the inputs used here and the expected results? E.g. how I should reverse dtilt, etc. |
|
One issue I've noticed so far, is that we cannot crouch on platforms with modX + down |
|
@avahe-kellenberger "MY + DownLeft/DownRight + A" should perform an instant turnaround Dtilt in the chosen direction, even during a dash. Also, I don't believe I modified MX+Down in this pull request. Though if it's supposed to crouch, I can add it. |
|
It may just be a difference I noticed between stock firmware and haybox - I can't seem to be able to crouch on platforms with mod X (and mod Y will just make you fall through platforms, which is fine I guess?) |
|
Now that I think about it, I believe modx and mody should have the same behavior as far as tilting shields and dropping through platforms. I also was testing Toon Link shield walking (with your changes using modX), and he seems to be walking too quickly. It works with modY, however. I made the relevant changes on my branch at avahe-kellenberger@79e6834 if you want to try out those values. Seems to be working well, so far. Will do more extensive testing throughout the week. |
|
I intend MX Horizontal to be the fastest walk for Toon Link/Young Link's passive shield. This was possible with the same input on CL-FW and Arte's firmware. The fastest walk is still achievable trough several methods:
|
|
Also, my GCC to Type C cable arrived. I've been documenting some of the values... and wow, the values are way more different than I expected.
|
|
Because of how different the values are, I am doubting GCC and SwitchBackend can share the same profile currently. ... I'm wondering if the GCC inputs can be scaled to be more like the SwitchBackend.
I believe values 0 to 100 would be easier to work with since they can be used as coordinates on a graph: (Literally a screenshot of the B0XX manual with numbers I drew over it. I've tested it and it seems to work on SwitchBackend ZeroniaFX@93d679b.) |
|
I like it |
|
@ZeroniaFX have you tried removing the hacky 1.25x scaling I put in this commit? 0bd3f7b Probably better to test without that when doing the comparison, so that you're just looking at how exactly the Switch handles the raw values rather than in combination with my weird scaling that I was attempting to compensate for the Switch's scaling with. |
|
Updated the PR with most of my current progress. Everything seems to be working fine on the SwitchBackend. (also, why does just renaming my branch close the PR...) |
|
Updated Ultimate profile to work on Switch/XInput/GamecubeBackends. GCC scaling is not 100% equal to SwitchPro. I retested all the values. The only issue I found is MY+Down does not crouch on platform with GCC. |
|
If the scaling issues are fixed it will probably make PR #26 viable - been trying out native switch support with my R4 and there are definitely weird issues caused by improper scaling |
|
I'm not sure what the current state of this PR is right now, but I'm seeing changes to GamecubeBackend, which should not be the case. That will break all other modes on GamecubeBackend. |
Yeah, I'm not sure how to rescale the GamecubeBackend without messing with the other modes. Changing the analog stick values on the Ultimate.cpp would mess with the coords I intended for SwitchBackend. I could make another Ultimate profile specifically for the GamecubeBackend if the scaling can't be fixed. Also, I managed to run gamepad-tester.com on a modded Switch using switch-remote-play. |
To be clear, I am not merging anything that messes with the scaling of XInputBackend or GamecubeBackend. The only one that needs scaling changes is NintendoSwitchBackend. Ultimate mode should be using values that work on GamecubeBackend primarily, and we can make sure the scaling is right on NintendoSwitchBackend so that Ultimate mode works the same on both backends.
Yeah that would be great, thanks. |
|
Thanks for those data points - they were extremely helpful. I have managed to fit deadzone and scaling functions to get something almost identical to the scaling the Switch applies to GameCube controller inputs. I have pushed these changes to the branch fix/switch_backend_scaling for now. If you could test that to see if anything's still off it would be really appreciated. Might still need to add that offset of 1 if that's an issue. If you could do any testing of diagonals as well that would be very informative, because I'm not sure if the deadzone the Switch applies is square or circular. |
db058bf to
06eaacf
Compare
|
@ZeroniaFX Do the outputs match with GamecubeBackend if you use 256 instead of 255? Or are they at least closer overall? Only other thing I can think to try is going back to deadzone 11, which you can try by changing the number 15 to 11 here. |
|
Superceded by #94, hopefully this resolves all these problems if not feel free to open a new issue |






Fixed reverse UpTilt rightwards. (It used to input Reverse Up Smash if hit fast enough)
Fixed reverse DTilt for both directions. Works consistently now. (It just didn't work before)
MX walking works with Toon Link's passive shield, matching the speed in Arte's firmware.
MY walking is slower (closer to Arte's firmware). Attempting to attack during this will jab, similarly to Arte's firmware.