Implement MxDSStreamingAction (#108)

* Implement MxDSStreamingAction

* Add remaining functions

* Use inline assignment operators
This commit is contained in:
Christian Semmler
2023-08-16 18:02:26 -04:00
committed by GitHub
parent 51ac526f8a
commit 4a2226181c
4 changed files with 140 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
#ifndef MXDSSTREAMINGACTION_H
#define MXDSSTREAMINGACTION_H
#include "mxdsaction.h"
class MxDSBuffer;
// VTABLE 0x100dd088
// SIZE 0xb4
class MxDSStreamingAction : public MxDSAction
{
public:
MxDSStreamingAction(MxDSAction &p_dsAction, MxU32 p_offset);
MxDSStreamingAction(MxDSStreamingAction &p_dsStreamingAction);
virtual ~MxDSStreamingAction();
MxDSStreamingAction *CopyFrom(MxDSStreamingAction &p_dsStreamingAction);
MxDSStreamingAction &operator=(MxDSAction &p_dsAction) {
MxDSAction::operator=(p_dsAction);
return *this;
}
MxDSStreamingAction &operator=(MxDSStreamingAction &p_dsStreamingAction) {
MxDSAction::operator=(p_dsStreamingAction);
return *this;
}
virtual MxBool HasId(MxU32 p_objectId); // vtable+34;
MxResult Init();
void SetInternalAction(MxDSAction *p_dsAction);
void FUN_100CD2D0();
private:
MxU32 m_unk94;
MxU32 m_bufferOffset;
MxS32 m_unk9c;
MxDSBuffer *m_unka0;
MxDSBuffer *m_unka4;
MxLong m_unka8;
undefined2 m_unkac;
MxDSAction *m_internalAction;
};
#endif // MXDSSTREAMINGACTION_H