diff --git a/src/KingSystem/CMakeLists.txt b/src/KingSystem/CMakeLists.txt index 095938e5..fede8909 100644 --- a/src/KingSystem/CMakeLists.txt +++ b/src/KingSystem/CMakeLists.txt @@ -1,4 +1,5 @@ add_subdirectory(ActorSystem) +add_subdirectory(Framework) add_subdirectory(Map) add_subdirectory(MessageSystem) add_subdirectory(Resource) diff --git a/src/KingSystem/Framework/CMakeLists.txt b/src/KingSystem/Framework/CMakeLists.txt new file mode 100644 index 00000000..1c098cd3 --- /dev/null +++ b/src/KingSystem/Framework/CMakeLists.txt @@ -0,0 +1,3 @@ +target_sources(uking PRIVATE + frmRootTaskParam.h +) diff --git a/src/KingSystem/Framework/frmRootTaskParam.h b/src/KingSystem/Framework/frmRootTaskParam.h new file mode 100644 index 00000000..49adb85c --- /dev/null +++ b/src/KingSystem/Framework/frmRootTaskParam.h @@ -0,0 +1,41 @@ +#pragma once + +#include +#include +#include +#include +#include +#include "KingSystem/Utils/Types.h" + +namespace ksys::frm { + +struct RootTaskParam : public sead::TaskParameter { + SEAD_RTTI_OVERRIDE(RootTaskParam, sead::TaskParameter) +public: + using ThreadIdArray = sead::FixedObjArray; + + RootTaskParam() = default; + + u16 _8 = 1; + u8 _a = 1; + void* _10 = nullptr; + void* _18 = nullptr; + sead::SafeString app_name; + sead::SafeString _30; + sead::FixedObjArray thread_ids; + sead::Buffer res_extensions1; + sead::Buffer res_extensions2; + u8 _c0 = 0; + u8 _c1 = 0; + u8 _c2 = 0; + s32 _c4 = -1; + u32 constant_a = 0; + u32 constant_b = 0; + u32 heap_size = 0; + u32 constant_c = 0; + u32 constant_d = 0; +}; +KSYS_CHECK_SIZE_NX150(RootTaskParam::ThreadIdArray, 0x60); +KSYS_CHECK_SIZE_NX150(RootTaskParam, 0xe0); + +} // namespace ksys::frm