Commit Graph

67 Commits

Author SHA1 Message Date
Edoardo Lolletti
58a2ac164f
Gif: skip most of the known application extensions instead of ignoring them
Except the plain text one
2025-08-19 20:07:04 +02:00
Edoardo Lolletti
3cf702f8f4
Fix off by one error in color table array 2025-08-19 19:35:13 +02:00
Edoardo Lolletti
6edcde25c3
Add sanitization to loaded GIF images
Parse the provided loaded background images and reconstruct a new GIF file on the fly to ensure they don't contain any extension that might not be supported by unalunch.
The generated GIF file will have a global color table, and single section, being the image descriptor. It also won't have any looping block.
2025-08-19 18:18:24 +02:00
Edoardo Lolletti
979ed83640 Try to mark HNAA tmd as writable only if it exists 2025-08-18 01:30:24 +02:00
Edoardo Lolletti
773fe2b7a5 Skip the first cluster when checking for valid unlaunch install
The first cluster now is properly used by unlaunch to save its configs, so it will never be the same across runs of the installer, to account for this, skip the first 0x4000 bytes when checking for its sha1, so that the user configurable part is ignored
2025-08-18 01:28:30 +02:00
Edoardo Lolletti
c4f861b4aa Add binary patch to make unalunch work properly with HNAA tmd 2025-08-18 00:03:56 +02:00
Edoardo Lolletti
28dee555e1 Check for the stage2 to be supporting unlaunch before attempting to do anything 2025-08-17 14:51:18 +02:00
Edoardo Lolletti
d7aa0970b1 Only issue a warning if the sd cluster size is too big
Allow continuing with install/uninstall
2025-08-12 21:02:39 +02:00
Edoardo Lolletti
770ffeb018 Handle proto/dev consoles 2025-08-12 19:59:05 +02:00
Edoardo Lolletti
cae02f6607 Rework install/unlinstall flow
Restructure the code and use the same approach as the launcher tmd restorer to deal with tmds.
Store all the known tmds for all the launcher versions with their corresponding shas, and use them when restoring the console.
Now if the main tmd isn't either the stock one or one with the patch done by this program, it's treated a invalid and will be restored from the saved ones when uninstalling.
This breaks for now proto/dev consoles as there is no handling for "default tmds" on them and the program logic has to be changed accordingly
2025-08-12 17:42:03 +02:00
Edoardo Lolletti
011cd87564 Fix benu option being selected when pressing power button 2025-08-07 21:34:58 +02:00
Edoardo Lolletti
e8d1da5d50 Revert previous uninstaller change
It broke normal uninstalling
2025-04-29 18:23:11 +02:00
Edoardo Lolletti
d01ccfbf47 Add giattributes 2025-04-29 18:22:35 +02:00
Edoardo Lolletti
5f8f69c2ab Fix unsafe uninstall selection 2024-07-28 12:36:31 +02:00
Edoardo Lolletti
8c77633767 Support loading backgrounds from the sd 2024-07-28 12:01:02 +02:00
Edoardo Lolletti
001442fd8a Add sd cluster size check
If a sd is present, and its cluster size is bigger than 32k, abort installing
2024-07-28 11:03:31 +02:00
Edoardo Lolletti
f1d6f13ff2 Address warnings in arm9 2024-07-14 00:32:13 +02:00
Edoardo Lolletti
54e6c23277 Give priority on unlaunch path on the sd over the nitro one 2024-07-13 19:46:57 +02:00
Edoardo Lolletti
739a5ab467 Mark launcher's tmd as read only on install 2024-07-13 19:46:19 +02:00
Edoardo Lolletti
8b19184921 Prevent the installer from installing on 1.4.2 2024-05-02 01:31:38 +02:00
Edoardo Lolletti
e198ed3148 Properly check and ensure removal of hnaa launcher when requested 2024-05-02 01:04:03 +02:00
Edoardo Lolletti
f58dcdda19 Other update to readme 2024-04-29 00:06:01 +02:00
Edoardo Lolletti
06d374d28b Cleanup conditionals 2024-04-28 13:35:50 +02:00
Edoardo Lolletti
03f1df6f8e Move TID patches to advanced menu 2024-04-28 13:27:04 +02:00
Edoardo Lolletti
351d4547b3 Handle nocash footer embedding into nand
Another step the unlaunch installer does but wasn't being handled yet
2024-04-27 23:34:13 +02:00
Edoardo Lolletti
bfdd89218d Properly detect case where deviceList was populated with garbage data
Assume the device list is valid if it has a valid device that matches the path of the app
2024-04-27 23:31:07 +02:00
Edoardo Lolletti
593141e702 Add key combo to uninstall unlaunch alongside the hnaa failsafe 2024-04-27 19:09:23 +02:00
Edoardo Lolletti
027308e1f5 Show the unlaunch version that is going to be installed 2024-04-27 18:35:28 +02:00
Edoardo Lolletti
30b5e7017d Clean up a bit menus 2024-04-27 18:24:30 +02:00
Edoardo Lolletti
38b1efb15b Add battery level check 2024-04-27 17:58:24 +02:00
Edoardo Lolletti
379db68839 Fix offsets 2024-04-27 13:09:03 +02:00
Edoardo Lolletti
101269a3a8 Properly map to "sd" deviceList path, even if it says "nand"
Hiya passes the appname as nand:/, but the nand device is set as being external storage, so is actually mapped to the sd, account for that
2024-04-27 12:42:32 +02:00
Edoardo Lolletti
9c01c0c464 Allow retrieving the filename from the device list
Supports unlaunch/hiya booting
2024-04-26 23:20:15 +02:00
Edoardo Lolletti
3bb7f0f5e2 Disable again lto and mark console id shared address as volatile 2024-04-26 22:00:24 +02:00
Edoardo Lolletti
94cb35df6f Supports patching unlaunch with custom backgrounds 2024-04-26 19:03:23 +02:00
Edoardo Lolletti
80866c08ea Allow applying splas and sound binary patch 2024-04-26 16:02:05 +02:00
Edoardo Lolletti
1c0d2adf65 Support loading unlaunch installer from nitrofs as fallback
Using nitrofs implementation from gm9i
2024-04-26 14:59:29 +02:00
Edoardo Lolletti
53184bc63a Build arm9 with lto enabled 2024-04-26 14:58:25 +02:00
Edoardo Lolletti
4861ad5ab5 Explicitly synchronize fat copies after install/uninstall operations are completed
Don't wait for the user to exit the program
2024-04-26 14:57:37 +02:00
Edoardo Lolletti
023fb29972 Fix typos in unlaunch detection logic 2024-04-26 14:56:55 +02:00
Edoardo Lolletti
b416a8b818 Increase buffer size of menu options 2024-04-26 14:56:30 +02:00
Edoardo Lolletti
74ed03e40e Add launcher tid patches 2024-04-26 12:23:35 +02:00
Edoardo Lolletti
cca04004fc Warn the user about the risk of uninstalling without backup HNAA install and prompt to install that 2024-04-25 23:22:37 +02:00
Edoardo Lolletti
f5b54fbd0f Don't write unlaunch tmd if the one already present is the same 2024-04-25 22:56:25 +02:00
Edoardo Lolletti
f6a503a2a3 Directly disable install option if an unlaunch version is found to be already installed
The user will have to explicitly uninstall first and then reinstall
2024-04-25 22:44:53 +02:00
Edoardo Lolletti
71c1c21234 Add hash and size check for known unlaunch installer versions
Also check the installer to be valid at startup, rather than once the install process has started, so that the install option can be properly grayed out
2024-04-25 22:42:38 +02:00
Edoardo Lolletti
ef82ae14d5 Update readme/makefile 2024-04-25 19:31:37 +02:00
Edoardo Lolletti
d1caccec43 Abort nand init on 3ds and other cleanups 2024-04-25 19:13:34 +02:00
Edoardo Lolletti
664e7a2090 Remove not needed NTM files 2024-04-25 19:13:34 +02:00
Edoardo Lolletti
c00569d5c5 Fix console id retrieval under ntrboot 2024-04-25 19:13:34 +02:00