Beta match and cleanup of MxDS* classes (#1432)

* Clean up / beta match MxDS* classes

* ;)
This commit is contained in:
MS
2025-04-10 22:59:55 -04:00
committed by GitHub
parent 95431347ee
commit 688c203f70
24 changed files with 289 additions and 155 deletions

View File

@@ -47,17 +47,17 @@ public:
return !strcmp(p_name, MxDSAction::ClassName()) || MxDSObject::IsA(p_name);
}
undefined4 VTable0x14() override; // vtable+14;
MxU32 GetSizeOnDisk() override; // vtable+18;
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+1c;
virtual MxLong GetDuration(); // vtable+24;
virtual void SetDuration(MxLong p_duration); // vtable+28;
virtual MxDSAction* Clone(); // vtable+2c;
virtual void MergeFrom(MxDSAction& p_dsAction); // vtable+30;
virtual MxBool HasId(MxU32 p_objectId); // vtable+34;
virtual void SetUnknown90(MxLong p_unk0x90); // vtable+38;
virtual MxLong GetUnknown90(); // vtable+3c;
virtual MxLong GetElapsedTime(); // vtable+40;
undefined4 VTable0x14() override; // vtable+0x14
MxU32 GetSizeOnDisk() override; // vtable+0x18
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+0x1c
virtual MxLong GetDuration(); // vtable+0x24
virtual void SetDuration(MxLong p_duration); // vtable+0x28
virtual MxDSAction* Clone(); // vtable+0x2c
virtual void MergeFrom(MxDSAction& p_dsAction); // vtable+0x30
virtual MxBool HasId(MxU32 p_objectId); // vtable+0x34
virtual void SetUnknown90(MxLong p_unk0x90); // vtable+0x38
virtual MxLong GetUnknown90(); // vtable+0x3c
virtual MxLong GetElapsedTime(); // vtable+0x40
void AppendExtra(MxU16 p_extraLength, const char* p_extraData);

View File

@@ -29,6 +29,7 @@ public:
} // vtable+0x14
// FUNCTION: LEGO1 0x100c9cb0
// FUNCTION: BETA10 0x1015add0
static void Destroy(MxDSAction* p_action) { delete p_action; }
// SYNTHETIC: LEGO1 0x100c9dc0
@@ -139,4 +140,7 @@ public:
// TEMPLATE: BETA10 0x1015bd90
// MxList<MxDSAction *>::DeleteAll
// TEMPLATE: BETA10 0x1015be20
// MxListCursor<MxDSAction *>::HasMatch
#endif // MXDSACTIONLIST_H

View File

@@ -9,6 +9,7 @@
class MxDSAnim : public MxDSMediaAction {
public:
MxDSAnim();
MxDSAnim(MxDSAnim& p_dsAnim);
~MxDSAnim() override;
void CopyFrom(MxDSAnim& p_dsAnim);
@@ -23,14 +24,16 @@ public:
}
// FUNCTION: LEGO1 0x100c9070
// FUNCTION: BETA10 0x1015d8b0
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxDSAnim::ClassName()) || MxDSMediaAction::IsA(p_name);
}
MxDSAction* Clone() override; // vtable+2c;
MxDSAction* Clone() override; // vtable+0x2c
// SYNTHETIC: LEGO1 0x100c9180
// SYNTHETIC: BETA10 0x1015d910
// MxDSAnim::`scalar deleting destructor'
};

View File

@@ -8,6 +8,7 @@
class MxDSEvent : public MxDSMediaAction {
public:
MxDSEvent();
MxDSEvent(MxDSEvent& p_dsEvent);
~MxDSEvent() override;
void CopyFrom(MxDSEvent& p_dsEvent);
@@ -22,14 +23,16 @@ public:
}
// FUNCTION: LEGO1 0x100c9670
// FUNCTION: BETA10 0x1015da30
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxDSEvent::ClassName()) || MxDSMediaAction::IsA(p_name);
}
MxDSAction* Clone() override; // vtable+2c;
MxDSAction* Clone() override; // vtable+0x2c
// SYNTHETIC: LEGO1 0x100c9780
// SYNTHETIC: BETA10 0x1015da90
// MxDSEvent::`scalar deleting destructor'
};

