@@ -19,24 +19,24 @@ DECOMP_SIZE_ASSERT(LegoPathStruct, 0x14)
1919extern MxU32 g_isleFlags;
2020
2121// GLOBAL: LEGO1 0x100f119c
22- MxBool g_unk0x100f119c = FALSE ;
22+ MxBool g_triggerHandlingIgnoreDirection = FALSE ;
2323
2424// FUNCTION: LEGO1 0x1001b700
2525void LegoPathStruct::HandleTrigger (LegoPathActor* p_actor, MxBool p_direction, MxU32 p_data)
2626{
27- if (!HandleTrigger (p_actor, p_direction, p_data, FALSE ) && g_unk0x100f119c ) {
27+ if (!HandleTrigger (p_actor, p_direction, p_data, FALSE ) && g_triggerHandlingIgnoreDirection ) {
2828 HandleTrigger (p_actor, p_direction, p_data, TRUE );
2929 }
3030}
3131
3232// FUNCTION: LEGO1 0x1001b740
3333// FUNCTION: BETA10 0x100c26c5
34- MxBool LegoPathStruct::HandleTrigger (LegoPathActor* p_actor, MxBool p_direction, MxU32 p_data, MxBool p_bool )
34+ MxBool LegoPathStruct::HandleTrigger (LegoPathActor* p_actor, MxBool p_direction, MxU32 p_data, MxBool p_invertDirection )
3535{
3636 MxBool triggered = FALSE ;
37- MxBool bool2 = p_bool ? !p_direction : p_direction;
37+ MxBool actualDirection = p_invertDirection ? !p_direction : p_direction;
3838
39- MxU32 flags = bool2 ? c_bit5 : c_bit6;
39+ MxU32 flags = actualDirection ? c_bit5 : c_bit6;
4040 flags |= p_actor->GetCameraFlag () ? c_bit1 : (c_bit2 | c_bit3 | c_bit4);
4141
4242 if ((m_flags & flags & (c_bit5 | c_bit6 | c_bit7)) && (m_flags & flags & (c_bit1 | c_bit2 | c_bit3 | c_bit4))) {
@@ -45,10 +45,10 @@ MxBool LegoPathStruct::HandleTrigger(LegoPathActor* p_actor, MxBool p_direction,
4545 switch (m_name[2 ]) {
4646 case c_camAnim:
4747 if (g_isleFlags & Isle::c_playCamAnims) {
48- PlayCamAnim (p_actor, bool2 , p_data, TRUE );
48+ PlayCamAnim (p_actor, actualDirection , p_data, TRUE );
4949 }
5050 break ;
51- case c_d : {
51+ case c_waypoint : {
5252 p_actor->SetLastPathStruct (p_data);
5353
5454 LegoPathStructNotificationParam param (c_notificationPathStruct, p_actor, m_name[2 ], p_data);
@@ -60,12 +60,12 @@ MxBool LegoPathStruct::HandleTrigger(LegoPathActor* p_actor, MxBool p_direction,
6060 }
6161 break ;
6262 }
63- case c_e :
64- FUN_1001bc40 (m_name, p_data, !(p_bool == FALSE ));
63+ case c_deleteAction :
64+ HandleAction (m_name, p_data, !(p_invertDirection == FALSE ));
6565 break ;
66- case c_g :
66+ case c_nothing :
6767 break ;
68- case c_h : {
68+ case c_hideAnim : {
6969 LegoHideAnimPresenter* presenter = m_world->GetHideAnimPresenter ();
7070 if (presenter != NULL ) {
7171 presenter->ApplyVisibility (p_data * 100 );
@@ -77,7 +77,7 @@ MxBool LegoPathStruct::HandleTrigger(LegoPathActor* p_actor, MxBool p_direction,
7777 PlayMusic (p_direction, p_data);
7878 }
7979 break ;
80- case c_s : {
80+ case c_specialMissionWaypointAndAction : {
8181 LegoWorld* world = CurrentWorld ();
8282 if (world != NULL ) {
8383 LegoPathStructNotificationParam param (c_notificationPathStruct, p_actor, m_name[2 ], p_data);
@@ -87,10 +87,10 @@ MxBool LegoPathStruct::HandleTrigger(LegoPathActor* p_actor, MxBool p_direction,
8787 }
8888 }
8989
90- FUN_1001bc40 (m_name, p_data, p_bool == FALSE );
90+ HandleAction (m_name, p_data, p_invertDirection == FALSE );
9191 break ;
9292 }
93- case c_w : {
93+ case c_missionFinalWaypoint : {
9494 LegoWorld* world = CurrentWorld ();
9595 if (world != NULL ) {
9696 LegoPathStructNotificationParam param (c_notificationPathStruct, p_actor, m_name[2 ], p_data);
@@ -106,13 +106,13 @@ MxBool LegoPathStruct::HandleTrigger(LegoPathActor* p_actor, MxBool p_direction,
106106
107107// FUNCTION: LEGO1 0x1001bc40
108108// FUNCTION: BETA10 0x100c2a6c
109- void LegoPathStruct::FUN_1001bc40 (const char * p_name, MxU32 p_data, MxBool p_bool )
109+ void LegoPathStruct::HandleAction (const char * p_name, MxU32 p_data, MxBool p_start )
110110{
111111 MxDSAction action;
112112 action.SetObjectId (p_data);
113113 action.SetAtomId (m_atomId);
114114
115- if (p_bool ) {
115+ if (p_start ) {
116116 action.SetUnknown24 (-1 );
117117 Start (&action);
118118 }
0 commit comments