Commit Graph

90 Commits

Author SHA1 Message Date
Roland Rossgotterer
6ea8d16460 Fix CAircraftModelLoaderXPlane::performParsing to accept multiple dirs
This implements an old todo from KB.
2019-02-22 20:35:50 +00:00
Roland Rossgotterer
5181855b59 Update loading progress while parsing X-Plane models
Maniphest Tasks: T517
2019-02-22 20:35:50 +00:00
Mat Sutcliffe
225ff81252 Ref T485 Adjust CLogMessage and CStatusMessage call sites to use the new API. 2019-02-22 20:34:55 +00:00
Mat Sutcliffe
ace7650ebe Ref T480 No need for QStringLiteral when concatenating with %, use UTF-16 string literals. 2019-02-22 20:23:46 +00:00
Mat Sutcliffe
268d858e2d Parse errors in CAircraftModelLoaderXPlane should be errors, not warnings. 2019-02-22 20:23:32 +00:00
Klaus Basan
363b7c9966 Ref T430, style 2018-12-07 02:37:15 +01:00
Roland Winklmeier
2843e20d54 Update xswiftbus.conf when updating connection details
ref T434
2018-11-29 20:54:25 +01:00
Klaus Basan
9293989a78 Doxygen comments 2018-11-04 17:42:45 +01:00
Roland Winklmeier
1fecf65a40 Fix parsing of X-Plane ACF file headers
So far the 'version' literal was compared case sensitive. So we did not
parse ACF files which had a capitalized literal. Instead the comparison
should be case insensitive. To do that we convert all strings to lower
case before comparing.

ref T378
2018-11-04 17:42:43 +01:00
Roland Winklmeier
dbbc459dbc Add X-Plane object version into the model description 2018-09-12 17:01:47 +02:00
Roland Winklmeier
01779183c4 Don't set distributor from CSL package name
That is almost always wrong.
2018-09-12 17:01:46 +02:00
Roland Winklmeier
d682df243a Fix loading of older OBJ8 CSL modelsets
- Fix support for older modelsets not using the texture for OBJ8 feature
- Small error when xsb_aircraft.txt was outside the object folder

