mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-27 10:11:15 +00:00
further debugging and fixes
This commit is contained in:
parent
34849df4b2
commit
33c831c233
@ -190,10 +190,10 @@ MxDSStreamingAction* MxDiskStreamController::FUN_100c7db0()
|
|||||||
for (MxStreamListMxNextActionDataStart::iterator it = m_nextActionList.begin(); it != m_nextActionList.end();
|
for (MxStreamListMxNextActionDataStart::iterator it = m_nextActionList.begin(); it != m_nextActionList.end();
|
||||||
it++) {
|
it++) {
|
||||||
MxNextActionDataStart* data = *it;
|
MxNextActionDataStart* data = *it;
|
||||||
|
OutputDebugStringA("found data action start\n");
|
||||||
for (MxStreamListMxDSAction::iterator it2 = m_list0x64.begin(); it2 != m_list0x64.end(); it++) {
|
for (MxStreamListMxDSAction::iterator it2 = m_list0x64.begin(); it2 != m_list0x64.end(); it2++) {
|
||||||
MxDSStreamingAction* streamingAction = (MxDSStreamingAction*) *it2;
|
MxDSStreamingAction* streamingAction = (MxDSStreamingAction*) *it2;
|
||||||
|
OutputDebugStringA("found streaming action\n");
|
||||||
if (streamingAction->GetObjectId() == data->GetObjectId() &&
|
if (streamingAction->GetObjectId() == data->GetObjectId() &&
|
||||||
streamingAction->GetUnknown24() == data->GetUnknown24() &&
|
streamingAction->GetUnknown24() == data->GetUnknown24() &&
|
||||||
streamingAction->GetBufferOffset() == data->GetData()) {
|
streamingAction->GetBufferOffset() == data->GetData()) {
|
||||||
@ -224,8 +224,9 @@ MxResult MxDiskStreamController::VTable0x20(MxDSAction* p_action)
|
|||||||
MxAutoLocker lock(&this->m_criticalSection);
|
MxAutoLocker lock(&this->m_criticalSection);
|
||||||
MxDSStreamingAction* entry =
|
MxDSStreamingAction* entry =
|
||||||
(MxDSStreamingAction*) m_list0x80.Find(p_action, FALSE); // TODO: is this a seperate class?
|
(MxDSStreamingAction*) m_list0x80.Find(p_action, FALSE); // TODO: is this a seperate class?
|
||||||
|
OutputDebugStringA("MxDiskStreamController::VTable0x20\n");
|
||||||
if (entry) {
|
if (entry) {
|
||||||
|
OutputDebugStringA("MxDiskStreamController::VTable0x20 no entry\n");
|
||||||
MxDSStreamingAction* action = new MxDSStreamingAction(*p_action, 0);
|
MxDSStreamingAction* action = new MxDSStreamingAction(*p_action, 0);
|
||||||
action->SetUnknown28(entry->GetUnknown28());
|
action->SetUnknown28(entry->GetUnknown28());
|
||||||
action->SetUnknown84(entry->GetUnknown84());
|
action->SetUnknown84(entry->GetUnknown84());
|
||||||
@ -329,10 +330,10 @@ void MxDiskStreamController::FUN_100c8540()
|
|||||||
FUN_100c7ce0(buf);
|
FUN_100c7ce0(buf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MxDSStreamingAction* action;
|
|
||||||
if (m_nextActionList.size() == 0 && m_list0x64.size() == 0) {
|
if (m_nextActionList.size() == 0 && m_list0x64.size() != 0) {
|
||||||
do {
|
do {
|
||||||
action = (MxDSStreamingAction*)m_list0x64.front();
|
MxDSStreamingAction* action = (MxDSStreamingAction*) m_list0x64.front();
|
||||||
m_list0xb8.pop_front();
|
m_list0xb8.pop_front();
|
||||||
|
|
||||||
FUN_100c7cb0(action);
|
FUN_100c7cb0(action);
|
||||||
|
|||||||
@ -78,24 +78,27 @@ MxResult MxDiskStreamProvider::SetResourceToGet(MxStreamController* p_resource)
|
|||||||
// STUB: LEGO1 0x100d15e0
|
// STUB: LEGO1 0x100d15e0
|
||||||
void MxDiskStreamProvider::VTable0x20(MxDSAction* p_action)
|
void MxDiskStreamProvider::VTable0x20(MxDSAction* p_action)
|
||||||
{
|
{
|
||||||
|
OutputDebugStringA("MxDiskStreamProvider::VTable0x20");
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100d1750
|
// FUNCTION: LEGO1 0x100d1750
|
||||||
MxResult MxDiskStreamProvider::WaitForWorkToComplete()
|
MxResult MxDiskStreamProvider::WaitForWorkToComplete()
|
||||||
{
|
{
|
||||||
|
OutputDebugStringA("WaitForWorkToComplete\n");
|
||||||
while (m_remainingWork != 0) {
|
while (m_remainingWork != 0) {
|
||||||
m_busySemaphore.Wait(INFINITE);
|
m_busySemaphore.Wait(INFINITE);
|
||||||
if (m_unk0x35 != 0)
|
if (m_unk0x35 != 0)
|
||||||
PerformWork();
|
PerformWork();
|
||||||
}
|
}
|
||||||
|
OutputDebugStringA("Work is completed\n");
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100d1780
|
// FUNCTION: LEGO1 0x100d1780
|
||||||
MxResult MxDiskStreamProvider::FUN_100d1780(MxDSStreamingAction* p_action)
|
MxResult MxDiskStreamProvider::FUN_100d1780(MxDSStreamingAction* p_action)
|
||||||
{
|
{
|
||||||
if (m_remainingWork == 0) {
|
if (m_remainingWork != 0) {
|
||||||
if (p_action->GetUnknown94() > 0 && !p_action->GetUnknowna0()) {
|
if (p_action->GetUnknown94() > 0 && !p_action->GetUnknowna0()) {
|
||||||
MxDSBuffer* buffer = new MxDSBuffer();
|
MxDSBuffer* buffer = new MxDSBuffer();
|
||||||
if (buffer) {
|
if (buffer) {
|
||||||
@ -129,6 +132,7 @@ MxResult MxDiskStreamProvider::FUN_100d1780(MxDSStreamingAction* p_action)
|
|||||||
void MxDiskStreamProvider::PerformWork()
|
void MxDiskStreamProvider::PerformWork()
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
|
OutputDebugStringA("work is not being preformed.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x100d1e90
|
// FUNCTION: LEGO1 0x100d1e90
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user