diff options
| author | robojumper <robojumper@gmail.com> | 2025-05-27 21:38:15 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2025-05-27 21:38:15 +0200 |
| commit | d6859dfd74ca205cf9cae2fa343df56124403a9d (patch) | |
| tree | 402c190306838cc8d4b45beb18da8f8e50cc73cf /src | |
| parent | a600b0c092380bc2bb86644fcec0451afe0f6e78 (diff) | |
snd_SeqSound OK
Diffstat (limited to 'src')
| -rw-r--r-- | src/nw4r/snd/snd_SeqSound.cpp | 60 |
1 files changed, 58 insertions, 2 deletions
diff --git a/src/nw4r/snd/snd_SeqSound.cpp b/src/nw4r/snd/snd_SeqSound.cpp index 9b68e1f5..ca752f8b 100644 --- a/src/nw4r/snd/snd_SeqSound.cpp +++ b/src/nw4r/snd/snd_SeqSound.cpp @@ -17,6 +17,7 @@ #include "nw4r/snd/snd_SeqFile.h" #include "nw4r/snd/snd_SeqPlayer.h" #include "nw4r/snd/snd_SeqSoundHandle.h" +#include "nw4r/snd/snd_SeqTrack.h" #include "nw4r/snd/snd_SoundInstanceManager.h" #include "nw4r/snd/snd_TaskManager.h" @@ -165,9 +166,10 @@ void SeqSound::Shutdown() BasicSound::Shutdown(); mManager->Free(this); } - +#if 0 // SeqSound::SetTempoRatio ([R89JEL]:/bin/RVL/Debug/mainD.MAP:13849) DECOMP_FORCE(NW4RAssert_String(tempoRatio >= 0.0f)); +#endif void SeqSound::SetTempoRatio(f32 tempo) { mSeqPlayer.SetTempoRatio(tempo); @@ -197,6 +199,60 @@ void SeqSound::OnUpdatePlayerPriority() mManager->UpdatePriority(this, CalcCurrentPlayerPriority()); } +void SeqSound::SetTrackMute(u32 trackFlags, SeqMute mute) +{ + mSeqPlayer.SetTrackMute(trackFlags, mute); +} + +void SeqSound::SetTrackSilence(u32 trackFlags, bool silence, int fadeFrames) +{ + mSeqPlayer.SetTrackSilence(trackFlags, silence, fadeFrames); +} + +void SeqSound::SetTrackVolume(u32 trackFlags, f32 volume) +{ + mSeqPlayer.SetTrackVolume(trackFlags, volume); +} + +bool SeqSound::ReadVariable(int varNo, s16 *value) const +{ + if (!GetStartedFlag()) { + *value = -1; + } else { + *value = mSeqPlayer.GetLocalVariable(varNo); + } + return true; +} + +bool SeqSound::WriteVariable(int varNo, s16 value) +{ + mSeqPlayer.SetLocalVariable(varNo, value); + return true; +} + +bool SeqSound::WriteGlobalVariable(int varNo, s16 value) +{ + SeqPlayer::SetGlobalVariable(varNo, value); + return true; +} + +bool SeqSound::WriteTrackVariable(int trackNo, int varNo, s16 value) +{ + SeqTrack *track = mSeqPlayer.GetPlayerTrack(trackNo); + if (track == NULL) + return false; + + track->SetTrackVariable(varNo, value); + return true; +} + +u32 SeqSound::GetTick() const +{ + return !GetStartedFlag() ? 0 : mSeqPlayer.GetTickCounter(); +} + + +#if 0 // SeqSound::SetTrackVolume ([R89JEL]:/bin/RVL/Debug/mainD.MAP:13857) DECOMP_FORCE(NW4RAssert_String(volume >= 0.0f)); @@ -211,7 +267,7 @@ DECOMP_FORCE(NW4RAssertHeaderClampedLValue_String(varNo)); // SeqSound::ReadTrackVariable? maybe both of them? DECOMP_FORCE(NW4RAssertHeaderClampedLValue_String(trackNo)); - +#endif bool SeqSound::IsAttachedTempSpecialHandle() { return mTempSpecialHandle != nullptr; |
