From 4497c6d9e996f9616c95844859d859237f1f2d42 Mon Sep 17 00:00:00 2001 From: david Date: Sat, 26 Oct 2002 01:18:52 +0000 Subject: [PATCH] Documentation on adding new built-in commands to FlightGear. --- docs-mini/README.commands | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs-mini/README.commands diff --git a/docs-mini/README.commands b/docs-mini/README.commands new file mode 100644 index 000000000..25b1543ab --- /dev/null +++ b/docs-mini/README.commands @@ -0,0 +1,32 @@ +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. + +