1
0
Fork 0
mirror of https://github.com/DarkMatterCore/nxdumptool.git synced 2024-11-26 04:02:11 +00:00
Commit graph

442 commits

Author SHA1 Message Date
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
Pablo Curiel
1e6b316cdc Update gamecard_tab.cpp 2021-06-13 20:48:40 -04:00
Pablo Curiel
3629f0029f GameCardTab: display table with gamecard properties. 2021-06-13 20:47:49 -04:00
Pablo Curiel
49d7ec8ab8 GameCardTab: add ListItem elements. 2021-06-13 15:32:37 -04:00
Pablo Curiel
c90251a52b GameCardTab: fix drawing issues while switching views through the LayerView class. 2021-06-13 13:47:00 -04:00
Pablo Curiel
e79767ef38 Update error_frame.hpp 2021-06-13 02:20:01 -04:00
Pablo Curiel
ac647310ad UI: added ErrorFrame and GameCardTab classes. 2021-06-13 02:18:14 -04:00
Pablo Curiel
4ffbb1f903 views: create RootView class. 2021-06-11 00:41:58 -04:00
Pablo Curiel
04540643be tasks: minor cleanup + declare global task pointers in header file. 2021-06-10 21:13:26 -04:00
Pablo Curiel
06676a0639 tasks: cache application metadata and UMS device info using vectors.
* Tasks are now immediately started by their constructor function.

* Events are now part of the class of each task type, in order to avoid instantiating each one of them and passing them as a constructor argument.

* GetTaskEvent() has been added to each task class, which returns a pointer to the private event. This will be used to subscribe Borealis views to a particular event.

* Title and UMS tasks now both cache application metadata and UMS device info using private vectors. Pointers to these private vectors can now be retrieved using public functions GetApplicationMetadata() and GetUmsDevices(), respectively.
2021-06-10 20:33:11 -04:00
Pablo Curiel
672978150b tasks: use a macro for the task interval value. 2021-06-09 14:06:10 -04:00