2023-06-29 04:10:08 -04:00
|
|
|
#include "legopathpresenter.h"
|
2023-10-24 19:38:27 -04:00
|
|
|
|
2023-10-23 10:08:22 -04:00
|
|
|
#include "legoomni.h"
|
|
|
|
#include "legovideomanager.h"
|
|
|
|
#include "mxautolocker.h"
|
2023-06-29 04:10:08 -04:00
|
|
|
|
2023-10-23 10:08:22 -04:00
|
|
|
DECOMP_SIZE_ASSERT(LegoPathPresenter, 0x54);
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x100448d0
|
2023-06-29 04:10:08 -04:00
|
|
|
LegoPathPresenter::LegoPathPresenter()
|
2023-10-23 10:08:22 -04:00
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
Init();
|
2023-10-23 10:08:22 -04:00
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x10044ab0
|
2023-10-23 10:08:22 -04:00
|
|
|
void LegoPathPresenter::Init()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x10044b40
|
2023-10-23 10:08:22 -04:00
|
|
|
MxResult LegoPathPresenter::AddToManager()
|
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
MxResult status = FAILURE;
|
2023-10-23 10:08:22 -04:00
|
|
|
|
2023-10-24 19:38:27 -04:00
|
|
|
if (VideoManager()) {
|
|
|
|
VideoManager()->AddPresenter(*this);
|
|
|
|
status = SUCCESS;
|
|
|
|
}
|
2023-10-23 10:08:22 -04:00
|
|
|
|
2023-10-24 19:38:27 -04:00
|
|
|
return status;
|
2023-10-23 10:08:22 -04:00
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x10044b70
|
2023-10-23 10:08:22 -04:00
|
|
|
void LegoPathPresenter::Destroy(MxBool p_fromDestructor)
|
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
if (VideoManager())
|
|
|
|
VideoManager()->RemovePresenter(*this);
|
2023-10-23 10:08:22 -04:00
|
|
|
|
2023-10-24 19:38:27 -04:00
|
|
|
{
|
|
|
|
MxAutoLocker lock(&this->m_criticalSection);
|
|
|
|
Init();
|
|
|
|
}
|
2023-10-23 10:08:22 -04:00
|
|
|
|
2023-10-24 19:38:27 -04:00
|
|
|
if (!p_fromDestructor)
|
|
|
|
MxMediaPresenter::Destroy(FALSE);
|
2023-10-23 10:08:22 -04:00
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x10044c10
|
2023-10-23 10:08:22 -04:00
|
|
|
void LegoPathPresenter::Destroy()
|
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
Destroy(FALSE);
|
2023-10-23 10:08:22 -04:00
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// FUNCTION: LEGO1 0x10044d40
|
2023-10-23 10:08:22 -04:00
|
|
|
void LegoPathPresenter::RepeatingTickle()
|
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
if (this->m_action->GetDuration() == -1)
|
|
|
|
return;
|
2023-10-23 10:08:22 -04:00
|
|
|
|
2023-10-24 19:38:27 -04:00
|
|
|
EndAction();
|
2023-10-23 10:08:22 -04:00
|
|
|
}
|
|
|
|
|
2023-12-06 07:10:45 -05:00
|
|
|
// STUB: LEGO1 0x10044d60
|
2023-10-23 10:08:22 -04:00
|
|
|
void LegoPathPresenter::ParseExtra()
|
2023-06-29 04:10:08 -04:00
|
|
|
{
|
2023-10-24 19:38:27 -04:00
|
|
|
// TODO
|
2023-10-23 10:08:22 -04:00
|
|
|
}
|