mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-02 17:21:16 +01:00
69f01bac39
You may want to read the PR #2047 comments before reading this. Dolphin attempts to support an unencrypted type of Wii discs that apparently is identified by a 4-byte integer at 0x60 being non-zero. I don't know what discs (if any) would be using that format, so I haven't been able to test Dolphin's support for it, but it has probably been broken for a while. The old implementation is very short but also strange. In CreateVolumeFromFilename, we read a 4-byte integer from 0x60, and if it's non-zero, we create a CVolumeGC object instead of a CVolumeWiiCrypted object. This might seem like it makes no sense, but it presumably worked in the past because IsVolumeWiiDisc used to check the volume type by reading the magic word for Wii straight from the disc, meaning that CVolumeGC objects representing unencrypted Wii discs would be treated as Wii discs by pretty much all of Dolphin's code except for the volume implementation code. (It wasn't possible to simply use CVolumeWiiCrypted, because that class only handled encrypted discs, like the name says.) However, that stopped working as intended because of |
||
---|---|---|
.. | ||
Blob.cpp | ||
Blob.h | ||
CISOBlob.cpp | ||
CISOBlob.h | ||
CMakeLists.txt | ||
CompressedBlob.cpp | ||
CompressedBlob.h | ||
DiscIO.vcxproj | ||
DiscIO.vcxproj.filters | ||
DiscScrubber.cpp | ||
DiscScrubber.h | ||
DriveBlob.cpp | ||
DriveBlob.h | ||
Enums.cpp | ||
Enums.h | ||
FileBlob.cpp | ||
FileBlob.h | ||
Filesystem.cpp | ||
Filesystem.h | ||
FileSystemGCWii.cpp | ||
FileSystemGCWii.h | ||
NANDContentLoader.cpp | ||
NANDContentLoader.h | ||
NANDImporter.cpp | ||
NANDImporter.h | ||
TGCBlob.cpp | ||
TGCBlob.h | ||
Volume.cpp | ||
Volume.h | ||
VolumeDirectory.cpp | ||
VolumeDirectory.h | ||
VolumeGC.cpp | ||
VolumeGC.h | ||
VolumeWad.cpp | ||
VolumeWad.h | ||
VolumeWiiCrypted.cpp | ||
VolumeWiiCrypted.h | ||
WbfsBlob.cpp | ||
WbfsBlob.h | ||
WiiWad.cpp | ||
WiiWad.h |