Simple WBFS partition stripping#4
Conversation
|
Thoughts on adding this to |
|
Also could you expand on the use-case a bit? |
That was my first thought, but then it will be a breaking change for the user facing api, and would require adapting the existing code for anyone using the lib
A gbatemp user pointed out that it may be helpful for playing games on Wiis with smaller drives I asked usbloader_gx dev about it, he wrote the following
|
That's okay, since it's currently in v2.0.0-alpha! I will probably make the *Options structs
I agree with this, I think maybe the option could be "scrub_update_partition"? It may be a little more involved, but I imagine it could rewrite the partition table, avoid emitting embedded hashes (since it's modified), etc. I may have to finish the disc generation feature here. nod has so far been focused on 1:1 conversions and keeping everything lossless, but having a scrub option definitely makes sense for utility purposes. |
|
Emitting embedded hashes may still be useful, rn I'm showing a "❓ Hashes don't match: the game has been altered\n\nIt can indicate that a partition has been removed or a potential data corruption" popup text when a checksum fails |
encounter
left a comment
There was a problem hiding this comment.
I like the current solution! I’ll have to test it out and think about the option itself a bit more. (e.g. should it be a more general scrub option and add more functionality to it over time? Or name it minimize_size to reflect the desired output rather than the process?)
|
I updated this to use a ProcessOptions {
processor_threads: 0,
digest_crc32: true,
digest_md5: false,
digest_sha1: true,
digest_xxh64: true,
scrub: ScrubLevel::UpdatePartition,
}Thoughts? |
|
lgtm! |
This PR add a new Format::StrippedWbfs([bool; 64])
[bool; 64] is a index mask (if mask[partition_index] == true => the partition will be read as zeroes)
The existing api has not been altered