mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-24 00:31:16 +00:00
A bit more refactor
This commit is contained in:
parent
99911a8119
commit
54df827219
@ -55,24 +55,25 @@ class MxDSObject : public MxCore {
|
||||
// FUNCTION: ISLE 0x401c40
|
||||
// FUNCTION: LEGO1 0x10005530
|
||||
// FUNCTION: BETA10 0x100152e0
|
||||
inline virtual void SetAtomId(MxAtomId p_atomId) { this->m_atomId = p_atomId; } // vtable+20;
|
||||
inline virtual void SetAtomId(MxAtomId p_atomId) { m_atomId = p_atomId; } // vtable+20;
|
||||
|
||||
inline Type GetType() const { return (Type) this->m_type; }
|
||||
inline const char* GetSourceName() const { return this->m_sourceName; }
|
||||
inline const char* GetObjectName() const { return this->m_objectName; }
|
||||
inline MxU32 GetObjectId() { return this->m_objectId; }
|
||||
inline const MxAtomId& GetAtomId() { return this->m_atomId; }
|
||||
inline MxS16 GetUnknown24() { return this->m_unk0x24; }
|
||||
inline MxPresenter* GetUnknown28() { return this->m_unk0x28; }
|
||||
inline Type GetType() const { return (Type) m_type; }
|
||||
inline const char* GetSourceName() const { return m_sourceName; }
|
||||
inline const char* GetObjectName() const { return m_objectName; }
|
||||
inline MxU32 GetObjectId() { return m_objectId; }
|
||||
inline const MxAtomId& GetAtomId() { return m_atomId; }
|
||||
inline MxS16 GetUnknown24() { return m_unk0x24; }
|
||||
inline MxPresenter* GetUnknown28() { return m_unk0x28; }
|
||||
|
||||
inline void SetType(Type p_type) { this->m_type = p_type; }
|
||||
inline void SetType(Type p_type) { m_type = p_type; }
|
||||
|
||||
// FUNCTION: BETA10 0x100152b0
|
||||
inline void SetObjectId(MxU32 p_objectId) { this->m_objectId = p_objectId; }
|
||||
inline void SetObjectId(MxU32 p_objectId) { m_objectId = p_objectId; }
|
||||
|
||||
// FUNCTION: BETA10 0x10039570
|
||||
inline void SetUnknown24(MxS16 p_unk0x24) { this->m_unk0x24 = p_unk0x24; }
|
||||
inline void SetUnknown28(MxPresenter* p_unk0x28) { this->m_unk0x28 = p_unk0x28; }
|
||||
inline void SetUnknown24(MxS16 p_unk0x24) { m_unk0x24 = p_unk0x24; }
|
||||
|
||||
inline void SetUnknown28(MxPresenter* p_unk0x28) { m_unk0x28 = p_unk0x28; }
|
||||
|
||||
inline void ClearAtom() { m_atomId.Clear(); }
|
||||
|
||||
|
||||
@ -18,104 +18,87 @@ MxU16 g_sep = TWOCC(',', ' ');
|
||||
// FUNCTION: BETA10 0x1012afd0
|
||||
MxDSAction::MxDSAction()
|
||||
{
|
||||
this->m_type = e_action;
|
||||
this->m_flags = MxDSAction::c_enabled;
|
||||
this->m_extraLength = 0;
|
||||
this->m_extraData = NULL;
|
||||
this->m_startTime = INT_MIN;
|
||||
this->m_duration = INT_MIN;
|
||||
this->m_loopCount = -1;
|
||||
|
||||
// TODO: No convenience function used in the beta, but maybe a macro?
|
||||
{
|
||||
float max = FLT_MAX;
|
||||
float* v = &max;
|
||||
this->m_location.EqualsScalar(v);
|
||||
}
|
||||
|
||||
{
|
||||
float max = FLT_MAX;
|
||||
float* v = &max;
|
||||
this->m_direction.EqualsScalar(v);
|
||||
}
|
||||
|
||||
{
|
||||
float max = FLT_MAX;
|
||||
float* v = &max;
|
||||
this->m_up.EqualsScalar(v);
|
||||
}
|
||||
|
||||
this->m_unk0x84 = NULL;
|
||||
this->m_unk0x88 = 0;
|
||||
this->m_origin = NULL;
|
||||
this->m_unk0x90 = INT_MIN;
|
||||
m_type = e_action;
|
||||
m_flags = MxDSAction::c_enabled;
|
||||
m_extraLength = 0;
|
||||
m_extraData = NULL;
|
||||
m_startTime = INT_MIN;
|
||||
m_duration = INT_MIN;
|
||||
m_loopCount = -1;
|
||||
m_location.Fill(FLT_MAX);
|
||||
m_direction.Fill(FLT_MAX);
|
||||
m_up.Fill(FLT_MAX);
|
||||
m_unk0x84 = NULL;
|
||||
m_unk0x88 = 0;
|
||||
m_origin = NULL;
|
||||
m_unk0x90 = INT_MIN;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ad940
|
||||
// FUNCTION: BETA10 0x1012bc50
|
||||
MxLong MxDSAction::GetDuration()
|
||||
{
|
||||
return this->m_duration;
|
||||
return m_duration;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ad950
|
||||
// FUNCTION: BETA10 0x1012bc90
|
||||
void MxDSAction::SetDuration(MxLong p_duration)
|
||||
{
|
||||
this->m_duration = p_duration;
|
||||
m_duration = p_duration;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ad960
|
||||
// FUNCTION: BETA10 0x1012bcc0
|
||||
MxBool MxDSAction::HasId(MxU32 p_objectId)
|
||||
{
|
||||
return this->m_objectId == p_objectId;
|
||||
return m_objectId == p_objectId;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ada40
|
||||
// FUNCTION: BETA10 0x1012bdf0
|
||||
void MxDSAction::SetUnknown90(MxLong p_unk0x90)
|
||||
{
|
||||
this->m_unk0x90 = p_unk0x90;
|
||||
m_unk0x90 = p_unk0x90;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ada50
|
||||
// FUNCTION: BETA10 0x1012be20
|
||||
MxLong MxDSAction::GetUnknown90()
|
||||
{
|
||||
return this->m_unk0x90;
|
||||
return m_unk0x90;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100ada80
|
||||
// FUNCTION: BETA10 0x1012b144
|
||||
MxDSAction::~MxDSAction()
|
||||
{
|
||||
delete[] this->m_extraData;
|
||||
delete[] m_extraData;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100adaf0
|
||||
// FUNCTION: BETA10 0x1012b1c7
|
||||
void MxDSAction::CopyFrom(MxDSAction& p_dsAction)
|
||||
{
|
||||
this->m_objectId = p_dsAction.m_objectId;
|
||||
this->m_flags = p_dsAction.m_flags;
|
||||
this->m_startTime = p_dsAction.m_startTime;
|
||||
this->m_duration = p_dsAction.m_duration;
|
||||
this->m_loopCount = p_dsAction.m_loopCount;
|
||||
this->m_location = p_dsAction.m_location;
|
||||
this->m_direction = p_dsAction.m_direction;
|
||||
this->m_up = p_dsAction.m_up;
|
||||
m_objectId = p_dsAction.m_objectId;
|
||||
m_flags = p_dsAction.m_flags;
|
||||
m_startTime = p_dsAction.m_startTime;
|
||||
m_duration = p_dsAction.m_duration;
|
||||
m_loopCount = p_dsAction.m_loopCount;
|
||||
m_location = p_dsAction.m_location;
|
||||
m_direction = p_dsAction.m_direction;
|
||||
m_up = p_dsAction.m_up;
|
||||
AppendExtra(p_dsAction.m_extraLength, p_dsAction.m_extraData);
|
||||
this->m_unk0x84 = p_dsAction.m_unk0x84;
|
||||
this->m_unk0x88 = p_dsAction.m_unk0x88;
|
||||
this->m_origin = p_dsAction.m_origin;
|
||||
this->m_unk0x90 = p_dsAction.m_unk0x90;
|
||||
m_unk0x84 = p_dsAction.m_unk0x84;
|
||||
m_unk0x88 = p_dsAction.m_unk0x88;
|
||||
m_origin = p_dsAction.m_origin;
|
||||
m_unk0x90 = p_dsAction.m_unk0x90;
|
||||
}
|
||||
|
||||
// FUNCTION: BETA10 0x1012b2b3
|
||||
MxDSAction::MxDSAction(MxDSAction& p_dsAction) : MxDSObject(p_dsAction)
|
||||
{
|
||||
this->CopyFrom(p_dsAction);
|
||||
CopyFrom(p_dsAction);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100adbd0
|
||||
@ -138,9 +121,9 @@ MxU32 MxDSAction::GetSizeOnDisk()
|
||||
size += sizeof(double) * 3; // m_direction
|
||||
size += sizeof(double) * 3; // m_up
|
||||
size += sizeof(m_extraLength);
|
||||
size += this->m_extraLength;
|
||||
size += m_extraLength;
|
||||
|
||||
this->m_sizeOnDisk = size - MxDSObject::GetSizeOnDisk();
|
||||
m_sizeOnDisk = size - MxDSObject::GetSizeOnDisk();
|
||||
|
||||
return size;
|
||||
}
|
||||
@ -154,7 +137,7 @@ MxDSAction& MxDSAction::operator=(MxDSAction& p_dsAction)
|
||||
}
|
||||
|
||||
MxDSObject::operator=(p_dsAction);
|
||||
this->CopyFrom(p_dsAction);
|
||||
CopyFrom(p_dsAction);
|
||||
return *this;
|
||||
}
|
||||
|
||||
@ -175,7 +158,7 @@ MxDSAction* MxDSAction::Clone()
|
||||
// FUNCTION: BETA10 0x1012b4ca
|
||||
MxLong MxDSAction::GetElapsedTime()
|
||||
{
|
||||
return Timer()->GetTime() - this->m_unk0x90;
|
||||
return Timer()->GetTime() - m_unk0x90;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100add00
|
||||
@ -183,45 +166,45 @@ MxLong MxDSAction::GetElapsedTime()
|
||||
void MxDSAction::MergeFrom(MxDSAction& p_dsAction)
|
||||
{
|
||||
if (p_dsAction.GetStartTime() != INT_MIN) {
|
||||
this->m_startTime = p_dsAction.GetStartTime();
|
||||
m_startTime = p_dsAction.GetStartTime();
|
||||
}
|
||||
|
||||
if (p_dsAction.GetDuration() != INT_MIN) {
|
||||
this->m_duration = p_dsAction.GetDuration();
|
||||
m_duration = p_dsAction.GetDuration();
|
||||
}
|
||||
|
||||
if (p_dsAction.GetLoopCount() != -1) {
|
||||
this->m_loopCount = p_dsAction.GetLoopCount();
|
||||
m_loopCount = p_dsAction.GetLoopCount();
|
||||
}
|
||||
|
||||
if (p_dsAction.GetLocation()[0] != FLT_MAX) {
|
||||
this->m_location[0] = p_dsAction.GetLocation()[0];
|
||||
m_location[0] = p_dsAction.GetLocation()[0];
|
||||
}
|
||||
if (p_dsAction.GetLocation()[1] != FLT_MAX) {
|
||||
this->m_location[1] = p_dsAction.GetLocation()[1];
|
||||
m_location[1] = p_dsAction.GetLocation()[1];
|
||||
}
|
||||
if (p_dsAction.GetLocation()[2] != FLT_MAX) {
|
||||
this->m_location[2] = p_dsAction.GetLocation()[2];
|
||||
m_location[2] = p_dsAction.GetLocation()[2];
|
||||
}
|
||||
|
||||
if (p_dsAction.GetDirection()[0] != FLT_MAX) {
|
||||
this->m_direction[0] = p_dsAction.GetDirection()[0];
|
||||
m_direction[0] = p_dsAction.GetDirection()[0];
|
||||
}
|
||||
if (p_dsAction.GetDirection()[1] != FLT_MAX) {
|
||||
this->m_direction[1] = p_dsAction.GetDirection()[1];
|
||||
m_direction[1] = p_dsAction.GetDirection()[1];
|
||||
}
|
||||
if (p_dsAction.GetDirection()[2] != FLT_MAX) {
|
||||
this->m_direction[2] = p_dsAction.GetUp()[2]; // This is correct
|
||||
m_direction[2] = p_dsAction.GetUp()[2]; // This is correct
|
||||
}
|
||||
|
||||
if (p_dsAction.GetUp()[0] != FLT_MAX) {
|
||||
this->m_up[0] = p_dsAction.GetUp()[0];
|
||||
m_up[0] = p_dsAction.GetUp()[0];
|
||||
}
|
||||
if (p_dsAction.GetUp()[1] != FLT_MAX) {
|
||||
this->m_up[1] = p_dsAction.GetUp()[1];
|
||||
m_up[1] = p_dsAction.GetUp()[1];
|
||||
}
|
||||
if (p_dsAction.GetUp()[2] != FLT_MAX) {
|
||||
this->m_up[2] = p_dsAction.GetUp()[2];
|
||||
m_up[2] = p_dsAction.GetUp()[2];
|
||||
}
|
||||
|
||||
MxU16 extraLength;
|
||||
@ -229,9 +212,9 @@ void MxDSAction::MergeFrom(MxDSAction& p_dsAction)
|
||||
p_dsAction.GetExtra(extraLength, extraData);
|
||||
|
||||
if (extraLength && extraData) {
|
||||
if (!this->m_extraData || !strncmp("XXX", this->m_extraData, 3)) {
|
||||
delete[] this->m_extraData;
|
||||
this->m_extraLength = 0;
|
||||
if (!m_extraData || !strncmp("XXX", m_extraData, 3)) {
|
||||
delete[] m_extraData;
|
||||
m_extraLength = 0;
|
||||
AppendExtra(extraLength, extraData);
|
||||
}
|
||||
}
|
||||
@ -241,28 +224,28 @@ void MxDSAction::MergeFrom(MxDSAction& p_dsAction)
|
||||
// FUNCTION: BETA10 0x1012b8a9
|
||||
void MxDSAction::AppendExtra(MxU16 p_extraLength, const char* p_extraData)
|
||||
{
|
||||
if (this->m_extraData == p_extraData) {
|
||||
if (m_extraData == p_extraData) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (p_extraData) {
|
||||
if (this->m_extraLength) {
|
||||
char* newExtra = new char[p_extraLength + this->m_extraLength + sizeof(g_sep)];
|
||||
if (m_extraLength) {
|
||||
char* newExtra = new char[p_extraLength + m_extraLength + sizeof(g_sep)];
|
||||
assert(newExtra);
|
||||
memcpy(newExtra, this->m_extraData, this->m_extraLength);
|
||||
memcpy(&newExtra[this->m_extraLength], &g_sep, sizeof(g_sep));
|
||||
memcpy(&newExtra[this->m_extraLength + sizeof(g_sep)], p_extraData, p_extraLength);
|
||||
memcpy(newExtra, m_extraData, m_extraLength);
|
||||
memcpy(&newExtra[m_extraLength], &g_sep, sizeof(g_sep));
|
||||
memcpy(&newExtra[m_extraLength + sizeof(g_sep)], p_extraData, p_extraLength);
|
||||
|
||||
this->m_extraLength += p_extraLength + sizeof(g_sep);
|
||||
delete[] this->m_extraData;
|
||||
this->m_extraData = newExtra;
|
||||
m_extraLength += p_extraLength + sizeof(g_sep);
|
||||
delete[] m_extraData;
|
||||
m_extraData = newExtra;
|
||||
}
|
||||
else {
|
||||
this->m_extraData = new char[p_extraLength];
|
||||
m_extraData = new char[p_extraLength];
|
||||
|
||||
if (this->m_extraData) {
|
||||
this->m_extraLength = p_extraLength;
|
||||
memcpy(this->m_extraData, p_extraData, p_extraLength);
|
||||
if (m_extraData) {
|
||||
m_extraLength = p_extraLength;
|
||||
memcpy(m_extraData, p_extraData, p_extraLength);
|
||||
}
|
||||
else {
|
||||
assert(0);
|
||||
@ -278,21 +261,21 @@ void MxDSAction::Deserialize(MxU8*& p_source, MxS16 p_unk0x24)
|
||||
MxDSObject::Deserialize(p_source, p_unk0x24);
|
||||
|
||||
// clang-format off
|
||||
this->m_flags = *( MxU32*) p_source; p_source += 4;
|
||||
this->m_startTime = *(MxLong*) p_source; p_source += 4;
|
||||
this->m_duration = *(MxLong*) p_source; p_source += 4;
|
||||
this->m_loopCount = *( MxS32*) p_source; p_source += 4;
|
||||
this->m_location[0] = *(double*) p_source; p_source += 8;
|
||||
this->m_location[1] = *(double*) p_source; p_source += 8;
|
||||
this->m_location[2] = *(double*) p_source; p_source += 8;
|
||||
this->m_direction[0] = *(double*) p_source; p_source += 8;
|
||||
this->m_direction[1] = *(double*) p_source; p_source += 8;
|
||||
this->m_direction[2] = *(double*) p_source; p_source += 8;
|
||||
this->m_up[0] = *(double*) p_source; p_source += 8;
|
||||
this->m_up[1] = *(double*) p_source; p_source += 8;
|
||||
this->m_up[2] = *(double*) p_source; p_source += 8;
|
||||
m_flags = *( MxU32*) p_source; p_source += sizeof(m_flags);
|
||||
m_startTime = *(MxLong*) p_source; p_source += sizeof(m_startTime);
|
||||
m_duration = *(MxLong*) p_source; p_source += sizeof(m_duration);
|
||||
m_loopCount = *( MxS32*) p_source; p_source += sizeof(m_loopCount);
|
||||
m_location[0] = *(double*) p_source; p_source += sizeof(double);
|
||||
m_location[1] = *(double*) p_source; p_source += sizeof(double);
|
||||
m_location[2] = *(double*) p_source; p_source += sizeof(double);
|
||||
m_direction[0] = *(double*) p_source; p_source += sizeof(double);
|
||||
m_direction[1] = *(double*) p_source; p_source += sizeof(double);
|
||||
m_direction[2] = *(double*) p_source; p_source += sizeof(double);
|
||||
m_up[0] = *(double*) p_source; p_source += sizeof(double);
|
||||
m_up[1] = *(double*) p_source; p_source += sizeof(double);
|
||||
m_up[2] = *(double*) p_source; p_source += sizeof(double);
|
||||
|
||||
MxU16 extraLength = *( MxU16*) p_source; p_source += 2;
|
||||
MxU16 extraLength = *( MxU16*) p_source; p_source += sizeof(extraLength);
|
||||
// clang-format on
|
||||
|
||||
if (extraLength) {
|
||||
|
||||
@ -22,13 +22,13 @@ DECOMP_SIZE_ASSERT(MxDSObject, 0x2c);
|
||||
// FUNCTION: BETA10 0x101478c0
|
||||
MxDSObject::MxDSObject()
|
||||
{
|
||||
this->m_type = e_object;
|
||||
this->m_sourceName = NULL;
|
||||
this->m_unk0x14 = 0;
|
||||
this->m_objectName = NULL;
|
||||
this->m_objectId = -1;
|
||||
this->m_unk0x24 = -1;
|
||||
this->m_unk0x28 = 0;
|
||||
m_type = e_object;
|
||||
m_sourceName = NULL;
|
||||
m_unk0x14 = 0;
|
||||
m_objectName = NULL;
|
||||
m_objectId = -1;
|
||||
m_unk0x24 = -1;
|
||||
m_unk0x28 = NULL;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100bf7e0
|
||||
@ -43,19 +43,19 @@ MxDSObject::~MxDSObject()
|
||||
// FUNCTION: BETA10 0x10147a45
|
||||
void MxDSObject::CopyFrom(MxDSObject& p_dsObject)
|
||||
{
|
||||
this->SetSourceName(p_dsObject.m_sourceName);
|
||||
this->m_unk0x14 = p_dsObject.m_unk0x14;
|
||||
this->SetObjectName(p_dsObject.m_objectName);
|
||||
this->m_objectId = p_dsObject.m_objectId;
|
||||
this->m_unk0x24 = p_dsObject.m_unk0x24;
|
||||
this->m_atomId = p_dsObject.m_atomId;
|
||||
this->m_unk0x28 = p_dsObject.m_unk0x28;
|
||||
SetSourceName(p_dsObject.m_sourceName);
|
||||
m_unk0x14 = p_dsObject.m_unk0x14;
|
||||
SetObjectName(p_dsObject.m_objectName);
|
||||
m_objectId = p_dsObject.m_objectId;
|
||||
m_unk0x24 = p_dsObject.m_unk0x24;
|
||||
m_atomId = p_dsObject.m_atomId;
|
||||
m_unk0x28 = p_dsObject.m_unk0x28;
|
||||
}
|
||||
|
||||
// FUNCTION: BETA10 0x10147abf
|
||||
MxDSObject::MxDSObject(MxDSObject& p_dsObject)
|
||||
{
|
||||
this->CopyFrom(p_dsObject);
|
||||
CopyFrom(p_dsObject);
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100bf8c0
|
||||
@ -66,7 +66,7 @@ MxDSObject& MxDSObject::operator=(MxDSObject& p_dsObject)
|
||||
return *this;
|
||||
}
|
||||
|
||||
this->CopyFrom(p_dsObject);
|
||||
CopyFrom(p_dsObject);
|
||||
return *this;
|
||||
}
|
||||
|
||||
@ -74,21 +74,21 @@ MxDSObject& MxDSObject::operator=(MxDSObject& p_dsObject)
|
||||
// FUNCTION: BETA10 0x10147b92
|
||||
void MxDSObject::SetObjectName(const char* p_objectName)
|
||||
{
|
||||
if (p_objectName == this->m_objectName) {
|
||||
if (p_objectName == m_objectName) {
|
||||
return;
|
||||
}
|
||||
|
||||
delete[] this->m_objectName;
|
||||
delete[] m_objectName;
|
||||
|
||||
if (p_objectName) {
|
||||
this->m_objectName = new char[strlen(p_objectName) + 1];
|
||||
m_objectName = new char[strlen(p_objectName) + 1];
|
||||
|
||||
if (this->m_objectName) {
|
||||
strcpy(this->m_objectName, p_objectName);
|
||||
if (m_objectName) {
|
||||
strcpy(m_objectName, p_objectName);
|
||||
}
|
||||
}
|
||||
else {
|
||||
this->m_objectName = NULL;
|
||||
m_objectName = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@ -96,21 +96,21 @@ void MxDSObject::SetObjectName(const char* p_objectName)
|
||||
// FUNCTION: BETA10 0x10147c2e
|
||||
void MxDSObject::SetSourceName(const char* p_sourceName)
|
||||
{
|
||||
if (p_sourceName == this->m_sourceName) {
|
||||
if (p_sourceName == m_sourceName) {
|
||||
return;
|
||||
}
|
||||
|
||||
delete[] this->m_sourceName;
|
||||
delete[] m_sourceName;
|
||||
|
||||
if (p_sourceName) {
|
||||
this->m_sourceName = new char[strlen(p_sourceName) + 1];
|
||||
m_sourceName = new char[strlen(p_sourceName) + 1];
|
||||
|
||||
if (this->m_sourceName) {
|
||||
strcpy(this->m_sourceName, p_sourceName);
|
||||
if (m_sourceName) {
|
||||
strcpy(m_sourceName, p_sourceName);
|
||||
}
|
||||
}
|
||||
else {
|
||||
this->m_sourceName = NULL;
|
||||
m_sourceName = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@ -130,25 +130,25 @@ MxU32 MxDSObject::GetSizeOnDisk()
|
||||
|
||||
sizeOnDisk += 2;
|
||||
|
||||
if (this->m_sourceName) {
|
||||
sizeOnDisk += strlen(this->m_sourceName) + 1;
|
||||
if (m_sourceName) {
|
||||
sizeOnDisk += strlen(m_sourceName) + 1;
|
||||
}
|
||||
else {
|
||||
sizeOnDisk++;
|
||||
}
|
||||
|
||||
sizeOnDisk += sizeof(this->m_unk0x14);
|
||||
sizeOnDisk += sizeof(m_unk0x14);
|
||||
|
||||
if (this->m_objectName) {
|
||||
sizeOnDisk += strlen(this->m_objectName) + 1;
|
||||
if (m_objectName) {
|
||||
sizeOnDisk += strlen(m_objectName) + 1;
|
||||
}
|
||||
else {
|
||||
sizeOnDisk++;
|
||||
}
|
||||
|
||||
sizeOnDisk += sizeof(this->m_objectId);
|
||||
sizeOnDisk += sizeof(m_objectId);
|
||||
|
||||
this->m_sizeOnDisk = sizeOnDisk;
|
||||
m_sizeOnDisk = sizeOnDisk;
|
||||
return sizeOnDisk;
|
||||
}
|
||||
|
||||
@ -156,19 +156,19 @@ MxU32 MxDSObject::GetSizeOnDisk()
|
||||
// FUNCTION: BETA10 0x10147d73
|
||||
void MxDSObject::Deserialize(MxU8*& p_source, MxS16 p_unk0x24)
|
||||
{
|
||||
this->SetSourceName((char*) p_source);
|
||||
p_source += strlen(this->m_sourceName) + 1;
|
||||
SetSourceName((char*) p_source);
|
||||
p_source += strlen(m_sourceName) + 1;
|
||||
|
||||
this->m_unk0x14 = *(MxU32*) p_source;
|
||||
p_source += sizeof(this->m_unk0x14);
|
||||
m_unk0x14 = *(undefined4*) p_source;
|
||||
p_source += sizeof(m_unk0x14);
|
||||
|
||||
this->SetObjectName((char*) p_source);
|
||||
p_source += strlen(this->m_objectName) + 1;
|
||||
SetObjectName((char*) p_source);
|
||||
p_source += strlen(m_objectName) + 1;
|
||||
|
||||
this->m_objectId = *(MxU32*) p_source;
|
||||
p_source += sizeof(this->m_objectId);
|
||||
m_objectId = *(MxU32*) p_source;
|
||||
p_source += sizeof(m_objectId);
|
||||
|
||||
this->m_unk0x24 = p_unk0x24;
|
||||
m_unk0x24 = p_unk0x24;
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x100bfb30
|
||||
|
||||
@ -195,11 +195,11 @@ class Vector3 : public Vector2 {
|
||||
virtual void EqualsCross(float* p_a, Vector3* p_b) { EqualsCrossImpl(p_a, p_b->m_data); } // vtable+0x78
|
||||
|
||||
// FUNCTION: LEGO1 0x10003bf0
|
||||
virtual void EqualsScalar(float* p_value)
|
||||
virtual void Fill(const float& p_value)
|
||||
{
|
||||
m_data[0] = *p_value;
|
||||
m_data[1] = *p_value;
|
||||
m_data[2] = *p_value;
|
||||
m_data[0] = p_value;
|
||||
m_data[1] = p_value;
|
||||
m_data[2] = p_value;
|
||||
} // vtable+0x84
|
||||
|
||||
// Vector2 overrides
|
||||
@ -270,8 +270,6 @@ class Vector3 : public Vector2 {
|
||||
return m_data[0] * m_data[0] + m_data[1] * m_data[1] + m_data[2] * m_data[2];
|
||||
} // vtable+0x40
|
||||
|
||||
inline void Fill(float p_value) { EqualsScalar(&p_value); }
|
||||
|
||||
friend class Mx3DPointFloat;
|
||||
};
|
||||
|
||||
@ -374,12 +372,12 @@ class Vector4 : public Vector3 {
|
||||
} // vtable+0x40
|
||||
|
||||
// FUNCTION: LEGO1 0x10002b40
|
||||
void EqualsScalar(float* p_value) override
|
||||
void Fill(const float& p_value) override
|
||||
{
|
||||
m_data[0] = *p_value;
|
||||
m_data[1] = *p_value;
|
||||
m_data[2] = *p_value;
|
||||
m_data[3] = *p_value;
|
||||
m_data[0] = p_value;
|
||||
m_data[1] = p_value;
|
||||
m_data[2] = p_value;
|
||||
m_data[3] = p_value;
|
||||
} // vtable+0x84
|
||||
|
||||
friend class Mx4DPointFloat;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user