X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fscene.cc;h=a31a3ce6991ce71fce8e4ff2ffc6b4fed4aa6b6d;hp=651e9c657ed086ec3bab209a2a1f7a165c22995d;hb=26c1717925471539b9745cce6275b218a47147cd;hpb=b30241a8a51be904b22459a1d0cc3322e0a505d9 diff --git a/src/scene.cc b/src/scene.cc index 651e9c6..a31a3ce 100644 --- a/src/scene.cc +++ b/src/scene.cc @@ -1,23 +1,16 @@ #include #include "scene.h" #include "objmesh.h" +#include "app.h" static void destroy_node_tree(SceneNode *n); -Scene::Scene(TextureSet *tset) +Scene::Scene() { metascn = 0; nodes = 0; walk_mesh = 0; - - if(tset) { - texset = tset; - own_texset = false; - } else { - texset = new TextureSet; - own_texset = true; - } } Scene::~Scene() @@ -42,11 +35,6 @@ void Scene::destroy() delete objects[i]; } objects.clear(); - - if(own_texset) { - delete texset; - } - texset = 0; } static void destroy_node_tree(SceneNode *n) @@ -64,12 +52,6 @@ static void destroy_node_tree(SceneNode *n) bool Scene::merge(Scene *scn) { - if(texset != scn->texset) { - // TODO handle this properly - error_log("for now only able to merge scenes using the same texture set\n"); - return false; - } - if(walk_mesh) { if(scn->walk_mesh) { walk_mesh->append(*scn->walk_mesh); @@ -208,7 +190,7 @@ Scene *Scene::extract_nodes(const char *qstr) return 0; } - Scene *res = new Scene(texset); + Scene *res = new Scene; for(SceneNode *n : nodelist) {