646 lines
16 KiB
XML
646 lines
16 KiB
XML
<?xml version="1.0"?>
|
|
|
|
|
|
<!--
|
|
Copyright License: GPL
|
|
Usable with FlightGear
|
|
Property of Gerard Robin
|
|
but the Fresnel Lens Optical Landing System which is copied from the Nimitz Model
|
|
by Vivian Meazza
|
|
-->
|
|
|
|
|
|
<PropertyList>
|
|
|
|
<path>clem-superstructure.ac</path>
|
|
|
|
<nasal>
|
|
<load>
|
|
<![CDATA[
|
|
var self = cmdarg();
|
|
|
|
print("Model load Clemenceau ", self.getPath());
|
|
var pathc = self.getPath();
|
|
|
|
# timescales
|
|
|
|
var elevator_transit_time = 30.0;
|
|
var jbd_transit_time = 5.0;
|
|
|
|
# register the dialog
|
|
|
|
setprop(pathc~"/dlg-name", "Clemenceau");
|
|
|
|
# init course control, animation and detail properties
|
|
|
|
setprop("/controls/clemenceau/lights", 0);
|
|
|
|
setprop("/controls/clemenceau/turn-to-launch-hdg", 0);
|
|
setprop("/controls/clemenceau/turn-to-recovery-hdg", 0);
|
|
setprop("/controls/clemenceau/turn-to-base-course", 1);
|
|
|
|
|
|
################
|
|
# elevators
|
|
|
|
setprop("/controls/clemenceau/elevator[0]/state",1);
|
|
setprop("/controls/clemenceau/elevator[1]/state",0);
|
|
|
|
var elevator1 = aircraft.door.new(pathc~"/surface-positions/elevator[0]", elevator_transit_time, 1);
|
|
var elevator2 = aircraft.door.new(pathc~"/surface-positions/elevator[1]", elevator_transit_time, 0);
|
|
|
|
|
|
var elevator_array = [elevator1, elevator2];
|
|
|
|
################
|
|
# jet blast deflectors
|
|
|
|
setprop("/controls/clemenceau/jbd[0]/state", 0);
|
|
setprop("/controls/clemenceau/jbd[1]/state", 0);
|
|
|
|
|
|
var jbd1 = aircraft.door.new(pathc~"/surface-positions/jbd[0]", jbd_transit_time, 0);
|
|
var jbd2 = aircraft.door.new(pathc~"/surface-positions/jbd[1]", jbd_transit_time, 0);
|
|
|
|
|
|
var jbd_array = [jbd1, jbd2];
|
|
|
|
|
|
# elevator control
|
|
|
|
var elevator_operate = func (i){
|
|
|
|
var tgt = getprop("/controls/clemenceau/elevator["~i~"]/state");
|
|
if (tgt == 1)
|
|
{
|
|
print ("Elevator ", i+1, " up.");
|
|
elevator_array[i].open();
|
|
|
|
}
|
|
else
|
|
{
|
|
print ("Elevator ", i+1, " down.");
|
|
elevator_array[i].close();
|
|
}
|
|
}
|
|
|
|
# JBD control
|
|
|
|
var jbd_operate = func (i) {
|
|
|
|
var tgt = getprop("/controls/clemenceau/jbd["~i~"]/state");
|
|
if (tgt == 1)
|
|
{
|
|
print ("JBD ", i+1, " up.");
|
|
jbd_array[i].open();
|
|
}
|
|
else
|
|
{
|
|
print ("JBD ", i+1, " down.");
|
|
jbd_array[i].close();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# add AN/SPN-46 see http://chateau-logic.com/content/emesary-nasal-implementation-flightgear
|
|
|
|
|
|
fn_an_spn_46 = getprop("/sim/fg-root") ~ "/Aircraft/Generic/an_spn_46.nas";
|
|
io.load_nasal(fn_an_spn_46, "an_spn_46");
|
|
var anspn = an_spn_46.ANSPN46_System.new("Clemenceau", self);
|
|
anspn.SetChannel(2);
|
|
var an_spn_46_timer = maketimer(6, func {
|
|
anspn.Update();
|
|
an_spn_46_timer.restart(anspn.GetUpdateRate());
|
|
});
|
|
an_spn_46_timer.restart(6);
|
|
|
|
|
|
# listeners
|
|
|
|
var l_elev1 = setlistener("/controls/clemenceau/elevator/state", func {elevator_operate(0);},0,0);
|
|
var l_elev2 = setlistener("/controls/clemenceau/elevator[1]/state", func {elevator_operate(1);},0,0);
|
|
|
|
var l_jbd1 = setlistener("/controls/clemenceau/jbd[0]/state", func {jbd_operate(0);},0,0);
|
|
var l_jbd2 = setlistener("/controls/clemenceau/jbd[1]/state", func {jbd_operate(1);},0,0);
|
|
|
|
]]>
|
|
</load>
|
|
|
|
<unload>
|
|
<![CDATA[
|
|
an_spn_46_timer.stop();
|
|
|
|
# clean up listeners
|
|
|
|
removelistener(l_elev_1);
|
|
removelistener(l_elev_2);
|
|
|
|
removelistener(l_jbd_1);
|
|
removelistener(l_jbd_2);
|
|
]]>
|
|
</unload>
|
|
</nasal>
|
|
|
|
<texture-path>Textures</texture-path>
|
|
<offsets>
|
|
<z-m>0</z-m>
|
|
</offsets>
|
|
|
|
|
|
|
|
<model>
|
|
<name>Wakes</name>
|
|
<path>Models/Geometry/Clemenceau/Models/Sillage.xml</path>
|
|
<offsets>
|
|
<x-m>0</x-m>
|
|
<y-m>0</y-m>
|
|
<z-m>0</z-m>
|
|
<heading-deg>0</heading-deg>
|
|
</offsets>
|
|
</model>
|
|
<model>
|
|
<object-name>Pont</object-name>
|
|
<path>Models/Geometry/Clemenceau/Pont.xml</path>
|
|
<offsets>
|
|
<x-m>0</x-m>
|
|
<y-m>0</y-m>
|
|
<z-m>0</z-m>
|
|
</offsets>
|
|
</model>
|
|
<model>
|
|
<object-name>Clock</object-name>
|
|
<path>Models/Geometry/Clemenceau/Clock.xml</path>
|
|
<offsets>
|
|
<x-m>-11.7275</x-m>
|
|
<y-m>10.6162</y-m>
|
|
<z-m>19.9938</z-m>
|
|
<heading-deg>45</heading-deg>
|
|
</offsets>
|
|
</model>
|
|
<model>
|
|
<name>Hull</name>
|
|
<path>Models/Geometry/Clemenceau/Hull.xml</path>
|
|
<offsets>
|
|
<x-m>0</x-m>
|
|
<y-m>0</y-m>
|
|
<z-m>0</z-m>
|
|
</offsets>
|
|
</model>
|
|
<model>
|
|
<name>Flols</name>
|
|
<path>Models/Geometry/Clemenceau/Models/flols.xml</path>
|
|
<offsets>
|
|
<x-m>25.9119</x-m>
|
|
<y-m>-29.5</y-m>
|
|
<z-m>14.7</z-m>
|
|
<heading-deg>8</heading-deg>
|
|
</offsets>
|
|
</model>
|
|
<!--<model>
|
|
<name>Glide-path</name>
|
|
<path>Models/Geometry/Clemenceau/Models/glide-path.xml</path>
|
|
<offsets>
|
|
<x-m>4902.52</x-m>
|
|
<y-m>700.906</y-m>
|
|
<z-m>137.228</z-m>
|
|
<heading-deg>0</heading-deg>
|
|
</offsets>
|
|
</model>-->
|
|
|
|
<!--<model>
|
|
<path>Models/Geometry/Clemenceau/Models/Aircrafts/Alouette-III/Pedro.xml</path>
|
|
<offsets>
|
|
<x-m>-75.5149</x-m>
|
|
<y-m>9.29045</y-m>
|
|
<z-m>16.3118</z-m>
|
|
<heading-deg>0</heading-deg>
|
|
</offsets>
|
|
</model>-->
|
|
<model>
|
|
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
|
|
<offsets>
|
|
<x-m>-34.9154</x-m>
|
|
<y-m>9.92806</y-m>
|
|
<z-m>14.8311</z-m>
|
|
<heading-deg>180</heading-deg>
|
|
</offsets>
|
|
</model>
|
|
<model>
|
|
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
|
|
<offsets>
|
|
<x-m>-38.3693</x-m>
|
|
<y-m>9.92806</y-m>
|
|
<z-m>14.8311</z-m>
|
|
<heading-deg>0</heading-deg>
|
|
</offsets>
|
|
</model>
|
|
<model>
|
|
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
|
|
<offsets>
|
|
<x-m>-32.343</x-m>
|
|
<y-m>9.92806</y-m>
|
|
<z-m>14.8311</z-m>
|
|
<heading-deg>180</heading-deg>
|
|
</offsets>
|
|
</model>
|
|
<model>
|
|
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
|
|
<offsets>
|
|
<x-m>-27.2995</x-m>
|
|
<y-m>9.92806</y-m>
|
|
<z-m>14.8311</z-m>
|
|
<heading-deg>180</heading-deg>
|
|
</offsets>
|
|
</model>
|
|
<model>
|
|
<path>Models/Geometry/Clemenceau/Tracteur.xml</path>
|
|
<offsets>
|
|
<x-m>-48.6205</x-m>
|
|
<y-m>17.8154</y-m>
|
|
<z-m>14.8311</z-m>
|
|
<heading-deg>90</heading-deg>
|
|
</offsets>
|
|
</model>
|
|
<model>
|
|
<path>Models/Geometry/Clemenceau/Grue_pont.xml</path>
|
|
<offsets>
|
|
<x-m>-53.805</x-m>
|
|
<y-m>17.6369</y-m>
|
|
<z-m>16.4886</z-m>
|
|
<heading-deg>-45</heading-deg>
|
|
</offsets>
|
|
</model>
|
|
|
|
|
|
|
|
<!-- <animation>
|
|
<type>select</type>
|
|
<object-name>Glide-path</object-name>
|
|
<condition>
|
|
<equals>
|
|
<property>/ai/models/carrier[0]/controls/glide-path</property>
|
|
<value>true</value>
|
|
</equals>
|
|
</condition>
|
|
</animation>-->
|
|
|
|
|
|
<animation>
|
|
<condition>
|
|
<and>
|
|
<equals>
|
|
<property>/sim/model/carrier-jsbsim</property>
|
|
<value>1</value>
|
|
</equals>
|
|
<equals>
|
|
<property>/sim/carrier/name</property>
|
|
<value>Clemenceau</value>
|
|
</equals>
|
|
</and>
|
|
</condition>
|
|
<type>rotate</type>
|
|
<object-name>JBD-1</object-name>
|
|
<property>surface-positions/jbd[0]/position-norm</property>
|
|
<factor>70</factor>
|
|
<axis>
|
|
<x1-m>-61.8038</x1-m>
|
|
<y1-m>-4.90918</y1-m>
|
|
<z1-m>14.2877</z1-m>
|
|
<x2-m>-59.6654</x2-m>
|
|
<y2-m>-8.61296</y2-m>
|
|
<z2-m>14.2877</z2-m>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<condition>
|
|
<not-equals>
|
|
<property>/sim/model/carrier-jsbsim</property>
|
|
<value>1</value>
|
|
</not-equals>
|
|
</condition>
|
|
<type>rotate</type>
|
|
<object-name>JBD-1</object-name>
|
|
<property>surface-positions/jbd[0]/position-norm</property>
|
|
<factor>70</factor>
|
|
<axis>
|
|
<x1-m>-61.8038</x1-m>
|
|
<y1-m>-4.90918</y1-m>
|
|
<z1-m>14.2877</z1-m>
|
|
<x2-m>-59.6654</x2-m>
|
|
<y2-m>-8.61296</y2-m>
|
|
<z2-m>14.2877</z2-m>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<condition>
|
|
<and>
|
|
<equals>
|
|
<property>/sim/model/carrier-jsbsim</property>
|
|
<value>1</value>
|
|
</equals>
|
|
<equals>
|
|
<property>/sim/carrier/name</property>
|
|
<value>Clemenceau</value>
|
|
</equals>
|
|
</and>
|
|
</condition>
|
|
<type>rotate</type>
|
|
<object-name>JBD-2</object-name>
|
|
<property>surface-positions/jbd[1]/position-norm</property>
|
|
<factor>70</factor>
|
|
<axis>
|
|
<x1-m>37.4696</x1-m>
|
|
<y1-m>-15.5491</y1-m>
|
|
<z1-m>14.2803</z1-m>
|
|
<x2-m>39.8606</x2-m>
|
|
<y2-m>-19.0947</y2-m>
|
|
<z2-m>14.2803</z2-m>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<condition>
|
|
<not-equals>
|
|
<property>/sim/model/carrier-jsbsim</property>
|
|
<value>1</value>
|
|
</not-equals>
|
|
</condition>
|
|
<type>rotate</type>
|
|
<object-name>JBD-2</object-name>
|
|
<property>surface-positions/jbd[1]/position-norm</property>
|
|
<factor>70</factor>
|
|
<axis>
|
|
<x1-m>37.4696</x1-m>
|
|
<y1-m>-15.5491</y1-m>
|
|
<z1-m>14.2803</z1-m>
|
|
<x2-m>39.8606</x2-m>
|
|
<y2-m>-19.0947</y2-m>
|
|
<z2-m>14.2803</z2-m>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>Ascenseur1</object-name>
|
|
<object-name>Ascenseur1-Marquage</object-name>
|
|
<property>surface-positions/elevator[0]/position-norm</property>
|
|
<factor>9.20</factor>
|
|
<offset-m>-9.20</offset-m>
|
|
<axis>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<z>1</z>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>Ascenseur2</object-name>
|
|
<object-name>Ascenseur2-Marquage</object-name>
|
|
<property>surface-positions/elevator[1]/position-norm</property>
|
|
<factor>9.20</factor>
|
|
<axis>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<z>1</z>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<type>rotate</type>
|
|
<object-name>Radar-DRBI-10-avant</object-name>
|
|
<property>/sim/time/elapsed-sec</property>
|
|
<factor>40</factor>
|
|
<center>
|
|
<x-m>-32.3538</x-m>
|
|
<y-m>15.4584</y-m>
|
|
<z-m>0</z-m>
|
|
</center>
|
|
<axis>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<z>1</z>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<type>rotate</type>
|
|
<object-name>Radar-DRBI-10-arriere</object-name>
|
|
<property>/sim/time/elapsed-sec</property>
|
|
<factor>40</factor>
|
|
<center>
|
|
<x-m>-5.0133</x-m>
|
|
<y-m>15.4584</y-m>
|
|
<z-m>0</z-m>
|
|
</center>
|
|
<axis>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<z>1</z>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<type>rotate</type>
|
|
<object-name>Radar-DRBV23</object-name>
|
|
<property>/sim/time/elapsed-sec</property>
|
|
<factor>40</factor>
|
|
<center>
|
|
<x-m>-31.7287</x-m>
|
|
<y-m>15.4584</y-m>
|
|
<z-m>0</z-m>
|
|
</center>
|
|
<axis>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<z>1</z>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<type>rotate</type>
|
|
<object-name>Radar-DRBV20</object-name>
|
|
<property>/sim/time/elapsed-sec</property>
|
|
<factor>40</factor>
|
|
<center>
|
|
<x-m>-19.589</x-m>
|
|
<y-m>15.4584</y-m>
|
|
<z-m>0</z-m>
|
|
</center>
|
|
<axis>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<z>1</z>
|
|
</axis>
|
|
</animation>
|
|
<animation>
|
|
<type>range</type>
|
|
<object-name>Ba-Canon1</object-name>
|
|
<max-m>5000</max-m>
|
|
</animation>
|
|
<animation>
|
|
<type>range</type>
|
|
<object-name>Ba-Canon2</object-name>
|
|
<max-m>5000</max-m>
|
|
</animation>
|
|
<animation>
|
|
<type>range</type>
|
|
<object-name>Tri-Canon1</object-name>
|
|
<max-m>5000</max-m>
|
|
</animation>
|
|
<animation>
|
|
<type>range</type>
|
|
<object-name>Tri-Canon2</object-name>
|
|
<max-m>5000</max-m>
|
|
</animation>
|
|
<animation>
|
|
<type>range</type>
|
|
<object-name>Grue</object-name>
|
|
<max-m>5000</max-m>
|
|
</animation>
|
|
<animation>
|
|
<type>range</type>
|
|
<object-name>Tux</object-name>
|
|
<max-m>200</max-m>
|
|
</animation>
|
|
<animation>
|
|
<type>range</type>
|
|
<object-name>JBD-2</object-name>
|
|
<max-m>5000</max-m>
|
|
</animation>
|
|
<animation>
|
|
<type>range</type>
|
|
<object-name>JBD-1</object-name>
|
|
<max-m>5000</max-m>
|
|
</animation>
|
|
<animation>
|
|
<type>range</type>
|
|
<object-name>Sous-pont</object-name>
|
|
<max-m>2000</max-m>
|
|
</animation>
|
|
|
|
<!--<animation>
|
|
<type>range</type>
|
|
<object-name></object-name>
|
|
<max-m></max-m>
|
|
</animation>-->
|
|
|
|
<animation>
|
|
<type>interaction</type>
|
|
<object-name>cat-1</object-name>
|
|
<object-name>cat-2</object-name>
|
|
<interaction-type>carrier-catapult</interaction-type>
|
|
</animation>
|
|
<animation>
|
|
<type>interaction</type>
|
|
<object-name>brin-1</object-name>
|
|
<object-name>brin-2</object-name>
|
|
<object-name>brin-3</object-name>
|
|
<object-name>brin-4</object-name>
|
|
<interaction-type>carrier-wire</interaction-type>
|
|
</animation>
|
|
|
|
<!-- elevators -->
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>Ascenseur1</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/controls/clemenceau/elevator/state</property>
|
|
</binding>
|
|
</action>
|
|
<hovered>
|
|
<binding>
|
|
<command>set-tooltip</command>
|
|
<tooltip-id>elev1</tooltip-id>
|
|
<label>move elevator 1</label>
|
|
</binding>
|
|
</hovered>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>Ascenseur2</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/controls/clemenceau/elevator[1]/state</property>
|
|
</binding>
|
|
</action>
|
|
<hovered>
|
|
<binding>
|
|
<command>set-tooltip</command>
|
|
<tooltip-id>elev2</tooltip-id>
|
|
<label>move elevator 2</label>
|
|
</binding>
|
|
</hovered>
|
|
</animation>
|
|
|
|
|
|
<!-- jet blast deflectors -->
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>JBD-1</object-name>
|
|
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/controls/clemenceau/jbd[0]/state</property>
|
|
</binding>
|
|
</action>
|
|
<hovered>
|
|
<binding>
|
|
<command>set-tooltip</command>
|
|
<tooltip-id>jbd1</tooltip-id>
|
|
<label>operate JBD1</label>
|
|
</binding>
|
|
</hovered>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>JBD-2</object-name>
|
|
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>property-toggle</command>
|
|
<property>/controls/clemenceau/jbd[1]/state</property>
|
|
</binding>
|
|
</action>
|
|
<hovered>
|
|
<binding>
|
|
<command>set-tooltip</command>
|
|
<tooltip-id>jbd2</tooltip-id>
|
|
<label>operate JBD2</label>
|
|
</binding>
|
|
</hovered>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>pick</type>
|
|
<object-name>Island</object-name>
|
|
<action>
|
|
<button>0</button>
|
|
<repeatable>false</repeatable>
|
|
<binding>
|
|
<command>dialog-show</command>
|
|
<dialog-name>Clemenceau</dialog-name>
|
|
<property></property>
|
|
</binding>
|
|
</action>
|
|
<hovered>
|
|
<binding>
|
|
<command>set-tooltip</command>
|
|
<tooltip-id>bridge</tooltip-id>
|
|
<label>show Clemenceau control dialog</label>
|
|
</binding>
|
|
</hovered>
|
|
</animation>
|
|
|
|
</PropertyList>
|