mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 08:54:15 +00:00
Implement/match rest of MxDSSubscriber (#354)
* Implement/match rest of MxDSSubscriber * Fix MxRAMStreamController::VTable0x20 match * Match MxRAMStreamController::DeserializeObject
This commit is contained in:
committed by
GitHub
parent
9eefc82c8c
commit
439173f1d5
@@ -40,8 +40,9 @@ MxResult MxRAMStreamController::Open(const char* p_filename)
|
||||
MxResult MxRAMStreamController::VTable0x20(MxDSAction* p_action)
|
||||
{
|
||||
MxAutoLocker locker(&m_criticalSection);
|
||||
MxS16 unk0x24 = 0;
|
||||
MxS32 unk0x24 = 0;
|
||||
MxResult result = FAILURE;
|
||||
|
||||
if (p_action->GetUnknown24() == -1) {
|
||||
p_action->SetUnknown24(-3);
|
||||
MxDSAction* action = m_unk0x54.Find(p_action, FALSE);
|
||||
@@ -85,11 +86,14 @@ MxResult MxRAMStreamController::DeserializeObject(MxDSStreamingAction& p_action)
|
||||
MxAutoLocker locker(&m_criticalSection);
|
||||
MxResult result;
|
||||
MxDSStreamingAction* value = NULL;
|
||||
|
||||
do {
|
||||
m_buffer.FUN_100c6f80(p_action.GetUnknown94());
|
||||
// Probably not MxResult, see below
|
||||
result = m_buffer.FUN_100c67b0(this, &p_action, &value);
|
||||
} while (m_unk0x3c.Find(&p_action, FALSE) != NULL);
|
||||
return result;
|
||||
|
||||
return result == SUCCESS ? SUCCESS : FAILURE;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x100d0d80
|
||||
|
||||
Reference in New Issue
Block a user