@@ -83,7 +83,8 @@ namespace swift::misc
8383 TypeManuallySet, // !< manually set, e.g. from GUI
8484 TypeOwnSimulatorModel, // !< represents own simulator model (AI model, model on disk)
8585 TypeVPilotRuleBased, // !< based on a vPilot rule
86- TypeTerrainProbe // !< peudo aircraft used for terrain probing (FSX)
86+ TypeTerrainProbe, // !< peudo aircraft used for terrain probing (FSX)
87+ TypeOwnSimulatorLivery // !< represents own simulator model livery (msfs2024)
8788 };
8889
8990 // ! Mode, decides if a model is supposed to be used in the model set for model matching
@@ -136,6 +137,9 @@ namespace swift::misc
136137 // ! Constructor.
137138 CAircraftModel (const QString &model, ModelType type);
138139
140+ // ! Constructor.
141+ CAircraftModel (const QString &model, const QString &livery, ModelType type);
142+
139143 // ! Constructor.
140144 CAircraftModel (const QString &model, ModelType type, const aviation::CAircraftIcaoCode &icao,
141145 const aviation::CLivery &livery);
@@ -181,12 +185,21 @@ namespace swift::misc
181185 // ! Model key, either queried or loaded from simulator model
182186 const QString &getModelString () const { return m_modelString; }
183187
188+ // ! Model Livery, part of model string in MSFS 2024
189+ const QString &getModelLivery () const { return m_modelLivery; }
190+
184191 // ! Model string and DB key (if available)
185192 QString getModelStringAndDbKey () const ;
186193
187194 // ! Model string
188195 void setModelString (const QString &modelString) { m_modelString = modelString.trimmed ().toUpper (); }
189196
197+ // ! Model livery msfs2024
198+ void setModelLivery (const QString &modelLivery) { m_modelLivery = modelLivery.trimmed ().toUpper (); }
199+
200+ // ! Model livery whitout part for lifery msfs2024
201+ QString getShortModelString () const ;
202+
190203 // ! Model key, either queried or loaded from simulator model
191204 const QString &getModelStringAlias () const { return m_modelStringAlias; }
192205
@@ -196,6 +209,9 @@ namespace swift::misc
196209 // ! Get model string and aliases
197210 QString getAllModelStringsAliasesAndDbKey () const ;
198211
212+ // ! Get model string and Livery
213+ QString getMsfs2024ModelString ();
214+
199215 // ! Model string alias
200216 void setModelStringAlias (const QString &alias) { m_modelStringAlias = alias.trimmed ().toUpper (); }
201217
@@ -419,6 +435,10 @@ namespace swift::misc
419435 // ! Matches model string?
420436 bool matchesModelString (const QString &modelString, Qt::CaseSensitivity sensitivity) const ;
421437
438+ // ! Matches model string and livery?
439+ bool matchesModelStringAndLivery (const QString &modelString, const QString &modelLivery,
440+ Qt::CaseSensitivity sensitivity) const ;
441+
422442 // ! Matches model string or alias?
423443 bool matchesModelStringOrAlias (const QString &modelString, Qt::CaseSensitivity sensitivity) const ;
424444
@@ -567,11 +587,13 @@ namespace swift::misc
567587 CSimulatorInfo m_simulator; // !< model for given simulator
568588 CDistributor m_distributor; // !< who designed or distributed the model
569589 QString m_modelString; // !< Simulator model key, unique
590+ QString m_modelLivery; // !< Simulator livery (msfs2024)
570591 QString m_modelStringAlias; // !< Simulator model key alias, unique
571592 QString m_name; // !< Model name
572593 QString m_description; // !< descriptive text
573594 QString m_fileName; // !< file name
574595 QString m_supportedParts; // !< supported parts
596+ QString m_shortModelString; // !< cached short model string
575597 qint64 m_fileTimestamp = -1 ; // !< file timestamp of originating file (if applicable)
576598 ModelType m_modelType = TypeUnknown; // !< model string is coming representing ...?
577599 ModelMode m_modelMode = Include; // !< model mode (include / exclude)
@@ -591,6 +613,7 @@ namespace swift::misc
591613 SWIFT_METAMEMBER(supportedParts),
592614 SWIFT_METAMEMBER(modelString, 0 , CaseInsensitiveComparison),
593615 SWIFT_METAMEMBER(modelStringAlias, 0 , CaseInsensitiveComparison),
616+ SWIFT_METAMEMBER(modelLivery, 0 , CaseInsensitiveComparison),
594617 SWIFT_METAMEMBER(name),
595618 SWIFT_METAMEMBER(description, 0 , DisabledForComparison),
596619 SWIFT_METAMEMBER(fileName, 0 , DisabledForComparison),
0 commit comments