summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2019-06-25 01:05:50 +0200
committerZach Hilman <zachhilman@gmail.com>2019-06-25 01:05:50 +0200
commita468273221097462032991bad2cca1218c2364b2 (patch)
tree700e2744b63a859327283040f17a8d4b43ba0f04
parentMerge pull request #2603 from WamWooWam/master (diff)
downloadyuzu-a468273221097462032991bad2cca1218c2364b2.tar
yuzu-a468273221097462032991bad2cca1218c2364b2.tar.gz
yuzu-a468273221097462032991bad2cca1218c2364b2.tar.bz2
yuzu-a468273221097462032991bad2cca1218c2364b2.tar.lz
yuzu-a468273221097462032991bad2cca1218c2364b2.tar.xz
yuzu-a468273221097462032991bad2cca1218c2364b2.tar.zst
yuzu-a468273221097462032991bad2cca1218c2364b2.zip
-rw-r--r--src/core/file_sys/patch_manager.cpp10
-rw-r--r--src/core/file_sys/patch_manager.h6
2 files changed, 14 insertions, 2 deletions
diff --git a/src/core/file_sys/patch_manager.cpp b/src/core/file_sys/patch_manager.cpp
index da823c37b..a8f80e2c6 100644
--- a/src/core/file_sys/patch_manager.cpp
+++ b/src/core/file_sys/patch_manager.cpp
@@ -493,6 +493,16 @@ std::map<std::string, std::string, std::less<>> PatchManager::GetPatchVersionNam
return out;
}
+std::optional<u32> PatchManager::GetGameVersion() const {
+ const auto& installed = Core::System::GetInstance().GetContentProvider();
+ const auto update_tid = GetUpdateTitleID(title_id);
+ if (installed.HasEntry(update_tid, ContentRecordType::Program)) {
+ return installed.GetEntryVersion(update_tid);
+ }
+
+ return installed.GetEntryVersion(title_id);
+}
+
std::pair<std::unique_ptr<NACP>, VirtualFile> PatchManager::GetControlMetadata() const {
const auto& installed = Core::System::GetInstance().GetContentProvider();
diff --git a/src/core/file_sys/patch_manager.h b/src/core/file_sys/patch_manager.h
index 769f8c6f0..f82b4ae1e 100644
--- a/src/core/file_sys/patch_manager.h
+++ b/src/core/file_sys/patch_manager.h
@@ -66,8 +66,10 @@ public:
std::map<std::string, std::string, std::less<>> GetPatchVersionNames(
VirtualFile update_raw = nullptr) const;
- // Given title_id of the program, attempts to get the control data of the update and parse it,
- // falling back to the base control data.
+ std::optional<u32> GetGameVersion() const;
+
+ // Given title_id of the program, attempts to get the control data of the update and parse
+ // it, falling back to the base control data.
std::pair<std::unique_ptr<NACP>, VirtualFile> GetControlMetadata() const;
// Version of GetControlMetadata that takes an arbitrary NCA