diff --git a/LEGO1/lego/legoomni/include/legoutils.h b/LEGO1/lego/legoomni/include/legoutils.h index 1ae41b21..e484c9a0 100644 --- a/LEGO1/lego/legoomni/include/legoutils.h +++ b/LEGO1/lego/legoomni/include/legoutils.h @@ -19,11 +19,11 @@ class LegoTreeNode; MxS16 CountTotalTreeNodes(LegoTreeNode* p_node); void FUN_1003e050(LegoAnimPresenter* p_presenter); Extra::ActionType MatchActionString(const char*); -void InvokeAction(Extra::ActionType p_actionId, MxAtomId& p_pAtom, MxS32 p_targetEntityId, LegoEntity* p_sender); +void InvokeAction(Extra::ActionType p_actionId, const MxAtomId& p_pAtom, MxS32 p_targetEntityId, LegoEntity* p_sender); void SetCameraControllerFromIsle(); void ConvertHSVToRGB(float p_h, float p_s, float p_v, float* p_rOut, float* p_bOut, float* p_gOut); void FUN_1003eda0(); -MxBool RemoveFromCurrentWorld(MxAtomId& p_atomId, MxS32 p_id); +MxBool RemoveFromCurrentWorld(const MxAtomId& p_atomId, MxS32 p_id); void FUN_1003ef00(MxBool); void SetAppCursor(WPARAM p_wparam); MxBool FUN_1003ef60(); diff --git a/LEGO1/lego/legoomni/src/common/legoactioncontrolpresenter.cpp b/LEGO1/lego/legoomni/src/common/legoactioncontrolpresenter.cpp index f1a9d747..86972b68 100644 --- a/LEGO1/lego/legoomni/src/common/legoactioncontrolpresenter.cpp +++ b/LEGO1/lego/legoomni/src/common/legoactioncontrolpresenter.cpp @@ -38,14 +38,7 @@ void LegoActionControlPresenter::RepeatingTickle() ParseExtra(); } -#ifdef COMPAT_MODE - { - MxAtomId atom(m_unk0x54.GetData(), e_lowerCase2); - InvokeAction(m_unk0x50, atom, m_unk0x64, NULL); - } -#else InvokeAction(m_unk0x50, MxAtomId(m_unk0x54.GetData(), e_lowerCase2), m_unk0x64, NULL); -#endif ProgressTickleState(e_done); } } diff --git a/LEGO1/lego/legoomni/src/common/legoutils.cpp b/LEGO1/lego/legoomni/src/common/legoutils.cpp index 0776d552..613b01a8 100644 --- a/LEGO1/lego/legoomni/src/common/legoutils.cpp +++ b/LEGO1/lego/legoomni/src/common/legoutils.cpp @@ -152,7 +152,7 @@ MxBool CheckIfEntityExists(MxBool p_enable, const char* p_filename, MxS32 p_enti void NotifyEntity(const char* p_filename, MxS32 p_entityId, LegoEntity* p_sender); // FUNCTION: LEGO1 0x1003e430 -void InvokeAction(Extra::ActionType p_actionId, MxAtomId& p_pAtom, MxS32 p_targetEntityId, LegoEntity* p_sender) +void InvokeAction(Extra::ActionType p_actionId, const MxAtomId& p_pAtom, MxS32 p_targetEntityId, LegoEntity* p_sender) { MxDSAction action; action.SetAtomId(p_pAtom); @@ -338,7 +338,7 @@ void FUN_1003eda0() } // FUNCTION: LEGO1 0x1003ee00 -MxBool RemoveFromCurrentWorld(MxAtomId& p_atomId, MxS32 p_id) +MxBool RemoveFromCurrentWorld(const MxAtomId& p_atomId, MxS32 p_id) { LegoWorld* world = CurrentWorld(); diff --git a/LEGO1/lego/legoomni/src/entity/legoentity.cpp b/LEGO1/lego/legoomni/src/entity/legoentity.cpp index c5df0ee7..78dae287 100644 --- a/LEGO1/lego/legoomni/src/entity/legoentity.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoentity.cpp @@ -336,14 +336,7 @@ MxLong LegoEntity::Notify(MxParam& p_param) } if (m_actionType != Extra::e_unknown) { -#ifdef COMPAT_MODE - { - MxAtomId atom(m_filename, e_lowerCase2); - InvokeAction(m_actionType, atom, m_targetEntityId, this); - } -#else InvokeAction(m_actionType, MxAtomId(m_filename, e_lowerCase2), m_targetEntityId, this); -#endif } else { switch (GameState()->GetActorId()) { diff --git a/LEGO1/lego/legoomni/src/worlds/infocenter.cpp b/LEGO1/lego/legoomni/src/worlds/infocenter.cpp index 88a04570..57573c97 100644 --- a/LEGO1/lego/legoomni/src/worlds/infocenter.cpp +++ b/LEGO1/lego/legoomni/src/worlds/infocenter.cpp @@ -1187,6 +1187,7 @@ void Infocenter::PlayCutscene(Cutscene p_entityId, MxBool p_scale) if (m_currentCutscene >= e_badEndMovie && m_currentCutscene <= e_goodEndMovie) { Reset(); } + InvokeAction(Extra::ActionType::e_opendisk, *g_introScript, m_currentCutscene, NULL); } }