// Copyright 2018 yuzu emulator team // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #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 GetPatchVersionNames() const; private: u64 title_id; }; } // namespace FileSys