2021-03-28 22:49:05 +02:00
|
|
|
#ifndef JASTASKTHREAD_H
|
|
|
|
|
#define JASTASKTHREAD_H
|
|
|
|
|
|
2022-06-01 03:49:32 -07:00
|
|
|
#include "JSystem/JKernel/JKRThread.h"
|
2023-10-15 13:27:52 +03:00
|
|
|
#include "JSystem/JAudio2/JASHeapCtrl.h"
|
2022-06-01 03:49:32 -07:00
|
|
|
|
|
|
|
|
class JASTaskThread : public JKRThread {
|
2023-10-15 13:27:52 +03:00
|
|
|
private:
|
|
|
|
|
struct JASThreadCallStack {
|
|
|
|
|
/* 0x00 */ void (*mRunFunc)(void*);
|
|
|
|
|
/* 0x04 */ u32 field_0x4;
|
|
|
|
|
/* 0x08 */ union {
|
|
|
|
|
u8 buffer[0x400];
|
|
|
|
|
void* pBuffer;
|
|
|
|
|
}field_0x8;
|
|
|
|
|
};
|
2022-06-01 03:49:32 -07:00
|
|
|
public:
|
2023-10-15 13:27:52 +03:00
|
|
|
typedef JASMemChunkPool<1024, JASThreadingModel::ObjectLevelLockable> ThreadMemPool;
|
|
|
|
|
|
2022-06-01 03:49:32 -07:00
|
|
|
/* 8028F6C4 */ JASTaskThread(int, int, u32);
|
2023-10-15 13:27:52 +03:00
|
|
|
/* 8028F9EC */ void* allocCallStack(void (*)(void*), void*);
|
|
|
|
|
/* 8028F850 */ void* allocCallStack(void (*)(void*), void const*, u32);
|
|
|
|
|
/* 8028FC54 */ int sendCmdMsg(void (*)(void*), void*);
|
2022-12-31 19:18:40 -07:00
|
|
|
/* 8028FB5C */ int sendCmdMsg(void (*)(void*), void const*, u32);
|
2022-06-01 03:49:32 -07:00
|
|
|
/* 8028FE88 */ void pause(bool);
|
|
|
|
|
|
|
|
|
|
/* 8028F724 */ virtual ~JASTaskThread();
|
2024-02-11 00:29:35 -05:00
|
|
|
/* 8028FD4C */ virtual void* run();
|
2022-06-01 03:49:32 -07:00
|
|
|
|
2023-10-15 13:27:52 +03:00
|
|
|
/* 0x7C */ OSThreadQueue mpThreadQueue;
|
2022-06-01 03:49:32 -07:00
|
|
|
/* 0x84 */ bool field_0x84;
|
|
|
|
|
};
|
2021-03-28 22:49:05 +02:00
|
|
|
|
|
|
|
|
#endif /* JASTASKTHREAD_H */
|