dungeon_crawler
diff prototype/src/tile.h @ 49:303743485aba
pretty much implemented the positional torch sound sources
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Tue, 18 Sep 2012 00:34:29 +0300 |
parents | aa9e28670ae2 |
children | c40efa9cf844 |
line diff
1.1 --- a/prototype/src/tile.h Mon Sep 17 08:40:59 2012 +0300 1.2 +++ b/prototype/src/tile.h Tue Sep 18 00:34:29 2012 +0300 1.3 @@ -8,6 +8,7 @@ 1.4 #include "mesh.h" 1.5 #include "light.h" 1.6 #include "audio/sample.h" 1.7 +#include "audio/source.h" 1.8 1.9 enum { 1.10 TILE_NORTH = 1, 1.11 @@ -27,6 +28,12 @@ 1.12 class TileSet; 1.13 1.14 class Tile { 1.15 +public: 1.16 + struct AudioSourceDesc { 1.17 + Vector3 pos; 1.18 + AudioSample *sample; 1.19 + }; 1.20 + 1.21 private: 1.22 TileSet *tset; 1.23 1.24 @@ -41,6 +48,9 @@ 1.25 std::vector<struct psys_emitter*> psys_global; 1.26 long last_upd; 1.27 1.28 + // audio sources 1.29 + std::vector<AudioSourceDesc> ausrc; 1.30 + 1.31 int load_lights(const aiScene *scn); 1.32 int load_meshes(const aiScene *scn, const std::map<aiMesh*, aiNode*> &nmap); 1.33 1.34 @@ -50,8 +60,12 @@ 1.35 1.36 AudioSample *get_sample(int sidx) const; 1.37 1.38 - const struct psys_attributes * const *get_unique_psys() const; 1.39 + int get_audio_source_count() const; 1.40 + const AudioSourceDesc &get_audio_source(int idx) const; 1.41 + 1.42 int get_unique_psys_count() const; 1.43 + struct psys_attributes *get_unique_psys(int idx); 1.44 + const struct psys_attributes *get_unique_psys(int idx) const; 1.45 1.46 bool load(const char *fname); 1.47