Commit Graph

181 Commits

Author SHA1 Message Date
37f0de5756 Stop loading previews without user button press 2017-09-01 00:29:09 -04:00
d5d48228b3 Fix preview loading for Preview.png 2017-08-31 22:28:52 -04:00
aa3f35504f Merge branch 'master' of github.com:3dsfug/Anemone3DS 2017-08-31 22:00:37 -04:00
43b37d2616 Fixed rsf and reboot 2017-08-31 21:57:56 -04:00
LiquidFenrir
70e086b20c adds dynamic preview loading and silence minizip warnings (#11)
* make use of the return value for safety

* get rid of warnings
(sizeof(wchar_t) is the same as sizeof(u32), so no problem there)

* dynamic preview loading
fix crash when too many themes have previews available
2017-08-31 21:57:08 -04:00
LiquidFenrir
ebd2a9d6ae Several improvements (#9)
* fix icon filename

* update pp2d to fix preview problem

* several improvements:
- rely on a single header for simple/common headers
- cleaned up main by putting the interface drawing function in its own file
- load previews from .zip themes (may cause some loading times when launching
- only need 1 shuffle image thanks to pp2d's blending abilities

* not needed anymore

* fix preview color and position

* forgot

* add proper icon loading
thanks steveice10 for bannertool which this was pretty much taken from

* only add proper themes to the list

* add slightly more space between the icon and the name

* not monospace, the little movement every blink is annoying

* fix typo
2017-08-31 07:55:00 -04:00
Alex Taber
86a1d828c8 Clean up format_time (Thanks LiquidFenrir) 2017-08-30 10:06:51 -04:00
c794500363 Add shuffle indicators 2017-08-30 00:17:44 -04:00
e82a0a3882 Adding controls and (some) theme previews, this feature really needs to improve 2017-08-29 23:49:54 -04:00
a74c9d9e9c Add beginning parts of a GUI, update README (again) 2017-08-29 14:44:44 -04:00
3fa0d36e41 Add LICENSE header, update README 2017-08-29 08:15:28 -04:00
28ef88822a Fix BGM on shuffle themes 2017-08-28 23:48:39 -04:00
d8ddfa3bc9 More progress on shuffle theme; now installs properly minus BGM 2017-08-28 12:30:12 -04:00
129eef0f38 Fix Unicode support (thanks @Stary2001) 2017-08-27 23:46:43 -04:00
aa411e7c7b Finish theme scan, add preliminary shuffle install 2017-08-27 22:48:21 -04:00
426e3334bd Wow I'm dumb 2017-08-26 19:31:06 -04:00
87b6bb11d1 Add smdh parsing (errors out for some reason) 2017-08-26 19:24:17 -04:00
2654c1dfa7 Add unicode functions; fix really really dumb bug with theme installation from folder. 2017-08-26 16:40:36 -04:00
ae42b9648c Theme install now works, added fast reboot code 2017-08-26 16:00:10 -04:00
6b61ae9e5f Something changed 2017-08-25 17:01:39 -04:00
5fb9d86b62 Nani the fuck 2017-08-09 08:39:33 -04:00
Alex Taber
d337623bd0 Continue rewrite 2017-08-08 15:22:26 -04:00
Alex Taber
99d9dd1206 More stuff 2017-08-02 15:54:40 -04:00
f83ea1f6c4 Wot 2017-08-02 08:07:58 -04:00
de719f9f01 Delete source 2017-08-01 17:15:40 -04:00
0d59b5deea 99% working. Only issues are: data aborts when installing a theme after viewing a preview, bgm only works when installed as part of a theme shuffle. Single themes are silent 2017-07-28 23:12:22 -04:00
ac69ceda51 Major refactor; see details
* 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.
2017-07-28 17:41:20 -04:00
eb74a8ba02 Add screen.c and stb_image 2017-07-28 16:09:10 -04:00
Alex Taber
416135bac4 Add support for shuffle (#3)
This commit adds support for theme shuffles.

To use, pass the first node for the theme into the install_shuffle method and it'll automatically install based on what's selected. 

Note that right now, *all themes in /Themes/ are selected for debug purposes.* This means if you have more than 10 themes in /Themes/ it will not work right now. This will be changed once an interface for selecting themes is done.
2017-07-24 09:10:44 -04:00
Alex Taber
37aa9022e1 Added splash support (#2)
Combination of quality of life improvements, bugfixes and splash support:

* unzip_file now works with any file, not just a theme

* Made linked list nodes generic so they work for both splashes and themes

* Fixed bug in previous commit with deleting the zip file once it was unzipped

* All zips in /Splashes/ are now extracted, as with /Themes/

* Splashes are all added to the linked list properly

* Splashes can be installed given a path, but only works on Luma. Undecided as to whether or not I'm going to change this.

TODO:

* Automatically change the luma configuration to enable splash screens

* MAYBE add support for other CFWs (if there's an interest). Maybe set a folder to extract splashes to in some kind of user settings?
2017-07-21 20:49:17 -04:00
Alex Taber
217846bca4 Initial basic functionality commit
What this commit adds:
* Ability to apply a theme, given a folder
* Extract all .zip files in /Themes/ into a relevant folder
* Get all theme metadata from info.smdh
* Proper unicode handling

What's still needed for initial release:
* Theme shuffling
* GUI
2017-07-20 17:19:07 -04:00