add more functions

This commit is contained in:
Misha 2023-12-25 09:31:32 -05:00
parent 33c831c233
commit 7022cf97dc
No known key found for this signature in database
GPG Key ID: 8441D12AEF33FED8
4 changed files with 43 additions and 1 deletions

View File

@ -47,6 +47,20 @@ MxResult MxDiskStreamController::Open(const char* p_filename)
return result; return result;
} }
// FUNCTION: LEGO1 0x100c7890
MxResult MxDiskStreamController::FUN_100c7890(MxDSStreamingAction* p_action)
{
MxAutoLocker lock(&this->m_criticalSection);
if (p_action == NULL) {
return FAILURE;
}
else {
m_list0x80.push_back(p_action);
FUN_100c7970();
return SUCCESS;
}
}
// FUNCTION: LEGO1 0x100c7880 // FUNCTION: LEGO1 0x100c7880
MxResult MxDiskStreamController::VTable0x18(undefined4, undefined4) MxResult MxDiskStreamController::VTable0x18(undefined4, undefined4)
{ {
@ -59,6 +73,12 @@ MxResult MxDiskStreamController::VTable0x34(undefined4)
return FAILURE; return FAILURE;
} }
// FUNCTION: LEGO1 0x100c7970
void MxDiskStreamController::FUN_100c7970()
{
// Empty
}
// FUNCTION: LEGO1 0x100c7980 // FUNCTION: LEGO1 0x100c7980
void MxDiskStreamController::FUN_100c7980() void MxDiskStreamController::FUN_100c7980()
{ {
@ -358,6 +378,13 @@ MxResult MxDiskStreamController::Tickle()
return SUCCESS; return SUCCESS;
} }
// FUNCTION: LEGO1 0x100c8670
void MxDiskStreamController::FUN_100c8670(MxDSStreamingAction* p_streamingAction)
{
MxAutoLocker lock(&this->m_critical9c);
m_list0xb8.push_back(p_streamingAction);
}
// FUNCTION: LEGO1 0x100c8720 // FUNCTION: LEGO1 0x100c8720
void MxDiskStreamController::FUN_100c8720() void MxDiskStreamController::FUN_100c8720()
{ {

View File

@ -50,6 +50,8 @@ class MxDiskStreamController : public MxStreamController {
MxStreamListMxDSAction m_list0xb8; // 0xb8 MxStreamListMxDSAction m_list0xb8; // 0xb8
undefined m_unk0xc4; // 0xc4 undefined m_unk0xc4; // 0xc4
MxResult FUN_100c7890(MxDSStreamingAction* p_action);
void FUN_100c7970();
void FUN_100c7cb0(MxDSStreamingAction* p_action); void FUN_100c7cb0(MxDSStreamingAction* p_action);
void FUN_100c7ce0(MxDSBuffer* p_buffer); void FUN_100c7ce0(MxDSBuffer* p_buffer);
MxResult FUN_100c7d10(); MxResult FUN_100c7d10();
@ -60,6 +62,7 @@ class MxDiskStreamController : public MxStreamController {
void InsertToList74(MxDSBuffer* p_buffer); void InsertToList74(MxDSBuffer* p_buffer);
void FUN_100c8540(); void FUN_100c8540();
void FUN_100c8720(); void FUN_100c8720();
void FUN_100c8670(MxDSStreamingAction* p_streamingAction);
}; };
// TEMPLATE: LEGO1 0x100c7330 // TEMPLATE: LEGO1 0x100c7330

View File

@ -128,13 +128,24 @@ MxResult MxDiskStreamProvider::FUN_100d1780(MxDSStreamingAction* p_action)
return FAILURE; return FAILURE;
} }
// STUB: LEGO1 0x100d18f0 // FUNCTION: LEGO1 0x100d18f0
void MxDiskStreamProvider::PerformWork() void MxDiskStreamProvider::PerformWork()
{ {
// TODO // TODO
OutputDebugStringA("work is not being preformed."); OutputDebugStringA("work is not being preformed.");
} }
// FUNCTION: LEGO1 0x100d1af0
MxBool MxDiskStreamProvider::FUN_100d1af0(MxDSStreamingAction* p_action)
{
if (p_action->GetUnknowna0()->GetWriteOffset() == 0x20000)
{
return DAT_10102878 == 0;
}
return TRUE;
}
// FUNCTION: LEGO1 0x100d1e90 // FUNCTION: LEGO1 0x100d1e90
MxU32 MxDiskStreamProvider::GetFileSize() MxU32 MxDiskStreamProvider::GetFileSize()
{ {

View File

@ -46,6 +46,7 @@ class MxDiskStreamProvider : public MxStreamProvider {
MxResult WaitForWorkToComplete(); MxResult WaitForWorkToComplete();
MxResult FUN_100d1780(MxDSStreamingAction* p_action); MxResult FUN_100d1780(MxDSStreamingAction* p_action);
void PerformWork(); void PerformWork();
static MxBool FUN_100d1af0(MxDSStreamingAction* p_action);
virtual MxResult SetResourceToGet(MxStreamController* p_resource) override; // vtable+0x14 virtual MxResult SetResourceToGet(MxStreamController* p_resource) override; // vtable+0x14
virtual MxU32 GetFileSize() override; // vtable+0x18 virtual MxU32 GetFileSize() override; // vtable+0x18