32 lines
815 B
Text
32 lines
815 B
Text
Binding New Commands in FlightGear
|
|
----------------------------------
|
|
|
|
|
|
To add a new command to FlightGear, you first need to create a
|
|
function that takes a single SGPropertyNode const pointer as an
|
|
argument:
|
|
|
|
void
|
|
do_something (SGPropertyNode * arg)
|
|
{
|
|
something();
|
|
}
|
|
|
|
Next, you need to register it with the command manager:
|
|
|
|
globals->get_commands()->addCommand("something", do_something);
|
|
|
|
Now, the command "something" is available to any mouse, joystick,
|
|
panel, or keyboard bindings. If the bindings pass any arguments, they
|
|
will be children of the SGPropertyNode passed in:
|
|
|
|
void
|
|
do_something (const SGPropertyNode * arg)
|
|
{
|
|
something(arg->getStringValue("foo"), arg->getDoubleValue("bar"));
|
|
}
|
|
|
|
That's pretty-much it. Apologies in advance for not making things any
|
|
more complicated.
|
|
|
|
|