Commit Graph

18 Commits

Author SHA1 Message Date
836d5e912a Made a bunch of fields that should be private private 2026-02-22 22:21:37 -05:00
26138c02be Added base for rustii CLI EmuNAND commands (mostly library-side)
The rustii CLI now offers setting decrypt/encrypt commands, as well as a WIP emunand install-title command. This command currently only supports installing single WADs and not a folder of WADs like WiiPy.
To make EmuNANDs happen, library modules for parsing and editing setting.txt, uid.sys, and content.map have been added and have feature parity with libWiiPy. The basics of the library EmuNAND module also exist, offering the code for title installation and not much else yet.
2025-05-01 19:55:15 -04:00
a30a0f2c5b Added rustii CLI wad edit command and required library features
This required a LOT more backend work than I expected. But hey, some of this stuff is being done better than it was in libWiiPy/WiiPy, so that's a win in my book.
When changing both the Title ID and type of a WAD, the updated TID will only be written once (which also means the Title Key will only be re-encrypted once). This is an improvement over WiiPy where it will be updated as part of both changes.
Some TMD fields have been made private and moved to getter/setter methods only as they are actually in use now and should only be set through the correct means.
2025-04-29 22:03:55 -04:00
481594345d Use Rc<RefCell<T>>> for content_records so that they sync in a Title
When using a Title, the content_records value stored in the TMD and ContentRegion instances will now point to the same data, meaning that they stay in sync. Previously, you had to manually sync the content records between them as they were modified, and not doing so would cause problems when editing a WAD.
2025-04-27 21:30:31 -04:00
be9148fcfa Ported all NUS download functions from libWiiPy and corresponding CLI commands
Also adds the basics of U8 archive packing/unpacking, however they are not in a usable state yet and there are no working CLI commands associated with them.
2025-04-08 20:47:35 -04:00
c2169f84c4 Implement thiserror for library errors 2025-04-03 19:09:56 -04:00
3fd701cac6 Ported wad convert command from WiiPy 2025-04-02 19:51:19 -04:00
e147a953a5 Added basic doc strings to all major structs and functions
Some checks failed
Build rustii / build-linux-x86_64 (push) Has been cancelled
Build rustii / build-macos-arm64 (push) Has been cancelled
Build rustii / build-macos-x86_64 (push) Has been cancelled
Build rustii / build-windows-x86_64 (push) Has been cancelled
2025-03-28 14:02:03 -04:00
edf3af0f7c Added signature verification, info command now has WiiPy feature parity
Some checks are pending
Build rustii / build-linux-x86_64 (push) Waiting to run
Build rustii / build-macos-arm64 (push) Waiting to run
Build rustii / build-macos-x86_64 (push) Waiting to run
Build rustii / build-windows-x86_64 (push) Waiting to run
rustii CLI info command now displays the signing status of TMDs/Tickets/WADs like WiiPy does, and displays the ASCII TID for a title when applicable. This means that this command now has full feature parity with WiiPy.
2025-03-27 21:06:59 -04:00
ac1368053b Added title size calculation methods (sizes now shown in info as well)
Some checks are pending
Build rustii / build-linux-x86_64 (push) Waiting to run
Build rustii / build-macos-arm64 (push) Waiting to run
Build rustii / build-macos-x86_64 (push) Waiting to run
Build rustii / build-windows-x86_64 (push) Waiting to run
2025-03-25 21:33:41 -04:00
3178063a07 Filled in many info command blanks 2025-03-25 21:06:14 -04:00
8c7cd48dff Add WIP info command to rustii CLI, currently has a lot of blanks 2025-03-25 20:19:59 -04:00
839e33b911 Added fakesigning and fakesigning detection, command is in CLI 2025-03-25 18:28:37 -04:00
62f6e6c0ec Added WAD packing command to rustii CLI
Also added lots of required library magic to make WAD packing possible. This includes the high-level Title object from libWiiPy, the ability to set content in a WAD, the ability to generate a WADHeader from a WADBody, and more.
2025-03-19 18:50:37 -04:00
6ab9993dd9 Fixed content decryption, created base for real rustii CLI
rustii currently only supports unpacking WADs, with packing support being a work-in-progress.
2025-03-18 20:39:38 -04:00
83dc83d2d6 Added WAD parsing, allows for WAD packing/unpacking 2025-03-18 18:01:17 -04:00
93f2103763 Added content region parsing and content encryption/decryption 2025-03-18 09:13:34 -04:00
522e42a749 Basic TMD/Ticket structs, Title Key encryption handling 2025-03-17 20:05:01 -04:00