Finish MxDiskStreamController methods (#359)

* more mxdiskstreamcontroller methods

* further debugging and fixes

* add more functions

* Update mxdiskstreamprovider.cpp

* fix build

* implement MxDiskStreamProvider::PerformWork

* Update mxdiskstreamprovider.cpp

* Update mxdiskstreamprovider.cpp

* Update mxdssource.h

* remove debug prints

* Update mxdiskstreamprovider.cpp

* Mostly match MxDiskStreamController::FUN_100c8540

* Mostly match MxDiskStreamProvider::FUN_100d1780

* Mostly match MxDiskStreamProvider::PerformWork

* Fixes

* Retype some members

* Various annotations

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Misha
2023-12-25 13:32:01 -05:00
committed by GitHub
parent f3c1fc75e2
commit cb8c143ce5
20 changed files with 301 additions and 64 deletions

View File

@@ -8,6 +8,7 @@
class MxCore;
// VTABLE: LEGO1 0x100dc860
// SIZE 0x1c
class MxThread {
public:
// Note: Comes before virtual destructor
@@ -16,10 +17,8 @@ public:
MxResult Start(MxS32 p_stack, MxS32 p_flag);
void Terminate();
void Sleep(MxS32 p_milliseconds);
// Inferred, not in DLL
inline MxBool IsRunning() { return m_running; }
protected:
@@ -31,27 +30,26 @@ public:
private:
static unsigned ThreadProc(void* p_thread);
MxULong m_hThread;
MxU32 m_threadId;
MxBool m_running;
MxSemaphore m_semaphore;
MxULong m_hThread; // 0x04
MxU32 m_threadId; // 0x08
MxBool m_running; // 0x0c
MxSemaphore m_semaphore; // 0x10
protected:
MxCore* m_target;
MxCore* m_target; // 0x18
};
// VTABLE: LEGO1 0x100dc6d8
// SIZE 0x20
class MxTickleThread : public MxThread {
public:
MxTickleThread(MxCore* p_target, MxS32 p_frequencyMS);
// Only inlined, no offset
virtual ~MxTickleThread() {}
MxResult Run() override;
private:
MxS32 m_frequencyMS;
MxS32 m_frequencyMS; // 0x1c
};
#endif // MXTHREAD_H