* XP loader improved progress messages
* added LoadingFailed
* use "Qt::QueuedConnection" for CMultiAircraftModelLoaderProvider
In some cases the loading progress signal was not send properly changing to Qt::QueuedConnection has solved the issue
Change the severity to Error for parser errors and raise a prominent popup with all collected issues.
Also be more explicit from which file and line the error came from.
Maniphest Tasks: T462
* XPMPMultiplayerInit API change
* New CSL command 'VERT_OFFSET'
* OBJ8 objects can have multiple textures now. Therefore use the same model
name convention as with OBJ7.
Summary:
Refactored parts of CAircraftModelLoaderXPlane::parseFlyableAirplanes into static method extractAcfProperties that can be called by xswiftbus.
Used extractAcfProperties in xswiftbus to provide the model string to the driver. Implemented CSimulatorXPlane::ps_emitOwnAircraftModelChanged.
Implements T74.
Reviewers: rwinklmeier
Reviewed By: rwinklmeier
Subscribers: jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D23
* removed CacheUntilNewer
* did not really work and had some problems
* cache timestamp not really a good value to compare with
* too slow with remote file
Summary:
New aircraft for XP11 should include a name, author, and studio. These can be used to generate a better model string that doesn't depend on file or directory names.
If the `.acf` contains studio, this is used as the distributor. Otherwise, we use author as distributor instead (truncated in case it is a long list of names).
Then the model string is constructed by combining distributor and model name. If the model name already contains the distributor, we just use the model name.
If the name and distributor are missing, we fall back to the old scheme based on `.acf` filename and dirname.
I have also added a space between aircraft and livery. And I have added default description strings.
After this has landed and been deployed to users, we will need to remove all flyable X-Plane planes from the database and start again with them. (These are the excluded ones.) And we can't accept mappings that use the fallback old scheme if the submitted has renamed the `.acf` file or directory name.
Reviewers: rwinklmeier, kbasan
Reviewed By: kbasan
Subscribers: jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D16
Summary:
Using `QStringRef` and `QLatin1String` to avoid unnecessary allocations and conversions.
Depends on D12.
Reviewers: rwinklmeier, kbasan
Subscribers: jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D13
Summary:
There are optional fields in an X-Plane flyable aircraft that we can use if they are present:
* Description
* Name
* Distributor
If not present, the user has to edit them manually.
@kbasan Any problem with constructing a `CDistributor` with empty db key?
Reviewers: rwinklmeier, kbasan
Reviewed By: rwinklmeier
Subscribers: jenkins, kbasan
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D12
Summary:
I wanted to rename xbus because its relation to //swift// is not immediately clear from the name.
xswiftbus seems reasonable.
Reviewers: #swift_pilot_client, kbasan
Reviewed By: kbasan
Subscribers: kbasan, jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D14
* callback function to data consolidation (so I can refer to consolidation in BlackCore)
* use status message in parser
* avoid duplicate keys (WOAI has ambiguous model strings which are to be excluded)
* removed from component cache
* kept renamed component caches as stubs for later usage
refs #646, removed gui state cache as it causes build issues on Jenkins
(idea was to keep the classes as stubs for later usage)