playaudio related fixes

soundassets in general: initialize the ease to default
for the ShapeBase::updateAudioState, we never call that without first checking if the asset is defined, *and* isvalid is not valid if it's never tried loading it. so that's both redundant *and* actively counterproductive for a filter
This commit is contained in:
AzaezelX 2025-09-29 22:13:12 -05:00
parent f1723bbb28
commit 5989bca127
2 changed files with 6 additions and 8 deletions

View file

@ -167,7 +167,7 @@ SoundAsset::SoundAsset()
mProfileDesc.mScatterDistance = Point3F(0.f, 0.f, 0.f);
mProfileDesc.mPriority = 1.0f;
mProfileDesc.mSourceGroup = NULL;
mProfileDesc.mFadeInEase = EaseF();
mIsPlaylist = false;
mPlaylist.mNumSlotsToPlay = SFXPlayList::SFXPlaylistSettings::NUM_SLOTS;

View file

@ -2347,14 +2347,12 @@ void ShapeBase::updateAudioState(SoundThread& st)
if ( isGhost() )
{
// if asset is valid, play
if (st.asset->isAssetValid() )
if (st.asset->load() == AssetBase::Ok)
{
if (st.asset->load() == AssetBase::Ok)
{
st.sound = SFX->createSource(st.asset->getSFXTrack(), &getTransform());
if (st.sound)
st.sound->play();
}
SFXTrack* trk = st.asset->getSFXTrack();
st.sound = SFX->createSource(trk, &getTransform());
if (st.sound)
st.sound->play();
}
else
st.play = false;