projects
/
laserbrain_demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed background loading of both textures and scenes
[laserbrain_demo]
/
src
/
scene.cc
diff --git
a/src/scene.cc
b/src/scene.cc
index
651e9c6
..
a31a3ce
100644
(file)
--- a/
src/scene.cc
+++ b/
src/scene.cc
@@
-1,23
+1,16
@@
#include <regex>
#include "scene.h"
#include "objmesh.h"
#include <regex>
#include "scene.h"
#include "objmesh.h"
+#include "app.h"
static void destroy_node_tree(SceneNode *n);
static void destroy_node_tree(SceneNode *n);
-Scene::Scene(TextureSet *tset)
+Scene::Scene()
{
metascn = 0;
nodes = 0;
walk_mesh = 0;
{
metascn = 0;
nodes = 0;
walk_mesh = 0;
-
- if(tset) {
- texset = tset;
- own_texset = false;
- } else {
- texset = new TextureSet;
- own_texset = true;
- }
}
Scene::~Scene()
}
Scene::~Scene()
@@
-42,11
+35,6
@@
void Scene::destroy()
delete objects[i];
}
objects.clear();
delete objects[i];
}
objects.clear();
-
- if(own_texset) {
- delete texset;
- }
- texset = 0;
}
static void destroy_node_tree(SceneNode *n)
}
static void destroy_node_tree(SceneNode *n)
@@
-64,12
+52,6
@@
static void destroy_node_tree(SceneNode *n)
bool Scene::merge(Scene *scn)
{
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);
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;
}
return 0;
}
- Scene *res = new Scene(texset);
+ Scene *res = new Scene;
for(SceneNode *n : nodelist) {
for(SceneNode *n : nodelist) {