Re-enables OTR patches from mods folder (#1785)

* Re-enables OTR patches from mods folder.

* Don't error if an OTR doesn't include a version file

Just info log and continue. If the patch fails to apply then we can error, and SoH can do it's own validation later.

* Fixes small error on my side
This commit is contained in:
Christopher Leggett
2022-10-17 18:44:10 -04:00
parent 58369e321f
commit 6d7112168e
3 changed files with 9 additions and 4 deletions
+3 -4
View File
@@ -448,12 +448,12 @@ namespace Ship {
}
for (int j = i; j < OTRFiles.size(); j++) {
#ifdef _WIN32
std::wstring wfullPath = std::filesystem::absolute(OTRFiles[i]).wstring();
std::wstring wfullPath = std::filesystem::absolute(OTRFiles[j]).wstring();
#endif
#if defined(__SWITCH__)
std::string fullPath = OTRFiles[i];
#else
std::string fullPath = std::filesystem::absolute(OTRFiles[i]).string();
std::string fullPath = std::filesystem::absolute(OTRFiles[j]).string();
#endif
if (LoadPatchMPQ(fullPath, true))
{
@@ -493,8 +493,7 @@ namespace Ship {
// i.e. Ocarina of Time along with Master Quest.
if (validateVersion) {
if (!PushGameVersion(patchHandle)) {
SPDLOG_WARN("({}) Invalid MQP file.", path.c_str());
return false;
SPDLOG_INFO("({}) Missing version file. Attempting to apply patch anyway.", path.c_str());
}
}
}
+4
View File
@@ -77,6 +77,10 @@ void ThrowMissingOTR(const char* otrPath) {
OSFatal("Main OTR file not found!");
}
void ThrowInvalidOTR() {
OSFatal("Invalid OTR files! Try regenerating them!");
}
void Update() {
bool rescan = false;
+2
View File
@@ -12,6 +12,8 @@ void Exit();
void ThrowMissingOTR(const char* otrPath);
void ThrowInvalidOTR();
void Update();
VPADStatus *GetVPADStatus(VPADReadError *error);