Commit Graph

47 Commits

Author SHA1 Message Date
1a01ba502f Add install badges from zip file 2024-06-03 00:58:07 -04:00
30833995d1 Add spanish translation
Also some minor badge changes

Co-authored-by: Tristanabs <76444200+Tristanabs@users.noreply.github.com>
2024-06-01 22:19:53 -04:00
b0db54e71a TP Badge Browser. Incomplete - see notes
TODO:

- Load icons for browser

- Fix previews (max tex size 512x512 and preview image 512x1024?
2024-05-31 12:05:18 -04:00
4d9cde01c4 Initial badges work
Additional cleanup probably necessary, some more feature work still in progress (zip files)
2024-05-30 15:45:57 -04:00
Alex Taber
a43cbcca74 UX Overhaul (#305)
* Fix bgm checking bug

* Converted install and menu options into button menus rather than combos

* Fix sort order

* Various touch screen changes so that most functions can be done via touch

 * Dim theme list when navigating menus

* Translation framework implemented

* bug when no themes loaded fixed

* Fix theme preview regression introduced in d037691
2024-05-12 14:24:43 -04:00
Théo B
546d459696 Performance Improvements
Pass theme list & its entries around by reference rather than copying them.
Fix bug in async icon loading that caused icons to be loaded multiple times.

Original PR by @LiquidFenrir
2024-05-10 17:43:47 -04:00
cdf30f3bea Throw error on failed parental validation.
Also use CFGU instead of CFG for reading restrictions
2024-05-07 21:46:06 -04:00
c6b6f560be Require PIN for browser if browser access restricted 2024-05-07 21:25:45 -04:00
ecf9dc63ce Disable home button on theme install 2024-04-24 23:25:20 -04:00
6b89496566 Properly handle Unicode file names on download
Closes #303. May still need additional testing
to ensure everything works properly, but preliminary
testing passes.
2024-04-24 14:17:55 -04:00
cooolgamer
67fc17dddf Korean support (#290)
* Update themes.c

Addes KOR in dump themes

* Update fs.c

Added Kor support usable with This patch: https://github.com/ZeroSkill1/CTR-Hacking/tree/master/General-Hacking/Korean%20HOME%20Menu%20Theme%20Patch
2024-02-26 13:05:52 -05:00
Dylan G
7f7fdc010a Fixed faulty FS error when a filename contains a / 2022-05-30 10:43:12 +01:00
LiquidFenrir
4e2bea53c1 add ability to dump all your official themes
icon and name get extracted from the dlc data
requires libctru from commit 5f13628dac75206f0c97d29a7427ce8284d910f1 or older (added the am commands necessary to find the dlc data)
Makefile changed to reflect the macro change in unreleased libctru
2021-12-22 00:00:42 +01:00
Dylan G
18cb5c616f Correctly handle cases where files already exist on the filesystem.
Also: patched a bug wherein the filename filter was acting up, transforming `file.zip` to `file-zip.zip`, for example.
2021-06-17 01:43:50 +01:00
Dylan G
aba2cd5f18 Finally update copyright; Flask meta files removed 2020-12-24 23:38:58 +00:00
36e8104dbb Automatically set BGM flag to enabled when doing a BGM install 2020-06-16 18:45:59 -04:00
6bafa6a22e Add lz decompression code
Also add byte search code
2020-06-15 23:10:30 -04:00
a4532b0f3d Various fixes
Stop loading themes missing smdh files - this was causing scroll crashes due to how the icon loading code was working. In the future we will include a message about how themes are skipped due to lacking smdh files. Invalid zips also caused the same issue and are also now being properly ignored

Fix memory leak in the zip file loading code
2020-06-12 12:02:13 -04:00
Dylan G
ef774ce0b4 Now compiles under GCC 10 (GCC 10 now defaults to -fno-common) 2020-05-31 17:45:05 +01:00
Alex Taber
c40696e982 Citro2d switch (#175)
* Switch from pp2d to citro2d

* Fix various bugs by updating libarchive

* Begin work on translation infrastructure

* Switch to libpng for various improvements

* Fixed race condition in icon scrolling

* Use spritesheets to load sprites marginally faster and use less memory

* Various Readme fixes

* Huge improvements to QR reader speed and screen tearing

* Don't try to preview themes/splashes when there are none

* Prevent playing audio when ndspInit() fails

* Don't wait for audio to load before displaying preview

* Fix bug when shuffle themes didn't have BGM

* Fix bug caused by files not being zeroed out when created
2018-07-22 21:22:23 +03:00
95d8808a73 Copyright Update
* Replaced contributors section in README with CONTRIBUTORS.md
* Updated copyright notice to include all contributors
* Updated SMDH
2018-04-10 16:09:10 -04:00
LiquidFenrir
6c2f09147f Themeplaza caching (#147)
* change fs to use a FS_Path argument for remake_file and buf_to_file

* more debug information when downloading

* browser caching v1: poc, works and is fast but not ideal

* add preview to cache

* this wasnt meant to be added now
2018-04-10 15:12:37 -04:00
LiquidFenrir
cd69aa7ef7 Switch to libarchive and camera autodetect between splashes and themes (#142)
* switch to libarchive and get rid of minizip, introduce zip_memory_to_buf

* automatically detect whether the downloaded zip is a splash or a theme

* slightly simpler way
2018-04-01 22:21:31 +02:00
LiquidFenrir
a2b5788fe8 Themeplaza browser (#140)
* builds at least

* meh, multithreading will come later. or never

* movement added, and correct grid mode

* switching splash/themes when in browser mode

* closer to the actual themeplaza menu

* bring back downloading from qr

* show a download screen when downloading from browser

* fix selecting with touchscreen in browser mode

* update readme for jansson

* fix quitting with start in browser mode

* add jump menu for browser mode

* rotate is broken, add working touchscreen page changing

* allow quitting preview mode with B in browser mode

* proper way to have portlibs

* add searching

* show error when search has no results

* always free entries and icon ids
2018-03-31 20:31:46 -04:00
LiquidFenrir
45349a4ba3 Dynamic icons loading & other improvements (#119)
* icons are black, but it's a start

* after testing, info_buffer in load_smdh_icon is for some reason all 0

* working! same speed as pre-threading (I think)
but the icons lag behind a bit.
Still, should allow for infinite themes

* not needed anymore

* fix icons not being loaded when switching modes

* stop trying to load icons if there arent enough entries

* swapping logic almost there...

* only need to update when on the main screen

* fix blind spot and typo

* allow optimizations maybe?
maybe will break stuff. just revert if it's the case

* fix blind spot when going up after cycling

* add swapping when changing 1 screen at a time (left/right)

* not needed anymore, since icon ids are fixed

* simpler scrolling

* dont reload everything when cycling

* other method for storing ids, maybe better logic later

* fix crash

* attempt at better and clearer algorithm for swapping

* optimization, swapping still broken but this was needed

* fix cycling/using left resulting in reversed icons

* fix icons scrolling in reverse
and fix the bug that introduced (same as switch-case method): scroll not following the selected entry when using left/right

* don't break when using left/right near the top/end

* correctly return from failed realloc during entries load

* move freeing the entries and killing the icon updating thread to exit_function

* fix icons being shifted the wrong value when cycling

* only exit using the shutdown screen method when needed

* show simple loading screen for themes and splashes

* only have the thread when needed
should consume less battery for people with low amount of splashes and themes

* fix instructions showing over the "no X found" screen

* fix instructions showing over confirm text

* fix overlapping and going out of bounds with few entries

* add quitting preview and qr mode with B

* add touchscreen controls

* cleaner BETWEEN macro

* only allow changing screens with touchscreen when arrows are visible

* tabs vs spaces

* fix selecting an entry that's not there using the touchscreen
and allow holding for selecting individual entries (not using the arrows)

* fix crash when deleting all entries and downloading one with QR

* add indicator for already installed themes/splashes
threaded as not to slow down initial loading too much, and imo cool effect as they load

* optimization for theme installed check

* make icon swapping thread higher priority to prevent problems with searching the installed themes/splashes

* add indicator with number of themes and selected theme

* add X to reload icons if it breaks

* add touchscreen controls:
- toggle shuffle
- toggle preview
- reload icons
- switch modes
- enable QR

* more usable thread args

* fix crash when closing the application too close to launch

* add hack to solve the scrolling problem.
Warning: will cause some lag for about 1-2 seconds, so I recommend using the jump menu
this will be removed once the bug is figured out
2017-12-28 15:30:23 -05:00
LiquidFenrir
f261f152c9 fix zip handles not being closed when file is not found
prevented zip themes/splashes with smdh in them to be deleted
2017-12-09 05:55:42 +01:00
LiquidFenrir
d937ae1716 Major rewrite: less repetition (#101)
* first step of rewriting: at least it compiles™

* fix tabs/spaces

* fix dabort on load

* fix preview crash

* sorting isnt done outside of loading

* step one of making remake_file useless

* camera/qr code cleanup

* fix dabort when folder is empty, and bring back preview optimization

* fix button for switching modes and show mode when folder is empty

* fix scanning qrs

* no more splash discrimination

* add debug helpers

* fix theme installing
turns out that wasnt such a good idea

* fix battery icon

* mistake

* themeplaza compatibility

* make use of load_data

* don't drink and copy-paste, kids

* fix user-agent

* remove useless

* cleanup includes

* not even used

* add splash buttons

* upgrade buttons drawing

* fix controls while preview is up

* improve positions
2017-12-02 10:09:38 -05:00
Dylan G
3cfbf3c35b Brought changes over from master/#92
All commits post-this one should be on stable.
2017-10-22 00:59:06 +01:00
337693ca13 Improve no themes interface and create folders on boot 2017-09-09 20:10:36 -04:00
ef456c7e9e Splash previews 2017-09-09 00:12:16 -04:00
62f4356a17 Change splashes to support SMDH and zip files 2017-09-07 10:08:52 -04:00
ZetaDesigns
3e2c5994ca fix dabort when no theme data
themes still wont install like this
2017-09-06 18:33:23 +02:00
saibotu
e46783a3c4 Made buf_to_file always return Result 2017-09-06 15:35:31 +02:00
c4a096249c Fix softlock and make error more descriptive, and fixed preview offset 2017-09-01 11:55:32 -04:00
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
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
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
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
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