Refactor another enum

This commit is contained in:
Christian Semmler 2024-01-17 10:01:52 -05:00
parent bf2c4ce6d5
commit 923db8c82f
4 changed files with 30 additions and 30 deletions

View File

@ -10,17 +10,17 @@ class MxDSStreamingAction;
class MxStreamChunk; class MxStreamChunk;
class MxDSChunk; class MxDSChunk;
enum MxDSBufferType {
MxDSBufferType_Chunk = 0,
MxDSBufferType_Allocate = 1,
MxDSBufferType_Preallocated = 2,
MxDSBufferType_Unknown = 3,
};
// VTABLE: LEGO1 0x100dcca0 // VTABLE: LEGO1 0x100dcca0
// SIZE 0x34 // SIZE 0x34
class MxDSBuffer : public MxCore { class MxDSBuffer : public MxCore {
public: public:
enum Type {
e_chunk = 0,
e_allocate = 1,
e_preallocated = 2,
e_unknown = 3,
};
MxDSBuffer(); MxDSBuffer();
virtual ~MxDSBuffer() override; virtual ~MxDSBuffer() override;
@ -31,7 +31,7 @@ class MxDSBuffer : public MxCore {
return "MxDSBuffer"; return "MxDSBuffer";
} }
MxResult AllocateBuffer(MxU32 p_bufferSize, MxDSBufferType p_mode); MxResult AllocateBuffer(MxU32 p_bufferSize, Type p_mode);
MxResult SetBufferPointer(MxU8* p_buffer, MxU32 p_size); MxResult SetBufferPointer(MxU8* p_buffer, MxU32 p_size);
MxResult FUN_100c67b0( MxResult FUN_100c67b0(
MxStreamController* p_controller, MxStreamController* p_controller,
@ -67,12 +67,12 @@ class MxDSBuffer : public MxCore {
inline MxU8** GetBufferRef() { return &m_pBuffer; } inline MxU8** GetBufferRef() { return &m_pBuffer; }
inline undefined4 GetUnknown14() { return m_unk0x14; } inline undefined4 GetUnknown14() { return m_unk0x14; }
inline MxU16 GetRefCount() { return m_refcount; } inline MxU16 GetRefCount() { return m_refcount; }
inline MxDSBufferType GetMode() { return m_mode; } inline Type GetMode() { return m_mode; }
inline MxU32 GetWriteOffset() { return m_writeOffset; } inline MxU32 GetWriteOffset() { return m_writeOffset; }
inline MxU32 GetBytesRemaining() { return m_bytesRemaining; } inline MxU32 GetBytesRemaining() { return m_bytesRemaining; }
inline void SetUnknown14(undefined4 p_unk0x14) { m_unk0x14 = p_unk0x14; } inline void SetUnknown14(undefined4 p_unk0x14) { m_unk0x14 = p_unk0x14; }
inline void SetUnknown1c(undefined4 p_unk0x1c) { m_unk0x1c = p_unk0x1c; } inline void SetUnknown1c(undefined4 p_unk0x1c) { m_unk0x1c = p_unk0x1c; }
inline void SetMode(MxDSBufferType p_mode) { m_mode = p_mode; } inline void SetMode(Type p_mode) { m_mode = p_mode; }
inline void SetUnk30(MxDSStreamingAction* p_unk0x30) { m_unk0x30 = p_unk0x30; } inline void SetUnk30(MxDSStreamingAction* p_unk0x30) { m_unk0x30 = p_unk0x30; }
private: private:
@ -83,7 +83,7 @@ class MxDSBuffer : public MxCore {
undefined4 m_unk0x18; // 0x18 undefined4 m_unk0x18; // 0x18
undefined4 m_unk0x1c; // 0x1c undefined4 m_unk0x1c; // 0x1c
MxU16 m_refcount; // 0x20 MxU16 m_refcount; // 0x20
MxDSBufferType m_mode; // 0x24 Type m_mode; // 0x24
MxU32 m_writeOffset; // 0x28 MxU32 m_writeOffset; // 0x28
MxU32 m_bytesRemaining; // 0x2c MxU32 m_bytesRemaining; // 0x2c
MxDSStreamingAction* m_unk0x30; // 0x30 MxDSStreamingAction* m_unk0x30; // 0x30

View File

@ -129,7 +129,7 @@ void MxDiskStreamController::FUN_100c7980()
if (m_unk0x3c.size() && m_unk0x8c < m_provider->GetStreamBuffersNum()) { if (m_unk0x3c.size() && m_unk0x8c < m_provider->GetStreamBuffersNum()) {
buffer = new MxDSBuffer(); buffer = new MxDSBuffer();
if (buffer->AllocateBuffer(m_provider->GetFileSize(), MxDSBufferType_Chunk) != SUCCESS) { if (buffer->AllocateBuffer(m_provider->GetFileSize(), MxDSBuffer::e_chunk) != SUCCESS) {
if (buffer) if (buffer)
delete buffer; delete buffer;
return; return;
@ -213,10 +213,10 @@ void MxDiskStreamController::FUN_100c7cb0(MxDSStreamingAction* p_action)
void MxDiskStreamController::FUN_100c7ce0(MxDSBuffer* p_buffer) void MxDiskStreamController::FUN_100c7ce0(MxDSBuffer* p_buffer)
{ {
switch (p_buffer->GetMode()) { switch (p_buffer->GetMode()) {
case MxDSBufferType_Chunk: case MxDSBuffer::e_chunk:
m_unk0x8c--; m_unk0x8c--;
case MxDSBufferType_Allocate: case MxDSBuffer::e_allocate:
case MxDSBufferType_Unknown: case MxDSBuffer::e_unknown:
delete p_buffer; delete p_buffer;
break; break;
} }

View File

@ -174,7 +174,7 @@ MxResult MxDiskStreamProvider::FUN_100d1780(MxDSStreamingAction* p_action)
if (!buffer) if (!buffer)
return FAILURE; return FAILURE;
if (buffer->AllocateBuffer(GetFileSize(), MxDSBufferType_Allocate) != SUCCESS) { if (buffer->AllocateBuffer(GetFileSize(), MxDSBuffer::e_allocate) != SUCCESS) {
delete buffer; delete buffer;
return FAILURE; return FAILURE;
} }
@ -282,7 +282,7 @@ MxResult MxDiskStreamProvider::FUN_100d1b20(MxDSStreamingAction* p_action)
MxU32 size = p_action->GetUnknowna0()->GetWriteOffset() - p_action->GetUnknown94() + p_action->GetBufferOffset() + MxU32 size = p_action->GetUnknowna0()->GetWriteOffset() - p_action->GetUnknown94() + p_action->GetBufferOffset() +
(p_action->GetUnknowna4() ? p_action->GetUnknowna4()->GetWriteOffset() : 0); (p_action->GetUnknowna4() ? p_action->GetUnknowna4()->GetWriteOffset() : 0);
if (buffer->AllocateBuffer(size, MxDSBufferType_Allocate) != SUCCESS) { if (buffer->AllocateBuffer(size, MxDSBuffer::e_allocate) != SUCCESS) {
if (!buffer) if (!buffer)
return FAILURE; return FAILURE;
@ -330,12 +330,12 @@ MxResult MxDiskStreamProvider::FUN_100d1b20(MxDSStreamingAction* p_action)
if (!buffer3) if (!buffer3)
return FAILURE; return FAILURE;
if (buffer3->AllocateBuffer(size, MxDSBufferType_Allocate) == SUCCESS) { if (buffer3->AllocateBuffer(size, MxDSBuffer::e_allocate) == SUCCESS) {
memcpy(buffer3->GetBuffer(), p_action->GetUnknowna4()->GetBuffer(), size); memcpy(buffer3->GetBuffer(), p_action->GetUnknowna4()->GetBuffer(), size);
p_action->GetUnknowna4()->SetMode(MxDSBufferType_Allocate); p_action->GetUnknowna4()->SetMode(MxDSBuffer::e_allocate);
delete p_action->GetUnknowna4(); delete p_action->GetUnknowna4();
buffer3->SetMode(MxDSBufferType_Unknown); buffer3->SetMode(MxDSBuffer::e_unknown);
p_action->SetUnknowna4(buffer3); p_action->SetUnknowna4(buffer3);
MxDSBuffer* buffer4 = p_action->GetUnknowna0(); MxDSBuffer* buffer4 = p_action->GetUnknowna0();
MxU32 unk0x14 = buffer4->GetUnknown14(); MxU32 unk0x14 = buffer4->GetUnknown14();

View File

@ -22,7 +22,7 @@ MxDSBuffer::MxDSBuffer()
m_unk0x1c = 0; m_unk0x1c = 0;
m_writeOffset = 0; m_writeOffset = 0;
m_bytesRemaining = 0; m_bytesRemaining = 0;
m_mode = MxDSBufferType_Preallocated; m_mode = e_preallocated;
m_unk0x30 = 0; m_unk0x30 = 0;
} }
@ -31,12 +31,12 @@ MxDSBuffer::~MxDSBuffer()
{ {
if (m_pBuffer != NULL) { if (m_pBuffer != NULL) {
switch (m_mode) { switch (m_mode) {
case MxDSBufferType_Allocate: case e_allocate:
case MxDSBufferType_Unknown: case e_unknown:
delete[] m_pBuffer; delete[] m_pBuffer;
break; break;
case MxDSBufferType_Chunk: { case e_chunk: {
MxU32 offset = m_writeOffset / 1024; MxU32 offset = m_writeOffset / 1024;
MxStreamer* streamer = Streamer(); MxStreamer* streamer = Streamer();
@ -77,16 +77,16 @@ MxDSBuffer::~MxDSBuffer()
} }
// FUNCTION: LEGO1 0x100c6640 // FUNCTION: LEGO1 0x100c6640
MxResult MxDSBuffer::AllocateBuffer(MxU32 p_bufferSize, MxDSBufferType p_mode) MxResult MxDSBuffer::AllocateBuffer(MxU32 p_bufferSize, Type p_mode)
{ {
MxResult result = FAILURE; MxResult result = FAILURE;
switch (p_mode) { switch (p_mode) {
case MxDSBufferType_Allocate: case e_allocate:
m_pBuffer = new MxU8[p_bufferSize]; m_pBuffer = new MxU8[p_bufferSize];
break; break;
case MxDSBufferType_Chunk: { case e_chunk: {
MxStreamer* streamer = Streamer(); MxStreamer* streamer = Streamer();
switch (p_bufferSize / 1024) { switch (p_bufferSize / 1024) {
@ -150,7 +150,7 @@ MxResult MxDSBuffer::SetBufferPointer(MxU8* p_buffer, MxU32 p_size)
m_pIntoBuffer2 = p_buffer; m_pIntoBuffer2 = p_buffer;
m_bytesRemaining = p_size; m_bytesRemaining = p_size;
m_writeOffset = p_size; m_writeOffset = p_size;
m_mode = MxDSBufferType_Preallocated; m_mode = e_preallocated;
return SUCCESS; return SUCCESS;
} }
@ -302,7 +302,7 @@ MxResult MxDSBuffer::ParseChunk(
MxU32 length = p_header->GetLength() + MxDSChunk::GetHeaderSize() + 8; MxU32 length = p_header->GetLength() + MxDSChunk::GetHeaderSize() + 8;
MxDSBuffer* buffer = new MxDSBuffer(); MxDSBuffer* buffer = new MxDSBuffer();
if (buffer && buffer->AllocateBuffer(length, MxDSBufferType_Allocate) == SUCCESS && if (buffer && buffer->AllocateBuffer(length, e_allocate) == SUCCESS &&
buffer->CalcBytesRemaining((MxU8*) p_data) == SUCCESS) { buffer->CalcBytesRemaining((MxU8*) p_data) == SUCCESS) {
*p_streamingAction = new MxDSStreamingAction((MxDSStreamingAction&) *p_action); *p_streamingAction = new MxDSStreamingAction((MxDSStreamingAction&) *p_action);
@ -456,7 +456,7 @@ MxResult MxDSBuffer::CalcBytesRemaining(MxU8* p_data)
{ {
MxResult result = FAILURE; MxResult result = FAILURE;
if (m_mode == MxDSBufferType_Allocate && m_bytesRemaining != 0) { if (m_mode == e_allocate && m_bytesRemaining != 0) {
MxU32 bytesRead; MxU32 bytesRead;
MxU8* ptr; MxU8* ptr;