summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/patch_manager.h
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-08-26 01:03:45 +0200
committerZach Hilman <zachhilman@gmail.com>2018-09-04 22:22:25 +0200
commit8e900a301a1094d74f68f173c7dec67b12baec25 (patch)
tree1f9491769fc1f59b207e0442d1b903018a868ed9 /src/core/file_sys/patch_manager.h
parentfile_sys: Add BKTR patching mechanism (diff)
downloadyuzu-8e900a301a1094d74f68f173c7dec67b12baec25.tar
yuzu-8e900a301a1094d74f68f173c7dec67b12baec25.tar.gz
yuzu-8e900a301a1094d74f68f173c7dec67b12baec25.tar.bz2
yuzu-8e900a301a1094d74f68f173c7dec67b12baec25.tar.lz
yuzu-8e900a301a1094d74f68f173c7dec67b12baec25.tar.xz
yuzu-8e900a301a1094d74f68f173c7dec67b12baec25.tar.zst
yuzu-8e900a301a1094d74f68f173c7dec67b12baec25.zip
Diffstat (limited to 'src/core/file_sys/patch_manager.h')
-rw-r--r--src/core/file_sys/patch_manager.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/core/file_sys/patch_manager.h b/src/core/file_sys/patch_manager.h
new file mode 100644
index 000000000..2a39c473a
--- /dev/null
+++ b/src/core/file_sys/patch_manager.h
@@ -0,0 +1,42 @@
+// Copyright 2018 yuzu emulator team
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <map>
+#include "common/common_types.h"
+#include "core/file_sys/vfs.h"
+
+namespace FileSys {
+
+std::string FormatTitleVersion(u32 version, bool full = false);
+
+enum class PatchType {
+ Update,
+};
+
+std::string FormatPatchTypeName(PatchType type);
+
+// A centralized class to manage patches to games.
+class PatchManager {
+public:
+ explicit PatchManager(u64 title_id);
+
+ // Currently tracked ExeFS patches:
+ // - Game Updates
+ VirtualDir PatchExeFS(VirtualDir exefs) const;
+
+ // Currently tracked RomFS patches:
+ // - Game Updates
+ VirtualFile PatchRomFS(VirtualFile romfs) const;
+
+ // Returns a vector of pairs between patch names and patch versions.
+ // i.e. Update v80 will return {Update, 80}
+ std::map<PatchType, u32> GetPatchVersionNames() const;
+
+private:
+ u64 title_id;
+};
+
+} // namespace FileSys