This commit is contained in:
Christian Semmler 2025-08-12 20:10:38 -07:00
parent b49280c1bb
commit 323497f915
2 changed files with 12 additions and 2 deletions

View File

@ -120,6 +120,10 @@ void MxBackgroundAudioManager::FadeInPendingPresenter()
if (m_activePresenter == NULL) { if (m_activePresenter == NULL) {
if (m_pendingPresenter) { if (m_pendingPresenter) {
if (m_pendingPresenter->GetCurrentTickleState() <= MxPresenter::e_starting) {
return;
}
if (!m_pendingPresenter->IsEnabled()) { if (!m_pendingPresenter->IsEnabled()) {
m_pendingPresenter->Enable(TRUE); m_pendingPresenter->Enable(TRUE);
m_pendingPresenter->SetTickleState(MxPresenter::e_streaming); m_pendingPresenter->SetTickleState(MxPresenter::e_streaming);
@ -260,7 +264,8 @@ MxResult MxBackgroundAudioManager::PlayMusic(
return SUCCESS; return SUCCESS;
} }
if (m_action2.GetObjectId() == -1 && m_action1.GetObjectId() != p_action.GetObjectId()) { if (m_action2.GetObjectId() == -1 &&
(m_action1.GetObjectId() != p_action.GetObjectId() || m_action1.GetAtomId() != p_action.GetAtomId())) {
MxDSAction action; MxDSAction action;
action.SetAtomId(GetCurrentAction().GetAtomId()); action.SetAtomId(GetCurrentAction().GetAtomId());
action.SetObjectId(GetCurrentAction().GetObjectId()); action.SetObjectId(GetCurrentAction().GetObjectId());

View File

@ -71,7 +71,10 @@ std::optional<MxResult> SiLoader::HandleStart(MxDSAction& p_action)
action.SetUnknown24(p_action.GetUnknown24()); action.SetUnknown24(p_action.GetUnknown24());
action.SetNotificationObject(p_action.GetNotificationObject()); action.SetNotificationObject(p_action.GetNotificationObject());
action.SetOrigin(p_action.GetOrigin()); action.SetOrigin(p_action.GetOrigin());
return Start(&action);
MxResult result = Start(&action);
p_action.SetUnknown24(action.GetUnknown24());
return result;
} }
} }
@ -119,7 +122,9 @@ std::optional<MxBool> SiLoader::HandleDelete(MxDSAction& p_action)
action.SetUnknown24(p_action.GetUnknown24()); action.SetUnknown24(p_action.GetUnknown24());
action.SetNotificationObject(p_action.GetNotificationObject()); action.SetNotificationObject(p_action.GetNotificationObject());
action.SetOrigin(p_action.GetOrigin()); action.SetOrigin(p_action.GetOrigin());
DeleteObject(action); DeleteObject(action);
p_action.SetUnknown24(action.GetUnknown24());
return TRUE; return TRUE;
} }
} }