X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=tools%2Fviewer.cpp;fp=tools%2Fviewer.cpp;h=4ae9c87b26c7483bdb1ad7c4fd2b1637d5d80aa0;hp=e19353c8adbf0c4e52b7fc90c701ddc715caa837;hb=bed45cf18a592f4dc3d899a48610eaea056f69f3;hpb=1c189b2a4a6c91fe4baaa2bd6760f5fc4d7558d2 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");