diff --git a/src/blackmisc/simulation/xplane/aircraftmodelloaderxplane.cpp b/src/blackmisc/simulation/xplane/aircraftmodelloaderxplane.cpp index ba2f4af90..abbf08b24 100644 --- a/src/blackmisc/simulation/xplane/aircraftmodelloaderxplane.cpp +++ b/src/blackmisc/simulation/xplane/aircraftmodelloaderxplane.cpp @@ -138,7 +138,8 @@ namespace BlackMisc CAircraftModelList CAircraftModelLoaderXPlane::performParsing(const QString &rootDirectory, const QStringList &excludeDirectories) { CAircraftModelList allModels; - allModels.push_back(parseCslPackages(CXPlaneUtil::xbusLegacyDir(), excludeDirectories)); + allModels.push_back(parseCslPackages(CXPlaneUtil::xbusLegacyDir(rootDirectory), excludeDirectories)); + allModels.push_back(parseCslPackages(rootDirectory, excludeDirectories)); allModels.push_back(parseFlyableAirplanes(rootDirectory, excludeDirectories)); return allModels; } diff --git a/src/blackmisc/simulation/xplane/xplaneutil.cpp b/src/blackmisc/simulation/xplane/xplaneutil.cpp index 3cddd83e5..f358f90e2 100644 --- a/src/blackmisc/simulation/xplane/xplaneutil.cpp +++ b/src/blackmisc/simulation/xplane/xplaneutil.cpp @@ -113,10 +113,18 @@ namespace BlackMisc return QStringList(); } - QString CXPlaneUtil::xbusLegacyDir() + QString CXPlaneUtil::xbusLegacyDir(const QString &rootDir) { QString legacyPath("/Resources/plugins/xbus/LegacyData"); // Return the first non empty path, we can find. + if (!rootDir.isEmpty()) + { + QString xbusLegacy = rootDir + legacyPath; + if (QDir(xbusLegacy).exists()) + { + return xbusLegacy; + } + } if (!xplane10Dir().isEmpty()) { QString xbusLegacy = xplane10Dir() + legacyPath; @@ -125,7 +133,6 @@ namespace BlackMisc return xbusLegacy; } } - if (!xplane9Dir().isEmpty()) { QString xbusLegacy = xplane9Dir() + legacyPath; diff --git a/src/blackmisc/simulation/xplane/xplaneutil.h b/src/blackmisc/simulation/xplane/xplaneutil.h index cff4066a4..76d9aa030 100644 --- a/src/blackmisc/simulation/xplane/xplaneutil.h +++ b/src/blackmisc/simulation/xplane/xplaneutil.h @@ -48,7 +48,7 @@ namespace BlackMisc static QStringList xplaneModelExcludeDirectoryPatterns(); //! XBus legacy directory - static QString xbusLegacyDir(); + static QString xbusLegacyDir(const QString &rootDir); }; } // namespace } // namespace