mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-28 10:54:16 +00:00
Use reference on MxDSObject Deserialize calls (#767)
This commit is contained in:
@@ -81,15 +81,15 @@ MxU32 MxDSSelectAction::GetSizeOnDisk()
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100cbf60
|
||||
void MxDSSelectAction::Deserialize(MxU8** p_source, MxS16 p_unk0x24)
|
||||
void MxDSSelectAction::Deserialize(MxU8*& p_source, MxS16 p_unk0x24)
|
||||
{
|
||||
MxString string;
|
||||
MxDSAction::Deserialize(p_source, p_unk0x24);
|
||||
|
||||
MxU32 extraFlag = *(MxU32*) (*p_source + 4) & 1;
|
||||
*p_source += 12;
|
||||
MxU32 extraFlag = *(MxU32*) (p_source + 4) & 1;
|
||||
p_source += 12;
|
||||
|
||||
this->m_unk0x9c = (char*) *p_source;
|
||||
this->m_unk0x9c = (char*) p_source;
|
||||
|
||||
if (!strnicmp(this->m_unk0x9c.GetData(), "RANDOM_", strlen("RANDOM_"))) {
|
||||
char buffer[10];
|
||||
@@ -100,13 +100,13 @@ void MxDSSelectAction::Deserialize(MxU8** p_source, MxS16 p_unk0x24)
|
||||
string = itoa((MxS16) random, buffer, 10);
|
||||
}
|
||||
else {
|
||||
string = VariableTable()->GetVariable((char*) *p_source);
|
||||
string = VariableTable()->GetVariable((char*) p_source);
|
||||
}
|
||||
|
||||
*p_source += strlen((char*) *p_source) + 1;
|
||||
p_source += strlen((char*) p_source) + 1;
|
||||
|
||||
MxU32 count = *(MxU32*) *p_source;
|
||||
*p_source += sizeof(MxU32);
|
||||
MxU32 count = *(MxU32*) p_source;
|
||||
p_source += sizeof(MxU32);
|
||||
|
||||
if (count) {
|
||||
MxS32 index = -1;
|
||||
@@ -114,17 +114,17 @@ void MxDSSelectAction::Deserialize(MxU8** p_source, MxS16 p_unk0x24)
|
||||
|
||||
MxU32 i;
|
||||
for (i = 0; i < count; i++) {
|
||||
if (!strcmp(string.GetData(), (char*) *p_source)) {
|
||||
if (!strcmp(string.GetData(), (char*) p_source)) {
|
||||
index = i;
|
||||
}
|
||||
|
||||
this->m_unk0xac->Append((char*) *p_source);
|
||||
*p_source += strlen((char*) *p_source) + 1;
|
||||
this->m_unk0xac->Append((char*) p_source);
|
||||
p_source += strlen((char*) p_source) + 1;
|
||||
}
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
MxU32 extraFlag = *(MxU32*) (*p_source + 4) & 1;
|
||||
*p_source += 8;
|
||||
MxU32 extraFlag = *(MxU32*) (p_source + 4) & 1;
|
||||
p_source += 8;
|
||||
|
||||
MxDSAction* action = (MxDSAction*) DeserializeDSObjectDispatch(p_source, p_unk0x24);
|
||||
|
||||
@@ -135,9 +135,9 @@ void MxDSSelectAction::Deserialize(MxU8** p_source, MxS16 p_unk0x24)
|
||||
delete action;
|
||||
}
|
||||
|
||||
*p_source += extraFlag;
|
||||
p_source += extraFlag;
|
||||
}
|
||||
}
|
||||
|
||||
*p_source += extraFlag;
|
||||
p_source += extraFlag;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user