Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/sources.cc')
-rw-r--r--src/audio/sources.cc15
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++) {