Talk:Backwards Compatibility Initiative

From FlightGear wiki
Jump to navigation Jump to search


Lack of FDM versioning


Lack of XML schemas for Autopilot configurations


Requirements for a flexible Compatibility Scheme in FG

Exposing modifications to internal APIs via the property tree enables FlightGear resources such as XML files or Nasal scripts to dynamically adjust to the runtime environment:

  • the base package may need to be provided with version info for relevant commits so that the executable can check for a matching package, this is a frequently brought up issue -because users may need to manually check if binaries and base package match
  • expose library versions (OSG, SimGear ...) and build/config settings via property tree
  • expose full list of fgfs startup parameters and runtime variables via property tree
  • expose supported OpenGL extensions via property tree /sim/opengl-extensions/GL_ARB_multitexture
  • expose available fgcommands via property tree ( /sim/fgcommands/has-loadxml=true
  • expose available Nasal API functions via property tree
  • if necessary expose versioning info for API calls (fgcommands/nasal) /sim/fgcommands/loadxml/version
  • start versioning SGSubsystems and require changes to be communicated by increasing the version number
  • start using feature-based version tracking by communicating new/modified features using the property tree