diff options
| author | JosJuice <josjuice@gmail.com> | 2018-08-03 16:19:18 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-03 16:19:18 +0200 |
| commit | d425732837980e188026e791e24955e5aa2ec738 (patch) | |
| tree | b29b8aa36fc1a87a539f78ad0502393e98ad9560 /Source/Core/DiscIO/DiscExtractor.cpp | |
| parent | cf116d488a48041a126c0e71b318b9b5b6bfe812 (diff) | |
| parent | 800c1570ea6ab1ee827c482ed06186a391fbbda1 (diff) | |
Merge pull request #7297 from booto/no-dol
ExportDOL: ActionReplay has a 0'd dol offset. Don't try to extract.
Diffstat (limited to 'Source/Core/DiscIO/DiscExtractor.cpp')
| -rw-r--r-- | Source/Core/DiscIO/DiscExtractor.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/Core/DiscIO/DiscExtractor.cpp b/Source/Core/DiscIO/DiscExtractor.cpp index f71b9d5aca..3bfdbc2c11 100644 --- a/Source/Core/DiscIO/DiscExtractor.cpp +++ b/Source/Core/DiscIO/DiscExtractor.cpp @@ -263,7 +263,13 @@ std::optional<u64> GetBootDOLOffset(const Volume& volume, const Partition& parti if (!IsDisc(volume_type)) return {}; - return volume.ReadSwappedAndShifted(0x420, partition); + std::optional<u64> dol_offset = volume.ReadSwappedAndShifted(0x420, partition); + + // Datel AR disc has 0x00000000 as the offset (invalid) and doesn't use it in the AppLoader. + if (dol_offset && *dol_offset == 0) + dol_offset.reset(); + + return dol_offset; } std::optional<u32> GetBootDOLSize(const Volume& volume, const Partition& partition, u64 dol_offset) |
