FlightGear version check: Difference between revisions
(→Fgdata) |
(→Fgdata) |
||
Line 18: | Line 18: | ||
== Fgdata == | == Fgdata == | ||
{{Note|This is currently just proof-of-concept code which will need to be refined/reviewed and committed to fgdata.}} | {{Note|This is currently just proof-of-concept code which will need to be refined/reviewed and committed to fgdata.}} | ||
[[$FG_ROOT]]/Nasal/version.nas | [[$FG_ROOT]]/Nasal/version.nas (this ensures that the check will be executed for each loaded aircraft, without having to touch any -set.xml files, and it will also work with [[Reset & re-init]]). | ||
<syntaxhighlight lang="nasal"> | <syntaxhighlight lang="nasal"> | ||
# anonymous function that will be called directly | # anonymous function that will be called directly |
Revision as of 13:40, 17 November 2015
This article is a stub. You can help the wiki by expanding it. |
Caution When installing/using aircraft the FlightGear version and the aircraft version must match. Otherwise strange bugs should be expected and the version-mismatch combination will not be supported by the FlightGear community. |
If in doubt, people should check the About dialog or even /sim/version in the property tree using the proeperty brwoser.
For aircraft developers
<minimum-flightgear-version>4.0.0</minimum-flightgear-version>
Minimum FlightGear version required for this aircraft [1], note that this is a "soft" requirement - i.e. it will not terminate fg or trigger an error, but only show a warning in the console/fg window using a Nasal script that checks if the property is set. This is mainly intended to make compatibility issues more obvious, i.e. end-users downloading new aircraft and wanting to use them in conjunction with an old version of FlightGear, which is causing quite a bit of workload on the support forum. We are hoping to also display this info in the About dialog
Fgdata
Note This is currently just proof-of-concept code which will need to be refined/reviewed and committed to fgdata. |
$FG_ROOT/Nasal/version.nas (this ensures that the check will be executed for each loaded aircraft, without having to touch any -set.xml files, and it will also work with Reset & re-init).
# anonymous function that will be called directly
(func()
var fgversion = getprop("/sim/version/flightgear");
print("FlightGear v.", fgversion);
var acversion = getprop("/sim/minimum-flightgear-version");
print("Aircraft requires FlightGear v.", acversion);
if (acversion == nil) return; # not specified
# parse the version number into major/minor and patch level
# http://plausible.org/nasal/lib.html
var (major, minor, patch) = split(".", acversion);
)();