#include "scene.h"
#include "treestore.h"
#include "logger.h"
+#include "app.h"
#ifdef WIN32
#include <malloc.h>
static bool proc_node(MetaScene *mscn, struct ts_node *node);
static bool proc_scenefile(MetaScene *mscn, struct ts_node *node);
-static bool proc_mtledit(MetaScene *mscn, MaterialEdit *med, struct ts_node *node, TextureSet *texset);
+static bool proc_mtledit(MetaScene *mscn, MaterialEdit *med, struct ts_node *node);
static void apply_mtledit(Scene *scn, const MaterialEdit &med);
static void apply_mtledit(Material *mtl, const MaterialEdit &med);
static struct ts_attr *attr_inscope(struct ts_node *node, const char *name);
static void print_scene_graph(SceneNode *n, int level);
-MetaScene::MetaScene(SceneSet *sman, TextureSet *tman)
+MetaScene::MetaScene()
{
- sceneman = sman;
- texman = tman;
walk_mesh = 0;
}
struct ts_node *child = node->child_list;
while(child) {
MaterialEdit medit;
- if(proc_mtledit(mscn, &medit, child, mscn->texman)) {
+ if(proc_mtledit(mscn, &medit, child)) {
sdat->mtledit.push_back(medit);
}
child = child->next;
}
- Scene *newscn = mscn->sceneman->get(fname);
+ Scene *newscn = sceneman.get(fname);
/* NOTE: setting all these after get() is not a race condition, because
* scene_loaded() which uses this, will only run in our main loop during
* SceneSet::update() on the main thread.
return true;
}
-static bool proc_mtledit(MetaScene *mscn, MaterialEdit *med, struct ts_node *node, TextureSet *texset)
+static bool proc_mtledit(MetaScene *mscn, MaterialEdit *med, struct ts_node *node)
{
if(strcmp(node->name, "mtledit") != 0) {
return false;
// remove
med->tex = 0;
} else {
- med->tex = texset->get_texture(afile->val.str, TEX_2D, &mscn->datamap);
+ med->tex = texman.get_texture(afile->val.str, TEX_2D, &mscn->datamap);
}
}
// TODO add more edit modes