Commit Graph
100 Commits
Author SHA1 Message Date
Pengfei f74a498c3c Update README.md 2021-09-01 19:04:03 +08:00
Pengfei 31c227c4cf Fix build 2021-09-01 18:52:51 +08:00
Pengfei 26df204814 Reworked Savegame to accept raw DISA archive instead
Also fixed couple issues with LoadSharedRomFS
2021-09-01 18:51:31 +08:00
Pengfei 34d352b3cc Use Config Savegame to determine system language and change display title accordingly 2021-09-01 18:29:35 +08:00
Pengfei 101b5b7cee Minor improvement to UX 2021-08-31 22:50:05 +08:00
Pengfei bfb7072013 Fix SeedDB 2021-08-31 22:09:19 +08:00
Pengfei b2fdd1839f Fixed progress bar 2021-08-31 22:01:21 +08:00
Pengfei 78e88b7a6e UI text fix 2021-08-31 15:36:38 +08:00
Pengfei 13da4913c9 Add a check in LoadPresetConfig 2021-08-31 15:35:14 +08:00
Pengfei c8730f2eac Add NAND indication in MainDialog 2021-08-31 15:32:52 +08:00
Pengfei 0920462a94 Add SelectNandDialog 2021-08-31 11:22:48 +08:00
Pengfei fb2c4decdb Move setWindowFlags to DPIAwareDialog
And use new helper in Utilites
2021-08-31 11:19:21 +08:00
Pengfei 85fff614d3 Support for multiple NANDs
Preliminary support is added for multiple NANDs. ticket.db, title.db and seed.db will be merged, while the first NAND will be used for system titles and data.

