X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fexman.cc;h=00f7e39be8e71ed5ca3935f3d31405f1b2a5e666;hp=e5cdd9fe09d6dc6fc702fc5b6ec7f9b24e0a8e73;hb=0d27f859021b4af5dbb5404ef5af012546abf335;hpb=7ffa5c50d9254af9bd746fc5e6bc8e5db8eda675 diff --git a/src/exman.cc b/src/exman.cc index e5cdd9f..00f7e39 100644 --- a/src/exman.cc +++ b/src/exman.cc @@ -153,6 +153,8 @@ bool ExhibitManager::remove(Exhibit *ex) bool ExhibitManager::load(MetaScene *mscn, const char *fname) { + info_log("ExhibitManager::load(%s)\n", fname); + struct ts_node *root = ts_load(fname); if(!root || strcmp(root->name, "exhibits") != 0) { ts_free_tree(root); @@ -243,6 +245,7 @@ bool ExhibitManager::load(MetaScene *mscn, const char *fname) const char *voice = ts_get_attr_str(node, "voiceover"); if(desc || voice) { ExData exd; + exd.type = EXDATA_INFO; if(desc) { char *fixed_desc = new char[strlen(desc) + 1]; @@ -285,13 +288,14 @@ ExSelection ExhibitManager::select(const Ray &ray) const ExSelection ExhibitManager::select(const Sphere &sph) const { - ExSelection sel; - if(!items.empty()) { - sel.ex = items[0]; - sel.selsphere = sph; - sel.validmask = EXSEL_SPHERE; + int nitems = items.size(); + for(int i=0; iselect(sph); + if(sel) { + return sel; + } } - return sel; // TODO + return ExSelection(); } // TODO optimize