X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=tools%2Fviewer.cpp;h=4ae9c87b26c7483bdb1ad7c4fd2b1637d5d80aa0;hb=bed45cf18a592f4dc3d899a48610eaea056f69f3;hp=e19353c8adbf0c4e52b7fc90c701ddc715caa837;hpb=05b77ce8469134f6dd6fad497f3ab21cdd4129b1;p=libs%2Fgl.git diff --git a/tools/viewer.cpp b/tools/viewer.cpp index e19353c8..4ae9c87b 100644 --- a/tools/viewer.cpp +++ b/tools/viewer.cpp @@ -175,9 +175,16 @@ Viewer::Viewer(int argc, char **argv): renderable = load(opts.renderable_name); else if(ext==".scene") { - GL::SimpleScene *scene = new GL::SimpleScene; - DataFile::load(*scene, opts.renderable_name, resources); - renderable = scene; + if(FS::exists(opts.renderable_name)) + { + GL::Scene::GenericLoader ldr(resources); + IO::BufferedFile in(opts.renderable_name); + DataFile::Parser parser(in, opts.renderable_name); + ldr.load(parser); + renderable = ldr.get_scene(); + } + else + renderable = &resources.get(opts.renderable_name); } else throw usage_error("Unknown renderable type");