InvokeAction: take const atom (#837)

This commit is contained in:
Christian Semmler 2024-04-22 08:24:00 -04:00 committed by GitHub
parent f1688be263
commit b4f29ea6b0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 5 additions and 18 deletions

View file

@ -19,11 +19,11 @@ class LegoTreeNode;
MxS16 CountTotalTreeNodes(LegoTreeNode* p_node); MxS16 CountTotalTreeNodes(LegoTreeNode* p_node);
void FUN_1003e050(LegoAnimPresenter* p_presenter); void FUN_1003e050(LegoAnimPresenter* p_presenter);
Extra::ActionType MatchActionString(const char*); 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 SetCameraControllerFromIsle();
void ConvertHSVToRGB(float p_h, float p_s, float p_v, float* p_rOut, float* p_bOut, float* p_gOut); void ConvertHSVToRGB(float p_h, float p_s, float p_v, float* p_rOut, float* p_bOut, float* p_gOut);
void FUN_1003eda0(); 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 FUN_1003ef00(MxBool);
void SetAppCursor(WPARAM p_wparam); void SetAppCursor(WPARAM p_wparam);
MxBool FUN_1003ef60(); MxBool FUN_1003ef60();

View file

@ -38,14 +38,7 @@ void LegoActionControlPresenter::RepeatingTickle()
ParseExtra(); 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); InvokeAction(m_unk0x50, MxAtomId(m_unk0x54.GetData(), e_lowerCase2), m_unk0x64, NULL);
#endif
ProgressTickleState(e_done); ProgressTickleState(e_done);
} }
} }

View file

@ -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); void NotifyEntity(const char* p_filename, MxS32 p_entityId, LegoEntity* p_sender);
// FUNCTION: LEGO1 0x1003e430 // 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; MxDSAction action;
action.SetAtomId(p_pAtom); action.SetAtomId(p_pAtom);
@ -338,7 +338,7 @@ void FUN_1003eda0()
} }
// FUNCTION: LEGO1 0x1003ee00 // FUNCTION: LEGO1 0x1003ee00
MxBool RemoveFromCurrentWorld(MxAtomId& p_atomId, MxS32 p_id) MxBool RemoveFromCurrentWorld(const MxAtomId& p_atomId, MxS32 p_id)
{ {
LegoWorld* world = CurrentWorld(); LegoWorld* world = CurrentWorld();

View file

@ -336,14 +336,7 @@ MxLong LegoEntity::Notify(MxParam& p_param)
} }
if (m_actionType != Extra::e_unknown) { 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); InvokeAction(m_actionType, MxAtomId(m_filename, e_lowerCase2), m_targetEntityId, this);
#endif
} }
else { else {
switch (GameState()->GetActorId()) { switch (GameState()->GetActorId()) {

View file

@ -1187,6 +1187,7 @@ void Infocenter::PlayCutscene(Cutscene p_entityId, MxBool p_scale)
if (m_currentCutscene >= e_badEndMovie && m_currentCutscene <= e_goodEndMovie) { if (m_currentCutscene >= e_badEndMovie && m_currentCutscene <= e_goodEndMovie) {
Reset(); Reset();
} }
InvokeAction(Extra::ActionType::e_opendisk, *g_introScript, m_currentCutscene, NULL); InvokeAction(Extra::ActionType::e_opendisk, *g_introScript, m_currentCutscene, NULL);
} }
} }