nds-bootstrap icon indicating copy to clipboard operation
nds-bootstrap copied to clipboard

Move apfix file handling to nds-bootstrap

Open lifehackerhansol opened this issue 2 years ago • 4 comments

Issue template not relevant: enhancement ideas.

Branching off from issue #1437, ideally nds-bootstrap should handle the static apfix files itself, instead of having the frontend manually copy files into its designated location.

My opinion hasn't changed on the fact that the frontend loading nds-bootstrap should do absolutely nothing other than run nds-bootstrap, and tell them which ROM and save it should run. All other detections should be done by the actual binary doing the game-running, so as to be less reliant on the frontend and let nds-bootstrap be a self-contained application.

Another interesting idea is that this would effectively nuke the need for packing all the apfixes into that .pck format, since we can get the same goal of less tiny files scattered on the SD card by just throwing the whole directory into NitroFS. We already know that AP patching is mission critical, so I don't see why it has to have a frontend providing it.

We can probably do the same thing for the widescreen cheats, but that is an optional setting so not relevant for now.

lifehackerhansol avatar Aug 19 '22 05:08 lifehackerhansol

https://github.com/DS-Homebrew/nds-bootstrap/issues/395#issuecomment-416064880

I think a primary concern against this implementation would be the fact that having these files within our repo would target nds-bootstrap explicitly as an app that goes against the TPM clause of the DMCA. For the sake of not having a legal bullet at our head and having these patches overall be more modular for other projects, it would be wiser to have it in a separate repository.

NightScript370 avatar Sep 09 '22 17:09 NightScript370

We can submodule the apfix repository. (Would be nice for widescreen as well).

If we continue with the pack format, we could also have an example C code as to how to access it.

TWiLight may be less of a loss than nds-bootstrap, but that doesn't mean we should bake it in the source code there either.

lifehackerhansol avatar Sep 09 '22 17:09 lifehackerhansol

If we continue with the pack format, we could also have an example C code as to how to access it.

I think it may be better to just put all the .ips files within the NitroFS of nds-bootstrap, even if they're based on a different repo (whether as a submodule or a script that would download it all for us)

To clarify: Only the published binary of nds-bootstrap would have these ap-fix files. Not the base app itself.

TWiLight may be less of a loss than nds-bootstrap, but that doesn't mean we should bake it in the source code there either.

Right, my goal was not to argue against the idea overall that TWiLight needs to get rid of its AP patches files. My goal was to say nds-bootstrap may not be the best place for it either.

NightScript370 avatar Sep 09 '22 17:09 NightScript370

I think in this situation we should consider having a separate repository for it first, and then test run it via TWiLight releases, before we experiment more with the relevant pull request that still doesn't work.

lifehackerhansol avatar Sep 09 '22 17:09 lifehackerhansol

After some thought, I don't think this is the correct way to handle it. ~~totally not because I can't make it work~~

Closing.

lifehackerhansol avatar Apr 09 '23 00:04 lifehackerhansol