diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-07-23 18:33:24 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-07-23 18:34:26 +0200 |
commit | e8f641a52de33b33e0d6c73ee7ca07f06dcd8aeb (patch) | |
tree | 262ba8e104beb57733f0e7c8e0703b87ed013ce2 /src/core/file_sys/control_metadata.cpp | |
parent | Merge pull request #769 from bunnei/shader-mask-fixes (diff) | |
download | yuzu-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 'src/core/file_sys/control_metadata.cpp')
-rw-r--r-- | src/core/file_sys/control_metadata.cpp | 42 |
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 |