2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 21:47:42 +00:00

Bitstream fixes

This commit is contained in:
Jack Andersen
2017-02-05 17:21:58 -10:00
parent 1c86d0ac93
commit 6a7fc0145f
26 changed files with 268 additions and 120 deletions

View File

@@ -328,8 +328,8 @@ struct SDSPStream : boo::IAudioVoiceCallback
if (!x0_active || xe8_silent)
return;
float coefs[8] = {};
coefs[int(boo::AudioChannel::FrontLeft)] = m_leftgain * vol;
coefs[int(boo::AudioChannel::FrontRight)] = m_rightgain * vol;
coefs[int(boo::AudioChannel::FrontLeft)] = m_leftgain * vol * 0.7f;
coefs[int(boo::AudioChannel::FrontRight)] = m_rightgain * vol * 0.7f;
m_booVoice->setMonoChannelLevels(nullptr, coefs, true);
}
@@ -1153,12 +1153,44 @@ void CStreamAudioManager::UpdateDSPStreamers(float dt)
UpdateDSP(true, dt);
}
void CStreamAudioManager::StopAllStreams()
{
for (int i=0 ; i<2 ; ++i)
{
StopStreaming(i);
SDSPPlayer& p = s_Players[i];
SDSPPlayer& qp = s_QueuedPlayers[i];
p = SDSPPlayer();
qp = SDSPPlayer();
}
}
void CStreamAudioManager::Update(float dt)
{
CDSPStreamManager::PollHeaderReadCompletions();
UpdateDSPStreamers(dt);
}
void CStreamAudioManager::StopAll()
{
StopAllStreams();
}
void CStreamAudioManager::SetMusicUnmute(bool unmute)
{
g_MusicUnmute = unmute;
}
void CStreamAudioManager::SetSfxVolume(u8 volume)
{
g_SfxVolume = std::min(volume, u8(127));
}
void CStreamAudioManager::SetMusicVolume(u8 volume)
{
g_MusicVolume = std::min(volume, u8(127));
}
void CStreamAudioManager::Initialize()
{
CDSPStreamManager::Initialize();