summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/control_metadata.cpp
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-07-23 18:33:24 +0200
committerZach Hilman <zachhilman@gmail.com>2018-07-23 18:34:26 +0200
commite8f641a52de33b33e0d6c73ee7ca07f06dcd8aeb (patch)
tree262ba8e104beb57733f0e7c8e0703b87ed013ce2 /src/core/file_sys/control_metadata.cpp
parentMerge pull request #769 from bunnei/shader-mask-fixes (diff)
downloadyuzu-e8f641a52de33b33e0d6c73ee7ca07f06dcd8aeb.tar
yuzu-e8f641a52de33b33e0d6c73ee7ca07f06dcd8aeb.tar.gz
yuzu-e8f641a52de33b33e0d6c73ee7ca07f06dcd8aeb.tar.bz2
yuzu-e8f641a52de33b33e0d6c73ee7ca07f06dcd8aeb.tar.lz
yuzu-e8f641a52de33b33e0d6c73ee7ca07f06dcd8aeb.tar.xz
yuzu-e8f641a52de33b33e0d6c73ee7ca07f06dcd8aeb.tar.zst
yuzu-e8f641a52de33b33e0d6c73ee7ca07f06dcd8aeb.zip
Diffstat (limited to '')
-rw-r--r--src/core/file_sys/control_metadata.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/core/file_sys/control_metadata.cpp b/src/core/file_sys/control_metadata.cpp
new file mode 100644
index 000000000..3ddc9f162
--- /dev/null
+++ b/src/core/file_sys/control_metadata.cpp
@@ -0,0 +1,42 @@
+// Copyright 2018 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "common/string_util.h"
+#include "common/swap.h"
+#include "core/file_sys/control_metadata.h"
+
+namespace FileSys {
+
+std::string LanguageEntry::GetApplicationName() const {
+ return Common::StringFromFixedZeroTerminatedBuffer(application_name.data(), 0x200);
+}
+
+std::string LanguageEntry::GetDeveloperName() const {
+ return Common::StringFromFixedZeroTerminatedBuffer(developer_name.data(), 0x100);
+}
+
+NACP::NACP(VirtualFile file_) : file(std::move(file_)), raw(std::make_unique<RawNACP>()) {
+ file->ReadObject(raw.get());
+}
+
+const LanguageEntry& NACP::GetLanguageEntry(Language language) const {
+ return raw->language_entries.at(static_cast<u8>(language));
+}
+
+std::string NACP::GetApplicationName(Language language) const {
+ return GetLanguageEntry(language).GetApplicationName();
+}
+
+std::string NACP::GetDeveloperName(Language language) const {
+ return GetLanguageEntry(language).GetDeveloperName();
+}
+
+u64 NACP::GetTitleId() const {
+ return raw->title_id;
+}
+
+std::string NACP::GetVersionString() const {
+ return Common::StringFromFixedZeroTerminatedBuffer(raw->version_string.data(), 0x10);
+}
+} // namespace FileSys