diff --git a/data/uking_functions.csv b/data/uking_functions.csv index ecc24c1f..6a7d8fab 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -88712,11 +88712,11 @@ 0x00000071010b9e5c,sub_71010B9E5C,56, 0x00000071010b9e94,sub_71010B9E94,92, 0x00000071010b9ef0,Patrol::createInstance,384, -0x00000071010ba070,sub_71010BA070,56, -0x00000071010ba0a8,sub_71010BA0A8,92, -0x00000071010ba104,Revision::createInstance,164, -0x00000071010ba1a8,Revision::initStubbed1,4, -0x00000071010ba1ac,Revision::initStubbed2,4, +0x00000071010ba070,sub_71010BA070,56,_ZN4ksys8Revision18SingletonDisposer_D1Ev +0x00000071010ba0a8,sub_71010BA0A8,92,_ZN4ksys8Revision18SingletonDisposer_D0Ev +0x00000071010ba104,Revision::createInstance,164,_ZN4ksys8Revision14createInstanceEPN4sead4HeapE +0x00000071010ba1a8,Revision::initStubbed1,4,_ZN4ksys8Revision4initEPN4sead4HeapE +0x00000071010ba1ac,Revision::initStubbed2,4,_ZN4ksys8Revision8loadInfoEv 0x00000071010ba1b0,sub_71010BA1B0,56, 0x00000071010ba1e8,sub_71010BA1E8,92, 0x00000071010ba244,CameraEditor::createInstance,120, diff --git a/src/KingSystem/System/CMakeLists.txt b/src/KingSystem/System/CMakeLists.txt index 9ae38a8d..a98df700 100644 --- a/src/KingSystem/System/CMakeLists.txt +++ b/src/KingSystem/System/CMakeLists.txt @@ -16,6 +16,8 @@ target_sources(uking PRIVATE PlayReportMgr.h ProductReporter.cpp ProductReporter.h + Revision.cpp + Revision.h StageInfo.cpp StageInfo.h StringBoard.h diff --git a/src/KingSystem/System/Revision.cpp b/src/KingSystem/System/Revision.cpp new file mode 100644 index 00000000..d40b98dc --- /dev/null +++ b/src/KingSystem/System/Revision.cpp @@ -0,0 +1,13 @@ +#include "KingSystem/System/Revision.h" + +namespace ksys { + +SEAD_SINGLETON_DISPOSER_IMPL(Revision) + +// Stubbed in release builds + +void Revision::init(sead::Heap* heap) {} + +void Revision::loadInfo() {} + +} // namespace ksys diff --git a/src/KingSystem/System/Revision.h b/src/KingSystem/System/Revision.h new file mode 100644 index 00000000..b18d6956 --- /dev/null +++ b/src/KingSystem/System/Revision.h @@ -0,0 +1,36 @@ +#pragma once + +#include +#include +#include "KingSystem/Utils/Types.h" + +namespace ksys { + +class Revision final : public sead::hostio::Node { + SEAD_SINGLETON_DISPOSER(Revision) + Revision() = default; + +public: + void init(sead::Heap* heap); + void loadInfo(); + + void* get28() const { return _28; } + int getResourceVer() const { return mResourceVer; } + int getProgramVer() const { return mProgramVer; } + const sead::SafeString* getBuilderName() const { return mBuilderName; } + const sead::SafeString* getStageSelectName() const { return mStageSelectName; } + int get48() const { return _48; } + int get4C() const { return _4c; } + +private: + void* _28{}; + int mResourceVer = -1; + int mProgramVer = -1; + const sead::SafeString* mBuilderName{}; + const sead::SafeString* mStageSelectName{}; + int _48 = -1; + int _4c = 0; +}; +KSYS_CHECK_SIZE_NX150(Revision, 0x50); + +} // namespace ksys