Commit Graph

29 Commits

Author SHA1 Message Date
Pablo Curiel daacdde44f workflow: fix issues + remove ccache support
Props to @Whovian9369 for helping me get the workflow to a working state once more.

This is only a temporary measure. We don't want any more people with broken nxdumptool builds. We'll reintroduce ccache support at a later time.
2024-05-02 14:27:32 +02:00
Pablo Curiel 65b86393c2 Update build.sh 2024-04-15 15:17:47 +02:00
Pablo Curiel 101ae0a361 Update build.sh 2024-04-15 14:47:48 +02:00
Pablo Curiel bfe301ad25 Workflow improvements.
Based on the suggestions mentioned by @TSRBerry in #144.

Speeds up compilation time by using ccache + fallbacks to the latest libnx commit if the build process fails with the libnx build available in the devkitPro image.
2024-04-15 14:30:48 +02:00
Pablo Curiel 3c519cd631 I'm dummy 2024-02-17 00:19:29 +01:00
Pablo Curiel 7b707509c7 bktr: perform binary search in bktrGetTreeNodeEntryIndex()
Other changes include:

* poc: fix switching to a different title entry via L/R/ZL/ZR if the content counts don't match. Fixes issues with MGS Master Collection games.
2024-02-16 23:31:24 +01:00
Pablo Curiel 4882f8430a workflow: only build nxdt_rw_poc binary 2023-07-22 00:53:56 +02:00
Pablo Curiel 942a407247 Codebase cleanup.
Remove legacy code and trailing whitespace from all files.
2022-07-05 03:04:28 +02:00
Kookies fcf0fcbedb
Add comments to build script (#107) 2022-03-22 20:55:06 +01:00
Whovian9369 3d5187dd1f
Add working github workflow to rewrite branch, builds libusbhsfs + nxdt rewrite (#106)
* Add working github workflow to branch, builds libusbhsfs + nxdt rewrite

* Fix build to actually work with dkp-toolchain-vars from mirror site

* Update `build.sh` so Github Actions properly finishes the build process for the Rewrite

* Update dkp-toolchain-vars - v1.0.0-2 link to Wayback mirror
2022-02-09 05:52:04 +01:00
Whovian9369 da8165e778
Update `build.sh` to archive debug ELFs after build (#102) 2021-12-04 07:14:35 +01:00
Pablo Curiel 3f16e3f835 PoC: use 7z instead of tar. 2021-08-03 03:15:06 -04:00
Pablo Curiel f82d7a3db4 Small code refactor (part 2).
* Rewrote mutex handling throughout the code to use a small, macro-based scoped lock implementation.

* Removed extern variables from common.h - launch path management is now completely handled in utils.c.

* Updated NpdmSystemCallId_Count to reflect changes introduced in 12.0.0.

* Added NcaMainSignatureKeyGeneration enum.

* NCA main signature moduli are now retrieved from FS .rodata at runtime.

* Simplified lock management in usb.c by using a single global mutex with scoped locks instead of three different r/w locks.

* Updated FatFs to R0.14b.

* Enabled 64-bit LBA support in FatFs to potentially support custom eMMC replacements / resized USER partitions in the future.

* Updated LZ4 to v1.9.3.

* Fixed typos.

* USB gamecard dumper PoC now only dumps the Initial Data area.

* Updated to-do list.
2021-05-18 08:32:43 -04:00
Pablo Curiel 17dd24bc92 Modified NCA key area handling + restored PoC building.
* Avoid performing any crypto operations on null NCA key area entries.

* Added commented out code to handle the aes_ctr_ex NCA key area entry, just in case we end up needing it at some point.
2021-04-25 19:10:34 -04:00
Pablo Curiel 7c2d16714c Use legacy Borealis fork + add files from the legacy Borealis example.
These files will be modified to slowly add features from the nxdumptool rewrite codebase.

This commit effectively makes it impossible to build the previous PoC. The code from each PoC will be reused, though, so it hasn't been removed.
2021-03-30 15:30:10 -04:00
Pablo Curiel 11da814fb2 Fix building issues with Borealis. 2021-03-26 00:35:14 -04:00
Pablo Curiel 43f744326f Minor fixes.
* The new logfile handler should now work properly.

* A UTF-8 BOM is now written at the start of every new logfile.
2021-03-08 07:11:28 -04:00
Pablo Curiel 054c9be41b Define constants using C preprocessor. 2021-02-12 18:41:14 -04:00
Pablo Curiel 6c931988d3 Treat errors as warnings. 2020-12-04 03:24:17 -04:00
Pablo Curiel c29f994b35 Support for HOS 11.0.0.
* Updated hardcoded system title list to match HOS 11.0.0.
* Updated NcaKeyGeneration_Current.
* Updated button input handling to match the new pad API from libnx.
2020-12-04 02:38:44 -04:00
Pablo Curiel 9732bf9adf libusbhsfs-related changes.
* Free space is now retrieved via statvfs() for all filesystems, including the SD card.
* Updated Makefile to reflect latest libusbhsfs changes (dev branch).
2020-12-02 02:28:35 -04:00
Pablo Curiel 477c321773 Remove unnecessary code.
libusbhsfs doesn't return FsFileSystem objects, that's why.
2020-11-21 06:29:29 -04:00
Pablo Curiel 2e00977f56 Update build.sh 2020-11-21 02:13:50 -04:00
Pablo Curiel 14ee45b38a Use BUILD_TYPE as APP_TITLE. 2020-10-26 16:17:57 -04:00
Pablo Curiel 15431ec2c8 Many changes.
* AES: moved CTR initializing/updating functions here from nca.c.
* BKTR/RomFS/PFS: check if we're dealing with a NCA with titlekey crypto and the titlekey hasn't been retrieved.
* BFTTF: use void pointers for output font data.
* Mem: Only exclude Unmapped/Uo/ThreadLocal/Reserved memory pages if dealing with FS.
* NCA: use content type context pointers inside NCA contexts to manage ContentMeta, ProgramInfo, Nacp and LegalInfo contexts.
* NCA: added 'written' bool elements to patch structs to indicate patch write completion.
* NPDM: remove unnecessary inline functions, generate PFS patch right after changing ACID data, add a pfsWriteEntryPatchToMemoryBuffer wrapper.
* PFS: added PartitionFileSystemFileContext and related functions to deal with NSP headers.
* ProgramInfo: removed unnecessary inline functions.
* Save: added commented code to dump a full system savefile - will probably use it down the road.
* Tik: added support for volatile tickets (thanks to @shchmue and @Whovian9369!), added a rights ID string representation to the Ticket struct, clear Volatile and ELicenseRequired flags in conversions to common tickets.
* Title: added a function to calculate the number of titles (current + siblings) from a TItleInfo block.
* Utils: added a function to generate a dynamically allocated path string using a prefix, a filename and a extension.
* Removed explicit offset checks throughout all the code.
* Codestyle fixes.
* Updated to-do.
2020-10-21 00:27:48 -04:00
Pablo Curiel 3e59d15bc4 Minor template tweaks + LegalInfo fix. 2020-10-10 06:10:50 -04:00
Pablo Curiel d385d40862 NACP parsing (part 1).
God, I'm so tired. I'll go play some good old MGS3 and continue this stuff at a later time. It builds, though.
2020-10-03 13:09:29 -04:00
Pablo Curiel 98b7a309b3 CNMT AuthoringTool-like XML generation. 2020-10-02 05:53:58 -04:00
Pablo Curiel 38f19351a9 Add build script. 2020-09-22 21:13:39 -04:00