summaryrefslogtreecommitdiff
path: root/src/audio.cpp
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2018-03-31 15:14:59 +0200
committerPaweł Redman <pawel.redman@gmail.com>2018-03-31 15:14:59 +0200
commitd87217dffc1582b8dbed10da62b3b4d3f7b511de (patch)
treebccdf9809bff291b405d7625c33dbbcd60411256 /src/audio.cpp
parentaecfd089492b14a1b453f324a452946f5b20b043 (diff)
Footstep sounds (not finished).
Diffstat (limited to 'src/audio.cpp')
-rw-r--r--src/audio.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/audio.cpp b/src/audio.cpp
index af6d24b..ff4fcd3 100644
--- a/src/audio.cpp
+++ b/src/audio.cpp
@@ -32,13 +32,19 @@ void clean_sounds(void)
void sound_t::load(const char *path)
{
printf("load %s\n", path);
- buffer.loadFromFile(path);
+
+ auto sound = sounds.emplace(sounds.end());
+ sound->loadFromFile(path);
}
void sound_t::play(void)
{
+ if (!sounds.size())
+ return;
+
auto sound = playing_sounds.emplace(playing_sounds.end());
- sound->setBuffer(buffer);
+ sound->setBuffer(sounds[rand() % sounds.size()]);
+ sound->setVolume(volume * 100.0f);
sound->play();
}
@@ -47,6 +53,7 @@ void ambient_t::load(const char *path)
printf("load %s\n", path);
sound.openFromFile(path);
sound.setLoop(true);
+ sound.setRelativeToListener(true);
ambient_sounds.push_back(this);
}