mxdiskstreamcontroller vtable + MxStreamController::vtable0x20

This commit is contained in:
Misha
2023-10-09 19:05:47 -04:00
parent 28206402f9
commit fa236379cf
4 changed files with 81 additions and 7 deletions

View File

@@ -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;
}