summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules10
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/loader/xci.cpp2
-rw-r--r--src/yuzu/main.cpp6
-rw-r--r--src/yuzu_cmd/yuzu.cpp4
5 files changed, 13 insertions, 11 deletions
diff --git a/.gitmodules b/.gitmodules
index 247aac535..4f4e8690b 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -25,9 +25,9 @@
[submodule "unicorn"]
path = externals/unicorn
url = https://github.com/yuzu-emu/unicorn
-[submodule "externals/mbedtls"]
- path = externals/mbedtls
- url = https://github.com/DarkLordZach/mbedtls
+[submodule "mbedtls"]
+ path = externals/mbedtls
+ url = https://github.com/DarkLordZach/mbedtls
[submodule "opus"]
- path = externals/opus
- url = https://github.com/ogniK5377/opus.git
+ path = externals/opus
+ url = https://github.com/ogniK5377/opus.git
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 528d96a58..22fad97a3 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -348,7 +348,7 @@ add_library(core STATIC
create_target_directory_groups(core)
target_link_libraries(core PUBLIC common PRIVATE audio_core video_core)
-target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt lz4_static opus unicorn)
+target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt lz4_static mbedtls opus unicorn)
if (ARCHITECTURE_x86_64)
target_sources(core PRIVATE
diff --git a/src/core/loader/xci.cpp b/src/core/loader/xci.cpp
index d757862f0..eb4dee2c2 100644
--- a/src/core/loader/xci.cpp
+++ b/src/core/loader/xci.cpp
@@ -49,6 +49,8 @@ ResultStatus AppLoader_XCI::Load(Kernel::SharedPtr<Kernel::Process>& process) {
}
if (xci->GetNCAFileByType(FileSys::NCAContentType::Program) == nullptr) {
+ if (!Core::Crypto::KeyManager::KeyFileExists(false))
+ return ResultStatus::ErrorMissingKeys;
return ResultStatus::ErrorDecrypting;
}
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 5bdf41ea4..34d4f0754 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -456,7 +456,7 @@ bool GMainWindow::LoadROM(const QString& filename) {
this, tr("Error while loading ROM!"),
tr(("The game you are trying to load is encrypted and the required keys to load "
"the game could not be found in your configuration. " +
- file_text + " Please refer to <a href=''>How to Dump Keys</a> for help.")
+ file_text + " Please refer to the yuzu wiki for help.")
.c_str()));
break;
}
@@ -465,8 +465,8 @@ bool GMainWindow::LoadROM(const QString& filename) {
this, tr("Error while loading ROM!"),
tr("There was a general error while decrypting the game. This means that the keys "
"necessary were found, but were either incorrect, the game itself was not a "
- "valid game or the game uses an unhandled cryptographic scheme. Please refer to "
- "<a href=''>How to Dump Keys</a> to double check that you have the correct "
+ "valid game or the game uses an unhandled cryptographic scheme. Please double "
+ "check that you have the correct "
"keys."));
break;
}
diff --git a/src/yuzu_cmd/yuzu.cpp b/src/yuzu_cmd/yuzu.cpp
index 5970cdb4e..c3b0d9f1f 100644
--- a/src/yuzu_cmd/yuzu.cpp
+++ b/src/yuzu_cmd/yuzu.cpp
@@ -175,13 +175,13 @@ int main(int argc, char** argv) {
return -1;
case Core::System::ResultStatus::ErrorLoader_ErrorMissingKeys:
LOG_CRITICAL(Frontend, "The game you are trying to load is encrypted and the keys required "
- "could not be found. Please refer to <LINK> for help");
+ "could not be found. Please refer to the yuzu wiki for help");
return -1;
case Core::System::ResultStatus::ErrorLoader_ErrorDecrypting:
LOG_CRITICAL(Frontend, "The game you are trying to load is encrypted and there was a "
"general error while decrypting. This could mean that the keys are "
"incorrect, game is invalid or game uses an unsupported method of "
- "crypto. Please refer to <LINK> to double-check your keys");
+ "crypto. Please double-check your keys");
return -1;
case Core::System::ResultStatus::ErrorLoader_ErrorInvalidFormat:
LOG_CRITICAL(Frontend, "Error while loading ROM: The ROM format is not supported.");