X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fscene.cc;h=35b562d1d18c2626e8ef9dcbd6cd8caa3fb5deac;hb=e99c236d23e4a27a1ec606382d9fb517e7a8ae65;hp=a31a3ce6991ce71fce8e4ff2ffc6b4fed4aa6b6d;hpb=26c1717925471539b9745cce6275b218a47147cd;p=laserbrain_demo diff --git a/src/scene.cc b/src/scene.cc index a31a3ce..35b562d 100644 --- a/src/scene.cc +++ b/src/scene.cc @@ -11,6 +11,9 @@ Scene::Scene() nodes = 0; walk_mesh = 0; + + texset = 0; + loader_data = 0; } Scene::~Scene() @@ -20,6 +23,17 @@ Scene::~Scene() void Scene::destroy() { + clear(); + + metascn = 0; + texset = 0; + loader_data = 0; + + datamap.clear(); +} + +void Scene::clear() +{ destroy_node_tree(nodes); nodes = 0; @@ -182,6 +196,8 @@ static void find_nodes_rec(std::list *res, SceneNode *tree, const st Scene *Scene::extract_nodes(const char *qstr) { + if(!nodes) return 0; + std::regex re{qstr}; std::list nodelist;