added audio
[laserbrain_demo] / src / metascene.h
index 00960ca..c363901 100644 (file)
@@ -4,12 +4,11 @@
 #include <map>
 #include "scene.h"
 #include "mesh.h"
+#include "audio/ovstream.h"
 #include "datamap.h"
 
 class MetaScene {
 public:
-       SceneSet *sceneman;
-       TextureSet *texman;
        DataMap datamap;
 
        std::vector<Scene*> scenes;
@@ -20,8 +19,9 @@ public:
 
        std::map<Scene*, void*> scndata;
 
+       AudioStream *music;
 
-       MetaScene(SceneSet *sman, TextureSet *tman);
+       MetaScene();
        ~MetaScene();
 
        bool load(const char *fname);
@@ -29,6 +29,15 @@ public:
 
        void update(float dt);
        void draw() const;
+
+       /* helper functions which end up calling the corresponding Scene functions
+        * for every scene
+        */
+       SceneNode *find_node(const char *name) const;
+       SceneNode *match_node(const char *qstr) const;
+       std::list<SceneNode*> match_nodes(const char *qstr) const;
+
+       Scene *extract_nodes(const char *qstr);
 };
 
 #endif // METASCENE_H_