diff options
author | Paweł Redman <pawel.redman@gmail.com> | 2018-03-31 15:14:59 +0200 |
---|---|---|
committer | Paweł Redman <pawel.redman@gmail.com> | 2018-03-31 15:14:59 +0200 |
commit | d87217dffc1582b8dbed10da62b3b4d3f7b511de (patch) | |
tree | bccdf9809bff291b405d7625c33dbbcd60411256 /src/audio.cpp | |
parent | aecfd089492b14a1b453f324a452946f5b20b043 (diff) |
Footstep sounds (not finished).
Diffstat (limited to 'src/audio.cpp')
-rw-r--r-- | src/audio.cpp | 11 |
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); } |