View File

@@ -10,10 +10,10 @@
class MxDSMediaAction : public MxDSAction {
public:
MxDSMediaAction();
MxDSMediaAction(MxDSMediaAction& p_dsMediaAction);
~MxDSMediaAction() override;
void CopyFrom(MxDSMediaAction& p_dsMediaAction);
MxDSMediaAction(MxDSMediaAction& p_dsMediaAction);
MxDSMediaAction& operator=(MxDSMediaAction& p_dsMediaAction);
// FUNCTION: LEGO1 0x100c8be0
@@ -35,10 +35,10 @@ public:
// SYNTHETIC: BETA10 0x1015d810
// MxDSMediaAction::`scalar deleting destructor'
undefined4 VTable0x14() override; // vtable+14;
MxU32 GetSizeOnDisk() override; // vtable+18;
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+1c;
MxDSAction* Clone() override; // vtable+2c;
undefined4 VTable0x14() override; // vtable+0x14
MxU32 GetSizeOnDisk() override; // vtable+0x18
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+0x1c
MxDSAction* Clone() override; // vtable+0x2c
void CopyMediaSrcPath(const char* p_mediaSrcPath);

View File

@@ -10,6 +10,7 @@
class MxDSMultiAction : public MxDSAction {
public:
MxDSMultiAction();
MxDSMultiAction(MxDSMultiAction& p_dsMultiAction);
~MxDSMultiAction() override;
void CopyFrom(MxDSMultiAction& p_dsMultiAction);
@@ -24,29 +25,31 @@ public:
}
// FUNCTION: LEGO1 0x100c9f60
// FUNCTION: BETA10 0x1015b1b0
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxDSMultiAction::ClassName()) || MxDSAction::IsA(p_name);
}
undefined4 VTable0x14() override; // vtable+14;
MxU32 GetSizeOnDisk() override; // vtable+18;
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+1c;
void SetAtomId(MxAtomId p_atomId) override; // vtable+20;
MxDSAction* Clone() override; // vtable+2c;
void MergeFrom(MxDSAction& p_dsAction) override; // vtable+30;
MxBool HasId(MxU32 p_objectId) override; // vtable+34;
void SetUnknown90(MxLong p_unk0x90) override; // vtable+38;
undefined4 VTable0x14() override; // vtable+0x14
MxU32 GetSizeOnDisk() override; // vtable+0x18
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+0x1c
void SetAtomId(MxAtomId p_atomId) override; // vtable+0x20
MxDSAction* Clone() override; // vtable+0x2c
void MergeFrom(MxDSAction& p_dsAction) override; // vtable+0x30
MxBool HasId(MxU32 p_objectId) override; // vtable+0x34
void SetUnknown90(MxLong p_unk0x90) override; // vtable+0x38
// FUNCTION: BETA10 0x1004e180
MxDSActionList* GetActionList() const { return m_actions; }
MxDSActionList* GetActionList() const { return m_actionList; }
// SYNTHETIC: LEGO1 0x100ca040
// SYNTHETIC: BETA10 0x1015b210
// MxDSMultiAction::`scalar deleting destructor'
protected:
MxU32 m_sizeOnDisk; // 0x94
MxDSActionList* m_actions; // 0x98
MxU32 m_sizeOnDisk; // 0x94
MxDSActionList* m_actionList; // 0x98
};
// SYNTHETIC: LEGO1 0x1004ad10

View File

