diff --git a/src/osgDB/Registry.cpp b/src/osgDB/Registry.cpp index 409faa824..5a7cfba70 100644 --- a/src/osgDB/Registry.cpp +++ b/src/osgDB/Registry.cpp @@ -169,6 +169,7 @@ Registry::Registry() #endif } + addFileExtensionAlias("osgs", "osg"); addFileExtensionAlias("shadow", "osgShadow"); addFileExtensionAlias("terrain", "osgTerrain"); addFileExtensionAlias("view", "osgViewer"); diff --git a/src/osgPlugins/osg/ReaderWriterOSG.cpp b/src/osgPlugins/osg/ReaderWriterOSG.cpp index 2c35d0430..2813aade6 100644 --- a/src/osgPlugins/osg/ReaderWriterOSG.cpp +++ b/src/osgPlugins/osg/ReaderWriterOSG.cpp @@ -30,6 +30,14 @@ class OSGReaderWriter : public ReaderWriter virtual ReadResult readNode(const std::string& file, const Options* opt) const { std::string ext = osgDB::getLowerCaseFileExtension(file); + + if (equalCaseInsensitive(ext,"osgs")) + { + std::istringstream fin(osgDB::getNameLessExtension(file)); + if (fin) return readNode(fin,opt); + return ReadResult::ERROR_IN_READING_FILE; + } + if (!acceptsExtension(ext)) return ReadResult::FILE_NOT_HANDLED; std::string fileName = osgDB::findDataFile( file, opt );