diff options
| author | Léo Lam <leo@leolam.fr> | 2020-09-15 19:13:52 +0200 |
|---|---|---|
| committer | Léo Lam <leo@leolam.fr> | 2020-09-16 17:49:37 +0200 |
| commit | 3db6228dfc65a25da49bab26ab8bcf4abc69a98f (patch) | |
| tree | 3946a9211c2adc7213b1ae94ccf4baca22b73020 /src/KingSystem/Utils/Thread/GameTaskThread.h | |
| parent | 8b7369dffb1e816b2f27ab0133d2bac218383a45 (diff) | |
ksys: Add more task utilities
* TaskMgr, ManagedTask, ManagedTaskHandle
* GameTaskThread: partial implementation because PhysicsMemSys / Havok
stuff hasn't been decompiled yet and calc_() requires PhysicsMemSys
Diffstat (limited to 'src/KingSystem/Utils/Thread/GameTaskThread.h')
| -rw-r--r-- | src/KingSystem/Utils/Thread/GameTaskThread.h | 27 |
1 files changed, 27 insertions, 0 deletions
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 |
