dolphin/Source/Core/DiscIO
JosJuice 3a6df63e9b DiscIO: Add support for the NFS format
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.
c1635245b8/lib/DiscIONFS.cpp
2022-08-04 22:00:58 +02:00
..
Blob.cpp DiscIO: Add support for the NFS format 2022-08-04 22:00:58 +02:00
Blob.h DiscIO: Add support for the NFS format 2022-08-04 22:00:58 +02:00
CISOBlob.cpp IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
CISOBlob.h Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
CMakeLists.txt DiscIO: Add support for the NFS format 2022-08-04 22:00:58 +02:00
CompressedBlob.cpp IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
CompressedBlob.h Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
DirectoryBlob.cpp DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed" 2022-08-04 20:29:22 +02:00
DirectoryBlob.h DiscIO/DirectoryBlob: Add callback to modify sys files before they're added to the disc. 2022-07-19 00:55:04 +02:00
DiscExtractor.cpp DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed" 2022-08-04 20:29:22 +02:00
DiscExtractor.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DiscScrubber.cpp DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed" 2022-08-04 20:29:22 +02:00
DiscScrubber.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
DiscUtils.cpp Fix non-constexpr format strings 2022-01-13 11:11:08 -08:00
DiscUtils.h DolphinTool: CLI utility interface and disc image tools 2021-12-03 15:40:19 -06:00
DriveBlob.cpp IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
DriveBlob.h Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
Enums.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
Enums.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FileBlob.cpp IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
FileBlob.h Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
FileSystemGCWii.cpp Use Common::ToLower and Common::ToUpper 2022-01-16 17:00:12 -08:00
FileSystemGCWii.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Filesystem.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Filesystem.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GameModDescriptor.cpp Core: Add a Maker field for GameModDescriptors. 2022-01-02 06:06:53 +01:00
GameModDescriptor.h Core: Add a Maker field for GameModDescriptors. 2022-01-02 06:06:53 +01:00
LaggedFibonacciGenerator.cpp licensing: convert "public domain" to CC0 1.0 2021-07-05 04:43:55 +02:00
LaggedFibonacciGenerator.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
MultithreadedCompressor.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NANDImporter.cpp Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
NANDImporter.h Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
NFSBlob.cpp DiscIO: Add support for the NFS format 2022-08-04 22:00:58 +02:00
NFSBlob.h DiscIO: Add support for the NFS format 2022-08-04 22:00:58 +02:00
RiivolutionParser.cpp DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
RiivolutionParser.h DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
RiivolutionPatcher.cpp DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
RiivolutionPatcher.h DiscIO/Riivolution: Add dolphin-specific extensions "dolphin_sys_file" and "dolphin_sys_folder" to patch sys files like you would patch regular files. 2022-07-19 00:55:04 +02:00
ScrubbedBlob.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
ScrubbedBlob.h Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
TGCBlob.cpp IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
TGCBlob.h Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
Volume.cpp introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
Volume.h DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed" 2022-08-04 20:29:22 +02:00
VolumeDisc.cpp introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
VolumeDisc.h introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
VolumeFileBlobReader.cpp Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
VolumeFileBlobReader.h Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
VolumeGC.cpp introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
VolumeGC.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VolumeVerifier.cpp DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed" 2022-08-04 20:29:22 +02:00
VolumeVerifier.h VolumeVerifier: enable fast hash functions by default 2022-08-02 22:23:49 -07:00
VolumeWad.cpp Implement hw accelerated AES 2022-08-01 10:00:42 -07:00
VolumeWad.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
VolumeWii.cpp DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed" 2022-08-04 20:29:22 +02:00
VolumeWii.h DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed" 2022-08-04 20:29:22 +02:00
WIABlob.cpp DiscIO/VolumeWii: Decouple "is encrypted" from "is hashed" 2022-08-04 20:29:22 +02:00
WIABlob.h introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
WIACompression.cpp introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
WIACompression.h introduce wrapper for SHA1 functionality 2022-07-26 22:16:37 -07:00
WbfsBlob.cpp IOFile: Rename Clear() to ClearError() for clarity. 2022-01-29 06:49:22 +01:00
WbfsBlob.h Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
WiiEncryptionCache.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WiiEncryptionCache.h Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
WiiSaveBanner.cpp IOFile: Make origin parameter to Seek() an enum class. 2022-01-29 06:49:21 +01:00
WiiSaveBanner.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00