Skip to content
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

Add Switch platform #1

Closed
wants to merge 1 commit into from
Closed

Conversation

halotroop2288
Copy link
Contributor

@halotroop2288 halotroop2288 commented Feb 15, 2024

This implements the changes required to build the Nintendo Switch platform, using a submodule maintained by the Homebrodot team.

This fork will keep track of changes needed for Homebrew platforms such as the Switch and Vita.

platform_methods.py Outdated Show resolved Hide resolved
@halotroop2288
Copy link
Contributor Author

Dunno why you cancelled the Windows one but everything else seems to be passing.

.gitmodules Show resolved Hide resolved
@Relintai
Copy link
Owner

Relintai commented Feb 16, 2024

I have slept on this.

Modularity

All Switch specific stuff should reside in it's own platform folder, for lots of reasons, including maintainibility, and modularity. Actually I have been moving away from using the thirdparty directory for years now. Also Nintendo is scary.

Submodules

As I said on discord, I have no intention of using git submodules, I have already got bitten really hard by them. After that I evaluated all alternatives, and eventually I ended up just rolling my own solution. I didn't just do it to show off or something like that. Every alternative turned out to be a pain if you want them to work on multiple platforms (especially if we include all the dependency management stuff, scoop, msys2, brew, containers etc.).

Also since then I realized that a platform like this it extremely nieche, so even having dependency management for it is probably unnecessary.

Also: Even if Nintendo wasn't scary, the engine itself needs to be free of any code of potential issue anyway.

Conclusion

I think it would be unfair to expect these types of changes from you, also I really want to see Broken Seals run on my old switch just for the cool factor, so I think I'll pull an "Uno reverse card meme" on this, and will probably do these and pr the changes to you instead. (After the license is sorted out in the platform's repository. (I already got burned by not paying attention to licensing recently. See: https://github.com/Relintai/smtp_node and 8e5ffcc and then https://github.com/Relintai/pandemonium_engine/commits/master/modules/smtp )))

Also sorry if I come off as annoying and/or nitpicky, but getting architectural things right is the hardest and (in my experience so far) it's the most important thing to get right in modern software development, so I take a lot more care in changes like these.

@Relintai Relintai closed this Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants