This release mostly adds in a lot of missing error checks and adds in gamecard support + support for mismatched regions.
This release would not have been possible without the help of @Sonlen1414 .
Changes:
- Closes #1 (no gamecard support). Thanks to astronautlevel for the bug report and Sonlen for testing my fixes. If a gamecard is found, it is chosen over any local installation.
- Closes #2 (no support for mismatched regions). Thanks to astronautlevel for this bug report. You are now prompted if the program detects multiple regions. If there is only one region, it is autodetected and you are not prompted.
- Closes #4 (no support for missing save files). The program only allows you to choose existing save files. If there is only one save file, it is autodetected and you are not prompted to select a save file.
- Restart functionality! You can at any point now press the L button to restart the entire process. Useful if you selected the wrong save file or region.
- Savedata readouts! After selecting a save file, the program now reads out the current state of the save file and shows it on the bottom left screen.
- Cleaner interface! The main text prompts by the program are now dedicated on the top screen. The bottom screen now contains a list of save data info on the left and a list of your choices made in the program on the right (this include autodetection).
Under the hood changes (you probably don't care about this but for my own memory it's here):
- Loads and loads. Really, I've rewritten about 90% of the program logic except for the ctrulib function calls themselves.
- No more if blocks. The entirety of the state machine is now handled with a
switch
. - Got rid of editprofile.c completely and split it up into various functions inside save.c with lowid selection getting moved to title.c.
- Dedicated failure state that is separate from SUCCES state.