mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-25 01:14:19 +00:00
mxdiskstreamcontroller vtable + MxStreamController::vtable0x20
This commit is contained in:
@@ -45,11 +45,32 @@ MxResult MxStreamController::vtable0x1C(undefined4 p_unknown, undefined4 p_unkno
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100c1690 STUB
|
||||
// OFFSET: LEGO1 0x100c1690
|
||||
MxResult MxStreamController::vtable0x20(MxDSAction* p_action)
|
||||
{
|
||||
// TODO STUB
|
||||
return FAILURE;
|
||||
MxResult result;
|
||||
void* buffer;
|
||||
MxU32 buffer_value;
|
||||
MxAutoLocker locker(&m_criticalSection);
|
||||
|
||||
MxStreamProvider* provider = m_provider;
|
||||
MxU32 objectId = p_action->GetObjectId();
|
||||
if(objectId < provider->GetLengthInDWords())
|
||||
{
|
||||
buffer = provider->GetBufferForDWords();
|
||||
buffer_value = *(MxU32 *)((MxU32)buffer + objectId * 4);
|
||||
}
|
||||
|
||||
if (buffer_value == NULL)
|
||||
{
|
||||
result = FAILURE;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = vtable0x2c(p_action, buffer_value);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100c1740 STUB
|
||||
@@ -66,7 +87,7 @@ MxResult MxStreamController::vtable0x28()
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100c1c10 STUB
|
||||
MxResult MxStreamController::vtable0x2c(undefined4 p_unknown1, undefined4 p_unknow2)
|
||||
MxResult MxStreamController::vtable0x2c(MxDSAction* p_action, MxU32 p_bufferval)
|
||||
{
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user