@@ -55,23 +55,23 @@ public:
// FUNCTION: LEGO1 0x100bf730
// FUNCTION: BETA10 0x1012bdd0
const char* ClassName() const override { return "MxDSObject"; } // vtable+0c
const char* ClassName() const override { return "MxDSObject"; } // vtable+0x0c
// FUNCTION: LEGO1 0x100bf740
// FUNCTION: BETA10 0x1012bd70
MxBool IsA(const char* p_name) const override
{
return !strcmp(p_name, MxDSObject::ClassName()) || MxCore::IsA(p_name);
} // vtable+10;
} // vtable+0x10
virtual undefined4 VTable0x14(); // vtable+14;
virtual MxU32 GetSizeOnDisk(); // vtable+18;
virtual void Deserialize(MxU8*& p_source, MxS16 p_unk0x24); // vtable+1c;
virtual undefined4 VTable0x14(); // vtable+0x14
virtual MxU32 GetSizeOnDisk(); // vtable+0x18
virtual void Deserialize(MxU8*& p_source, MxS16 p_unk0x24); // vtable+0x1c
// FUNCTION: ISLE 0x401c40
// FUNCTION: LEGO1 0x10005530
// FUNCTION: BETA10 0x100152e0
virtual void SetAtomId(MxAtomId p_atomId) { m_atomId = p_atomId; } // vtable+20;
virtual void SetAtomId(MxAtomId p_atomId) { m_atomId = p_atomId; } // vtable+0x20
// FUNCTION: BETA10 0x1012ef90
Type GetType() const { return (Type) m_type; }

View File

@@ -9,6 +9,7 @@
class MxDSObjectAction : public MxDSMediaAction {
public:
MxDSObjectAction();
MxDSObjectAction(MxDSObjectAction& p_dsObjectAction);
~MxDSObjectAction() override;
MxDSObjectAction& operator=(MxDSObjectAction& p_dsObjectAction);
@@ -22,15 +23,17 @@ public:
}
// FUNCTION: LEGO1 0x100c88f0
// FUNCTION: BETA10 0x1015c640
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxDSObjectAction::ClassName()) || MxDSMediaAction::IsA(p_name);
}
MxDSAction* Clone() override; // vtable+2c;
virtual void CopyFrom(MxDSObjectAction& p_dsObjectAction); // vtable+44;
MxDSAction* Clone() override; // vtable+0x2c
virtual void CopyFrom(MxDSObjectAction& p_dsObjectAction); // vtable+0x44
// SYNTHETIC: LEGO1 0x100c8a00
// SYNTHETIC: BETA10 0x1015c720
// MxDSObjectAction::`scalar deleting destructor'
};

View File

@@ -9,6 +9,7 @@
class MxDSParallelAction : public MxDSMultiAction {
public:
MxDSParallelAction();
MxDSParallelAction(MxDSParallelAction& p_dsParallelAction);
~MxDSParallelAction() override;
void CopyFrom(MxDSParallelAction& p_dsParallelAction);
@@ -23,20 +24,23 @@ public:
}
// FUNCTION: LEGO1 0x100caf10
// FUNCTION: BETA10 0x1015b3c0
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxDSParallelAction::ClassName()) || MxDSMultiAction::IsA(p_name);
}
// SYNTHETIC: LEGO1 0x100cb020
// MxDSParallelAction::`scalar deleting destructor'
MxLong GetDuration() override; // vtable+24;
MxLong GetDuration() override; // vtable+0x24
// FUNCTION: LEGO1 0x100caef0
// FUNCTION: BETA10 0x1015b370
void SetDuration(MxLong p_duration) override { m_duration = p_duration; } // vtable+0x28
MxDSAction* Clone() override; // vtable+2c;
MxDSAction* Clone() override; // vtable+0x2c
// SYNTHETIC: LEGO1 0x100cb020
// SYNTHETIC: BETA10 0x1015b420
// MxDSParallelAction::`scalar deleting destructor'
};
#endif // MXDSPARALLELACTION_H

View File

@@ -11,6 +11,7 @@
class MxDSSelectAction : public MxDSParallelAction {
public:
MxDSSelectAction();
MxDSSelectAction(MxDSSelectAction& p_dsSelectAction);
~MxDSSelectAction() override;
void CopyFrom(MxDSSelectAction& p_dsSelectAction);
@@ -25,16 +26,18 @@ public:
}
// FUNCTION: LEGO1 0x100cb700
// FUNCTION: BETA10 0x1015b480
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxDSSelectAction::ClassName()) || MxDSParallelAction::IsA(p_name);
}
MxU32 GetSizeOnDisk() override; // vtable+18;
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+1c;
MxDSAction* Clone() override; // vtable+2c;
MxU32 GetSizeOnDisk() override; // vtable+0x18
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+0x1c
MxDSAction* Clone() override; // vtable+0x2c
// SYNTHETIC: LEGO1 0x100cb840
// SYNTHETIC: BETA10 0x1015b4e0
// MxDSSelectAction::`scalar deleting destructor'
private:

