X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fmetascene.h;h=c363901346afac6a92680591e4a522b4326cc34e;hp=00960cae54f5d9a3d877726327dbc162db8d6ddb;hb=fb11663a3654acd0132e71e5652e35b0ea72d544;hpb=b30241a8a51be904b22459a1d0cc3322e0a505d9 diff --git a/src/metascene.h b/src/metascene.h index 00960ca..c363901 100644 --- a/src/metascene.h +++ b/src/metascene.h @@ -4,12 +4,11 @@ #include #include "scene.h" #include "mesh.h" +#include "audio/ovstream.h" #include "datamap.h" class MetaScene { public: - SceneSet *sceneman; - TextureSet *texman; DataMap datamap; std::vector scenes; @@ -20,8 +19,9 @@ public: std::map 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 match_nodes(const char *qstr) const; + + Scene *extract_nodes(const char *qstr); }; #endif // METASCENE_H_