dolphin/Source/Core/DiscIO
Léo Lam 9000a042e4 Drop the direct WAD launch hack
This removes the hack that enables directly booting from WADs
without installing them first for the following reasons:

1. It makes the NAND content handling much more complicated than what
   it should be and makes future changes like permissions or booting
   NAND titles without a WAD more annoying to implement.

   Because of this hack, we needed an extra level of abstraction
   (NANDContent*) which has to read tons of things from the NAND, even
   most of the time it's useless. This in turn forces us to have
   caching, which is known to break titles and requires manual cache
   invalidations. Annoying and error prone.

2. It prevents the WAD boot code from being easily accurate. With this
   change, we can simply reuse the existing launch code, and ask IOS
   to launch the title from the NAND.

3. The hack did not work that well since it did not cover a lot of ES
   commands. And it works even less since the ES accuracy fixes.
   This results in Dolphin returning inconsistent results: a
   lot of the ES "DI" commands will just fail because the active title
   is not installed on the NAND. uid.sys is not changed, etc.

   And I'm not even talking about FS stuff -- where this would still
   totally fail, unless we add even more unnecessary hacks.

   This is not just theoretical -- the system menu and the Wii Shop are
   known to behave strangely because the hack damages the NAND
   structure, and we've already had several users report issues.

This commit makes it so WADs are always installed prior to launching.
A future commit will remove any code that was there only for the hack.
2017-10-24 11:41:54 +02:00
..
Blob.cpp Don't check validity twice when creating DirectoryBlob 2017-08-01 11:36:40 +02:00
Blob.h Blob: Add interface for reading decrypted Wii data directly 2017-08-01 11:36:40 +02:00
CISOBlob.cpp Move IOFile to a separate file 2017-06-15 21:33:50 +02:00
CISOBlob.h Move IOFile to a separate file 2017-06-15 21:33:50 +02:00
CMakeLists.txt DiscIO: Add a blob reader for Volume files 2017-08-10 23:47:18 +08:00
CompressedBlob.cpp Move IOFile to a separate file 2017-06-15 21:33:50 +02:00
CompressedBlob.h Move IOFile to a separate file 2017-06-15 21:33:50 +02:00
DirectoryBlob.cpp DirectoryBlob: Fix reading beyond the end of the disc 2017-08-01 21:58:18 +02:00
DirectoryBlob.h Revert "DirectoryBlob: Use NonCopyable" 2017-08-22 16:35:37 +02:00
DiscExtractor.cpp DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
DiscExtractor.h DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
DiscIO.vcxproj DiscIO: Add a blob reader for Volume files 2017-08-10 23:47:18 +08:00
DiscIO.vcxproj.filters DiscIO: Add a blob reader for Volume files 2017-08-10 23:47:18 +08:00
DiscScrubber.cpp DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
DiscScrubber.h Filesystem: Replace GetFileList() 2017-06-14 15:23:48 +02:00
DriveBlob.cpp Move IOFile to a separate file 2017-06-15 21:33:50 +02:00
DriveBlob.h Move IOFile to a separate file 2017-06-15 21:33:50 +02:00
Enums.cpp Add some missing WiiWare makers 2017-10-08 13:04:23 +02:00
Enums.h Add warning comments to RegionSwitch and code that uses it 2017-07-16 14:49:28 +02:00
FileBlob.cpp Don't create new IOFiles when creating a blob 2017-01-11 13:23:23 +01:00
FileBlob.h Move IOFile to a separate file 2017-06-15 21:33:50 +02:00
FileSystemGCWii.cpp DiscIO: Remove m_partition and m_volume from FileSystem 2017-09-15 18:57:05 +02:00
FileSystemGCWii.h DiscIO: Add a Volume::ReadSwappedAndShifted function 2017-08-02 22:00:51 +02:00
Filesystem.cpp DiscIO: Remove m_partition and m_volume from FileSystem 2017-09-15 18:57:05 +02:00
Filesystem.h DiscIO: Remove m_partition and m_volume from FileSystem 2017-09-15 18:57:05 +02:00
NANDContentLoader.cpp FileUtil: Add a class for Exists/IsDirectory/GetSize 2017-06-29 19:07:29 +02:00
NANDContentLoader.h Fix two small lint errors 2017-08-13 19:06:10 -07:00
NANDImporter.cpp NANDImporter: Improve certificate extraction 2017-06-19 01:23:58 -06:00
NANDImporter.h NANDImporter: Improve certificate extraction 2017-06-19 01:23:58 -06:00
TGCBlob.cpp TGCBlob: Fix brace style 2017-10-08 12:38:12 +02:00
TGCBlob.h TGCBlob: Make m_file_area_shift signed 2017-10-08 12:30:53 +02:00
Volume.cpp Turn VolumeDirectory into DirectoryBlob 2017-08-01 11:36:40 +02:00
Volume.h DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
VolumeFileBlobReader.cpp DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
VolumeFileBlobReader.h DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
VolumeGC.cpp VolumeGC: Add a default constructor for ConvertedGCBanner 2017-09-15 20:47:49 +02:00
VolumeGC.h VolumeGC: Add a default constructor for ConvertedGCBanner 2017-09-15 20:47:49 +02:00
VolumeWad.cpp DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
VolumeWad.h DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
VolumeWii.cpp DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
VolumeWii.h DiscIO: Use Common::Lazy for loading filesystems 2017-09-15 18:57:05 +02:00
WbfsBlob.cpp Move IOFile to a separate file 2017-06-15 21:33:50 +02:00
WbfsBlob.h Move IOFile to a separate file 2017-06-15 21:33:50 +02:00
WiiWad.cpp WiiWad: Allow using WiiWad with more than just files 2017-08-10 23:47:18 +08:00
WiiWad.h Drop the direct WAD launch hack 2017-10-24 11:41:54 +02:00