JKRDecomp OK (#58)

* JKRDecomp OK

* clang-format tool

* JKRThread cleanup and fixed suggestions

Co-authored-by: Julgodis <>
Co-authored-by: Pheenoh <pheenoh@gmail.com>
This commit is contained in:
Jonathan Wase
2021-01-03 22:19:54 +01:00
committed by GitHub
parent 4e085c9c84
commit 423fdadc32
8 changed files with 320 additions and 105 deletions
+44 -17
View File
@@ -20,25 +20,52 @@ public:
void setCommon_mesgQueue(JKRHeap* heap, int message_count);
void setCommon_heapSpecified(JKRHeap* heap, u32 stack_size, int param_3);
OSThread* getThreadRecord() { return this->mOSThread; }
OSThread* getThreadRecord() const { return mThreadRecord; }
void* getStack() const { return mStackMemory; }
u8 getLoadInfo() const { return field_0x60; }
JKRHeap* getCurrentHeap() const { return mCurrentHeap; }
JKRHeap* getCurrentHeapError() const { return mCurrentHeapError; }
void resume() { OSResumeThread(mThreadRecord); }
void sendMessage(OSMessage message) {
OSSendMessage(&mMessageQueue, message, OS_MESSAGE_NON_BLOCKING);
}
void sendMessageBlock(OSMessage message) {
OSSendMessage(&mMessageQueue, message, OS_MESSAGE_BLOCKING);
}
OSMessage waitMessage() {
OSMessage message;
OSReceiveMessage(&mMessageQueue, &message, OS_MESSAGE_NON_BLOCKING);
return message;
}
OSMessage waitMessageBlock() {
OSMessage message;
OSReceiveMessage(&mMessageQueue, &message, OS_MESSAGE_BLOCKING);
return message;
}
void jamMessageBlock(OSMessage message) {
OSJamMessage(&mMessageQueue, message, OS_MESSAGE_BLOCKING);
}
private:
JSULink<JKRThread> mThreadListLink;
JKRHeap* mHeap;
OSThread* mOSThread;
OSMessageQueue mQueue;
OSMessage* mMessages;
int mMessageCount;
void* mStackPtr;
u32 mStackSize;
u8 field_0x60;
u8 padding_0x61[3];
u32 mCost;
u32 mSwitchCount;
u32 field_0x6c;
u32 field_0x70;
JKRHeap* field_0x74;
JKRHeap* field_0x78;
/* 0x00 */ // vtable
/* 0x04 */ // JKRDisposer
/* 0x18 */ JSULink<JKRThread> mThreadListLink;
/* 0x28 */ JKRHeap* mHeap;
/* 0x2C */ OSThread* mThreadRecord;
/* 0x30 */ OSMessageQueue mMessageQueue;
/* 0x50 */ OSMessage* mMessages;
/* 0x54 */ s32 mMessageCount;
/* 0x58 */ void* mStackMemory;
/* 0x5C */ u32 mStackSize;
/* 0x60 */ u8 field_0x60;
/* 0x61 */ u8 padding_0x61[3];
/* 0x64 */ u32 mCost;
/* 0x68 */ u32 mSwitchCount;
/* 0x6C */ u32 field_0x6c;
/* 0x70 */ u32 field_0x70;
/* 0x74 */ JKRHeap* mCurrentHeap;
/* 0x78 */ JKRHeap* mCurrentHeapError;
public:
static void* start(void* param_1);