JosJuice
162e3be82b
Show an OSD message when running a disc image with a large block size
...
This is intended to catch WIA files which have been created using
wit's default parameters (40 MiB block size), once the WIA PR is
merged. The check does however also work for GCZ files – not that
I think anyone has a GCZ file with a block size that large.
2020-06-07 14:11:00 +02:00
JosJuice
b93bbbf2e5
DiscIO: Implement multithreaded compression
2020-05-06 14:18:51 +02:00
degasus
f8f592c345
Externals: Update minizip search path.
2020-04-29 12:41:36 +02:00
JosJuice
5b722b775a
VolumeVerifier: Treat IOS9 as always present
...
Fixes a false positive for Mario Party 8.
2020-04-28 23:40:01 +02:00
JMC47 and GitHub
116cef572b
Merge pull request #8738 from JosJuice/convert-dialog
...
Replace the compress/uncompress actions with a convert dialog
2020-04-28 12:37:17 -04:00
JosJuice
bacf0d629d
VolumeVerifier: Show desync warning for dual layer discs too
2020-04-25 19:47:08 +02:00
JosJuice
6ffcbcee70
DiscIO: Move scrubbing code out of ConvertToGCZ
...
This way, scrubbing can also be performed when converting
to other formats.
2020-04-24 15:11:20 +02:00
JosJuice
04c7892b93
DiscIO: Add GameCube disc scrubbing support
...
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).
2020-04-24 15:10:36 +02:00
JosJuice
cefc2a7baa
DiscIO: Fix edge case where blocks could get scrubbed accidentally
...
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.
2020-04-24 15:10:36 +02:00
JosJuice
42f6913bcc
Move DiscIO::ConvertToPlain to FileBlob.cpp
...
There is no longer anything GCZ specific about it.
2020-04-24 15:10:35 +02:00
JosJuice
8a9597e32e
DiscIO: Allow converting from formats other than ISO and GCZ
...
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.
2020-04-24 15:10:35 +02:00
JosJuice
432f342bc8
DiscIO: Use a struct for Wii hashes
2020-04-24 14:44:29 +02:00
JosJuice
da9e0fb598
DiscIO: Parallelize the re-encryption code
2020-04-24 14:44:26 +02:00
JosJuice
319c508978
DiscIO: Implement re-encryption of Wii partition data
2020-04-24 14:24:12 +02:00
JosJuice
a4c7100bcc
DiscIO: Use partition data offset for ReadWiiDecrypted parameter
...
Instead of the partition offset (which is usually 0x20000 less).
2020-04-24 14:16:55 +02:00
JosJuice
19e9a9c945
DiscIO: Clean up decompression size calculation
...
We can use subtraction and std::min instead of
modulo and explicit if statements.
This commit does not change the behavior.
2020-04-15 22:15:40 +02:00
JosJuice
3aa463cdae
DiscIO: Fix decompressing writing too much sometimes
...
This issue cannot happen with good dumps due to their size,
but it can happen with trimmed dumps.
2020-04-12 21:47:10 +02:00
JosJuice
26b21e3186
DiscIO: Fix decompressing writing too little sometimes
...
This issue cannot happen with good dumps due to their size,
but it can happen with trimmed dumps.
2020-04-12 21:45:55 +02:00
Jun Su
d44c51b30c
DiscIO: cleanup warnings of -Wmaybe-uninitialized
...
replace {} with std::nullopt.
2020-03-23 14:14:00 +08:00
Tilka and GitHub
103b3abf66
Merge pull request #8621 from JosJuice/volumeverifier-invalid-partition
...
Fix VolumeVerifier not showing a problem for invalid partitions
2020-02-10 09:33:29 +00:00
JosJuice
829f3cff6f
VolumeVerifier: Ignore invalid partitions in GetBiggestReferencedOffset
...
Otherwise GetBiggestReferencedOffset might treat garbage data as a valid
large offset, making Dolphin incorrectly say that the disc is too small.
2020-02-09 19:05:44 +01:00
JosJuice
07df6597a5
Fix VolumeVerifier not showing a problem for invalid partitions
2020-02-09 18:58:15 +01:00
Léo Lam and GitHub
166e86b97f
Merge pull request #8619 from JosJuice/directoryblob-check-seek
...
DiscIO: Check for DirectoryBlob seek failure
2020-02-09 15:49:37 +01:00
JosJuice
9a348ae654
DiscIO: Check for DirectoryBlob seek failure
...
Someone reported a problem with DirectoryBlob at
https://forums.dolphin-emu.org/Thread-feature-request-thread?pid=502820#pid502820 .
I'm not sure if the change in this commit actually fixes that problem,
but it's something I found that should be changed regardless.
2020-02-09 11:21:10 +01:00
JosJuice
f8355d0f82
VolumeVerifier: Don't return early when file is too small
...
Not sure why that was there.
2020-02-02 17:09:58 +01:00