1
0
Fork 0
mirror of https://github.com/DarkMatterCore/nxdumptool.git synced 2024-09-20 05:53:25 +01:00
Commit graph

352 commits

Author SHA1 Message Date
Pablo Curiel 841fd73fbf utils: implement utilsSetLongRunningProcessState().
Other changes include:

* DownloadTask: use utilsSetLongRunningProcessState() to control HOME button block status, screen dimming and auto sleep.
* Add missing utilsCommitSdCardFileSystemChanges() calls throughout the codebase.
2021-07-29 12:48:32 -04:00
Pablo Curiel dbbc5c7ebd Implemented OptionsTabUpdateFileDialog and OptionsTabUpdateFileDialogContent classes.
Other changes include:

* utils: utilsGenerateFormattedSizeString() now takes an input double instead of size_t.
* DownloadTask: calculated speed is now expressed in bytes per second, so now it's up to the caller to convert it to other units.
* DownloadTask: set download size and percentage if the download size isn't known and we're dealing with the final chunk.
* http: slightly improved CURL error info formatting.
* OptionsTab: fully implemented NSWDB XML update option.
2021-07-29 03:50:17 -04:00
Pablo Curiel f80573e5c4 Move DownloadTask classes to their own header file. 2021-07-27 19:47:12 -04:00
Pablo Curiel eb97ae3de5 Implement DownloadTask, DownloadFileTask and DownloadDataTask classes.
Other changes include:

* AsyncTask: use a recursive mutex instead of atomics. Fixes build issues related to non-trivially-copyable elements.
* http: remove CURLOPT_ACCEPT_ENCODING option in httpPerformGetRequest().
2021-07-27 11:00:09 -04:00
Pablo Curiel 882a7581cc http: add extra info about httpDownloadData(). 2021-07-25 18:26:41 -04:00
Pablo Curiel 63d9be7db1 Implemented CURL-based HTTP client.
Only supports GET requests, but that's more than enough for the time being.

Other changes include:

* OptionsTab: added an option to update the NSWDB XML (not implemented yet).
* config: add missing flag check in getters and setters.
* Move default socket initialization from utils.c to services.c.
2021-07-25 18:23:44 -04:00
Pablo Curiel 499afea6d8 i18n: fix en-US typos (so far). 2021-07-25 11:06:16 -04:00
Pablo Curiel 05dec93795 Implemented AsyncTask class.
Other changes include:

* Updated borealis.
* Updated Makefile.
* Began implementation of a (very) simple, CURL-based HTTP handler.
* OptionsTab: added a small disclaimer about dump options.
* OptionsTab:  added notifications for the update application item (running as NSO, app already updated).
* config: improved boundary handling while validating integer entries.
* utils: (de)initialize CURL (this will be moved to http.c eventually).
2021-07-25 01:37:13 -04:00
Pablo Curiel ff0a2a385c Fix PoCs. 2021-07-23 08:42:20 -04:00
Pablo Curiel 6bb693b493 AboutTab: add json-c to dependencies list. 2021-07-23 03:42:26 -04:00
Pablo Curiel 3afe5caa7a Implement OptionsTab class.
Other changes:

* title: rename TitleFileNameConvention -> TitleNamingConvention.
* utils: display Lockpick_RCM's GitHub repository URL if keysLoadKeyset() fails.
2021-07-23 03:24:00 -04:00
Pablo Curiel 64ab1705bc Implement JSON configuration handler.
* Thread-safe.
* Provides getter/setter functions for the data types used by nxdumptool's configuration.
* Each setter function writes the modified JSON configuration back to the SD card.
* Configuration is validated on interface initialization. If validation fails, a default JSON template is loaded from the application's RomFS and written back to the SD card.

Other changes:

