ndeadly / MissionControl

Use controllers from other consoles natively on your Nintendo Switch via Bluetooth. No dongles or other external hardware neccessary.
GNU General Public License v2.0
2.4k stars 137 forks source link

[Feature Request]: Remake "Allow all Switch controllers except Joycons to be reported as Official Pro Controllers #535" for 16.0.0 #595

Closed spitzdano closed 1 year ago

spitzdano commented 1 year ago

Feature Description

Hoping to get a rerelease of "Allow all Switch controllers except Joycons to be reported as Official Pro Controllers #535" https://github.com/ndeadly/MissionControl/pull/535 for 16.0.0. A fantastic alternate build.

Rationale

To use N64 and SNES controllers as pro controllers for remapping buttons.

Additional Details

No response

Banz99 commented 1 year ago

Compiled it, but couldn't test it personally as I don't have my Nintendo Switch around. See if it works for you.

MissionControl-0.9.0-forced_pro_controller-a73b453.zip

spitzdano commented 1 year ago

Works great for the N64 controller!

The SNES and SFC controllers are both not functional. They connect but then disconnect immediately though they do show as a pro controller for that brief second. Unfortunately I had only previously tested the N64 controller on 15.0.0 so I don't know if this didn't function before or is something new on 16.0.0

spitzdano commented 1 year ago

Thanks again from compiling this!

shmuga9 commented 10 months ago

Does this need to be updated for 16.1.0? Or does the new Mission Control solve needing a new version each Switch update?

ndeadly commented 10 months ago

Short answer: yes.

Any HOS/atmosphere update that requires Mission Control to be updated, will also require this to be updated. I won't be merging the PR into a release in its current form, but if @Banz99 wants to keep maintaining these unofficial builds I won't stop him.

shmuga9 commented 10 months ago

Darn. I only need it for N64 controller support, but it hasn't been added into the official builds yet.

shmuga9 commented 10 months ago

It doesn't matter right now as this Switch firmware update is minor, but is this something you would add to the main release at some point? What would have to change, out of curiosity?

ndeadly commented 10 months ago

Yes, it's something I've wanted to add for some time. The main issue with the current PR is a design one. It uses bad abstractions requiring unneccesary code duplication and is not generic. A proper solution should allow not just for controllers to act as Pro Controllers, but encompass the broader idea of a controller potentially imitating any official controller (reporting as joycons is a popular request) and should either fit in with the existing classes, or the existing classes refactored to make that possible.

Banz99 commented 10 months ago

Had a moment of spare time, I used it to update the build. Let me know if it works.

MissionControl-0.9.3-forced_pro_controller-d2d5a88.zip

shmuga9 commented 10 months ago

@ndeadly Thanks for the response.

@Banz99 I get an error that I have to delete the Mission Control contents folder in atmosphere (010000000000bd00). Of course when I do then it's not recognized as a pro controller. (Switch, hetake, and atmosphere are all updated to work with 16.1.0). EDIT: I do appreciate you using your spare time. Didn't include thanks at the front in case you ignored the rest.

spitzdano commented 9 months ago

Was just wondering if anyone tried @Banz99 upload? I'd like to upgrade firmware but don't want to lose the functionality of remapping the official N64 controller. If there is confirmation that would fantastic! Thanks.

shmuga9 commented 9 months ago

I tried, but got the error above. Unless there's something else I'm supposed to do to make it work. The last (first?) time I installed Mission Control was months ago, so I don't recall if I needed some workaround.

spitzdano commented 9 months ago

@shmuga9 confirmed. I got the same error about "010000000000bd00" when trying to load the system. It worked in 12.0.3 and confirmed the controller was recognized as a procontroller. As soon as I went to 12.1.0 the error occured. @Banz99 do you think you would be able to take a look?

Banz99 commented 9 months ago

Sorry, completeley forgot about this. I may have just forgotten to update the libraries to the most recent version when I built that version. Try this one and let me know. @spitzdano @shmuga9.

MissionControl-0.9.4-forced_pro_controller-972df5e.zip

shmuga9 commented 9 months ago

@Banz99 Can confirm, it works. Thanks!