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 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;