Commit Graph

256 Commits

Author SHA1 Message Date
ITotalJustice
3f99afaa38 add personalised -> common convert. patch bad common tickets. fix yati installing nca's if already installed.
- dumped nsp now have the tik/cert at the end of the file table, rather than the beginning.
- dumped nsp patches the ticket if needed (no personalised dumping yet).
- installing titles will now patch the ticket, performing personalised -> common convert if needed, as well as fixing bad common tickets.
- yati no longer tries to install ncas if they already exist.
- ticket only option now actually works.
- fixed some translations.
- removed unused error codes.
2025-06-18 15:07:07 +01:00
ITotalJustice
8e67e5f0fc disable mtp install
see #132
2025-06-17 22:16:54 +01:00
ITotalJustice
070be1ff94 fix filebrowser touch (related to f2462cff81).
the fix in commit f2462cff81 broke split screen.
this commit properly fixes the touch and split screen buttons.
2025-06-17 11:46:34 +01:00
ITotalJustice
7730eacea8 fix mtp install (again) due to the next transfer trying to start before the previous one had finished. 2025-06-17 11:23:45 +01:00
ITotalJustice
c5e3373fe1 fix filebrowser mount name not being displayed as the current option if translations are enabled 2025-06-17 11:00:56 +01:00
ITotalJustice
d7ec620173 signal homebrew refresh when downloading an app via ghdl 2025-06-17 10:57:24 +01:00
ITotalJustice
1c72350d4a add mtp install, fix es ticket being the wrong size, fix yati not returning the read fail result, updated haze, updated translations
see #132
2025-06-17 10:48:07 +01:00
ITotalJustice
0789a69975 delete save file before restoring. always commit fs after every write + close, delete, rename, create. 2025-06-17 01:57:42 +01:00
ITotalJustice
b405a816c9 use actual save timestamp when creating a zip backup 2025-06-17 01:03:18 +01:00
ITotalJustice
99c1db3655 disable hdd->hdd threading. only open log write on write to allow for reads. log fw/ams version.
hdd->hdd threading is disabled due to a bug in libusbhsfs which causes a deadlock if 2 fs calls happen at the same time.
2025-06-17 00:57:46 +01:00
ITotalJustice
6b099de63c fix passing raw string to vsprintf.
fixes #173
2025-06-12 21:50:06 +01:00
ITotalJustice
275707fe27 add mtp custom mount support (image sd, image nand, install, speed test). 2025-06-12 14:47:33 +01:00
ITotalJustice
c535b96b12 bump oss-nvjpg version fdcaba8 -> 16c10a3 (fixes homebrew icon decoding). 2025-06-10 20:23:37 +01:00
ITotalJustice
6b77cbb0c0 enable boost mode as early as possible during init, and exit boost as late as possible during exit. 2025-06-09 12:32:43 +01:00
ITotalJustice
a33d8e1061 fix gc menu button::A not being enabled when a gamecard is not inserted. 2025-06-09 12:20:27 +01:00
ITotalJustice
aaf11211dc add basic error messages for internal sphaira errors. 2025-06-09 12:11:05 +01:00
ITotalJustice
ec1042efa3 rename Bcat -> BCAT, rename bcat folder to BCAT, better impl for stripping leading '/' for zip_add. 2025-06-07 20:27:36 +01:00
ITotalJustice
b03ad4ade3 support for all save types (system, bcat, cache, device). 2025-06-07 17:55:04 +01:00
ITotalJustice
04f6e5d2a8 update homebrew menu when app is installed from the appstore, add same effect to a few other menus (unused). 2025-06-07 13:03:44 +01:00
ITotalJustice
16c074db1a strip leading '/' in fs::AppendPath(). 2025-06-07 11:54:56 +01:00
ITotalJustice
8d958a2d1d in save menu close account service as soon as account data is loaded. 2025-06-07 11:49:50 +01:00
ITotalJustice
74c1cd3be0 add support for backup/restore save to usb 2025-06-07 11:45:06 +01:00
shadow2560
0fd5f348e2 Update french translation and fix a small typing error. (#168)
Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com>
2025-06-07 08:13:34 +01:00
ITotalJustice
8fb34d42dc fix very rare crash when closing sphaira from the appstore when saves/games menu has also been opened.
i've been trying to track down this bug for a while. i still don't understand why it happens, however i have managed to
reproduce it an narrow down the crash, and thus fix it.

the bug was caused calling nvgDeleteImage() inside ~LazyImage() on image 43. this would only trigger once games/saves menu
had been opened at least once also.

i can only assume that the image fd was still refrenced in deko3d when drawing, as it would only ever crash on the visible images.
destroying fb resources before the calls to nvg delete seems to fix the issue.

maybe the explicit call to waitIdle is what fixes it? or clearing the cmd buf? who knows...
2025-06-05 02:56:13 +01:00
ITotalJustice
a5f9eaa392 compress save backup by default 2025-06-05 00:42:29 +01:00
ITotalJustice
f2462cff81 add save backup/restore, fix filebrowser touch screen, optimise all zip/unzip file code by using bigger stdio buffers. 2025-06-05 00:17:55 +01:00
ITotalJustice
cd0817bd11 add explicit sleep in between batch delete calls in order to not pin core3.
otherwise, core3 is pinned and button inputs (including the power button) become unresponsive.
2025-06-03 02:36:53 +01:00
ITotalJustice
e88ca8ede1 fix nvjpg icon loading if w*bpp != pitch. add build option to enable/disable nvjpg (for testing). 2025-06-03 02:16:23 +01:00
ITotalJustice
7a83269d98 disable nvjpg for homebrew menu (for now).
see https://github.com/averne/oss-nvjpg/issues/1.
2025-06-02 23:09:31 +01:00
ITotalJustice
4be1d48215 use oss-nvjpg for loading jpeg images (homebrew, games and themezer).
slightly faster loading on avg compared to stbi.
2025-06-02 22:18:38 +01:00
ITotalJustice
8485ff1e99 use nxtc (nx title cache) for caching titles in the game menu. 2025-06-02 20:52:08 +01:00
ITotalJustice
ea943088e5 usbds only set zlt on write 2025-06-02 18:00:40 +01:00
ITotalJustice
298be4a344 appstore add option to show installed files for app, add option to launch app website. slightly round scrollbar. 2025-06-02 17:51:48 +01:00
ITotalJustice
4a59d1cfda add support for loading custom forwarder gif/logo from file. 2025-05-31 22:14:02 +01:00
ITotalJustice
7201c8347f handle left/right side menu swapping.
see #153
2025-05-31 18:45:57 +01:00
ITotalJustice
2ef7742903 Merge branch 'multi_thread_everything' 2025-05-31 18:08:17 +01:00
ITotalJustice
f98135325a fix icon/list layout where the highlighted border would be clipped. 2025-05-31 18:03:12 +01:00
Yorunokyujitsu
fd765aa8c8 Updated theme, new translated strings, adjust left side split-screen x position. (#156)
* Add a new ThemeEntryID for split-screen and selected items and modify the theme.

* Adjust the position of the left side split-screen in the filebrowser menu.

* Add new strings and update Korean and Japanese translations.

* fix ja.json.

---------

Co-authored-by: ITotalJustice <47043333+ITotalJustice@users.noreply.github.com>
2025-05-31 18:02:53 +01:00
ITotalJustice
5893cb575e fix ncz block installs, fix error module value being out of range, display error on install from filebrowser.
the issue with block installs was that i was not tracking the ncz block offset in between transfers.
this resulted in the block size being used for each transfer, rather then size-offset.

for blocks that were always compressed, this silently worked as zstd stream can handle multiple frames.
however, if there existed compressed and uncompressed blocks, then this bug would be exposed.

thanks to Marulv for reporting the bug.
2025-05-31 17:30:28 +01:00
ITotalJustice
b46136b959 optimise fs CreateDirectoryRecursively() by checking if the path already exists prior to the loop. 2025-05-30 13:16:39 +01:00
ITotalJustice
390c1e870d multi-thread zip and unzip code. option to download appstore zip to mem. hasher mem support. 2025-05-30 12:34:29 +01:00
ITotalJustice
17b341d83a fix ncz install due to write offset being applied twice, fix zlt, bump version 0.11.2 -> 0.11.3
bug was introduced in 6b56b7f.
2025-05-29 01:45:15 +01:00
ITotalJustice
92eb3a9ecd add some default url entries, add option to enter custom url.
see #135
2025-05-28 20:02:51 +01:00
ITotalJustice
491445a12f Revert "remove Web menu"
This reverts commit 2d7763444e.
2025-05-28 18:46:30 +01:00
ITotalJustice
04c3c64562 always display commit hash with the version, log version hash, bump version for new release. 2025-05-28 15:37:14 +01:00
ITotalJustice
36c8a60de0 multi-threaded file copy (2.5x speed improvement for sd -> hdd). 2025-05-28 15:25:50 +01:00
ITotalJustice
6b01735655 multi-threaded hasher. 2025-05-28 15:16:32 +01:00
ITotalJustice
01bfcb05cd fix gamecard install due to fs==NULL. more explicit yields for sd card transfers for file based emummc. 2025-05-28 15:00:31 +01:00
ITotalJustice
6b56b7f7c2 make all threads preemptive. workaround file based emummc hanging due to fs r/w hanging the system.
the fix for file based emummc is to simply sleep between fs r/w to the sd card.
the performance impact is minimal, even with the reduced buffer size.

the above *only* applies for when using file based emummc. not affecting using partition or sysmmc.
2025-05-28 14:37:56 +01:00
ITotalJustice
37ab1a345c fix toggling ftp enable in options which could cause a crash / prevent it from re-starting ftp.
fixes #137
2025-05-28 11:55:15 +01:00