mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 17:04:17 +00:00
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:
@@ -13,21 +13,20 @@ class MxDiskStreamProvider;
|
||||
class MxDSStreamingAction;
|
||||
|
||||
// VTABLE: LEGO1 0x100dd130
|
||||
// SIZE 0x1c
|
||||
class MxDiskStreamProviderThread : public MxThread {
|
||||
public:
|
||||
// Only inlined, no offset
|
||||
inline MxDiskStreamProviderThread() : MxThread() { m_target = NULL; }
|
||||
|
||||
MxResult Run() override;
|
||||
|
||||
MxResult StartWithTarget(MxDiskStreamProvider* p_target);
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100dd138
|
||||
// SIZE 0x60
|
||||
class MxDiskStreamProvider : public MxStreamProvider {
|
||||
public:
|
||||
MxDiskStreamProvider();
|
||||
|
||||
virtual ~MxDiskStreamProvider() override;
|
||||
|
||||
// FUNCTION: LEGO1 0x100d1160
|
||||
@@ -46,6 +45,8 @@ public:
|
||||
MxResult WaitForWorkToComplete();
|
||||
MxResult FUN_100d1780(MxDSStreamingAction* p_action);
|
||||
void PerformWork();
|
||||
static MxBool FUN_100d1af0(MxDSStreamingAction* p_action);
|
||||
MxResult FUN_100d1b20(MxDSStreamingAction* p_action);
|
||||
|
||||
virtual MxResult SetResourceToGet(MxStreamController* p_resource) override; // vtable+0x14
|
||||
virtual MxU32 GetFileSize() override; // vtable+0x18
|
||||
@@ -57,8 +58,8 @@ public:
|
||||
private:
|
||||
MxDiskStreamProviderThread m_thread; // 0x10
|
||||
MxSemaphore m_busySemaphore; // 0x2c
|
||||
undefined m_remainingWork; // 0x34
|
||||
undefined m_unk0x35; // 0x35
|
||||
MxBool m_remainingWork; // 0x34
|
||||
MxBool m_unk0x35; // 0x35
|
||||
MxCriticalSection m_criticalSection; // 0x38
|
||||
MxStreamListMxDSAction m_list; // 0x54
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user