summaryrefslogtreecommitdiff
path: root/src/common.hpp
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2018-03-31 16:04:04 +0200
committerPaweł Redman <pawel.redman@gmail.com>2018-03-31 16:04:04 +0200
commitd72e8d61de2f7efba3685dda2dc52b31f64f8a6e (patch)
tree2cda01dcc5b0e17fcf109469ac99296c2212346b /src/common.hpp
parentd87217dffc1582b8dbed10da62b3b4d3f7b511de (diff)
3D audio.
Diffstat (limited to 'src/common.hpp')
-rw-r--r--src/common.hpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/common.hpp b/src/common.hpp
index 2b9b9ca..fcda5e5 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -340,7 +340,10 @@ namespace interface {
void start_following(void);
void stop_following(void);
+
public:
+ v3f_t camera_3d; // for audio
+
state_t(sf::RenderWindow *window_, game::state_t *game);
void tick(double dt);
void render_to(render::state_t *render);
@@ -428,8 +431,7 @@ namespace render {
}
namespace audio {
- void clean_sounds(void);
- void update_ambience(bool playing);
+ void update(v3f_t view, bool paused);
class sound_t {
std::vector<sf::SoundBuffer> sounds;
@@ -438,12 +440,16 @@ namespace audio {
float volume = 1.0f;
void load(const char *path);
void play(void);
+ void play_3d(v2f_t x);
};
class ambient_t {
public:
sf::Music sound;
bool playing = false;
+
+ float volume = 1.0f;
+ v2f_t origin = v2f_t(0.0f, 0.0f);
float weight = 0.0f;
void load(const char *path);