diff options
Diffstat (limited to 'src/audio/sources.cc')
-rw-r--r-- | src/audio/sources.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/audio/sources.cc b/src/audio/sources.cc index 584f366..01fbafb 100644 --- a/src/audio/sources.cc +++ b/src/audio/sources.cc @@ -23,7 +23,7 @@ void Sources::init() alGenSources(MAXSOURCES, sources); if ((error = alGetError()) != AL_NO_ERROR) { - con_warn << "Error " << std::hex << error << " initializing OpenAL sources!" << std::endl; + con_warn << "Error " << error << " initializing OpenAL sources!" << std::endl; return; } @@ -55,6 +55,19 @@ void Sources::clear() } +void Sources::reset() +{ + for (size_t index= 0; index < MAXSOURCES; index++) { + source_available[index] = true; + alSourceRewind(sources[index]); + } + + // reserve ui sound sources + for (size_t i=0; i < MAXUISOURCES; i++) { + source_available[i] = false; + } +} + size_t Sources::get() { for (size_t i= MAXUISOURCES; i < MAXSOURCES; i++) { |