Future changes to the frontend will allow selecting NANDs.
2021-08-30 22:33:24 +08:00
Pengfei d280dfcffe Added some features to SeedDB 2021-08-30 20:12:46 +08:00
Pengfei d90c858715 Update TRY macro to allow for use without second argument 2021-08-30 20:03:27 +08:00
Pengfei 8e3d48c743 Reworked DBs to support merging of multiple files 2021-08-30 16:22:40 +08:00
Pengfei 5fad7c0243 Remove IsNandTitle 2021-08-27 12:11:00 +08:00
Pengfei 3ecbaec22d Fix missing header guard 2021-08-27 12:08:36 +08:00
Pengfei 9ade95e418 Minor frontend improvement
Name more titles to avoid confusion
2021-08-27 09:55:53 +08:00
Pengfei 035c71bfe9 Decouple core and frontend further
1. Unified titles & nand titles in the backend
2. Moved Application/Update/DLC and Title/Applet distinction to frontend
3. Merged System Save/Extra into System Data
4. Restore the special icon to System Archives
2021-08-26 22:31:18 +08:00
Pengfei c4e4966598 Separate NandSavegame/Extdata
Pending further UI changes
2021-08-26 15:08:17 +08:00
Pengfei ef3063c7ab Removed special case handling for config savegame 2021-08-25 21:56:39 +08:00
Pengfei 6cadb86071 Removed special case handling for system archives & safe mode firm 2021-08-25 21:51:27 +08:00
Pengfei e095abd3cc Removed special cases for some contents 2021-08-25 20:53:07 +08:00
Pengfei 8bcaa0b711 Normalize line endings that got messed up for whatever reason 2021-08-24 18:49:11 +08:00
Pengfei adb4325d79 Add a rate limiter to Qt's progress dialog
To work around a macOS specific issue where theh progress bar is not updated. With this the previous workaround for other OSes also isn't needed.
2021-08-24 17:31:15 +08:00
Pengfei a30dfd7e34 Keep trying to fix things... 2021-08-18 17:30:30 +08:00
Pengfei b7b5e41908 Simplify code and trying to fix things on macos 2021-08-18 11:36:11 +08:00
Pengfei 16e41c8fd4 UI fixes 2021-08-18 11:17:10 +08:00
Pengfei 61eb960c0e Fixes to ImportDialog
1. Fixed size sorting
2. Added size & exists display to top level titles in title view
2021-08-18 10:20:02 +08:00
Pengfei b7d017f921 Fix build 2021-08-17 17:31:44 +08:00
Pengfei fa00d49fe6 Use checkable tree widget items (instead of doing everything ourselves) 2021-08-17 17:24:25 +08:00
Pengfei fb182f2627 Fix clang, and clean up apple-specific code 2021-08-17 00:47:26 +08:00
Pengfei e2cd3f117a Fix build 2021-08-17 00:37:48 +08:00
Pengfei 0cf7e8a84a Really properly be per-monitor DPI aware
This is so hard...
2021-08-17 00:30:08 +08:00
Pengfei d78c1cb734 Fix build for Qt < 5.15 2021-08-09 22:05:25 +08:00
Pengfei b25c40302f Remove context help from all dialogs 2021-08-09 19:04:44 +08:00
Pengfei 7579554c0a Add Save Icon feature 2021-08-09 18:53:51 +08:00
Pengfei a54ecbda86 Fix clang 2021-08-09 16:48:39 +08:00
Pengfei 9fbdf6f529 Reorganize code 2021-08-09 16:34:03 +08:00
Pengfei b331f50b91 Move EncryptionType to NCCHContainer 2021-08-09 11:16:18 +08:00
Pengfei f22ecacb7c Sth more 2021-08-09 11:01:24 +08:00
Pengfei 6d87d48902 add missing header guard 2021-08-09 10:57:05 +08:00
Pengfei d266207561 Fix clang 2021-08-09 10:54:41 +08:00
Pengfei 6013879213 Removed 'Encryption' column 2021-08-09 10:53:37 +08:00
Pengfei 09f3f46515 Add more content type traits 2021-08-09 10:41:49 +08:00
Pengfei d0da439731 Implement contents check 2021-08-09 00:42:45 +08:00
Pengfei ea24716a38 Add checks for TMD and Ticket 2021-08-08 17:26:34 +08:00
Pengfei 3d68baf55c Preliminary work for a title info dialog
pending DRY fixes, etc
2021-08-08 15:52:00 +08:00
Pengfei e4612770a5 More unused variables 2021-08-08 09:05:43 +08:00
Pengfei d27adc8fc9 small UI text improvement 2021-08-08 09:04:23 +08:00
Pengfei fb395d6dc1 Convenience - detect auto_filename 2021-08-07 14:36:47 +08:00
Pengfei ec176e4fdf Fix unused variable 2021-08-07 14:32:50 +08:00
Pengfei beafa2b7a4 Change filename format to better match GM9's 2021-08-07 12:29:48 +08:00
Pengfei 3b14bbfbd6 Fix macos 2021-08-07 10:54:00 +08:00
Pengfei d34ba541fd Fix for NAND titles in threeSDumper
Otherwise there might be multiple copies of them after system updates
2021-08-07 10:49:34 +08:00
Pengfei 5c575847a6 Fix for CIA meta
Only titles with SMDH should have a meta
2021-08-07 10:49:14 +08:00
Pengfei 327a5a52a9 Fix for DLC 2021-08-07 10:48:43 +08:00
Pengfei ed8d6a1a82 Add support for system applets 2021-08-07 01:00:39 +08:00
Pengfei 5b55f801f0 Fix wrapper initialization 2021-08-06 18:48:17 +08:00
Pengfei be9e1386c3 Change CIA building to be TMD-oriented
... just like how it should be.
2021-08-06 14:56:54 +08:00
Pengfei d4e1404788 Fixes to CIA building
1. Optimizes ticket finding
2. Fixes progress reporting overshoot
3. Use u64 for size in general
4. Various other fixes and cleanups
2021-08-06 00:55:35 +08:00
Pengfei fd1c2363eb Fix critical typo 2021-08-04 21:43:24 +08:00
Pengfei b4c506d802 Fix more macos 2021-08-04 11:26:56 +08:00
Pengfei 1fe45d890c More refactor going on 2021-08-04 11:25:39 +08:00
Pengfei 0abddb7e79 Fix macos build 2021-08-04 11:13:41 +08:00
Pengfei c7b66f6308 Pointless huge refactor 2021-08-04 11:11:52 +08:00
Pengfei 22ebf68b90 Remove ResultStatus
And instead use bool to represent result, which is simpler and more consistent, as there's no error reporting anyways.
2021-08-04 09:58:17 +08:00
Pengfei 1f0a969cb7 Add CIABuildDialog 2021-08-04 00:35:01 +08:00
Pengfei bbcad43d1c Fix. 2021-08-03 15:21:13 +08:00
Pengfei 781d76bdab Use destructor to release file handle
Instead of relying on writing `file.reset()`s
2021-08-02 00:53:03 +08:00
Pengfei aed564fb25 Add Legit CIA building 2021-07-31 17:28:00 +08:00
Pengfei 75f79e10d1 Generalize QuickDecryptor 2021-07-31 17:25:56 +08:00
Pengfei 7115c30f76 Fix TMD signature validation 2021-07-31 17:23:33 +08:00
Pengfei 3021cfe5f0 Changes to TMD and CIA builder
Prepare for legit CIA.
2021-07-30 17:07:42 +08:00
Pengfei d14ea03271 Refactor code - Add Signature class 2021-07-30 14:47:53 +08:00
Pengfei 15b1af7dd1 Add signature validation to TMD 2021-07-29 23:27:13 +08:00
Pengfei 502e05dc2b Add CIABuildType to CIABuilder; Add legit ticket handling 2021-07-29 16:38:41 +08:00
Pengfei 325832f318 Misc changes to ticket, cert and CIA 2021-07-28 00:27:01 +08:00
Pengfei d8c79c5d2a Critical bug fix 2021-07-28 00:13:48 +08:00
Pengfei 705dd646dd Add common keyYs
Ideally this should be derived from safe mode firm. However that is complex as we don't have a filesystem like thing, and reading the firm requires some work.
2021-07-27 16:52:43 +08:00
Pengfei 79dfe4fc8b Add certificate, and certs.db parsing 2021-07-17 00:34:32 +08:00
Pengfei 0c04e31405 Make use of string_util 2021-07-16 22:10:49 +08:00
Pengfei 27988d09e2 Provide arguments 2021-07-16 22:01:25 +08:00
Pengfei 4e619b3621 Beautify code with new macro 2021-07-16 21:59:32 +08:00
Pengfei 55db5f110f Simplify TitleKeysBin implementation to a simple function 2021-07-16 21:46:10 +08:00
Pengfei 374470cd60 Support SDMC/NAND path redirecting
Added inih as an external.
2021-07-15 16:28:33 +08:00
Pengfei e41151420f Fix Flatpak user path 2021-07-13 21:55:35 +08:00
Pengfei d002928a38 Fix LGTM alerts 2021-07-12 12:14:00 +08:00
Pengfei 6fbbae7039 Rework failed task cleanup
Now the cleanup of failed tasks (deletion of borked files) is handled by the related task itself, instead of the frontend.
2021-07-12 11:47:42 +08:00
Pengfei 23226b2b37 Properly set crypto flags as GodMode9 does; remove pointless zeroing 2021-07-09 20:32:08 +08:00
Pengfei b90fb11109 Fixing things again 2021-07-09 20:25:49 +08:00
Pengfei 76b0912a9a Add proper support for CIA title keys
1. Support for `ticket.db`
2. Support for `gm9/support/encTitleKeys.bin`
3. Set the title key and common key index when building standard CIA
2021-07-09 20:08:42 +08:00
Pengfei 3429d9e965 Add in complete Ticket support from Citra 2021-07-07 12:03:06 +08:00
Pengfei 3ade2a382f Fix macos again 2021-07-06 17:55:55 +08:00
Pengfei c614131c81 Fix macos build 2021-07-06 17:40:04 +08:00
Pengfei be5701b7ee Do not create seeddb when loading it 2021-07-06 16:48:10 +08:00
Pengfei cb6d58b538 Replace file writes with new helper 2021-07-06 16:42:22 +08:00
Pengfei c81db424bb Refactor InnerFAT into Savegame and Extdata
And derive TitleDB from it too.
2021-07-06 16:11:03 +08:00
Pengfei 184d73d465 Fix LGTM.com not being able to analyse 2021-07-01 15:46:10 +08:00