From 741efe2efbbbc3eb297eae1ddc7818bf86950444 Mon Sep 17 00:00:00 2001 From: ThorstenB Date: Sun, 4 Sep 2011 11:09:21 +0200 Subject: [PATCH] Attempt to tidy up the search path mess (noticed by TorstenD) 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 | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Scenery/tilemgr.cxx b/src/Scenery/tilemgr.cxx index 52cadfd05..190e952da 100644 --- a/src/Scenery/tilemgr.cxx +++ b/src/Scenery/tilemgr.cxx @@ -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());