* Implement directory creation.
* Moved more preprocessor definitions to defines.h.
* Replaced strtok() calls throughout the code with strtok_r() to guarantee thread-safety.
2021-07-21 11:04:18 -04:00
Pablo Curiel a2a401d36d More progress.
* Updated borealis fork (refer to https://github.com/DarkMatterCore/borealis/commits/nxdumptool-legacy).
* Updated NcaKeyGeneration enum.
* Commented out title task notification.
* Remove unnecessary instant view invalidations.
* NS application records are now retrieved using a loop.
* Fixed text alignment issues in RootView.
* Slightly improved gamecard notifications.
2021-07-19 17:09:58 -04:00
Pablo Curiel 88c1846702 Update libusbhsfs 2021-07-15 12:22:13 -04:00
Pablo Curiel a1ba535d3b Update requirements. 2021-07-15 12:19:03 -04:00
Pablo Curiel 4cd7a9c782 Smooth ticker for single line labels. 2021-06-30 13:48:30 -04:00
Pablo Curiel b46740de8a Image class rewrite. 2021-06-27 16:53:58 -04:00
Pablo Curiel 5aa3eb05b7 Add subtle click animation and scrollbars.
Also use DWARFv4 explicitly for debug ELFs.
2021-06-27 14:54:27 -04:00
Pablo Curiel 9528e38d61 Update borealis 2021-06-26 00:05:19 -04:00
Pablo Curiel a9d8edebcb RootView: display USB host speed. 2021-06-25 19:28:38 -04:00
Pablo Curiel 41ce1f23b2 Update PoCs to reflect the changes made to usbIsReady(). 2021-06-25 17:05:02 -04:00
Pablo Curiel b23af8c131 usb: modified usbIsReady() to return the speed selected by the host device. 2021-06-25 17:01:15 -04:00
Pablo Curiel e32782f322 Move notifications to tasks.cpp. 2021-06-25 16:26:20 -04:00
Pablo Curiel c50840ec7c Move refocus logic to from TitlesTab to LayeredErrorFrame.
* Refocus logic now also takes care of updating Borealis' internal focus stack if a view has been pushed on top of the root view using a ListItem from LayeredErrorFrame.
* Further modifications to Borealis are used to store a pointer to the corresponding sidebar item in LayeredErrorFrame objects.
* The UI code now always uses C++-style casts.
* Git commit information is now displayed next to the nxdumptool release version.
* The applet mode warning is now displayed centered at the top.
* Title IDs in title lists are now displayed at the right of each entry.
2021-06-25 16:13:39 -04:00
Pablo Curiel c683e77873 Implement TitlesTabPopup class. 2021-06-24 11:53:36 -04:00
Pablo Curiel 9635670007 Repurposed UserTitlesTab class into TitlesTab.
Also implemented system titles tab view in the process.
2021-06-23 21:37:57 -04:00
Pablo Curiel 7a15b4eab8 UserTitleTab: remove the need for a title ID map by extending the ListItem class.
Each ListItem element gets its own internal title ID.
2021-06-23 21:04:28 -04:00
Pablo Curiel b5507b38a6 Fix building issues.
An unordered map is now being used to hold ListItem + TitleApplicationMetadata pairs.
2021-06-23 19:02:47 -04:00
Pablo Curiel cfe293af7c Update borealis. 2021-06-23 17:55:11 -04:00
Pablo Curiel 4d1b3660c3 Cherry-pick improvements from the rewrite-yoga branch. 2021-06-23 14:27:06 -04:00
Pablo Curiel 4453e7950f Removed legacy borealis 2021-06-21 16:01:22 -04:00
Pablo Curiel 83f07b3b3b Update borealis 2021-06-21 00:08:48 -04:00
Pablo Curiel 14374885f9 Add gamecard notification. 2021-06-21 00:06:44 -04:00
Pablo Curiel 75ebd97413 UserTitlesTab: display a notification after updating the user titles list. 2021-06-20 23:00:39 -04:00
Pablo Curiel 65a7816f2e Implemented UserTitlesTab class.
* LayeredErrorFrame: both the error frame and the list are now protected instead of private, letting any expanded classes take more control over the them. SetErrorFrameMessage(), AddListView() and the class destructor have been removed because of this change.

* LayeredErrorFrame: removed views vector and simplified the list element focus check carried out before switching to the error frame.
2021-06-20 22:43:40 -04:00
Pablo Curiel 1a2289c396 Simplified LayeredErrorFrame by letting extended classes handle task events. 2021-06-20 16:37:31 -04:00
Pablo Curiel 2ca9878c85 Rename ErrorLayerView -> LayeredErrorFrame. 2021-06-20 13:27:10 -04:00
Pablo Curiel 7af87f50f3 Added templated FocusableItem class. 2021-06-20 13:20:09 -04:00
Pablo Curiel e621b0473f Added templated ErrorLayerView class. 2021-06-20 03:49:33 -04:00
Pablo Curiel da2b7daae2 Update libusbhsfs 2021-06-20 00:10:15 -04:00
Pablo Curiel c70fd0c1c8 RootView: display status labels using StatusInfoTask data. 2021-06-18 14:10:19 -04:00
Pablo Curiel 063d8e9b3f Added StatusInfoTask. 2021-06-18 03:02:23 -04:00
Pablo Curiel ee17ffca5d title: update hardcoded system title metadata. 2021-06-18 01:34:02 -04:00
Pablo Curiel 18a7fad3bb AboutTab: improve scrolling. 2021-06-18 00:47:41 -04:00
Pablo Curiel 601cae399f UI changes.
* GameCardTab: use fmt library to format strings.
* AboutTab: finish view.
2021-06-17 03:55:42 -04:00
Pablo Curiel b7daac6807 title: handle extra allocated user application metadata entries in titleFindApplicationMetadataByTitleId(). 2021-06-15 01:44:10 -04:00
Pablo Curiel 7a964c8282 UI: add AboutTab class. 2021-06-14 16:54:33 -04:00
Pablo Curiel 296115f886 GameCardTab: use extended brls::Table class.
Allows focusing on our table without highlighting it.
2021-06-14 01:55:31 -04:00
Pablo Curiel d7081bbc1c Fix borked LAFW version checks. 2021-06-14 00:55:22 -04:00
Pablo Curiel df673f758d GameCardTab: show HOS version equivalent next to the required LAFW version. 2021-06-13 21:34:40 -04:00