mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-22 15:48:09 -05:00
Implement/match LegoCharacterManager::FUN_10083b20 and FUN_10085180 (#902)
This commit is contained in:
parent
d9a82323ca
commit
c77dd44105
3 changed files with 19 additions and 9 deletions
|
@ -59,7 +59,7 @@ class LegoCharacterManager {
|
||||||
static MxBool Exists(const char* p_key);
|
static MxBool Exists(const char* p_key);
|
||||||
|
|
||||||
void FUN_100832a0();
|
void FUN_100832a0();
|
||||||
MxBool FUN_10083b20(const char* p_name);
|
MxBool FUN_10083b20(const char* p_key);
|
||||||
MxU32 GetRefCount(LegoROI* p_roi);
|
MxU32 GetRefCount(LegoROI* p_roi);
|
||||||
void FUN_10083c30(const char* p_name);
|
void FUN_10083c30(const char* p_name);
|
||||||
void FUN_10083db0(LegoROI* p_roi);
|
void FUN_10083db0(LegoROI* p_roi);
|
||||||
|
|
|
@ -1669,7 +1669,7 @@ void LegoAnimationManager::AddExtra(MxS32 p_location, MxBool p_und)
|
||||||
active = rand() % 100 < 50;
|
active = rand() % 100 < 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
nextCharacter:
|
tryNextCharacter:
|
||||||
if (g_characters[m_lastExtraCharacterId].m_unk0x09 &&
|
if (g_characters[m_lastExtraCharacterId].m_unk0x09 &&
|
||||||
g_characters[m_lastExtraCharacterId].m_unk0x08 &&
|
g_characters[m_lastExtraCharacterId].m_unk0x08 &&
|
||||||
!g_characters[m_lastExtraCharacterId].m_unk0x04 &&
|
!g_characters[m_lastExtraCharacterId].m_unk0x04 &&
|
||||||
|
@ -1708,7 +1708,6 @@ void LegoAnimationManager::AddExtra(MxS32 p_location, MxBool p_und)
|
||||||
boundary->m_dest,
|
boundary->m_dest,
|
||||||
boundary->m_destScale
|
boundary->m_destScale
|
||||||
) == SUCCESS) {
|
) == SUCCESS) {
|
||||||
|
|
||||||
MxS32 vehicleId = g_characters[m_lastExtraCharacterId].m_vehicleId;
|
MxS32 vehicleId = g_characters[m_lastExtraCharacterId].m_vehicleId;
|
||||||
if (vehicleId >= 0) {
|
if (vehicleId >= 0) {
|
||||||
g_vehicles[vehicleId].m_unk0x04 =
|
g_vehicles[vehicleId].m_unk0x04 =
|
||||||
|
@ -1764,7 +1763,7 @@ void LegoAnimationManager::AddExtra(MxS32 p_location, MxBool p_und)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
goto nextCharacter;
|
goto tryNextCharacter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -245,11 +245,17 @@ LegoROI* LegoCharacterManager::GetROI(const char* p_key, MxBool p_createEntity)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10083b20
|
// FUNCTION: LEGO1 0x10083b20
|
||||||
// FUNCTION: BETA10 0x10074608
|
// FUNCTION: BETA10 0x10074608
|
||||||
MxBool LegoCharacterManager::FUN_10083b20(const char* p_name)
|
MxBool LegoCharacterManager::FUN_10083b20(const char* p_key)
|
||||||
{
|
{
|
||||||
// TODO
|
LegoCharacter* character = NULL;
|
||||||
|
LegoCharacterMap::iterator it = m_characters->find(const_cast<char*>(p_key));
|
||||||
|
|
||||||
|
if (it != m_characters->end()) {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -744,11 +750,16 @@ MxU32 LegoCharacterManager::FUN_10085140(LegoROI* p_roi, MxBool p_und)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10085180
|
// FUNCTION: LEGO1 0x10085180
|
||||||
// FUNCTION: BETA10 0x100768c5
|
// FUNCTION: BETA10 0x100768c5
|
||||||
MxU8 LegoCharacterManager::FUN_10085180(LegoROI* p_roi)
|
MxU8 LegoCharacterManager::FUN_10085180(LegoROI* p_roi)
|
||||||
{
|
{
|
||||||
// TODO
|
LegoCharacterInfo* info = GetInfo(p_roi);
|
||||||
|
|
||||||
|
if (info != NULL) {
|
||||||
|
return info->m_unk0x14;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue