mirror of
https://github.com/isledecomp/isle-portable.git
synced 2026-01-19 05:41:17 +00:00
Fixes
This commit is contained in:
parent
229fa1b58f
commit
b49280c1bb
@ -120,6 +120,11 @@ void MxBackgroundAudioManager::FadeInPendingPresenter()
|
|||||||
|
|
||||||
if (m_activePresenter == NULL) {
|
if (m_activePresenter == NULL) {
|
||||||
if (m_pendingPresenter) {
|
if (m_pendingPresenter) {
|
||||||
|
if (!m_pendingPresenter->IsEnabled()) {
|
||||||
|
m_pendingPresenter->Enable(TRUE);
|
||||||
|
m_pendingPresenter->SetTickleState(MxPresenter::e_streaming);
|
||||||
|
}
|
||||||
|
|
||||||
if (m_volumeSuppressionAmount != 0) {
|
if (m_volumeSuppressionAmount != 0) {
|
||||||
compare = 30;
|
compare = 30;
|
||||||
}
|
}
|
||||||
@ -221,6 +226,7 @@ void MxBackgroundAudioManager::StartAction(MxParam& p_param)
|
|||||||
m_action2.SetObjectId(m_pendingPresenter->GetAction()->GetObjectId());
|
m_action2.SetObjectId(m_pendingPresenter->GetAction()->GetObjectId());
|
||||||
m_targetVolume = ((MxDSSound*) (m_pendingPresenter->GetAction()))->GetVolume();
|
m_targetVolume = ((MxDSSound*) (m_pendingPresenter->GetAction()))->GetVolume();
|
||||||
m_pendingPresenter->SetVolume(0);
|
m_pendingPresenter->SetVolume(0);
|
||||||
|
m_pendingPresenter->GetAction()->SetFlags(m_pendingPresenter->GetAction()->GetFlags() & ~MxDSAction::c_enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
// FUNCTION: LEGO1 0x1007f200
|
// FUNCTION: LEGO1 0x1007f200
|
||||||
|
|||||||
@ -57,6 +57,8 @@ std::optional<MxResult> SiLoader::HandleStart(MxDSAction& p_action)
|
|||||||
action.SetAtomId(key.second.first);
|
action.SetAtomId(key.second.first);
|
||||||
action.SetObjectId(key.second.second);
|
action.SetObjectId(key.second.second);
|
||||||
action.SetUnknown24(p_action.GetUnknown24());
|
action.SetUnknown24(p_action.GetUnknown24());
|
||||||
|
action.SetNotificationObject(p_action.GetNotificationObject());
|
||||||
|
action.SetOrigin(p_action.GetOrigin());
|
||||||
Start(&action);
|
Start(&action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -67,6 +69,8 @@ std::optional<MxResult> SiLoader::HandleStart(MxDSAction& p_action)
|
|||||||
action.SetAtomId(key.second.first);
|
action.SetAtomId(key.second.first);
|
||||||
action.SetObjectId(key.second.second);
|
action.SetObjectId(key.second.second);
|
||||||
action.SetUnknown24(p_action.GetUnknown24());
|
action.SetUnknown24(p_action.GetUnknown24());
|
||||||
|
action.SetNotificationObject(p_action.GetNotificationObject());
|
||||||
|
action.SetOrigin(p_action.GetOrigin());
|
||||||
return Start(&action);
|
return Start(&action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -101,6 +105,8 @@ std::optional<MxBool> SiLoader::HandleDelete(MxDSAction& p_action)
|
|||||||
action.SetAtomId(key.second.first);
|
action.SetAtomId(key.second.first);
|
||||||
action.SetObjectId(key.second.second);
|
action.SetObjectId(key.second.second);
|
||||||
action.SetUnknown24(p_action.GetUnknown24());
|
action.SetUnknown24(p_action.GetUnknown24());
|
||||||
|
action.SetNotificationObject(p_action.GetNotificationObject());
|
||||||
|
action.SetOrigin(p_action.GetOrigin());
|
||||||
DeleteObject(action);
|
DeleteObject(action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -111,6 +117,8 @@ std::optional<MxBool> SiLoader::HandleDelete(MxDSAction& p_action)
|
|||||||
action.SetAtomId(key.second.first);
|
action.SetAtomId(key.second.first);
|
||||||
action.SetObjectId(key.second.second);
|
action.SetObjectId(key.second.second);
|
||||||
action.SetUnknown24(p_action.GetUnknown24());
|
action.SetUnknown24(p_action.GetUnknown24());
|
||||||
|
action.SetNotificationObject(p_action.GetNotificationObject());
|
||||||
|
action.SetOrigin(p_action.GetOrigin());
|
||||||
DeleteObject(action);
|
DeleteObject(action);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -147,6 +155,8 @@ bool SiLoader::LoadFile(const char* p_file)
|
|||||||
void SiLoader::ParseDirectives(const MxAtomId& p_atom, si::Core* p_core, MxAtomId p_parentReplacedAtom)
|
void SiLoader::ParseDirectives(const MxAtomId& p_atom, si::Core* p_core, MxAtomId p_parentReplacedAtom)
|
||||||
{
|
{
|
||||||
for (si::Core* child : p_core->GetChildren()) {
|
for (si::Core* child : p_core->GetChildren()) {
|
||||||
|
MxAtomId replacedAtom = p_parentReplacedAtom;
|
||||||
|
|
||||||
if (si::Object* object = dynamic_cast<si::Object*>(child)) {
|
if (si::Object* object = dynamic_cast<si::Object*>(child)) {
|
||||||
if (object->type() != si::MxOb::Null) {
|
if (object->type() != si::MxOb::Null) {
|
||||||
std::string extra(object->extra_.data(), object->extra_.size());
|
std::string extra(object->extra_.data(), object->extra_.size());
|
||||||
@ -185,13 +195,13 @@ void SiLoader::ParseDirectives(const MxAtomId& p_atom, si::Core* p_core, MxAtomI
|
|||||||
StreamObject{MxAtomId{atom, e_lowerCase2}, id},
|
StreamObject{MxAtomId{atom, e_lowerCase2}, id},
|
||||||
StreamObject{p_atom, object->id_}
|
StreamObject{p_atom, object->id_}
|
||||||
);
|
);
|
||||||
p_parentReplacedAtom = replace.back().first.first;
|
replacedAtom = replace.back().first.first;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ParseDirectives(p_atom, child, p_parentReplacedAtom);
|
ParseDirectives(p_atom, child, replacedAtom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user