]> git.mxchange.org Git - flightgear.git/commitdiff
Attempt to tidy up the search path mess (noticed by TorstenD)
authorThorstenB <brehmt@gmail.com>
Sun, 4 Sep 2011 09:09:21 +0000 (11:09 +0200)
committerThorstenB <brehmt@gmail.com>
Sun, 4 Sep 2011 09:09:21 +0000 (11:09 +0200)
When a model is not found in the custom scenery directories, load data
from base-package (instead of trying to access file "").
Also allow paged models to be loaded from custom scenery folders.

src/Scenery/tilemgr.cxx

index 52cadfd05a7956a857ba7ff2f35657e0684afd7e..190e952da891b638891d456d10f7c799854a795d 100644 (file)
@@ -250,8 +250,9 @@ void FGTileMgr::schedule_needed(const SGBucket& curr_bucket, double vis)
 osg::Node*
 FGTileMgr::loadTileModel(const string& modelPath, bool cacheModel)
 {
-    SGPath fullPath;
-    if (fgGetBool("/sim/paths/use-custom-scenery-data") == true) {
+    SGPath fullPath = modelPath;
+    if ((fullPath.isRelative())&&
+        (fgGetBool("/sim/paths/use-custom-scenery-data") == true)) {
         string_list sc = globals->get_fg_scenery();
 
         for (string_list_iterator it = sc.begin(); it != sc.end(); ++it) {
@@ -265,8 +266,6 @@ FGTileMgr::loadTileModel(const string& modelPath, bool cacheModel)
                 }
             }
         }
-    } else {
-         fullPath.append(modelPath);
     }
     osg::Node* result = 0;
     try {
@@ -276,7 +275,7 @@ FGTileMgr::loadTileModel(const string& modelPath, bool cacheModel)
                                       new FGNasalModelData);
         else
             result=
-                SGModelLib::loadPagedModel(modelPath, globals->get_props(),
+                SGModelLib::loadPagedModel(fullPath.str(), globals->get_props(),
                                            new FGNasalModelData);
     } catch (const sg_io_exception& exc) {
         string m(exc.getMessage());