dolphin/Source/Core/DiscIO
JosJuice e5b9e1ba1f WIA: Reuse groups when writing
This is useful for the way Dolphin scrubs Wii discs.
The encrypted data is what gets zeroed out, but this
zeroed out data then gets decrypted before being stored,
and the resulting data does not compress well.
However, each block of decrypted scrubbed data is
identical given the same encryption key, and there's
nothing stopping us from making multiple group entries
point to the same offset in the file, so we only have
to store one copy of this data per partition.

For reference, wit zeroes out the decrypted data,
but Dolphin's WIA writer can't do this because it currently
doesn't know which parts of the disc are scrubbed.

This is also useful for things such as storing Datel discs
full of 0x55 blocks (repesenting unreadable blocks)
without compression enabled.
2020-06-17 13:47:34 +02:00
..
Blob.cpp Add an early version of WIABlobReader 2020-06-17 13:43:51 +02:00
Blob.h WIA: Implement compression 2020-06-17 13:47:30 +02:00
CISOBlob.cpp DiscIO: Fix CISOFileReader::GetDataSize() 2020-01-22 18:57:50 +01:00
CISOBlob.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
CMakeLists.txt WIA: Implement bzip2, LZMA, and LZMA2 decompression 2020-06-17 13:43:52 +02:00
CompressedBlob.cpp DiscIO: Implement multithreaded compression 2020-05-06 14:18:51 +02:00
CompressedBlob.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
DirectoryBlob.cpp DiscIO: Implement re-encryption of Wii partition data 2020-04-24 14:24:12 +02:00
DirectoryBlob.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
DiscExtractor.cpp DiscIO: cleanup warnings of -Wmaybe-uninitialized 2020-03-23 14:14:00 +08:00
DiscExtractor.h DiscIO: Use std::string_view in FileSystem::FindFileInfo 2019-05-29 08:29:56 +02:00
DiscIO.vcxproj WIA: Implement bzip2, LZMA, and LZMA2 decompression 2020-06-17 13:43:52 +02:00
DiscIO.vcxproj.filters Add an early version of WIABlobReader 2020-06-17 13:43:51 +02:00
DiscScrubber.cpp DiscIO: Move scrubbing code out of ConvertToGCZ 2020-04-24 15:11:20 +02:00
DiscScrubber.h DiscIO: Move scrubbing code out of ConvertToGCZ 2020-04-24 15:11:20 +02:00
DriveBlob.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
DriveBlob.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
Enums.cpp GetSysMenuVersionString(): Use a char instead of std::string for the region letter. 2019-12-29 23:45:02 -05:00
Enums.h Also override the SYSCONF country setting 2019-08-09 17:33:05 +02:00
FileBlob.cpp DiscIO: Move scrubbing code out of ConvertToGCZ 2020-04-24 15:11:20 +02:00
FileBlob.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
Filesystem.cpp Qt/FilesystemWidget: Add size column 2018-06-02 18:59:56 +02:00
Filesystem.h DiscIO: Avoid copies when comparing FileSystemGCWii file names 2019-05-29 14:53:39 +02:00
FileSystemGCWii.cpp DiscIO: Add functions CreateDisc and CreateWAD 2019-07-18 22:29:04 +02:00
FileSystemGCWii.h DiscIO: Add functions CreateDisc and CreateWAD 2019-07-18 22:29:04 +02:00
MultithreadedCompressor.h DiscIO: Implement multithreaded compression 2020-05-06 14:18:51 +02:00
NANDImporter.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
NANDImporter.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
ScrubbedBlob.cpp DiscIO: Move scrubbing code out of ConvertToGCZ 2020-04-24 15:11:20 +02:00
ScrubbedBlob.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
TGCBlob.cpp Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00
TGCBlob.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
Volume.cpp DiscIO: Add functions CreateDisc and CreateWAD 2019-07-18 22:29:04 +02:00
Volume.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
VolumeFileBlobReader.cpp Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
VolumeFileBlobReader.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
VolumeGC.cpp Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
VolumeGC.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
VolumeVerifier.cpp Externals: Update minizip search path. 2020-04-29 12:41:36 +02:00
VolumeVerifier.h VolumeVerifier: Ignore invalid partitions in GetBiggestReferencedOffset 2020-02-09 19:05:44 +01:00
VolumeWad.cpp Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
VolumeWad.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
VolumeWii.cpp WIA: Write hash exceptions 2020-06-17 13:43:54 +02:00
VolumeWii.h WIA: Write hash exceptions 2020-06-17 13:43:54 +02:00
WbfsBlob.cpp DiscIO: Add out of bounds checks for blob reading 2020-01-14 18:59:31 +01:00
WbfsBlob.h Show an OSD message when running a disc image with a large block size 2020-06-07 14:11:00 +02:00
WIABlob.cpp WIA: Reuse groups when writing 2020-06-17 13:47:34 +02:00
WIABlob.h WIA: Reuse groups when writing 2020-06-17 13:47:34 +02:00
WiiEncryptionCache.cpp WIA: Make use of the exception lists 2020-06-17 13:43:54 +02:00
WiiEncryptionCache.h WIA: Make use of the exception lists 2020-06-17 13:43:54 +02:00
WiiSaveBanner.cpp Common/CommonFuncs: Remove now-unneccessary ArraySize function 2019-06-01 10:07:57 -04:00
WiiSaveBanner.h Reformat repo to clang-format 7.0 rules 2019-05-06 18:48:04 +00:00