From bd862fa45119ce84e5318ce1b885381a263cf79b Mon Sep 17 00:00:00 2001 From: Roland Rossgotterer Date: Tue, 20 Oct 2020 21:00:08 +0200 Subject: [PATCH] Enforce *.air file siblings only in 64 bit builds P3D ships with aircraft.cfg/sim.cfg models which are not actual aircraft. Only those with an *.air file sibling are actual aircraft models. However the 32 bit MSFS simulators do not ship with *.air files. Hence enforce it for 64 bit which limits it to 64 bit P3D. --- .../simulation/fscommon/aircraftcfgparser.cpp | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/blackmisc/simulation/fscommon/aircraftcfgparser.cpp b/src/blackmisc/simulation/fscommon/aircraftcfgparser.cpp index 4fc394bb8..dd8a31ad8 100644 --- a/src/blackmisc/simulation/fscommon/aircraftcfgparser.cpp +++ b/src/blackmisc/simulation/fscommon/aircraftcfgparser.cpp @@ -181,7 +181,7 @@ namespace BlackMisc const int airFilesCount = dirForAir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot, QDir::DirsLast).size(); const bool hasAirFiles = airFilesCount > 0; - if (!hasAirFiles) + if (CBuildConfig::buildWordSize() != 32 && !hasAirFiles) { const CStatusMessage m = CStatusMessage(this).warning(u"No \"air\" files in '%1'") << currentDir; messages.push_back(m); @@ -209,11 +209,8 @@ namespace BlackMisc } else { - if (!hasAirFiles) - { - if (!CBuildConfig::isLocalDeveloperDebugBuild()) { continue; } // "productive versions" - // for testing purposes we continue in dev.versions - } + // Enforce air files only for 64 bit P3D + if (CBuildConfig::buildWordSize() != 32 && !hasAirFiles) { continue; } // due to the filter we expect only "aircraft.cfg"/"sim.cfg" here // remark: in a 1st version I have used QSettings to parse to file as ini file @@ -482,8 +479,16 @@ namespace BlackMisc const QStringList &CAircraftCfgParser::fileNameFilters() { - static const QStringList f({ "aircraft.cfg", "sim.cfg" }); - return f; + if (CBuildConfig::buildWordSize() == 32) + { + static const QStringList f({ "aircraft.cfg" }); + return f; + } + else + { + static const QStringList f({ "aircraft.cfg", "sim.cfg" }); + return f; + } } bool CAircraftCfgParser::isExcludedSubDirectory(const QString &checkDirectory)