ac69ceda514ee18277cee6672256f73ce37b2842
* Broke the "prepare" methods up into smaller methods * Removed the usage of linked lists and replaced them with arrays. Given that themes won't be added/removed throughout the execution of the program, we don't need to be able to dynamically add or remove elements to the list. In addition, once you got to ~50 themes, it took about .2 seconds to iterate through the entire list, which, while it may not sound like much, is a huge time sink when you're going through a list. Being able to randomly access any element in the list at the same speed is hugely beneficial. The downside to this is we need to keep track of the number of themes/splashes at all times, and, for splashes, have to do some weird type magic in order to properly iterate over it. However, these negatives are outweighed by the speed improvements.
3DSThemeManager
A Theme Manager for the Nintendo3DS, written in C
Dependencies
This depends on zlib. Get it from portlibs.
License
This project is licensed under the GNU GPLv3. See LICENSE.md for details.
Credits
Thanks to Rinnegatamante, whose code served as reference on theme installation.
Thanks to the folks on #dev of Nintendo Homebrew, who helped with unicode shenanigans.
Thanks to the maintainers for all used libraries, including ctrulib, zlib, and minizip.
Screen code by Joel16 and Steveice10.
Languages
C
97.5%
Makefile
2.5%