Implement/match LegoWorld::ActorExists ()

This commit is contained in:
Christian Semmler 2025-01-11 09:55:19 -07:00 committed by GitHub
parent 4d3481d2bd
commit 33d8192d75
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 19 additions and 0 deletions
LEGO1/lego/legoomni

View file

@ -138,6 +138,9 @@ public:
MxFloat& p_param5
);
// FUNCTION: BETA10 0x100e0160
MxBool ActorExists(LegoPathActor* p_actor) { return m_actors.find(p_actor) == m_actors.end() ? FALSE : TRUE; }
static MxResult Init();
static MxResult Reset();

View file

@ -101,6 +101,7 @@ public:
Vector3& p_direction
);
void RemoveActor(LegoPathActor* p_actor);
MxBool ActorExists(LegoPathActor* p_actor);
void FUN_1001fda0(LegoAnimPresenter* p_presenter);
void FUN_1001fe90(LegoAnimPresenter* p_presenter);
LegoPathBoundary* FindPathBoundary(const char* p_name);

View file

@ -334,6 +334,21 @@ void LegoWorld::RemoveActor(LegoPathActor* p_actor)
}
}
// FUNCTION: BETA10 0x100da560
MxBool LegoWorld::ActorExists(LegoPathActor* p_actor)
{
LegoPathControllerListCursor cursor(&m_list0x68);
LegoPathController* controller;
while (cursor.Next(controller)) {
if (controller->ActorExists(p_actor) == TRUE) {
return TRUE;
}
}
return FALSE;
}
// FUNCTION: LEGO1 0x1001fda0
// FUNCTION: BETA10 0x100da621
void LegoWorld::FUN_1001fda0(LegoAnimPresenter* p_presenter)