d0k3 / GodMode9

GodMode9 Explorer - A full access file browser for the Nintendo 3DS console :godmode:
GNU General Public License v3.0
2.07k stars 192 forks source link

[FEATURE REQUEST] Update GM9megascript Dump Citra for Lime3DS #858

Open RobokingsCosmos opened 1 month ago

RobokingsCosmos commented 1 month ago

Got a great idea on how to improve GodMode9? Update the GM9megascript to dump all the files from the system

Describe the feature you'd like Dumps the entire NAND, this includes system titles, their tickets and system tickets Lets you choose between stock or homebrewed for Lime3DS

Describe alternatives you've considered This is just an idea so that Lime3DS can get rid of the download system files option

Gruetzig commented 1 month ago

There is already a feature to dump the entire system NAND. A modern NAND dump will include the essential.exefs with its system uniques, which allows the extreaction of the CTRNAND partition from the backup, and from there you can get all the system titles and tickets. So technically, the emulator doesn't need a script for that, just an option to specify a NAND dump. I have done this before with pyctr(python module), but I assume work would be required to get this running in a C++ enviroment.

If Lime3DS doesn't want to do this(which I would understand, its an unnecessary amount of work for a tiny feature), I would recommend a seperate .gm9 script for this feature. That way, it can be maintained by the Lime3DS developers easier and you don't rely on GodMode9 releases. An example for this would be cleaninty, which includes a seperate script to dump the system files it requires to work.

Also, a feature request like this as an issue issue I find to be useless, as the maintainers will likely not implement a feature like this themselves, without any additional information (and even with, unlikely).

(if you really want to see this in the megascript, id suggest you implement it in lime3ds first, create a seperate script to dump files, create a pr to include the things the custom script does in the megascript, in that order)