New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace the compress/uncompress actions with a convert dialog #8738
Merged
+761
−431
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5be7fa4
to
916e07a
Compare
lioncash
reviewed
Apr 11, 2020
916e07a
to
7e2b1f0
Compare
7e2b1f0
to
60c5c82
Compare
|
I've made this PR try to filter out GCZ block sizes that trigger the bugs fixed by #8740. The reason is because someone might create a GCZ file on one version of Dolphin and then convert it back to ISO using an older one (even though that's uncommon...) |
0a96a5b
to
ef0bcd4
Compare
lioncash
approved these changes
Apr 23, 2020
ef0bcd4
to
5de6b2d
Compare
The constant DESIRED_BUFFER_SIZE was determined by multiplying the old hardcoded value 32 with the default GCZ block size 16 KiB. Not sure if it actually is the best value, but it seems fine.
There is no longer anything GCZ specific about it.
If we start 31 KiB into a 32 KiB block and want to mark 2 KiB of data as used, we need to mark 2 blocks as used, not just 1. This problem is avoided when calling MarkAsUsed from MarkAsUsedE, since MarkAsUsedE aligns to 32 KiB on its own. Most calls to MarkAsUsed are from MarkAsUsedE, which is why this hasn't been a noticeable problem in the past.
The code was actually already rather well adapted for this. We more or less just have to skip ParseDisc and run ParsePartitionData directly. This required the PartitionHeader struct to be removed (which wasn't that useful anyway).
This way, scrubbing can also be performed when converting to other formats.
5de6b2d
to
99c8ce9
Compare
JosJuice
added a commit
to JosJuice/dolphin
that referenced
this pull request
Apr 28, 2020
This should not be exposed to users before the merge of PR dolphin-emu#8644. (PR dolphin-emu#8738 was unintentionally merged before PR dolphin-emu#8644.)
dreamsyntax
pushed a commit
to dreamsyntax/dolphin
that referenced
this pull request
May 11, 2020
This should not be exposed to users before the merge of PR dolphin-emu#8644. (PR dolphin-emu#8738 was unintentionally merged before PR dolphin-emu#8644.)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
The reason why I decided to make these changes is because I need them for adding WIA writing support in PR #8538, but I'm opening this as a separate PR since it does have some benefits on its own:
I understand if this dialog with its additional options might be considered excessive for as long as we only support converting to ISO and GCZ. If we want to wait with merging this until the WIA PR is close to done, I'm fine with that.
Don't merge this PR before
#8591, #8644, and#8740, because those PRs improve the results when converting from extracted discs, TGC, and all formats other than ISO, respectively.