diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2020-12-31 19:33:48 +0100 |
|---|---|---|
| committer | Admiral H. Curtiss <pikachu025@gmail.com> | 2021-01-02 17:46:11 +0100 |
| commit | 700d53e00f285b6471734563c8564c01cf5381f4 (patch) | |
| tree | 6c89a0caef1e591aac514d2b34d8ca92f20dbfed /Source/Core | |
| parent | 46e4c17db3f43be968a9ce9ff4f4e86a22a7a872 (diff) | |
WiiSave: In Import(), make sure the TMD exists or can be reinstalled before allowing save to be imported.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/HW/WiiSave.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/Core/Core/HW/WiiSave.cpp b/Source/Core/Core/HW/WiiSave.cpp index 7552686a6a..dd4108a59b 100644 --- a/Source/Core/Core/HW/WiiSave.cpp +++ b/Source/Core/Core/HW/WiiSave.cpp @@ -40,6 +40,7 @@ #include "Core/IOS/IOS.h" #include "Core/IOS/IOSC.h" #include "Core/IOS/Uids.h" +#include "Core/WiiUtils.h" namespace WiiSave { @@ -475,6 +476,14 @@ bool Import(const std::string& data_bin_path, std::function<bool()> can_overwrit ERROR_LOG_FMT(CORE, "WiiSave::Import: Failed to read header"); return false; } + + if (!WiiUtils::EnsureTMDIsImported(*ios.GetFS(), *ios.GetES(), header->tid)) + { + ERROR_LOG_FMT(CORE, "WiiSave::Import: Failed to find or import TMD for title {:16x}", + header->tid); + return false; + } + const auto nand = MakeNandStorage(ios.GetFS().get(), header->tid); if (nand->SaveExists() && !can_overwrite()) return false; |
