Atmosphere-NX / Atmosphere

Atmosphère is a work-in-progress customized firmware for the Nintendo Switch.
GNU General Public License v2.0
14.86k stars 1.24k forks source link

Feature Request: Stub Files with LayeredFS/romFS #1923

Closed JacqylFrost closed 2 years ago

JacqylFrost commented 2 years ago

Feature Request

What feature are you suggesting?

Overview:

Smaller Details:

Nature of Request:

What component do you feel this would best fit within?

Why would this feature be useful?

Ability to modify games by removing files without having to extract and recompile NSP. This would be particularly useful in ported games where undesirable content was added.

Example where this feature is hugely useful: Star Wars: Knights of the Old Republic and its sequel Star Wars: Knights of the Old Republic II are based on PC releases, making them largely compatible with mods of its PC counterpart, but Aspyr included AI-upscaled textures that can cause conflicts with texture mods, and are, admittedly subjectively: quite ugly and bad to look at.

I have made mods that work around this by replacing them with the original textures, but this can still cause conflicts with existing texture mods, and I'd be able to reclaim a lot of space if I could effectively "remove" them from the game by stubbing them out instead.

I have made a version of this mod for Yuzu using its stub feature, and it is much smaller, much simpler, and improves compatibility with mods, I'd like to be able to use this on Atmosphere as well.

I apologize if this is a duplicate, or if the feature already exists. I did search existing open and closed issues and I read through the documentation, but I wasn't able to find anything that seemed relevant.

Please let me know if anything is unclear, missing, or incorrect and I'll update this to the best of my ability. Thank you for taking the time to read this!

SciresM commented 2 years ago

This feature was considered and explicitly rejected several years ago.

Note that you can replace the base romfs image by placing a romfs.bin in the game's content folder.

Also note that atmosphere is not GPLv3 and will never accept GPLv3 code -- GPLv2 compatibility is necessary.

If you're interested in detailed discussion, feel free to join on Discord. I am willing to communicate in detail about this either in DMs (SciresM#0524) or in ReSwitched's #game-modding or #hack-n-all channels.