summaryrefslogtreecommitdiff
path: root/src/KingSystem/Utils/Thread/GameTaskThread.h
blob: a16e9f688d578dd68eb9e17139608ea46f8ba8ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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