Commit Graph

  • 94e0be0eef
    Added emunand info and install-missing commands to rustii CLI These were grueling to port. There's just so much printing and format converting to deal with. Ugh. At least it's done now. main NinjaCheetah 2025-05-03 23:43:02 -04: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. NinjaCheetah 2025-05-01 19:55:15 -04:00
  • 15947ceff3
    Update README.md NinjaCheetah 2025-04-29 22:19:55 -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. NinjaCheetah 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. NinjaCheetah 2025-04-27 21:30:31 -04:00
  • 277c5d6439
    Added rustii CLI commands to add and remove content from a WAD Also added required library features to make this possible, again. NinjaCheetah 2025-04-27 15:25:47 -04:00
  • 577d5a0efa
    Added rustii CLI command to replace content in a WAD Also added required library features to make this possible. Rust makes the whole "getting content's index from its CID" thing so much easier. NinjaCheetah 2025-04-25 14:45:38 -04:00
  • 96ace71546
    Added set_content/set_enc_content to load modified content into a ContentRegion This means that the rustii CLI wad pack command is now actually useful, as it supports loading modified content. NinjaCheetah 2025-04-23 18:21:26 -04:00
  • 66476e2c98
    Added basic support for displaying info about U8 archives to rustii CLI NinjaCheetah 2025-04-17 20:33:44 -04:00
  • ea2e31756c
    Added U8 archive packing command to rustii CLI NinjaCheetah 2025-04-17 20:07:40 -04:00
  • 52e11795d3
    Redesigned how U8 archives are represented in memory This replaces the old 1D array with an actual directory tree that can be used to make packing, unpacking, and editing U8 archives much much easier than the old libWiiPy implementation. NinjaCheetah 2025-04-17 18:30:23 -04:00
  • 7cef25d8f0
    U8 archive unpacking command now functional NinjaCheetah 2025-04-09 09:18:29 -04:00
  • 884657268b
    Added single content download command to rustii CLI NinjaCheetah 2025-04-08 22:27:42 -04:00
  • 5f578fbfd8
    Updated README to better represent current features NinjaCheetah 2025-04-08 20:57:44 -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. NinjaCheetah 2025-04-08 20:47:35 -04:00
  • e55edc10fd
    Added ASH decompression, added corresponding CLI command Also cleaned up some minor parts of the LZ77 (de)compression library and CLI code NinjaCheetah 2025-04-06 17:21:33 -04:00
  • 42fd523843
    Added LZ77 compression, added corresponding CLI command NinjaCheetah 2025-04-04 13:33:33 -04:00
  • e1190e1e58
    Added LZ77 decompression, added corresponding CLI command NinjaCheetah 2025-04-03 23:06:56 -04:00
  • c2169f84c4
    Implement thiserror for library errors NinjaCheetah 2025-04-03 19:09:56 -04:00
  • 0bda6dabf3
    Make is_dev for get_common_key() non-optional NinjaCheetah 2025-04-03 13:41:44 -04:00
  • 405df67e49
    Fixed output filename creation for WAD convert command NinjaCheetah 2025-04-02 22:36:01 -04:00
  • 74584b1ffd
    Cleaned up error handling and duplicated code in info command NinjaCheetah 2025-04-02 22:15:40 -04:00
  • d9e8465f0c
    Improved error handling for fakesign CLI command NinjaCheetah 2025-04-02 21:52:57 -04:00
  • 85f3f028d4
    Added proper error handling to WAD commands NinjaCheetah 2025-04-02 21:04:56 -04:00
  • 3fd701cac6
    Ported wad convert command from WiiPy NinjaCheetah 2025-04-02 19:51:19 -04:00
  • 97fe838b8c
    Fix for possible crash when getting info for some TMDs NinjaCheetah 2025-04-01 21:09:54 -04:00
  • e147a953a5
    Added basic doc strings to all major structs and functions NinjaCheetah 2025-03-28 14:02:03 -04:00
  • edf3af0f7c
    Added signature verification, info command now has WiiPy feature parity 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. NinjaCheetah 2025-03-27 21:06:59 -04:00
  • 444c3def54
    Improved title version and region info in CLI NinjaCheetah 2025-03-26 09:17:43 -04:00
  • ac1368053b
    Added title size calculation methods (sizes now shown in info as well) NinjaCheetah 2025-03-25 21:33:41 -04:00
  • 3178063a07
    Filled in many info command blanks NinjaCheetah 2025-03-25 21:06:14 -04:00
  • 8c7cd48dff
    Add WIP info command to rustii CLI, currently has a lot of blanks NinjaCheetah 2025-03-25 20:19:59 -04:00
  • 839e33b911
    Added fakesigning and fakesigning detection, command is in CLI NinjaCheetah 2025-03-25 18:28:37 -04:00
  • 1bcc004af7
    Merge remote-tracking branch 'origin/main' NinjaCheetah 2025-03-20 10:38:41 -04:00
  • 561ada3d92
    Added support for dev WADs, Ticket now throws error for v1 Tickets NinjaCheetah 2025-03-20 10:38:33 -04:00
  • 6b21f03a54
    Update README.md NinjaCheetah 2025-03-20 10:14:47 -04:00
  • 5731b8d4d8
    Double fix Actions macOS cross compile NinjaCheetah 2025-03-19 19:18:17 -04:00
  • d7dbaca479
    Fix Actions macOS cross compile NinjaCheetah 2025-03-19 19:16:00 -04:00
  • 098f695f1d
    Run Actions for all platforms NinjaCheetah 2025-03-19 19:11:16 -04:00
  • 2df9a180be
    Create rust.yml NinjaCheetah 2025-03-19 18:55:52 -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. NinjaCheetah 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. NinjaCheetah 2025-03-18 20:39:38 -04:00
  • 83dc83d2d6
    Added WAD parsing, allows for WAD packing/unpacking NinjaCheetah 2025-03-18 18:01:17 -04:00
  • 93f2103763
    Added content region parsing and content encryption/decryption NinjaCheetah 2025-03-18 09:13:34 -04:00
  • 247f120da4
    Basic TMD/Ticket structs, Title Key encryption handling NinjaCheetah 2025-03-17 20:10:05 -04:00
  • 522e42a749
    Basic TMD/Ticket structs, Title Key encryption handling NinjaCheetah 2025-03-17 20:05:01 -04:00
  • fcde6831de
    Initial commit NinjaCheetah 2025-03-16 21:50:59 -04:00