]> git.mxchange.org Git - flightgear.git/blobdiff - utils/fgelev/fgelev.cxx
Revive master sound enable switch.
[flightgear.git] / utils / fgelev / fgelev.cxx
index c5468912bdd98aba23ad0bb63fdd78f522be083e..90d7eb4f57d979c4f40dcd2df0eb9b59d02a7677 100644 (file)
@@ -25,6 +25,7 @@
 #include <iomanip>
 
 #include <osg/ArgumentParser>
+#include <osg/Image>
 
 #include <simgear/props/props.hxx>
 #include <simgear/props/props_io.hxx>
@@ -38,6 +39,7 @@
 #include <simgear/scene/model/BVHPageNodeOSG.hxx>
 #include <simgear/scene/model/ModelRegistry.hxx>
 #include <simgear/scene/util/SGReaderWriterOptions.hxx>
+#include <simgear/scene/util/OptionsReadFileCallback.hxx>
 #include <simgear/scene/tgdb/userdata.hxx>
 
 namespace sg = simgear;
@@ -60,6 +62,16 @@ private:
     sg::BVHPager& _pager;
 };
 
+// Short circuit reading image files.
+class ReadFileCallback : public sg::OptionsReadFileCallback {
+public:
+    virtual ~ReadFileCallback()
+    { }
+
+    virtual osgDB::ReaderWriter::ReadResult readImage(const std::string& name, const osgDB::Options*)
+    { return new osg::Image; }
+};
+
 static bool
 intersect(sg::BVHNode& node, sg::BVHPager& pager,
           const SGVec3d& start, SGVec3d& end, double offset)
@@ -141,6 +153,7 @@ main(int argc, char** argv)
                                              options->getDatabasePathList());
     options->setMaterialLib(ml);
     options->setPropertyNode(props);
+    options->setReadFileCallback(new ReadFileCallback);
     options->setPluginStringData("SimGear::FG_ROOT", fg_root);
     // we do not need the builtin boundingvolumes
     options->setPluginStringData("SimGear::BOUNDINGVOLUMES", "OFF");