From 9aaeae7a6f8cc6d685c35f6f188b286f2732341b Mon Sep 17 00:00:00 2001 From: Misha <106913236+MishaProductions@users.noreply.github.com> Date: Fri, 22 Dec 2023 09:12:48 -0500 Subject: [PATCH] implement MxDiskStreamController::VTable0x30 --- LEGO1/mxdiskstreamcontroller.cpp | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/LEGO1/mxdiskstreamcontroller.cpp b/LEGO1/mxdiskstreamcontroller.cpp index 77e9fdbd..c9fa1ed1 100644 --- a/LEGO1/mxdiskstreamcontroller.cpp +++ b/LEGO1/mxdiskstreamcontroller.cpp @@ -95,11 +95,34 @@ MxDSStreamingAction* MxDiskStreamController::VTable0x28() return NULL; } -// STUB: LEGO1 0x100c7c00 +// FUNCTION: LEGO1 0x100c7c00 MxResult MxDiskStreamController::VTable0x30(MxDSAction* p_action) { - // TODO - return FAILURE; + MxAutoLocker lock(&this->m_criticalSection); + MxResult result = MxStreamController::VTable0x30(p_action); + + MxDSStreamingAction* item; + while(TRUE) + { + item = (MxDSStreamingAction*)m_list0x90.Find(p_action, TRUE); + if (item == NULL) + { + break; + } + FUN_100c7cb0(item); + } + + while(TRUE) + { + item = (MxDSStreamingAction*)m_list0x64.Find(p_action, TRUE); + if (item == NULL) + { + break; + } + FUN_100c7cb0(item); + } + + return result; } // FUNCTION: LEGO1 0x100c7cb0