mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-26 01:17:55 -05:00
Implement/matche LegoAnimationManager::FUN_10064740 and FUN_10064670 (#929)
This commit is contained in:
parent
710f07e632
commit
5fe0b7e0bb
2 changed files with 52 additions and 7 deletions
|
@ -105,8 +105,8 @@ class LegoAnimationManager : public MxCore {
|
||||||
void AddExtra(MxS32 p_location, MxBool p_und);
|
void AddExtra(MxS32 p_location, MxBool p_und);
|
||||||
void FUN_10063270(LegoROIList*, LegoAnimPresenter*);
|
void FUN_10063270(LegoROIList*, LegoAnimPresenter*);
|
||||||
void FUN_10063780(LegoROIList* p_list);
|
void FUN_10063780(LegoROIList* p_list);
|
||||||
void FUN_10064670(Vector3*);
|
MxResult FUN_10064670(Vector3* p_position);
|
||||||
void FUN_10064740(Vector3*);
|
MxResult FUN_10064740(Vector3* p_position);
|
||||||
|
|
||||||
static void configureLegoAnimationManager(MxS32 p_legoAnimationManagerConfig);
|
static void configureLegoAnimationManager(MxS32 p_legoAnimationManagerConfig);
|
||||||
|
|
||||||
|
|
|
@ -2177,15 +2177,60 @@ MxResult LegoAnimationManager::FUN_10064380(
|
||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10064670
|
// FUNCTION: LEGO1 0x10064670
|
||||||
void LegoAnimationManager::FUN_10064670(Vector3*)
|
MxResult LegoAnimationManager::FUN_10064670(Vector3* p_position)
|
||||||
{
|
{
|
||||||
// TODO
|
MxBool success = FALSE;
|
||||||
|
|
||||||
|
if (p_position != NULL) {
|
||||||
|
Mx3DPointFloat vec(98.875f, 0.0f, -46.1564f);
|
||||||
|
((Vector3&) vec).Sub(p_position);
|
||||||
|
|
||||||
|
if (vec.LenSquared() < 800.0f) {
|
||||||
|
success = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
success = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10064740
|
if (success) {
|
||||||
void LegoAnimationManager::FUN_10064740(Vector3*)
|
return FUN_10064380("brickstr", "EDG02_95", 1, 0.5f, 3, 0.5f, rand() % 3 + 14, -1, rand() % 3, -1, 0.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
return FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// FUNCTION: LEGO1 0x10064740
|
||||||
|
MxResult LegoAnimationManager::FUN_10064740(Vector3* p_position)
|
||||||
{
|
{
|
||||||
|
MxBool success = FALSE;
|
||||||
|
|
||||||
|
if (p_position != NULL) {
|
||||||
|
Mx3DPointFloat vec(-21.375f, 0.0f, -41.75f);
|
||||||
|
((Vector3&) vec).Sub(p_position);
|
||||||
|
|
||||||
|
if (vec.LenSquared() < 1000.0f) {
|
||||||
|
success = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
success = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (success) {
|
||||||
|
if (GameState()->GetActorId() != 2) {
|
||||||
|
FUN_10064380("mama", "USR00_47", 1, 0.43f, 3, 0.84f, rand() % 3 + 13, -1, rand() % 3, -1, 0.7f);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GameState()->GetActorId() != 3) {
|
||||||
|
FUN_10064380("papa", "USR00_193", 3, 0.55f, 1, 0.4f, rand() % 3 + 13, -1, rand() % 3, -1, 0.9f);
|
||||||
|
}
|
||||||
|
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x100648f0
|
// STUB: LEGO1 0x100648f0
|
||||||
|
|
Loading…
Reference in a new issue