Implement/match LegoAnimationManager::FUN_100623a0 (#893)

This commit is contained in:
Christian Semmler
2024-05-09 15:33:48 -04:00
committed by GitHub
parent 001b46b2ab
commit 5629eb3c85
4 changed files with 46 additions and 3 deletions

View File

@@ -1379,14 +1379,47 @@ MxS8 LegoAnimationManager::GetCharacterIndex(const char* p_name)
return -1;
}
// STUB: LEGO1 0x100623a0
// FUNCTION: LEGO1 0x100623a0
// FUNCTION: BETA10 0x10043342
MxBool LegoAnimationManager::FUN_100623a0(AnimInfo& p_info)
{
// TODO
LegoWorld* world = CurrentWorld();
if (world != NULL) {
LegoEntityList* entityList = world->GetEntityList();
if (entityList != NULL) {
Mx3DPointFloat vec(p_info.m_unk0x10[0], p_info.m_unk0x10[1], p_info.m_unk0x10[2]);
float und = p_info.m_unk0x10[3];
LegoEntityListCursor cursor(entityList);
LegoEntity* entity;
IslePathActor* actor = CurrentActor();
while (cursor.Next(entity)) {
if (entity != actor && entity->IsA("LegoPathActor")) {
LegoROI* roi = entity->GetROI();
if (roi->GetVisibility() && FUN_10062650(vec, und, roi)) {
if (!FUN_10062520(p_info, roi->GetName())) {
return TRUE;
}
}
}
}
}
}
return FALSE;
}
// STUB: LEGO1 0x10062520
// FUNCTION: BETA10 0x100434bf
MxBool LegoAnimationManager::FUN_10062520(AnimInfo& p_info, const char*)
{
return TRUE;
}
// STUB: LEGO1 0x10062580
// FUNCTION: BETA10 0x10043552
void LegoAnimationManager::FUN_10062580(AnimInfo& p_info)
@@ -1394,6 +1427,13 @@ void LegoAnimationManager::FUN_10062580(AnimInfo& p_info)
// TODO
}
// STUB: LEGO1 0x10062650
// FUNCTION: BETA10 0x100436e2
MxBool LegoAnimationManager::FUN_10062650(Vector3&, float, LegoROI*)
{
return TRUE;
}
// STUB: LEGO1 0x10062710
// FUNCTION: BETA10 0x10043787
MxBool LegoAnimationManager::FUN_10062710(AnimInfo& p_info)