From 23b3047f49c9b4248b34e63b4d2cf903db8b5b95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Fri, 8 Jan 2021 19:24:57 +0100 Subject: [PATCH] Add aocManager header stub --- src/Game/DLC/CMakeLists.txt | 2 ++ src/Game/DLC/aocManager.cpp | 1 + src/Game/DLC/aocManager.h | 39 +++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 src/Game/DLC/aocManager.cpp create mode 100644 src/Game/DLC/aocManager.h diff --git a/src/Game/DLC/CMakeLists.txt b/src/Game/DLC/CMakeLists.txt index 448f098f..27f64e8c 100644 --- a/src/Game/DLC/CMakeLists.txt +++ b/src/Game/DLC/CMakeLists.txt @@ -1,4 +1,6 @@ target_sources(uking PRIVATE aoc2.cpp aoc2.h + aocManager.cpp + aocManager.h ) diff --git a/src/Game/DLC/aocManager.cpp b/src/Game/DLC/aocManager.cpp new file mode 100644 index 00000000..80d2711a --- /dev/null +++ b/src/Game/DLC/aocManager.cpp @@ -0,0 +1 @@ +#include "Game/DLC/aocManager.h" diff --git a/src/Game/DLC/aocManager.h b/src/Game/DLC/aocManager.h new file mode 100644 index 00000000..db3c39f4 --- /dev/null +++ b/src/Game/DLC/aocManager.h @@ -0,0 +1,39 @@ +#pragma once + +#include +#include +#include "KingSystem/Resource/resHandle.h" +#include "KingSystem/Resource/resResourceMgrTask.h" + +namespace sead { +class FileDevice; +} + +namespace uking::aoc { + +// TODO +class Manager { + SEAD_SINGLETON_DISPOSER(Manager) + Manager(); + ~Manager(); + +public: + u32 getVersion() const { return mVersion; } + + /// @return Whether the Master Trials DLC is supported. + bool hasAoc2() const { return mVersion >= 0x200; } + + /// @return Whether the Champion's Ballad DLC is supported. + bool hasAoc3() const { return mVersion >= 0x300; } + +private: + sead::FileDevice* mFileDevice{}; + ksys::res::FileDevicePrefix mFileDevicePrefix; + + ksys::res::Handle mVersionResHandle; + sead::FixedSafeString<16> mVersionString; + u32 mVersion{}; + // TODO: more fields +}; + +} // namespace uking::aoc