From 783ca7aa44033e1e3aeb08d75446b5d70c33859a Mon Sep 17 00:00:00 2001 From: Misha <106913236+MishaProductions@users.noreply.github.com> Date: Sat, 28 Oct 2023 16:34:07 -0400 Subject: [PATCH] improve match of MxRAMStreamController::Open --- LEGO1/mxramstreamcontroller.cpp | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/LEGO1/mxramstreamcontroller.cpp b/LEGO1/mxramstreamcontroller.cpp index 44b9bdeb..dee674d7 100644 --- a/LEGO1/mxramstreamcontroller.cpp +++ b/LEGO1/mxramstreamcontroller.cpp @@ -5,6 +5,7 @@ DECOMP_SIZE_ASSERT(MxRAMStreamController, 0x98); +// OFFSET: LEGO1 0x100d0d80 STUB undefined* __cdecl FUN_100d0d80(MxU32* p_fileSizeBuffer, MxU32 p_fileSize) { return NULL; @@ -13,20 +14,23 @@ undefined* __cdecl FUN_100d0d80(MxU32* p_fileSizeBuffer, MxU32 p_fileSize) // OFFSET: LEGO1 0x100c6110 MxResult MxRAMStreamController::Open(const char* p_filename) { - MxResult result = FAILURE; MxAutoLocker locker(&m_criticalSection); - if (MxStreamController::Open(p_filename) == 0) { - MxRAMStreamProvider* provider = new MxRAMStreamProvider(); - m_provider = provider; - if (provider != NULL) { - if (m_provider->SetResourceToGet(this) == SUCCESS) { - FUN_100d0d80(provider->GetBufferOfFileSize(), provider->GetFileSize()); - // m_buffer todo - result = SUCCESS; - } - } + if (MxStreamController::Open(p_filename) != SUCCESS) { + return FAILURE; } - return result; + MxRAMStreamProvider* provider = new MxRAMStreamProvider(); + m_provider = provider; + if (provider != NULL) { + if (m_provider->SetResourceToGet(this) != SUCCESS) { + return FAILURE; + } + + FUN_100d0d80(provider->GetBufferOfFileSize(), provider->GetFileSize()); + m_buffer.FUN_100c6780(provider->GetBufferOfFileSize(), provider->GetFileSize()); + return SUCCESS; + } + + return FAILURE; } // OFFSET: LEGO1 0x100c6210 STUB