mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-22 23:48:12 -05:00
Implement/match MxDiskStreamProvider destructor (#381)
This commit is contained in:
parent
e3488498f9
commit
e17e8ed5ae
1 changed files with 31 additions and 2 deletions
|
@ -40,10 +40,39 @@ MxDiskStreamProvider::MxDiskStreamProvider()
|
|||
this->m_unk0x35 = FALSE;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x100d1240
|
||||
// FUNCTION: LEGO1 0x100d1240
|
||||
MxDiskStreamProvider::~MxDiskStreamProvider()
|
||||
{
|
||||
// TODO
|
||||
MxDSStreamingAction* action;
|
||||
m_unk0x35 = FALSE;
|
||||
|
||||
do {
|
||||
action = NULL;
|
||||
|
||||
{
|
||||
MxAutoLocker lock(&m_criticalSection);
|
||||
m_list.PopFrontStreamingAction(action);
|
||||
}
|
||||
|
||||
if (!action)
|
||||
break;
|
||||
|
||||
if (action->GetUnknowna0()->GetWriteOffset() < 0x20000)
|
||||
g_unk0x10102878--;
|
||||
|
||||
((MxDiskStreamController*) m_pLookup)->FUN_100c8670(action);
|
||||
} while (action);
|
||||
|
||||
if (m_remainingWork) {
|
||||
m_remainingWork = FALSE;
|
||||
m_busySemaphore.Release(1);
|
||||
m_thread.Terminate();
|
||||
}
|
||||
|
||||
if (m_pFile)
|
||||
delete m_pFile;
|
||||
|
||||
m_pFile = NULL;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100d13d0
|
||||
|
|
Loading…
Reference in a new issue