Implement/match LegoPathActor::ParseAction (#946)

* Implement/match LegoPathActor::ParseAction

* Fix naming

* Space
This commit is contained in:
Christian Semmler
2024-05-24 13:07:45 -04:00
committed by GitHub
parent 6774784b37
commit db90807d53
25 changed files with 137 additions and 75 deletions

View File

@@ -994,7 +994,7 @@ MxResult LegoAnimationManager::FUN_100605e0(
FUN_100648f0(tranInfo, m_unk0x404);
}
else if (p_unk0x0a) {
IslePathActor* actor = CurrentActor();
LegoPathActor* actor = CurrentActor();
if (actor != NULL) {
actor->SetState(4);
@@ -1432,7 +1432,7 @@ MxResult LegoAnimationManager::Tickle()
return SUCCESS;
}
IslePathActor* actor = CurrentActor();
LegoPathActor* actor = CurrentActor();
LegoROI* roi;
if (actor == NULL || (roi = actor->GetROI()) == NULL) {
@@ -1655,7 +1655,7 @@ MxBool LegoAnimationManager::FUN_100623a0(AnimInfo& p_info)
LegoEntityListCursor cursor(entityList);
LegoEntity* entity;
IslePathActor* actor = CurrentActor();
LegoPathActor* actor = CurrentActor();
while (cursor.Next(entity)) {
if (entity != actor && entity->IsA("LegoPathActor")) {
@@ -1858,7 +1858,7 @@ void LegoAnimationManager::AddExtra(MxS32 p_location, MxBool p_und)
if (world != NULL) {
PurgeExtra(FALSE);
IslePathActor* actor = CurrentActor();
LegoPathActor* actor = CurrentActor();
if (actor == NULL || actor->GetWorldSpeed() <= 20.0f) {
MxU32 i;
for (i = 0; i < m_numAllowedExtras && m_extras[i].m_roi != NULL; i++) {
@@ -2163,7 +2163,7 @@ MxBool LegoAnimationManager::FUN_10064120(LegoLocation::Boundary* p_boundary, Mx
{
MxU32 local2c = 12;
float destScale = ((rand() * 0.5) / 32767.0) + 0.25;
IslePathActor* actor = CurrentActor();
LegoPathActor* actor = CurrentActor();
if (actor == NULL) {
return FALSE;

View File

@@ -425,7 +425,7 @@ MxBool LegoAnimMMPresenter::FUN_1004b6b0(MxLong p_time)
MxBool LegoAnimMMPresenter::FUN_1004b6d0(MxLong p_time)
{
LegoROI* viewROI = VideoManager()->GetViewROI();
IslePathActor* actor = CurrentActor();
LegoPathActor* actor = CurrentActor();
if (m_tranInfo != NULL && m_tranInfo->m_unk0x14 && m_tranInfo->m_location != -1 && actor != NULL) {
if (m_unk0x64 != NULL) {

View File

@@ -172,7 +172,7 @@ void LegoGameState::SetActor(MxU8 p_actorId)
m_actorId = p_actorId;
}
IslePathActor* oldActor = CurrentActor();
LegoPathActor* oldActor = CurrentActor();
SetCurrentActor(NULL);
IslePathActor* newActor = new IslePathActor();
@@ -199,7 +199,7 @@ void LegoGameState::SetActor(MxU8 p_actorId)
// FUNCTION: LEGO1 0x10039910
void LegoGameState::RemoveActor()
{
IslePathActor* actor = CurrentActor();
LegoPathActor* actor = CurrentActor();
SetCurrentActor(NULL);
delete actor;
m_actorId = 0;
@@ -209,7 +209,7 @@ void LegoGameState::RemoveActor()
void LegoGameState::ResetROI()
{
if (m_actorId) {
IslePathActor* actor = CurrentActor();
LegoPathActor* actor = CurrentActor();
if (actor) {
LegoROI* roi = actor->GetROI();
@@ -906,11 +906,12 @@ void LegoGameState::SwitchArea(Area p_area)
AnimationManager()->Resume();
}
CurrentActor()->SpawnPlayer(
p_area,
TRUE,
IslePathActor::c_spawnBit1 | IslePathActor::c_playMusic | IslePathActor::c_spawnBit3
);
((IslePathActor*) CurrentActor())
->SpawnPlayer(
p_area,
TRUE,
IslePathActor::c_spawnBit1 | IslePathActor::c_playMusic | IslePathActor::c_spawnBit3
);
break;
}
case e_hospital:
@@ -922,11 +923,12 @@ void LegoGameState::SwitchArea(Area p_area)
SetCameraControllerFromIsle();
CurrentActor()->ResetWorldTransform(TRUE);
AnimationManager()->Resume();
CurrentActor()->SpawnPlayer(
p_area,
TRUE,
IslePathActor::c_spawnBit1 | IslePathActor::c_playMusic | IslePathActor::c_spawnBit3
);
((IslePathActor*) CurrentActor())
->SpawnPlayer(
p_area,
TRUE,
IslePathActor::c_spawnBit1 | IslePathActor::c_playMusic | IslePathActor::c_spawnBit3
);
break;
case e_police:
VideoManager()->SetUnk0x554(TRUE);

View File

@@ -67,7 +67,7 @@ LegoNavController* NavController()
}
// FUNCTION: LEGO1 0x10015790
IslePathActor* CurrentActor()
LegoPathActor* CurrentActor()
{
return LegoOmni::GetInstance()->GetCurrentActor();
}
@@ -137,7 +137,7 @@ void SetROIVisible(const char* p_name, MxBool p_visible)
}
// FUNCTION: LEGO1 0x10015880
void SetCurrentActor(IslePathActor* p_currentActor)
void SetCurrentActor(LegoPathActor* p_currentActor)
{
LegoOmni::GetInstance()->SetCurrentActor(p_currentActor);
}