20,741
edits
Line 24: | Line 24: | ||
<references/> | <references/> | ||
===Initial work on dynamic subsystem creation=== | |||
James has added initial code to work on dynamic subsystem creation, so that subsystems become create-able and removable from commands. Only some subsystems are supported so far, since many have non-default constructors or other complexities. With this, change, it's now possible to dynamically add and remove the traffic-manager at runtime, for example: | |||
<syntaxhighlight lang="php"> | |||
fgcommand( "add-subsystem", props.Node.new( { "subsystem": "traffic-manager", "name":"traffic-manager", "do-bind-init":1}) ); | |||
</syntaxhighlight> | |||
The idea is to improve this further so that more and more subsystems in FlightGear can be optionally toggled on/off at runtime, which should help facilitate other ongoing efforts, like the [[FGCanvas]] project for example - ultimately, this will help make FlightGear become more configurable and scalable, but also better usable for other purposes, such as distributed (multi-machine) setups-so that a single binary can be easily used for different purposes. | |||
In addition, it will be much easier for developers to do regression testing and benchmarking once subsystems can be completely disabled, which is another long-standing feature request (see [[FlightGear Headless]]), that should also simplify release preparations. | |||
=== Project Rembrandt === | === Project Rembrandt === |