e880d5ecee
is added to the list and activated. - simplify savexml handling using the "data" node for temporary data
380 lines
9.3 KiB
XML
380 lines
9.3 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<PropertyList>
|
|
<sim>
|
|
<description>UFO from the 'White Project' of the UNESCO</description>
|
|
<author>ET</author>
|
|
|
|
<flight-model>ufo</flight-model>
|
|
|
|
<sound>
|
|
<path>Aircraft/ufo/ufo-sound.xml</path>
|
|
</sound>
|
|
|
|
<panel>
|
|
<visibility>false</visibility>
|
|
</panel>
|
|
|
|
<model>
|
|
<path>Aircraft/ufo/Models/ufo.xml</path>
|
|
<always-show-in-MP type="bool">false</always-show-in-MP>
|
|
</model>
|
|
|
|
<help>
|
|
<title>UFO</title>
|
|
<key>
|
|
<name>joystick fire button</name>
|
|
<desc>fly backwards</desc>
|
|
</key>
|
|
<key>
|
|
<name>b</name>
|
|
<desc>fly backwards</desc>
|
|
</key>
|
|
<key>
|
|
<name>[ ]</name>
|
|
<desc>decrease/increase maximum speed</desc>
|
|
</key>
|
|
<key>
|
|
<name>mouse click</name>
|
|
<desc>add model to scenery</desc>
|
|
</key>
|
|
<key>
|
|
<name>Ctrl + mouse click</name>
|
|
<desc>select nearest object</desc>
|
|
</key>
|
|
<key>
|
|
<name>Shift + mouse click</name>
|
|
<desc>add new object to selection</desc>
|
|
</key>
|
|
<key>
|
|
<name>Shift + Ctrl + mouse click</name>
|
|
<desc>add nearest object to selection</desc>
|
|
</key>
|
|
<key>
|
|
<name>Alt + mouse click</name>
|
|
<desc>move selected object(s) to new place</desc>
|
|
</key>
|
|
<key>
|
|
<name>Ctrl + PgUp/PgDn</name>
|
|
<desc>cycle through model list</desc>
|
|
</key>
|
|
<key>
|
|
<name>Ctrl + cursor/arrow keys</name>
|
|
<desc>move selected object(s) away/nearer/left/right</desc>
|
|
</key>
|
|
<key>
|
|
<name>backspace</name>
|
|
<desc>remove selected object(s)</desc>
|
|
</key>
|
|
<key>
|
|
<name>d</name>
|
|
<desc>dump object data to terminal</desc>
|
|
</key>
|
|
<key>
|
|
<name>e</name>
|
|
<desc>export object data</desc>
|
|
</key>
|
|
<key>
|
|
<name>l</name>
|
|
<desc>load model file via file selector</desc>
|
|
</key>
|
|
<key>
|
|
<name>m</name>
|
|
<desc>toggle marker for active (= last selected) object</desc>
|
|
</key>
|
|
<key>
|
|
<name>space</name>
|
|
<desc>open/close model select dialog</desc>
|
|
</key>
|
|
<key>
|
|
<name>tab</name>
|
|
<desc>open/close cursor dialog</desc>
|
|
</key>
|
|
|
|
<line>Pre-select initial model (path relative to $FG_ROOT):</line>
|
|
<line>  --prop:cursor=Model/path.xml</line>
|
|
<line/>
|
|
<line>Set directories that are scanned for models (comma separated and</line>
|
|
<line>relative to $FG_ROOT; default: Models):</line>
|
|
<line>  --prop:source=Models,Scenery/Objects</line>
|
|
<line/>
|
|
<line>Exported data are written to:</line>
|
|
<line>  ~/.fgfs/ufo-model-export.xml (Unix)</line>
|
|
<line>  %APPDATA%\flightgear.org\ufo-model-export.xml (Microsoft Windows)</line>
|
|
<line/>
|
|
<line>In the adjustment dialog (SPACE-key) holding the Ctrl or Shift key down</line>
|
|
<line>makes slider effects coarser/finer.</line>
|
|
</help>
|
|
</sim>
|
|
|
|
<input>
|
|
<keyboard>
|
|
<key n="8">
|
|
<name>Backspace</name>
|
|
<desc>Remove selected object</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>ufo.modelmgr.remove_selected()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="9">
|
|
<name>Ctrl-I</name>
|
|
<desc>Show object adjustment dialog</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>ufo.adjust_dialog.toggle()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="32">
|
|
<name>SPACE</name>
|
|
<desc>Show model select dialog</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>ufo.select_dialog.toggle()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="100">
|
|
<name>d</name>
|
|
<desc>Dump coordinates</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>ufo.print_data()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="101">
|
|
<name>e</name>
|
|
<desc>Export object data XML file</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>ufo.export_data()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="108">
|
|
<name>l</name>
|
|
<desc>Open file selector</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>ufo.file_select_model()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="109">
|
|
<name>m</name>
|
|
<desc>Toggle "active object" marker</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>ufo.modelmgr.toggle_marker()</script>
|
|
</binding>
|
|
</key>
|
|
|
|
<key n="360">
|
|
<name>PageUp</name>
|
|
<desc>Increase throttle or autopilot autothrottle.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.cycle(1);
|
|
} else {
|
|
controls.incThrottle(0.01, 1.0)
|
|
}
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look front right.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/front-right-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="361">
|
|
<name>PageDown</name>
|
|
<desc>Decrease throttle or autopilot autothrottle.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.cycle(-1);
|
|
} else {
|
|
controls.incThrottle(-0.01, -1.0)
|
|
}
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look back right.</desc>
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property>/sim/current-view/goal-heading-offset-deg</property>
|
|
<property>/sim/view/config/back-right-direction-deg</property>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="356">
|
|
<name>Left</name>
|
|
<desc>Move aileron left (or adjust AP heading.)</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.adjust("transversal", -1);
|
|
} else {
|
|
controls.incAileron(-0.05, -1.0);
|
|
}
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look left.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.adjust("transversal", -10);
|
|
} else {
|
|
setprop("/sim/current-view/goal-heading-offset-deg",
|
|
getprop("/sim/view/config/left-direction-deg"));
|
|
}
|
|
</script>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="357">
|
|
<name>Up</name>
|
|
<desc>Increase elevator or autopilot altitude.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.adjust("longitudinal", 1);
|
|
} else {
|
|
controls.incElevator(0.05, -100);
|
|
}
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look forward.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.adjust("longitudinal", 10);
|
|
} else {
|
|
setprop("/sim/current-view/goal-heading-offset-deg",
|
|
getprop("/sim/view/config/front-direction-deg"));
|
|
}
|
|
</script>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="358">
|
|
<name>Right</name>
|
|
<desc>Move aileron right (or adjust AP heading.)</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.adjust("transversal", 1);
|
|
} else {
|
|
controls.incAileron(0.05, 1.0);
|
|
}
|
|
</script>
|
|
<step type="double">0.05</step>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look right.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.adjust("transversal", 10);
|
|
} else {
|
|
setprop("/sim/current-view/goal-heading-offset-deg",
|
|
getprop("/sim/view/config/right-direction-deg"));
|
|
}
|
|
</script>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
|
|
<key n="359">
|
|
<name>Down</name>
|
|
<desc>Decrease elevator or autopilot altitude.</desc>
|
|
<repeatable type="bool">true</repeatable>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.adjust("longitudinal", -1);
|
|
} else {
|
|
controls.incElevator(-0.05, 100);
|
|
}
|
|
</script>
|
|
</binding>
|
|
<mod-shift>
|
|
<desc>Look backwards.</desc>
|
|
<binding>
|
|
<command>nasal</command>
|
|
<script>
|
|
if (getprop("/devices/status/keyboard/ctrl")) {
|
|
ufo.modelmgr.adjust("longitudinal", -10);
|
|
} else {
|
|
setprop("/sim/current-view/goal-heading-offset-deg",
|
|
getprop("/sim/view/config/back-direction-deg"));
|
|
}
|
|
</script>
|
|
</binding>
|
|
</mod-shift>
|
|
</key>
|
|
</keyboard>
|
|
</input>
|
|
|
|
<!-- default model -->
|
|
<cursor type="string">Aircraft/ufo/Models/cursor.ac</cursor>
|
|
|
|
<!-- subdirs of $FG_ROOT to search models in. Comma separated, e.g. "Models,Scenery/Objects/w130n30" -->
|
|
<source type="string">Models</source>
|
|
|
|
<nasal>
|
|
<ufo>
|
|
<file>Aircraft/ufo/ufo.nas</file>
|
|
</ufo>
|
|
|
|
<aar>
|
|
<file>Aircraft/Generic/aar.nas</file>
|
|
</aar>
|
|
</nasal>
|
|
|
|
<instrumentation>
|
|
<radar>
|
|
<debug-mode type="bool">true</debug-mode>
|
|
</radar>
|
|
</instrumentation>
|
|
|
|
<gear>
|
|
<gear>
|
|
<!-- hint for the route manager -->
|
|
<wow type="bool">false</wow>
|
|
</gear>
|
|
</gear>
|
|
|
|
<autopilot>
|
|
<route-manager>
|
|
<min-lock-altitude-agl-ft type="double">-10000</min-lock-altitude-agl-ft>
|
|
</route-manager>
|
|
</autopilot>
|
|
</PropertyList>
|