ref T326
2018-09-12 17:01:45 +02:00
Roland Winklmeier
4cf3bc580f Use case sensitive name of Windows header files 2018-08-25 22:12:06 +02:00
Roland Winklmeier
a60ee4a7dd Use override for destructors 2018-08-25 22:12:06 +02:00
Roland Winklmeier
a19ccabf35 Refactor shared X-Plane model parser in common header only functions
ref T290
2018-08-24 21:27:00 +02:00
Klaus Basan
2838e90e75 Ref T292, Ref T285 XPlane loader to set file timestamp correctly 2018-07-26 04:32:39 +02:00
Klaus Basan
a6ee6d4b72 Ref T292, Ref T285 minor style improvements, renamings 2018-07-26 04:32:38 +02:00
Klaus Basan
74fa7d7289 Ref T292, Ref T285 signal when "real" loading was started (loading from disk) 2018-07-25 02:37:13 +02:00
Klaus Basan
f36ebbfa83 Doxygen and style 2018-07-25 02:37:12 +02:00
Klaus Basan
40c0c6ae35 Ref T292, adjusted the specific model loaders
* no longer using "std::unique_ptr"
* QObject parent
* Style
2018-07-25 02:36:55 +02:00
Klaus Basan
76334b75d1 Ref T246, model loader improvements / renamings 2018-07-17 19:04:55 +02:00
Klaus Basan
80cee12fdb Ref T246, utility for 1st model set directory
* remove empty enries in directories
* allow to add directory
* detect same directories and avoid duplicates
2018-07-14 19:45:21 +02:00
Klaus Basan
8bd969105a XSwiftBus install dialog (for local environment)
* can also be called from menu
* improved file check
* renamed some functions
2018-05-18 00:25:02 +02:00
Klaus Basan
42ef7c5633 Avoid long "hanging" if Windows UNC path is not reachable
Use own "isDirExisting" function checking UNC paths
2018-04-05 02:54:40 +02:00
Klaus Basan
c207d589a9 Ref T131, XPlane utility functions
* find XPL files
* newer build files
* conflicting files?
* some renamings
2018-04-05 02:53:30 +02:00
Roland Winklmeier
2ab6a96d57 Adapt to libxplanemp improvements
* 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.
2018-04-05 02:52:24 +02:00
Klaus Basan
640ec3a573 Ref T252, send all loading status messages as list 2018-02-22 01:26:23 +01:00
Klaus Basan
b01119cc1b Ref T252, utility functions for simulator directories 2018-02-16 12:13:53 +01:00
Klaus Basan
1970ae9f9b Ref T252, formatting 2018-02-16 12:13:50 +01:00
Klaus Basan
e9e0ae1ff4 Ref T241, Ref T243 formatting and minor tweaks
* unified how we write thread_local const
* ASSERTs
* formatting
2018-02-04 08:53:48 +01:00
Klaus Basan
2f0253b3eb Ref T118, support multiple model directories
* this was recently discussed https://swift-project.slack.com/archives/C04J6J76N/p1508430536000065
* for config parser already implemented
* for XP the loading from multiple dirs still needs to be implemented (see todo)
2017-10-31 15:39:15 +01:00
Klaus Basan
e920dc77b8 Ref T118, formatting 2017-10-31 15:39:12 +01:00
Klaus Basan
65bc1c00fb Formatting, "this->m_" to "m_", comments 2017-09-24 20:29:09 +01:00
Klaus Basan
329b0512eb Ref T125, utility functions 2017-09-24 19:53:20 +01:00
Klaus Basan
65bd2d20ad Ref T125, X-Plan utility functions and moved XSwiftBus settings in own file 2017-09-24 19:53:03 +01:00
Mathew Sutcliffe
05c0d046aa Removed outdated todos. 2017-09-24 19:52:37 +01:00
Mathew Sutcliffe
bc80fd3bd5 [feature][XPlane] Set own aircraft model string when own aircraft changes.
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
2017-05-14 17:21:39 +01:00
Mathew Sutcliffe
183d3f58e7 X-Plane model loader: fixed malformed model strings with spurious multiple liveries.
Each livery was being appended to the model string of the previous livery model.
Reported by Alex Beavil.
2017-05-07 21:52:14 +01:00
Mathew Sutcliffe
b1e57e28d0 Fixed QVector out-of-bounds assert in X-Plane model loader. 2017-05-06 20:22:46 +01:00
Klaus Basan
c3ed0bc394 Ref T28, removed areModelFilesUpdated and info if loading was from cache
* 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
2017-05-05 23:08:04 +01:00
Mathew Sutcliffe
816f3bd48e New X-Plane flyable plane model string schema
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
2017-05-05 23:07:28 +01:00
Mathew Sutcliffe
fbc9c37646 X-Plane model loader: performance tweaks.
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
2017-05-05 23:07:27 +01:00
Mathew Sutcliffe
4e23cd1382 X-Plane model loader: support extra properties of .acf files
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
2017-05-05 23:07:25 +01:00
Mathew Sutcliffe
4a4dea8d4d Rename xbus to xswiftbus
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
2017-05-05 23:07:11 +01:00
Mathew Sutcliffe
e3fe8ec39f refs #937 Resolved clazy warnings: miscellaneous. 2017-04-19 19:31:50 +01:00
Mathew Sutcliffe
fce1513dae refs #937 Resolved clazy warnings: unnecessary detaching of containers. 2017-04-19 19:31:38 +01:00
Mathew Sutcliffe
488f42b0a1 refs #928 Parse and load OBJ8 CSL packages. 2017-04-19 19:31:33 +01:00
Klaus Basan
0851b8c994 refs #868, added xplaneDir utility function to remove boilerplate code
and using CFileUtils::appendFilePaths to concat file paths
2017-04-17 23:58:48 +01:00
Klaus Basan
99c792dd4b Refs #868 Use CXPlaneUtil::xplaneRootDir() in the X-Plane plugin 2017-04-17 23:58:46 +01:00
Michał Garapich
f25d569ae8 refs #868 Add CXPlaneUtil::xplane11Dir() 2017-04-17 23:58:45 +01:00