Isle
Loading...
Searching...
No Matches
mxdsstreamingaction.h
Go to the documentation of this file.
1#ifndef MXDSSTREAMINGACTION_H
2#define MXDSSTREAMINGACTION_H
3
4#include "mxdsaction.h"
5
6class MxDSBuffer;
7
8// VTABLE: LEGO1 0x100dd088
9// VTABLE: BETA10 0x101c2850
10// SIZE 0xb4
11
17public:
23 MxDSStreamingAction(MxDSAction& p_dsAction, MxU32 p_offset);
24
29 MxDSStreamingAction(MxDSStreamingAction& p_dsStreamingAction);
30
34 ~MxDSStreamingAction() override;
35
42
48 MxBool HasId(MxU32 p_objectId) override; // vtable+0x34
49
53 void Init();
54
59 void SetInternalAction(MxDSAction* p_dsAction);
60
65 void FUN_100cd2d0();
66
70 MxU32 GetUnknown94() { return m_unk0x94; }
71
75 MxS32 GetUnknown9c() { return m_unk0x9c; }
76
80 MxDSBuffer* GetUnknowna0() { return m_unk0xa0; }
81
85 MxDSBuffer* GetUnknowna4() { return m_unk0xa4; }
86
90 MxLong GetUnknowna8() { return m_unk0xa8; }
91
95 MxDSAction* GetInternalAction() { return m_internalAction; }
96
100 MxU32 GetBufferOffset() { return m_bufferOffset; }
101
106 void SetUnknown94(MxU32 p_unk0x94) { m_unk0x94 = p_unk0x94; }
107
112 void SetUnknown9c(MxS32 p_unk0x9c) { m_unk0x9c = p_unk0x9c; }
113
118 void SetUnknowna0(MxDSBuffer* p_unk0xa0) { m_unk0xa0 = p_unk0xa0; }
119
124 void SetUnknowna4(MxDSBuffer* p_unk0xa4) { m_unk0xa4 = p_unk0xa4; }
125
130 void SetBufferOffset(MxU32 p_bufferOffset) { m_bufferOffset = p_bufferOffset; }
131
135 void ClearUnknowna0() { m_unk0xa0 = NULL; }
136
137 // SYNTHETIC: LEGO1 0x100cd0b0
138 // SYNTHETIC: BETA10 0x101565f0
139 // MxDSStreamingAction::`scalar deleting destructor'
140
141private:
142 MxU32 m_unk0x94;
143 MxU32 m_bufferOffset;
144 MxS32 m_unk0x9c;
145 MxDSBuffer* m_unk0xa0;
146 MxDSBuffer* m_unk0xa4;
147 MxLong m_unk0xa8;
148 undefined2 m_unk0xac;
149 MxDSAction* m_internalAction;
150};
151
152#endif // MXDSSTREAMINGACTION_H
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
[AI] Buffer for managing streamed DS (Data Stream) chunks and actions.
Definition: mxdsbuffer.h:50
[AI] Represents an action that streams data from a buffer within a DirectScript (DS) media timeline.
void SetUnknown9c(MxS32 p_unk0x9c)
[AI] Sets the unknown integer at 0x9c.
void SetUnknowna0(MxDSBuffer *p_unk0xa0)
[AI] Assigns a streaming buffer to this action (ownership rules apply).
MxDSBuffer * GetUnknowna0()
[AI] Returns a pointer to the first streaming buffer (possibly current read buffer).
void SetUnknowna4(MxDSBuffer *p_unk0xa4)
[AI] Assigns a secondary streaming buffer to this action.
void SetBufferOffset(MxU32 p_bufferOffset)
[AI] Sets the current buffer read offset.
~MxDSStreamingAction() override
[AI] Destructor.
void FUN_100cd2d0()
[AI] Updates duration, loop count, and accumulates advanced streaming time for repeated playback.
void ClearUnknowna0()
[AI] Clears/deallocates (sets to NULL) the current buffer pointer (a0).
MxDSStreamingAction * CopyFrom(MxDSStreamingAction &p_dsStreamingAction)
[AI] Copies fields from another MxDSStreamingAction, deeply cloning the internal action if needed.
MxBool HasId(MxU32 p_objectId) override
[AI] Determines if this action or its internal action correspond to the given object ID.
MxS32 GetUnknown9c()
[AI] Retrieves an internal integer—purpose unknown—held at 0x9c.
void Init()
[AI] Initializes default values for members.
MxDSAction * GetInternalAction()
[AI] Returns the internal sub-action representing the actual user-level action being streamed.
void SetInternalAction(MxDSAction *p_dsAction)
[AI] Sets or replaces the internal action held by this streaming action (ownership is transferred).
MxLong GetUnknowna8()
[AI] Accumulated streaming duration, used for repeat or seek calculations.
void SetUnknown94(MxU32 p_unk0x94)
[AI] Sets the streaming offset/status at 0x94.
MxU32 GetUnknown94()
[AI] Gets the streaming offset or status value at 0x94.
MxU32 GetBufferOffset()
[AI] Gets the buffer offset where streaming is currently positioned.
MxDSBuffer * GetUnknowna4()
[AI] Returns a pointer to the second streaming buffer (possibly for prefetch or double buffering).
unsigned short undefined2
Definition: decomp.h:27
#define NULL
[AI] Null pointer value (C/C++ semantics).
Definition: legotypes.h:26
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
int MxLong
[AI]
Definition: mxtypes.h:83
signed int MxS32
[AI]
Definition: mxtypes.h:38
unsigned int MxU32
[AI]
Definition: mxtypes.h:32