mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 00:27:42 +00:00
Several architectural fixes and additions
This commit is contained in:
@@ -281,6 +281,17 @@ struct SDSPStream : boo::IAudioVoiceCallback
|
||||
}
|
||||
}
|
||||
|
||||
static void FreeAllStreams()
|
||||
{
|
||||
for (int i=0 ; i<4 ; ++i)
|
||||
{
|
||||
SDSPStream& stream = g_Streams[i];
|
||||
stream.m_booVoice.reset();
|
||||
stream.x0_active = false;
|
||||
stream.xd4_ringBuffer.reset();
|
||||
}
|
||||
}
|
||||
|
||||
static u32 PickFreeStream(SDSPStream*& streamOut, bool oneshot)
|
||||
{
|
||||
for (int i=0 ; i<4 ; ++i)
|
||||
@@ -875,6 +886,16 @@ public:
|
||||
stream = CDSPStreamManager();
|
||||
}
|
||||
}
|
||||
|
||||
static void Shutdown()
|
||||
{
|
||||
SDSPStream::FreeAllStreams();
|
||||
for (int i=0 ; i<4 ; ++i)
|
||||
{
|
||||
CDSPStreamManager& stream = g_Streams[i];
|
||||
stream = CDSPStreamManager();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CDSPStreamManager CDSPStreamManager::g_Streams[4] = {};
|
||||
@@ -1142,6 +1163,11 @@ void CStreamAudioManager::Initialize()
|
||||
CDSPStreamManager::Initialize();
|
||||
}
|
||||
|
||||
void CStreamAudioManager::Shutdown()
|
||||
{
|
||||
CDSPStreamManager::Shutdown();
|
||||
}
|
||||
|
||||
u8 CStreamAudioManager::g_MusicVolume = 0x7f;
|
||||
u8 CStreamAudioManager::g_SfxVolume = 0x7f;
|
||||
bool CStreamAudioManager::g_MusicUnmute = true;
|
||||
|
||||
Reference in New Issue
Block a user