From e95d5b913e4db3a2d88594b864922eb3785b0e22 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Tue, 15 Aug 2023 10:05:30 -0400 Subject: [PATCH] Add MxDSAnim --- LEGO1/mxdsanim.cpp | 29 +++++++++++++++++++++++++++++ LEGO1/mxdsanim.h | 6 +++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/LEGO1/mxdsanim.cpp b/LEGO1/mxdsanim.cpp index b9b887cd..050d40e0 100644 --- a/LEGO1/mxdsanim.cpp +++ b/LEGO1/mxdsanim.cpp @@ -1,5 +1,7 @@ #include "mxdsanim.h" +DECOMP_SIZE_ASSERT(MxDSAnim, 0xb8) + // OFFSET: LEGO1 0x100c8ff0 MxDSAnim::MxDSAnim() { @@ -10,3 +12,30 @@ MxDSAnim::MxDSAnim() MxDSAnim::~MxDSAnim() { } + +// OFFSET: LEGO1 0x100c91f0 +void MxDSAnim::CopyFrom(MxDSAnim &p_dsAnim) +{ +} + +// OFFSET: LEGO1 0x100c9200 +MxDSAnim &MxDSAnim::operator=(MxDSAnim &p_dsAnim) +{ + if (this == &p_dsAnim) + return *this; + + MxDSMediaAction::operator=(p_dsAnim); + this->CopyFrom(p_dsAnim); + return *this; +} + +// OFFSET: LEGO1 0x100c9230 +MxDSAction *MxDSAnim::Clone() +{ + MxDSAnim *clone = new MxDSAnim(); + + if (clone) + *clone = *this; + + return clone; +} \ No newline at end of file diff --git a/LEGO1/mxdsanim.h b/LEGO1/mxdsanim.h index fdef0859..92890e8e 100644 --- a/LEGO1/mxdsanim.h +++ b/LEGO1/mxdsanim.h @@ -9,9 +9,11 @@ class MxDSAnim : public MxDSMediaAction { public: MxDSAnim(); - virtual ~MxDSAnim() override; + void CopyFrom(MxDSAnim &p_dsAnim); + MxDSAnim &operator=(MxDSAnim &p_dsAnim); + // OFFSET: LEGO1 0x100c9060 inline virtual const char *ClassName() const override // vtable+0x0c { @@ -24,6 +26,8 @@ class MxDSAnim : public MxDSMediaAction { return !strcmp(name, MxDSAnim::ClassName()) || MxDSMediaAction::IsA(name); } + + virtual MxDSAction *Clone(); // vtable+2c; }; #endif // MXDSANIM_H