Commit Graph

158 Commits

Author SHA1 Message Date
shadow2560
fd1d461ea8 Fix update when homebrew nro is not /switch/sphaira/sphaira.nro. (#64)
Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>
2025-01-12 23:11:56 +00:00
ITotalJustice
2e14e4b09b Merge pull request #82 from ITotalJustice/theme_v2
Theme v2
2025-01-12 22:51:27 +00:00
ITotalJustice
fb7b37736b Merge branch 'master' into theme_v2 2025-01-12 22:48:38 +00:00
ITotalJustice
12e5069168 Merge remote-tracking branch 'refs/remotes/origin/theme_v2' into theme_v2 2025-01-12 22:48:02 +00:00
Ny'hrarr
b81bc51b1c Update pt.json (#86) 2025-01-12 22:22:57 +00:00
ITotalJustice
e3f846c9ec Change a few colors of the theme. (#87)
Co-authored-by: Yorunokyujitsu <Yorunokyujitsu@gmail.com>
2025-01-12 22:21:54 +00:00
ITotalJustice
7d5876d881 add bubbles
not used yet
2025-01-12 19:16:55 +00:00
BIGBIGSUI
990948b912 Update zh.json (#85)
This updates the zh.json for the project. I carefully reviewed the text to ensure it aligns with the intent of the original content. I hope this contribution will be helpful and appreciated.
2025-01-12 19:10:37 +00:00
ITotalJustice
91a08d36b4 tweek popup_list height to match qlaunch, change white/abyss scrollbar colour, fix menu using text instead of line colours 2025-01-09 19:34:16 +00:00
ITotalJustice
abc7a0799d Merge branch 'master' into theme_v2 2025-01-09 16:19:26 +00:00
LNLenost
ab973a3f99 Upated Italian Translations (#80)
* Update it.json
2025-01-09 16:17:37 +00:00
Funz-001
d0179b8719 Create vi.json (#79)
add vietnamese
2025-01-09 16:16:45 +00:00
ITotalJustice
78ecdc014b add Vietnamese language support
needed for #79 and #81
2025-01-09 16:15:57 +00:00
ITotalJustice
0751fa9a2e optimise theme inherit, load default_music.bfstm if available. 2025-01-09 15:55:46 +00:00
ITotalJustice
f05230e870 initial work on theme v2
see #78
2025-01-09 15:03:51 +00:00
ITotalJustice
9915307be0 fix themezer crash due to accessing list before creating it 2025-01-07 04:10:43 +00:00
ITotalJustice
62183f4524 remove old index_offset code, fix popup_list initial index being offscreen 2025-01-07 02:45:42 +00:00
ITotalJustice
ca1b31329d prompt user to restart sphaira upon language change 2025-01-07 02:38:27 +00:00
ITotalJustice
3a3b8008a1 add theme inheritance, fix broken theme when no longer installed
fixes #74
2025-01-07 01:20:54 +00:00
ITotalJustice
e9f0d2349c add back pulsing select box
this was commented out during testing, i forgot to undo said change before pushing the change
2025-01-06 22:53:22 +00:00
Miguel Alexandre Uhlein
26f195b54f update pt.json (#75) 2025-01-06 22:50:10 +00:00
ITotalJustice
aa48c1696d bump libpulsar version, improves read speed.
this was needed to support large background music files.
2025-01-06 22:49:09 +00:00
Yorunokyujitsu
e526f376fe Add new string to all lang.json (#72)
* Add new string to all lang.json

Add new string to all lang.json
Update Korean, Japanese translation.

* Updates Swedish and French translations.

Swedish - https://github.com/ITotalJustice/sphaira/pull/71
French - https://github.com/ITotalJustice/sphaira/pull/72#issuecomment-2568976996

* Update languages.json
2025-01-06 22:39:16 +00:00
ITotalJustice
78bda75985 add touch support (#77)
* initial work on touch support

* add touch support to all objects

* add touch scrolling, fix scrollbar, fix appstore search

- when fireing an action, the action array may change. so the loop should break early as soon as an action is handled.
  this fixes the appstore search when pressing B.
- scrollbar no longer goes oob. fixes #76

currently, scrolling has no acceleration.
2025-01-06 22:37:38 +00:00
ITotalJustice
cf95128f0b allow for github actions to run on all branches 2025-01-01 17:50:08 +00:00
ITotalJustice
6dbf48d73c fix badly formatted string for i18n
fixes #68
2025-01-01 17:42:07 +00:00
ITotalJustice
1614c8e2e4 remove debug code in homebrew menu 2025-01-01 17:38:07 +00:00
ITotalJustice
cdebcad4fe correctly path npdm kc flags on ams 1.7.1 or greater
fixes #67
2025-01-01 17:34:54 +00:00
ITotalJustice
54c63d6f3b add support for mounting different fs.
currently, this feature isn't very useful as you cannot copy/move files across different fs.
2024-12-31 23:58:49 +00:00
ITotalJustice
d840a8ddba re-do how protected files work, by default everything is writeable, aside from fs.
the design in now opt-out rather than opt-in.

for fs, it is still opt-in. this is because the risk of a user deciding to delete a file / folder in the filebrowser menu.
this can now be toggled in the the advanced options menu within filebrowser.
2024-12-31 22:52:45 +00:00
ITotalJustice
c3b31d0fdd initial work on support custom fs mount points 2024-12-31 22:23:50 +00:00
ITotalJustice
dd1a6eb25b initial work on patching npdm debug flags, stubbed for now
stubbed as bit(19) doesn't seem to do what i thought it would.

fixes #67
2024-12-31 22:05:04 +00:00
ITotalJustice
271fab66f5 add option to restore hbmenu when disabling "Replace hbmenu on exit".
fixes #66
2024-12-31 18:13:30 +00:00
Yorunokyujitsu
87642e914e Update korean, japanese language. (#65) 2024-12-31 10:17:22 +00:00
ITotalJustice
45aa7c4e62 fix forwarder icon passing in the wrong size, fix github zip detection / extraction, add back url in json
- i was passing the wrong size for icon, so it always failed to load.
- i didnt realise zips can have many content types, so now i search for the name "zip" which works well.
- extracting a zip will fail if the files are all in the root, ie, no folder, and the subfolders do
  not already exist.
- fix misspelling of download.
2024-12-31 10:15:30 +00:00
ITotalJustice
9b1788d1ec i forgot to enable buffered io for ftp... 2024-12-31 05:52:51 +00:00
shadow2560
389a4cfef5 Update french language. (#63)
Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>
2024-12-31 05:06:08 +00:00
ITotalJustice
ac06631156 fix building 2024-12-31 04:53:33 +00:00
ITotalJustice
bc39e668eb add pre/post install message options for github json 2024-12-31 04:41:19 +00:00
ITotalJustice
e452615c77 fix etag cache not being returned upon the 2nd request, add jump page support for all menus.
- all menus feature page jumping, using L2/R2 (or DPAD_LEFT/DPAD_RIGHT in list menus)
- successive calls to fetch the etag would fail, this was seen in themezer and github menus.
- add limit the number of icons loaded per frame in homebrew menu.
- display default icon the image is not ready to be loaded / invalid.

fixes #53
2024-12-31 03:57:08 +00:00
ITotalJustice
588eb01379 poll main_menu vars (ip, charge% time) every 1s, rather than every frame. 2024-12-30 21:28:28 +00:00
ITotalJustice
4855a01f1a further simplify download cache by using a single file
this slightly improves lookup time for each cached entry (etag and last-modified)
by setting both entries next to each other, meaning when the one is found, the other
is already loaded in memory.
2024-12-30 21:12:29 +00:00
ITotalJustice
cb7fb0e506 use ftpsrv config and mountpoints, improve ftp performance by using its vfs. 2024-12-30 21:09:32 +00:00
ITotalJustice
cdb38f27a7 simplify etag caching requests 2024-12-30 02:27:52 +00:00
ITotalJustice
7804bbbcbc add support for finding daybreak in non-standard paths (#62) 2024-12-29 11:52:34 +00:00
ITotalJustice
5db5f93af1 fix building 2024-12-29 01:15:37 +00:00
Ny'hrarr
bab4bfce84 Update pt.json (#61) 2024-12-29 01:02:33 +00:00
Yorunokyujitsu
ec06763e50 Fixed some translations of ko.json (#58)
* Fixed some translations of ko.json

* Add new string to lang.json and update ko, ja.

---------

Co-authored-by: Yorunokyujitsu <seonmini1315@gamil.com>
Co-authored-by: ITotalJustice <47043333+ITotalJustice@users.noreply.github.com>
2024-12-29 01:02:04 +00:00
ITotalJustice
5e315bd65f many fixes and performance improvements for network requests (see commit details)
- add etag support
- add last-modified support

with the above 2 changes, this means that all downloads can be cached. when attempting to download a file,
if the file is an image, load from cache. after, the download is processed with the above tags sent. if a 304 code
is received, then the file hasn't changed. otherwise, the new tags are saved and the downloaded file is now used (in the
case of an image, the new image is now loaded over the cached one).

this results in a *huge* speed improvement and overall a huge amount of bandwidth is saved for both the client and server.

- themezer requests now only request the data needed.

this results in a json file that is 4-5x smaller, meaning a much faster download and parsing time.

- loading images is capped to 2 images a frame. this was done to avoid fs being the bottle neck.
  a 9 page listing will take 5 frames. scrolling through lists is more responsive.

- downloads are pushed to the front of the queue as they're added. the point of this is to prioritise
  data that we need now.

- fix potential crash when sorting files based on names as its possible for a file to have the same name
  in the metadata. this fallsback to sorting by path, which is unique.

- add timeout for processing events. this was done in order to not block the main thread for too long.

- github json files have changed from a name + url to a repo + author pair.
- drawing widgets now starts from the last file in the array. as a menu takes up the whole screen, it
 is pointless drawing menu's underneath. this halves gpu usage.
- download url caching has been removed. this was added to fix a race condition when opening /
  closing a widget which starts a download when created. this would result in 2 same files being
  downloaded at the same time. this is no longer an issue and was overhead per download request.
2024-12-29 00:33:31 +00:00
ITotalJustice
2edfe91ad6 re-write download code to support headers, needed for etag support.
etag support will be added later. github supports it and themezer probably does as well.
appstore does not sadly...
2024-12-27 02:28:44 +00:00