diff options
author | bunnei <bunneidev@gmail.com> | 2018-08-16 00:25:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-16 00:25:57 +0200 |
commit | 69236e5affdb8603b5e61fae2c0acb5853129956 (patch) | |
tree | 334d2ea7d8997163640af2d0d2e25c841597241a | |
parent | Merge pull request #1051 from B3n30/UnscheduleEventThreadsafe (diff) | |
parent | loader: Make ResultStatus directly compatible with fmt (diff) | |
download | yuzu-69236e5affdb8603b5e61fae2c0acb5853129956.tar yuzu-69236e5affdb8603b5e61fae2c0acb5853129956.tar.gz yuzu-69236e5affdb8603b5e61fae2c0acb5853129956.tar.bz2 yuzu-69236e5affdb8603b5e61fae2c0acb5853129956.tar.lz yuzu-69236e5affdb8603b5e61fae2c0acb5853129956.tar.xz yuzu-69236e5affdb8603b5e61fae2c0acb5853129956.tar.zst yuzu-69236e5affdb8603b5e61fae2c0acb5853129956.zip |
-rw-r--r-- | src/core/file_sys/card_image.cpp | 7 | ||||
-rw-r--r-- | src/core/loader/loader.cpp | 12 | ||||
-rw-r--r-- | src/core/loader/loader.h | 4 | ||||
-rw-r--r-- | src/yuzu/main.cpp | 5 | ||||
-rw-r--r-- | src/yuzu_cmd/yuzu.cpp | 4 |
5 files changed, 18 insertions, 14 deletions
diff --git a/src/core/file_sys/card_image.cpp b/src/core/file_sys/card_image.cpp index 8e05b9d0e..060948f9e 100644 --- a/src/core/file_sys/card_image.cpp +++ b/src/core/file_sys/card_image.cpp @@ -4,11 +4,14 @@ #include <array> #include <string> -#include <core/loader/loader.h> + +#include <fmt/ostream.h> + #include "common/logging/log.h" #include "core/file_sys/card_image.h" #include "core/file_sys/partition_filesystem.h" #include "core/file_sys/vfs_offset.h" +#include "core/loader/loader.h" namespace FileSys { @@ -142,7 +145,7 @@ Loader::ResultStatus XCI::AddNCAFromPartition(XCIPartition part) { const u16 error_id = static_cast<u16>(nca->GetStatus()); LOG_CRITICAL(Loader, "Could not load NCA {}/{}, failed with error code {:04X} ({})", partition_names[static_cast<size_t>(part)], nca->GetName(), error_id, - Loader::GetMessageForResultStatus(nca->GetStatus())); + nca->GetStatus()); } } diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp index b143f043c..5e07a3f10 100644 --- a/src/core/loader/loader.cpp +++ b/src/core/loader/loader.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include <memory> +#include <ostream> #include <string> #include "common/logging/log.h" #include "common/string_util.h" @@ -119,14 +120,9 @@ constexpr std::array<const char*, 36> RESULT_MESSAGES{ "There is no control data available.", }; -std::string GetMessageForResultStatus(ResultStatus status) { - return GetMessageForResultStatus(static_cast<u16>(status)); -} - -std::string GetMessageForResultStatus(u16 status) { - if (status >= 36) - return ""; - return RESULT_MESSAGES[status]; +std::ostream& operator<<(std::ostream& os, ResultStatus status) { + os << RESULT_MESSAGES.at(static_cast<size_t>(status)); + return os; } /** diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h index 6dffe451a..b74cfbf8a 100644 --- a/src/core/loader/loader.h +++ b/src/core/loader/loader.h @@ -5,6 +5,7 @@ #pragma once #include <algorithm> +#include <iosfwd> #include <memory> #include <string> #include <utility> @@ -94,8 +95,7 @@ enum class ResultStatus : u16 { ErrorNoControl, }; -std::string GetMessageForResultStatus(ResultStatus status); -std::string GetMessageForResultStatus(u16 status); +std::ostream& operator<<(std::ostream& os, ResultStatus status); /// Interface for loading an application class AppLoader : NonCopyable { diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 94fb8ae6a..4bbea3f3c 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -6,7 +6,10 @@ #include <clocale> #include <memory> #include <thread> + +#include <fmt/ostream.h> #include <glad/glad.h> + #define QT_NO_OPENGL #include <QDesktopWidget> #include <QFileDialog> @@ -454,7 +457,7 @@ bool GMainWindow::LoadROM(const QString& filename) { "While attempting to load the ROM requested, an error occured. Please " "refer to the yuzu wiki for more information or the yuzu discord for " "additional help.\n\nError Code: {:04X}-{:04X}\nError Description: {}", - loader_id, error_id, Loader::GetMessageForResultStatus(error_id)))); + loader_id, error_id, static_cast<Loader::ResultStatus>(error_id)))); } else { QMessageBox::critical( this, tr("Error while loading ROM!"), diff --git a/src/yuzu_cmd/yuzu.cpp b/src/yuzu_cmd/yuzu.cpp index e44a98311..9095cf27d 100644 --- a/src/yuzu_cmd/yuzu.cpp +++ b/src/yuzu_cmd/yuzu.cpp @@ -7,6 +7,8 @@ #include <string> #include <thread> +#include <fmt/ostream.h> + #include "common/common_paths.h" #include "common/logging/backend.h" #include "common/logging/filter.h" @@ -194,7 +196,7 @@ int main(int argc, char** argv) { "While attempting to load the ROM requested, an error occured. Please " "refer to the yuzu wiki for more information or the yuzu discord for " "additional help.\n\nError Code: {:04X}-{:04X}\nError Description: {}", - loader_id, error_id, Loader::GetMessageForResultStatus(error_id)); + loader_id, error_id, static_cast<Loader::ResultStatus>(error_id)); } } |