summaryrefslogtreecommitdiff
path: root/Source/Core/DiscIO
AgeCommit message (Collapse)Author
2022-08-21DiscIO: Fix an incorrect error check in NFSBlobJosJuice
2022-08-20DiscIO: Fix calculation of NFS raw sizeJosJuice
2022-08-18CMake: Properly include lzma include directoriesTellowKrinkle
2022-08-18CMake: Properly include zstd include directoriesTellowKrinkle
2022-08-16fix verifying wii dev signaturesShawn Hoffman
allows verifying dev-signed discs and wads
2022-08-10DirectoryBlob: Fix partition size mixup for encrypted Wii discs.Admiral H. Curtiss
2022-08-04DiscIO/VolumeVerifier: Add a note about NFS bad dumpsJosJuice
2022-08-04DiscIO/VolumeVerifier: Small logic cleanupJosJuice
Just for ease of reading. No behavioral difference.
2022-08-04DiscIO: Adjust GetDataSizeType logic for NFSJosJuice
2022-08-04DiscIO: Replace IsDataSizeAccurate with GetDataSizeTypeJosJuice
Previously, we had WBFS and CISO which both returned an upper bound of the size, and other formats which returned an accurate size. But now we also have NFS, which returns a lower bound of the size. To allow VolumeVerifier to make better informed decisions for NFS, let's use an enum instead of a bool for the type of data size a blob has.
2022-08-04DiscIO: Add support for the NFS formatJosJuice
For a few years now, I've been thinking it would be nice to make Dolphin support reading Wii games in the format they come in when you download them from the Wii U eShop. The Wii U eShop has some good deals on Wii games (Metroid Prime Trilogy especially is rather expensive if you try to buy it physically!), and it's the only place right now where you can buy Wii games digitally. Of course, Nintendo being Nintendo, next year they're going to shut down this only place where you can buy Wii games digitally. I kind of wish I had implemented this feature earlier so that people would've had ample time to buy the games they want, but... better late than never, right? I used MIT-licensed code from the NOD library as a reference when implementing this. None of the code has been directly copied, but you may notice that the names of the struct members are very similar. https://gitlab.axiodl.com/AxioDL/nod/blob/c1635245b881ed0004ff5e616896579ce1b19164/lib/DiscIONFS.cpp
2022-08-04DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed"JosJuice
Needed for the next commit. NFS disc images are hashed but not encrypted. While we're at it, also get rid of SupportsIntegrityCheck. It does the same thing as old IsEncryptedAndHashed and new HasWiiHashes.
2022-08-02VolumeVerifier: enable fast hash functions by defaultShawn Hoffman
sets defaults based on cpu support.
2022-08-02Merge pull request #10903 from shuffle2/hash-reorgTilka
Common/Hash: use zlib-ng for adler32. small cleanups.
2022-08-01Common/Hash: use zlib-ng for adler32. small cleanups.Shawn Hoffman
2022-08-01Implement hw accelerated AESShawn Hoffman
2022-07-30Merge pull request #10899 from shuffle2/sha1Admiral H. Curtiss
add hw-accelerated SHA1
2022-07-28Merge pull request #10730 from AdmiralCurtiss/riivolution-sysfile-patchesJMC47
Riivolution: Add custom extension to patch boot.bin, bi2.bin, and apploader.img.
2022-07-28VolumeVerifier: Fix read_succeeded conditionJosJuice
We shouldn't set m_read_errors_occurred to true just because is_data_needed was false.
2022-07-26WIABlob: remove outdated mbedtls workaroundShawn Hoffman
2022-07-26introduce wrapper for SHA1 functionalityShawn Hoffman
2022-07-25StripSpaces: only strip spacesShawn Hoffman
StripWhitespace maintains old behavior
2022-07-19DiscIO/DirectoryBlob: Add callback to modify sys files before they're added ↵Admiral H. Curtiss
to the disc.
2022-07-19DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and ↵Admiral H. Curtiss
"dolphin_sys_folder" to patch sys files like you would patch regular files.
2022-07-19DiscIO/DirectoryBlob: Add ContentSource that stores data locally in std::vector.Admiral H. Curtiss
2022-07-19DiscIO/RiivolutionPatcher: Skip main.dol patches if no main.dol was given.Admiral H. Curtiss
2022-07-17VolumeVerifier: Ignore case when looking for IOS on update partitionJosJuice
One of the Dragon Quest X expansions (S4SJGD) uses lowercase instead of the usual uppercase for the IOS59 file on its update partition.
2022-07-13DiscIO/VolumeVerifier: Don't try to verify data that would read out of bounds.Admiral H. Curtiss
2022-06-14Merge pull request #10743 from tellowkrinkle/LargeBlockRVZJMC47
Fix creation of rvz with > 2mb chunk size
2022-06-11DiscIO: Fix creation of rvz with > 2mb chunk sizeTellowKrinkle
2022-06-06CMake: rename minizip to minizip-ngTillmann Karras
minizip-ng is the new name used by the upstream project as well as all distros other than Fedora (but it looks like it will be renamed there).
2022-05-22cmake: Don't use PCH with Qt6.Admiral H. Curtiss
2022-03-26Merge pull request #10514 from JosJuice/datel-no-gametdbAdmiral H. Curtiss
DiscIO: Don't return GameTDB ID for any Datel disc
2022-03-20Merge pull request #10491 from Minty-Meeo/dolphin-tool-more-stuffAdmiral H. Curtiss
More dolphin-tool features and options
2022-03-19Added a way to check Block Size, Compression Method, and Compression Level ↵Minty-Meeo
flags to dolphin-tool New dolphin-tool command: "header" -b / --block_size -c / --compression -l / --compression_level Informative RVZ/WIA header2 value "compression_level" is now a s32 instead of a u32, because negative compression is a thing. Speaking of, it is now possible to use negative compression levels in dolphin-tool's convert command (not the GUI, though).
2022-03-15DiscIO: Don't return GameTDB ID for any Datel discJosJuice
DTLX01 can be either a Freeloader or Action Replay, so it's inappropriate to always use the same title and cover for it.
2022-03-12DiscIO: Treat game ID DTLX01 as a Datel discJosJuice
Needed for the disc mentioned in the previous commit.
2022-03-12VolumeVerifier: Skip "lacks some data" check for Datel discsJosJuice
Turns out there's some Freeloader disc for the GC that triggers this despite being a good dump. This warning is mostly intended to catch Wii games that have been truncated at the 4.00 GiB or 4.38 GiB mark anyway, and if someone does have a Datel dump that has been truncated, they'll still get the "unusual size" warning.
2022-03-01NANDImporter: Only read the AES key onceStarsam80
There is no need to constantly reset the key for every file entry.
2022-03-01NANDImporter: Make superblocks less magicalStarsam80
Create a struct describing the superblock layout and use it directly without needing to specify offsets and such.
2022-03-01NANDImporter: Don't pass paths if we don't need toStarsam80
2022-03-01NANDImporter: Reduce recursion in `ProcessEntry`Starsam80
It also simplifies the code flow, as it no longer goes backwards through the filesystem chain.
2022-03-01NANDImporter: Improve NANDFSTEntryStarsam80
`uid` is a u32, not a u16. Also, everything is big endian, so we can simplify the code a little bit.
2022-03-01NANDImporter: Make a class variable for the NAND rootStarsam80
2022-02-13Fix integer sign difference comparison warningsPokechu22
2022-01-29IOFile: Rename Clear() to ClearError() for clarity.Admiral H. Curtiss
2022-01-29IOFile: Make origin parameter to Seek() an enum class.Admiral H. Curtiss
2022-01-23DiscIO: Delete an unused function declarationJosJuice
2022-01-20Merge pull request #10367 from Pokechu22/fmt-8.1.1JosJuice
Update to fmt 8.1.1
2022-01-16Use Common::ToLower and Common::ToUpperPokechu22