From 3db6228dfc65a25da49bab26ab8bcf4abc69a98f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Lam?= Date: Tue, 15 Sep 2020 19:13:52 +0200 Subject: ksys: Add more task utilities * TaskMgr, ManagedTask, ManagedTaskHandle * GameTaskThread: partial implementation because PhysicsMemSys / Havok stuff hasn't been decompiled yet and calc_() requires PhysicsMemSys --- src/KingSystem/Utils/Thread/GameTaskThread.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/KingSystem/Utils/Thread/GameTaskThread.h (limited to 'src/KingSystem/Utils/Thread/GameTaskThread.h') diff --git a/src/KingSystem/Utils/Thread/GameTaskThread.h b/src/KingSystem/Utils/Thread/GameTaskThread.h new file mode 100644 index 00000000..a16e9f68 --- /dev/null +++ b/src/KingSystem/Utils/Thread/GameTaskThread.h @@ -0,0 +1,27 @@ +#pragma once + +#include "KingSystem/Utils/Thread/TaskThread.h" +#include "KingSystem/Utils/Types.h" + +namespace ksys::util { + +class GameTaskThread : public TaskThread { + SEAD_RTTI_OVERRIDE(GameTaskThread, TaskThread) +public: + GameTaskThread(const sead::SafeString& name, sead::Heap* heap, s32 priority, + sead::MessageQueue::BlockType block_type, long quit_msg, s32 stack_size, + s32 message_queue_size); + ~GameTaskThread() override { ; } + + void quit(bool is_jam) override; + +protected: + static constexpr s32 cMessage_GameThreadQuit = 4; + + void calc_(sead::MessageQueue::Element msg) override; + u8 _1a0 = 0; + s32 _1a4 = -1; +}; +KSYS_CHECK_SIZE_NX150(GameTaskThread, 0x1a8); + +} // namespace ksys::util -- cgit v1.2.3