mirror of
https://github.com/DarkMatterCore/nxdumptool.git
synced 2024-11-09 12:11:44 +00:00
a9b5f7211c
* title: implemented titleGetNcmStorageIdName(). * nxdt_log: implemented log verbosity levels (debug, info, warning, error, none) and helper macros for each level. The rest of the codebase still needs to be updated to take advantange of this change. * nxdt_log: implemented auxiliary logging via nxlink, if available. * nxdt_utils: system CPU/MEM overclocking is now only applied through utilsSetLongRunningProcessState(), as it should have been from the beginning. * nxdt_utils: nxlink initialization is now carried out without redirecting stdout and/or stderr, entirely removing the need for utilsRestoreConsoleOutput(). utilsGetNxLinkFileDescriptor() is used to send data to the nxlink host via dprintf() in log functions.
63 lines
2.7 KiB
Text
63 lines
2.7 KiB
Text
todo:
|
|
|
|
title: always retrieve names from unpacked nacps? (e.g. if an update changes the name of a title, like deltarune)
|
|
title: use dlc index as part of the output dump filename?
|
|
title: more functions for title lookup? (filters, patches / aoc, etc.)
|
|
title: more functions for content lookup? (based on id)
|
|
title: parse the update partition from gamecards (if available) to generate ncmcontentinfo data for all update titles
|
|
|
|
gamecard: functions to display filelist
|
|
|
|
pfs0: functions to display filelist
|
|
|
|
romfs: functions to display filelist
|
|
|
|
usb: change buffer size?
|
|
usb: change chunk size?
|
|
usb: improve abi (make it rest-like?)
|
|
usb: improve cancel mechanism
|
|
|
|
others: check todo with grep
|
|
others: dump verification via nswdb / no-intro
|
|
others: fatfs browser for emmc partitions
|
|
|
|
reminder:
|
|
|
|
list of top level functions designed to alter nca data in order of (possible) usage:
|
|
|
|
out of dump loop:
|
|
* ncaSetDownloadDistributionType (instead of always using it like legacy, offer it as an option)
|
|
|
|
* ncaRemoveTitlekeyCrypto (can be used with digital titles + game updates in gamecards)
|
|
|
|
* nacpGenerateNcaPatch (Control)
|
|
* calls romfsGenerateFileEntryPatch
|
|
* calls ncaGenerateHierarchicalSha256Patch / ncaGenerateHierarchicalIntegrityPatch
|
|
|
|
* ncaEncryptHeader (doesn't modify anything per se, but it's used to generate new encrypted header data if needed)
|
|
|
|
inside dump loop:
|
|
* cnmtGenerateNcaPatch (Meta)
|
|
* calls pfsGenerateEntryPatch
|
|
* calls ncaGenerateHierarchicalSha256Patch
|
|
* returns true if cnmt needs no patching
|
|
* demands an immediate ncaEncryptHeader call
|
|
|
|
* ncaIsHeaderDirty (doesn't modify anything per se, but it's used to check if any of the functions above has been used, basically - and by extension, if the functions below need to be used)
|
|
|
|
* ncaWriteEncryptedHeaderDataToMemoryBuffer (write encrypted nca header data)
|
|
|
|
* cnmtWriteNcaPatch (writes cnmt patch)
|
|
* calls pfsWriteEntryPatchToMemoryBuffer
|
|
* calls ncaWriteHierarchicalSha256PatchToMemoryBuffer
|
|
|
|
* nacpWriteNcaPatch (writes nacp patch)
|
|
* calls romfsWriteFileEntryPatchToMemoryBuffer
|
|
* calls ncaWriteHierarchicalSha256PatchToMemoryBuffer / ncaWriteHierarchicalIntegrityPatchToMemoryBuffer
|
|
|
|
* cnmtUpdateContentInfo (used to update content entry info in the raw cnmt copy after dumping each one - ignores the current content if its a meta nca)
|
|
|
|
minor steps to take into account:
|
|
|
|
* check if rights_id_available == true and titlekey_retrieved == false (preload handling)
|
|
* actually, just inform the user about it - this is being handled
|