some accuracy improvements

This commit is contained in:
Christian Semmler 2023-06-26 13:44:55 +02:00
parent 47ee40fabc
commit 4b337a024b
No known key found for this signature in database
GPG Key ID: 086DAA1360BEEE5C
3 changed files with 13 additions and 11 deletions

View File

@ -27,26 +27,28 @@ long MxDSFile::Open(unsigned long uStyle)
{
// No idea what's stopping this one matching, but I'm pretty
// confident it has the correct behavior.
long longResult = 1;
memset(&m_io, 0, sizeof(MXIOINFO));
if (m_io.Open(m_filename.GetData(), uStyle) != 0) {
return -1;
}
m_io.SetBuffer(NULL, 0);
m_io.SetBuffer(NULL, 0, 0);
m_position = 0;
long longResult = 1;
if (m_skipReadingChunks == 0)
{
if (m_skipReadingChunks == 0) {
longResult = ReadChunks();
}
if (longResult != 0)
{
if (longResult != 0) {
Close(); // vtable + 0x18
return longResult;
}
Seek(0, 0); // vtable + 0x24
return 0;
else {
Seek(0, 0); // vtable + 0x24
}
return longResult;
}
// OFFSET: LEGO1 0x100cc780

View File

@ -37,7 +37,7 @@ LONG MXIOINFO::Seek(LONG lOffset, int iOrigin)
}
// OFFSET: LEGO1 0x100ccbc0
void MXIOINFO::SetBuffer(LPSTR pchBuffer, LONG cchBuffer)
void MXIOINFO::SetBuffer(LPSTR pchBuffer, LONG cchBuffer, LONG unk)
{
}

View File

@ -13,7 +13,7 @@ class MXIOINFO
void Close(long arg);
LONG Seek(LONG lOffset, int iOrigin);
unsigned long Read(HPSTR pch, LONG cch);
void SetBuffer(LPSTR pchBuffer, LONG cchBuffer);
void SetBuffer(LPSTR pchBuffer, LONG cchBuffer, LONG unk);
unsigned short Descend(LPMMCKINFO pmmcki, const MMCKINFO *pmmckiParent, UINT fuDescend);
MMIOINFO m_info;