shadow2560
d13ad64099
Update french translation ( #149 )
...
Signed-off-by: shadow2560 <24191064+shadow2560@users.noreply.github.com >
2025-05-25 11:23:00 +01:00
ITotalJustice
be88bdb567
initial work towards support standard nsp spec.
...
see #147
2025-05-24 23:56:42 +01:00
ITotalJustice
1bff57f9c9
Merge branch 'master' into dev
2025-05-24 23:40:52 +01:00
Yorunokyujitsu
4172d5d5b6
Added new strings and update Korean, Japanese lang. ( #146 )
...
* Added new strings and update Korean, Japanese lang.
* Update ko.json, ja.json.
2025-05-24 23:32:38 +01:00
ITotalJustice
1cdea981de
workaround for time / battery % x position changing every few seconds.
...
fixes #142
2025-05-24 23:13:53 +01:00
ITotalJustice
22ebfd4a82
fs display hdd at the top of mount list for quick access, change xci dump folder to Gamecard.
2025-05-24 22:31:24 +01:00
ITotalJustice
798ac47487
limit fs hash to a single file.
2025-05-24 22:17:12 +01:00
ITotalJustice
fba8051007
use feof and ferror to detect errors with stdio fs stream.
2025-05-24 22:14:06 +01:00
ITotalJustice
15721b8e8a
split screen mode for fs. fix game dump. scrolling text for fs, progress, menu base. display icon when dumping.
2025-05-24 21:55:10 +01:00
ITotalJustice
d43ca37875
add file hashing to the file browser (crc32, md5, sha1, sha256)
2025-05-23 17:02:35 +01:00
ITotalJustice
1b5e7401f2
use stdio for minini to benefit from buffering (reduces startup by 300ms), reduce fatfs size by 60kb.
2025-05-23 14:51:49 +01:00
ITotalJustice
d8b2896bed
fix native dump, fix xci dumps going to nsp folder.
...
native dump broke with prev commit due to not using the sd card, instead using an empty fs.
2025-05-23 13:07:00 +01:00
ITotalJustice
6475f4316a
simplify stdio/native file paths by sharing the same code.
2025-05-23 12:44:56 +01:00
ITotalJustice
93c38da742
add support for mounting stdio (hdd) in the file browser.
2025-05-23 12:23:28 +01:00
ITotalJustice
8070268d2a
add hdd dump support, cleanup dump code into a single generic file.
2025-05-22 15:50:50 +01:00
ITotalJustice
2e6d757852
update usbds_getspeed to match pr, fix appstore install returning a bool instead of Result.
2025-05-21 21:52:54 +01:00
ITotalJustice
a91550174a
add dump options, allow for gamecard menu to be accessed without install enabled.
2025-05-21 19:52:22 +01:00
ITotalJustice
52b166932d
Merge branch 'master' into dev
2025-05-21 17:42:07 +01:00
ITotalJustice
d50bcb650f
fix crash if nro has corrupted asset entry, bump version for new release 0.10.2 -> 0.10.3
...
the nro that caused this was ClkrstQuery.nro
fixes #141
0.10.3
2025-05-21 17:29:18 +01:00
ITotalJustice
654f3a1446
replace progress box result from bool to Result. Display error box if progress box fails.
2025-05-21 16:50:18 +01:00
ITotalJustice
71415e5044
remove unused last_launch | prev_timestamp storing / fetching.
2025-05-21 15:32:42 +01:00
ITotalJustice
da33b9a6b9
add usbds speed / max packet detection, add zlt support for usbds, fix game usb transfer bug (see below).
...
due to the previous commit, i broke dumping multiple games via usb as the stream offset wasn't reset.
because of this, the first transfer would complete, but the 2nd one would fail.
2025-05-21 14:43:18 +01:00
ITotalJustice
fe2a1a3a80
add support for streamed usb upload, multi thread usb uploads / dumps.
...
Some notes i made when adding stream support:
The tinfoil API makes it hard / impossible to multi thread the file upload because each data transfer passes the the file name and offset, meaning that it can and will change files and offset in the middle of a transfer
So that prevents the read thread from running freely in the background and the pull thread pulling data when requested.
The extension adds a flag to the usb header which if set, enables stream mode (same as ftp installs). This removes random access, but allows for multi threading as the data will be requested in order.
2025-05-21 13:19:46 +01:00
ITotalJustice
a67171e2b8
disable sleep whilst downloading, uploading, using usb, inside ftp menu.
2025-05-20 23:33:51 +01:00
ITotalJustice
cf908d63b9
backport controller led flashing from ftpsrv (only flash 1 controller).
2025-05-20 23:13:20 +01:00
ITotalJustice
ef25c3edc7
multi thread game dumps and file uploads.
...
previous uploads were all single threaded, which meant that it only uploaded as fast as the slowest source.
usb transfer is still single threaded due it being random access for both files and data, making it
hard for the read thread to run freely.
2025-05-20 22:50:05 +01:00
ITotalJustice
f956adabc3
add xci dumping, add xci cert and id set dump.
...
still missing uid and initial dumping.
2025-05-20 17:56:55 +01:00
⭐️NINIKA⭐️
4244be9592
Fix handling of unicode filenames in usb_install_pc.py ( #143 )
2025-05-20 12:45:59 +01:00
Ny'hrarr
a7fc19e28a
Pt patches ( #140 )
...
* Update pt.json
* Translate new keys
* Translate FTP, USB and GameCard menus
* Update pt.json
* Update pt.json
* Add missing comma and translate more entries
* Fix case
* Update pt.json
* Update pt.json
2025-05-20 09:00:39 +01:00
ITotalJustice
cf192fca85
fix hbmenu not being updated due to faulty string compare, bump version 0.10.1 -> 0.10.2
0.10.2
2025-05-19 20:34:22 +01:00
xHR
041bb2bbe5
Added Ukranian language ( #139 )
2025-05-19 19:57:15 +01:00
ITotalJustice
df558d5dcc
bump version for new release 0.10.0 -> 0.10.1
0.10.1
2025-05-19 17:06:49 +01:00
ITotalJustice
33de03a923
fix sd card dumps due to the folder not being created.
2025-05-19 17:04:49 +01:00
ITotalJustice
1000b9c8ec
fix sphaira not detecting latest update as we went from 0.9 to 0.10.
2025-05-19 16:23:45 +01:00
ITotalJustice
74fddecebc
bump version for new release 0.9.1 -> 0.10.0
0.10.0
2025-05-19 16:09:33 +01:00
ITotalJustice
a64d4dce7a
remove ns event from games menu (see below).
...
turns out that the event is auto cleared when waited.
this meant that if sphaira handled the event before qlaunch got chance to handle it,
then qlaunch won't update when app records changed.
this can result in a gamecard not being mounted, deleted games still apearing, installed games
not being displayed etc...
2025-05-19 16:07:24 +01:00
ITotalJustice
5daca4354c
add support for webdav uploads by creating missing folders, game now dumps to title/title[id].nsp
2025-05-19 16:00:03 +01:00
ITotalJustice
da9235f58e
fix upload url path not being encoded, add seek api for uploads.
2025-05-19 12:06:43 +01:00
ITotalJustice
bd6566524c
enable ftp in the ftp menu if it isn't already enabled.
2025-05-19 08:32:05 +01:00
ITotalJustice
eadc46b0e4
add support for file uploads in the file browser, optimise curl single thread download.
...
- curl now keeps the handle alive for single threaded downloads, rather than creating it each time.
2025-05-18 23:00:51 +01:00
ITotalJustice
71df5317be
add game dump uploading, fix download progress using u32 instead of s64, add progress and title for usb game dump.
...
- added support for custom upload locations, set in /config/sphaira/locations.ini
- add support for various auth options for download/upload (port, pub/priv key, user/pass, bearer).
2025-05-18 20:30:04 +01:00
ITotalJustice
bd7eadc6a0
add game dumping, add game transfer (switch2switch) via usb, add multi game selecting, fix bugs (see below).
...
- added more es commands.
- fixed usb install potential hang if the exit command is sent, but the client stops responding (timeout is now 3s).
- added multi select to the games menu.
- added game dumping.
- added switch2switch support by having a switch act as a usb client to transfer games.
- replace std::find with std::ranges (in a few places).
- fix rounding of icon in progress box being too round.
- fix file copy helper in progress box not updating the progress bar.
2025-05-18 13:46:10 +01:00
ITotalJustice
544272925d
fix IsEmunand() failing due to the paths not being page aligned.
2025-05-15 16:13:35 +01:00
ITotalJustice
70a31be134
don't fail if the control nca cannot be parsed during install, as it may depend on ticket not yet installed.
2025-05-15 15:25:03 +01:00
ITotalJustice
55ae2a63d9
fix installing failing during setup if prod.keys isn't found.
2025-05-15 15:14:02 +01:00
ITotalJustice
5a53947a3e
fix crash in list layout caused by rendering all previous hidden entries.
2025-05-14 18:00:56 +01:00
BIGBIGSUI
3bbb5ccb3c
Update zh.json ( #136 )
...
A latest zh.json. Hope it helps.
2025-05-14 00:29:04 +01:00
ITotalJustice
83472f1020
fix game menu forcefully disabled manual loading of control data.
...
this was done during testing / benchmarking, but i forgot to undo this.
2025-05-14 00:06:36 +01:00
ITotalJustice
0167bf034c
gc menu now tries to load control data from ns cache before manually loading.
...
on fw 19 and below, loading from cache takes ~5ms, whereas manually loading takes ~20ms.
manually loading is still faster than relying on ns to load control from storage (~50ms).
2025-05-14 00:04:47 +01:00
ITotalJustice
35abe363a6
optimise theme meta loading.
2025-05-13 23:52:34 +01:00