diff --git a/.gitignore b/.gitignore index ef90adb6..c41df18b 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ ISLE.EXE LEGO1.DLL build/ *.swp +LEGO1PROGRESS.HTML +LEGO1PROGRESS.SVG diff --git a/LEGO1/mxdiskstreamprovider.cpp b/LEGO1/mxdiskstreamprovider.cpp index f88a71e2..ccd3a09a 100644 --- a/LEGO1/mxdiskstreamprovider.cpp +++ b/LEGO1/mxdiskstreamprovider.cpp @@ -17,6 +17,14 @@ MxResult MxDiskStreamProviderThread::Run() return SUCCESS; } +// Same offset with MxTickleThread::StartWithTarget is intentional +// OFFSET: LEGO1 0x100d0f50 +MxResult MxDiskStreamProviderThread::StartWithTarget(MxDiskStreamProvider* p_target) +{ + m_target = p_target; + return Start(0x1000, 0); +} + // OFFSET: LEGO1 0x100d0f70 MxDiskStreamProvider::MxDiskStreamProvider() { @@ -68,7 +76,7 @@ MxResult MxDiskStreamProvider::SetResourceToGet(MxStreamController* p_resource) m_remainingWork = 1; MxResult success = m_busySemaphore.Init(0, 100); - // m_thread.Start(); + m_thread.StartWithTarget(this); if (success == SUCCESS && p_resource != NULL) { return SUCCESS; diff --git a/LEGO1/mxdiskstreamprovider.h b/LEGO1/mxdiskstreamprovider.h index 758fc477..26bcc996 100644 --- a/LEGO1/mxdiskstreamprovider.h +++ b/LEGO1/mxdiskstreamprovider.h @@ -17,6 +17,8 @@ class MxDiskStreamProviderThread : public MxThread { MxResult Run() override; + MxResult StartWithTarget(MxDiskStreamProvider* p_target); + private: MxDiskStreamProvider* m_target; };