View File

@@ -10,6 +10,7 @@
class MxDSSerialAction : public MxDSMultiAction {
public:
MxDSSerialAction();
MxDSSerialAction(MxDSSerialAction& p_dsSerialAction);
~MxDSSerialAction() override;
void CopyFrom(MxDSSerialAction& p_dsSerialAction);
@@ -24,22 +25,24 @@ public:
}
// FUNCTION: LEGO1 0x100caae0
// FUNCTION: BETA10 0x1015b2d0
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxDSSerialAction::ClassName()) || MxDSMultiAction::IsA(p_name);
}
MxLong GetDuration() override; // vtable+24;
void SetDuration(MxLong p_duration) override; // vtable+28;
MxDSAction* Clone() override; // vtable+2c;
MxLong GetDuration() override; // vtable+0x24
void SetDuration(MxLong p_duration) override; // vtable+0x28
MxDSAction* Clone() override; // vtable+0x2c
// SYNTHETIC: LEGO1 0x100cabf0
// SYNTHETIC: BETA10 0x1015b330
// MxDSSerialAction::`scalar deleting destructor'
private:
MxDSActionListCursor* m_cursor;
undefined4 m_unk0xa0;
undefined4 m_unk0xa4;
MxDSActionListCursor* m_cursor; // 0x9c
undefined4 m_unk0xa0; // 0xa0
undefined4 m_unk0xa4; // 0xa4
};
#endif // MXDSSERIALACTION_H

View File

@@ -9,6 +9,7 @@
class MxDSSound : public MxDSMediaAction {
public:
MxDSSound();
MxDSSound(MxDSSound& p_dsSound);
~MxDSSound() override;
void CopyFrom(MxDSSound& p_dsSound);
@@ -23,19 +24,21 @@ public:
}
// FUNCTION: LEGO1 0x100c9340
// FUNCTION: BETA10 0x1015d970
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxDSSound::ClassName()) || MxDSMediaAction::IsA(p_name);
}
MxU32 GetSizeOnDisk() override; // vtable+18;
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+1c;
MxDSAction* Clone() override; // vtable+2c;
MxU32 GetSizeOnDisk() override; // vtable+0x18
void Deserialize(MxU8*& p_source, MxS16 p_unk0x24) override; // vtable+0x1c
MxDSAction* Clone() override; // vtable+0x2c
// FUNCTION: BETA10 0x1008d060
MxS32 GetVolume() const { return m_volume; }
// SYNTHETIC: LEGO1 0x100c9450
// SYNTHETIC: BETA10 0x1015d9d0
// MxDSSound::`scalar deleting destructor'
private:

View File

@@ -9,6 +9,7 @@
class MxDSStill : public MxDSMediaAction {
public:
MxDSStill();
MxDSStill(MxDSStill& p_dsStill);
~MxDSStill() override;
void CopyFrom(MxDSStill& p_dsStill);
@@ -23,14 +24,16 @@ public:
}
// FUNCTION: LEGO1 0x100c9940
// FUNCTION: BETA10 0x1015daf0
MxBool IsA(const char* p_name) const override // vtable+0x10
{
return !strcmp(p_name, MxDSStill::ClassName()) || MxDSMediaAction::IsA(p_name);
}
MxDSAction* Clone() override; // vtable+2c;
MxDSAction* Clone() override; // vtable+0x2c
// SYNTHETIC: LEGO1 0x100c9a50
// SYNTHETIC: BETA10 0x1015db50
// MxDSStill::`scalar deleting destructor'
};

View File

@@ -16,7 +16,7 @@ public:
MxDSStreamingAction* CopyFrom(MxDSStreamingAction& p_dsStreamingAction);
MxBool HasId(MxU32 p_objectId) override; // vtable+0x34;
MxBool HasId(MxU32 p_objectId) override; // vtable+0x34
void Init();
void SetInternalAction(MxDSAction* p_dsAction);