Clear time started unknown in MxDSAction (#1604)

This should not be confused with `GetStartTime()`, as that represents the time offset from the SI file.
This commit is contained in:
Fabian Neundorf 2025-07-03 23:56:48 +02:00 committed by GitHub
parent 44d1ad13fe
commit 16c76c96f2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 22 additions and 22 deletions

View File

@ -400,7 +400,7 @@ MxBool LegoAnimMMPresenter::FUN_1004b610(MxLong p_time)
}
}
m_action->SetUnknown90(Timer()->GetTime());
m_action->SetTimeStarted(Timer()->GetTime());
if (m_compositePresenter != NULL) {
m_compositePresenter->VTable0x60(this);

View File

@ -84,7 +84,7 @@ MxResult MxCompositeMediaPresenter::StartAction(MxStreamController* p_controller
if (!m_compositePresenter) {
SetTickleState(e_ready);
MxLong time = Timer()->GetTime();
m_action->SetUnknown90(time);
m_action->SetTimeStarted(time);
}
result = SUCCESS;
@ -134,7 +134,7 @@ void MxCompositeMediaPresenter::StartingTickle()
if (!m_unk0x4c) {
ProgressTickleState(e_streaming);
MxLong time = Timer()->GetTime();
m_action->SetUnknown90(time);
m_action->SetTimeStarted(time);
}
}
}

View File

@ -189,7 +189,7 @@ void MxControlPresenter::VTable0x6c(MxS16 p_unk0x4e)
m_unk0x4e = p_unk0x4e;
}
m_action->SetUnknown90(Timer()->GetTime());
m_action->SetTimeStarted(Timer()->GetTime());
MxS16 i = 0;
for (MxCompositePresenterList::iterator it = m_list.begin(); it != m_list.end(); it++) {

View File

@ -815,7 +815,7 @@ void LegoAnimPresenter::StartingTickle()
m_compositePresenter->VTable0x60(this);
}
else {
m_action->SetUnknown90(Timer()->GetTime());
m_action->SetTimeStarted(Timer()->GetTime());
}
ProgressTickleState(e_streaming);

View File

@ -55,8 +55,8 @@ public:
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 void SetTimeStarted(MxLong p_timeStarted); // vtable+0x38
virtual MxLong GetTimeStarted(); // vtable+0x3c
virtual MxLong GetElapsedTime(); // vtable+0x40
void AppendExtra(MxU16 p_extraLength, const char* p_extraData);
@ -130,7 +130,7 @@ protected:
MxCore* m_notificationObject; // 0x84
undefined4 m_unk0x88; // 0x88
MxCore* m_origin; // 0x8c
MxLong m_unk0x90; // 0x90
MxLong m_timeStarted; // 0x90
};
#endif // MXDSACTION_H

View File

@ -38,7 +38,7 @@ public:
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
void SetTimeStarted(MxLong p_timeStarted) override; // vtable+0x38
// FUNCTION: BETA10 0x1004e180
MxDSActionList* GetActionList() const { return m_actionList; }

View File

@ -31,7 +31,7 @@ MxDSAction::MxDSAction()
m_notificationObject = NULL;
m_unk0x88 = 0;
m_origin = NULL;
m_unk0x90 = INT_MIN;
m_timeStarted = INT_MIN;
}
// FUNCTION: LEGO1 0x100ad940
@ -57,16 +57,16 @@ MxBool MxDSAction::HasId(MxU32 p_objectId)
// FUNCTION: LEGO1 0x100ada40
// FUNCTION: BETA10 0x1012bdf0
void MxDSAction::SetUnknown90(MxLong p_unk0x90)
void MxDSAction::SetTimeStarted(MxLong p_timeStarted)
{
m_unk0x90 = p_unk0x90;
m_timeStarted = p_timeStarted;
}
// FUNCTION: LEGO1 0x100ada50
// FUNCTION: BETA10 0x1012be20
MxLong MxDSAction::GetUnknown90()
MxLong MxDSAction::GetTimeStarted()
{
return m_unk0x90;
return m_timeStarted;
}
// FUNCTION: LEGO1 0x100ada80
@ -92,7 +92,7 @@ void MxDSAction::CopyFrom(MxDSAction& p_dsAction)
m_notificationObject = p_dsAction.m_notificationObject;
m_unk0x88 = p_dsAction.m_unk0x88;
m_origin = p_dsAction.m_origin;
m_unk0x90 = p_dsAction.m_unk0x90;
m_timeStarted = p_dsAction.m_timeStarted;
}
// FUNCTION: BETA10 0x1012b2b3
@ -158,7 +158,7 @@ MxDSAction* MxDSAction::Clone()
// FUNCTION: BETA10 0x1012b4ca
MxLong MxDSAction::GetElapsedTime()
{
return Timer()->GetTime() - m_unk0x90;
return Timer()->GetTime() - m_timeStarted;
}
// FUNCTION: LEGO1 0x100add00

View File

@ -57,14 +57,14 @@ MxDSMultiAction& MxDSMultiAction::operator=(MxDSMultiAction& p_dsMultiAction)
// FUNCTION: LEGO1 0x100ca290
// FUNCTION: BETA10 0x10159728
void MxDSMultiAction::SetUnknown90(MxLong p_unk0x90)
void MxDSMultiAction::SetTimeStarted(MxLong p_timeStarted)
{
m_unk0x90 = p_unk0x90;
m_timeStarted = p_timeStarted;
MxDSActionListCursor cursor(m_actionList);
MxDSAction* action;
while (cursor.Next(action)) {
action->SetUnknown90(p_unk0x90);
action->SetTimeStarted(p_timeStarted);
}
}

View File

@ -252,7 +252,7 @@ void MxMediaPresenter::Enable(MxBool p_enable)
if (p_enable) {
MxLong time = Timer()->GetTime();
m_action->SetUnknown90(time);
m_action->SetTimeStarted(time);
SetTickleState(e_repeating);
}
else {

View File

@ -209,7 +209,7 @@ MxResult MxDSBuffer::StartPresenterFromAction(
p_objectheader->SetUnknown28(p_action1->GetUnknown28());
p_objectheader->SetNotificationObject(p_action1->GetNotificationObject());
p_objectheader->SetOrigin(p_action1->GetOrigin());
p_objectheader->SetUnknown90(p_action1->GetUnknown90());
p_objectheader->SetTimeStarted(p_action1->GetTimeStarted());
p_objectheader->MergeFrom(*p_action1);
m_unk0x30->SetInternalAction(p_objectheader->Clone());

View File

@ -202,7 +202,7 @@ MxResult MxStreamController::FUN_100c1a00(MxDSAction* p_action, MxU32 p_offset)
streamingAction->SetObjectId(p_action->GetObjectId());
MxLong time = Timer()->GetTime();
streamingAction->SetUnknown90(time);
streamingAction->SetTimeStarted(time);
m_unk0x3c.PushBack(streamingAction);
return SUCCESS;