1
0
Fork 0
fgdata/Models/Geometry/Kuznetsov/Kuznetsov.xml
Richard Harrison 000a484e8d Carriers: Added Admiral Kuznetsov and Liaoning
3d Models by Uxmanm (found by Domokos Jüttner)

Daniel Overbeck did added the AI scenarios and models.

Richard Harrison optimised the textures and 3d models,
added the dialogs to control the carrires and
made the Jet Blast Deflectors animate smoothly
2021-06-05 16:17:23 +02:00

246 lines
7.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<PropertyList>
<description>Admiral Kuznetsov</description>
<author>Daniel Overbeck, Richard Harrison, Uxman (3d)</author>
<!-- 3d model from: https://sketchfab.com/3d-models/kuznetsov-aircraft-carrier-460d73a91efb49298c86ee347fae397c -->
<status>early-production</status>
<path>Kuznetsov.ac</path>
<nasal>
<load>
<![CDATA[
var self = cmdarg();
print("Model load Admiral Kuznetsov ", self.getPath());
var pathc = self.getPath();
# register the dialog
setprop(pathc~"/dlg-name", "Kuznetsov");
################
# jet blast deflectors
var jbd_transit_time = 5.0;
setprop("/controls/kuznetsov/jbd[0]/state", 0);
setprop("/controls/kuznetsov/jbd[1]/state", 0);
setprop("/controls/kuznetsov/jbd[2]/state", 0);
var jbd0 = aircraft.door.new(pathc~"/surface-positions/jbd[0]", jbd_transit_time, 0);
var jbd1 = aircraft.door.new(pathc~"/surface-positions/jbd[1]", jbd_transit_time, 0);
var jbd2 = aircraft.door.new(pathc~"/surface-positions/jbd[2]", jbd_transit_time, 0);
var jbd_array = [jbd0, jbd1, jbd2];
var jbd_operate = func (i) {
var tgt = getprop("/controls/kuznetsov/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();
}
}
var l_jbd0 = setlistener("/controls/kuznetsov/jbd[0]/state", func {jbd_operate(0);},0,0);
var l_jbd1 = setlistener("/controls/kuznetsov/jbd[1]/state", func {jbd_operate(1);},0,0);
var l_jbd2 = setlistener("/controls/kuznetsov/jbd[2]/state", func {jbd_operate(2);},0,0);
setprop("/controls/kuznetsov/turn-to-launch-hdg", 0);
setprop("/controls/kuznetsov/turn-to-recovery-hdg", 0);
setprop("/controls/kuznetsov/turn-to-base-course", 1);
]]>
</load>
</nasal>
<unload>
<![CDATA[
# clean up listeners
removelistener(l_jbd_0);
removelistener(l_jbd_1);
removelistener(l_jbd_2);
]]>
</unload>
<model>
<name>flols</name>
<path>Models/Geometry/Nimitz/Models/flols.xml</path>
<offsets>
<x-m>65</x-m>
<y-m>-37</y-m>
<z-m>17</z-m>
<heading-deg>20</heading-deg>
</offsets>
</model>
<animation>
<type>range</type>
<min-m>0</min-m>
<max-m>30000</max-m>
</animation>
<animation>
<type>rotate</type>
<object-name>Radar</object-name>
<property>/sim/time/elapsed-sec</property>
<factor>35</factor>
<center>
<x-m>81.8</x-m>
<y-m>25.1</y-m>
</center>
<axis>
<z>1</z>
</axis>
</animation>
<animation>
<type>rotate</type>
<object-name>JetBlastDeflector-1</object-name>
<property>surface-positions/jbd[0]/position-norm</property>
<interpolation>
<entry><ind>0.0000</ind><dep>0</dep></entry>
<entry><ind>0.0833</ind><dep>12.2</dep></entry>
<entry><ind>0.1666</ind><dep>20.4</dep></entry>
<entry><ind>0.2500</ind><dep>28.2</dep></entry>
<entry><ind>0.3333</ind><dep>34.6</dep></entry>
<entry><ind>0.4166</ind><dep>40.6</dep></entry>
<entry><ind>0.5000</ind><dep>45</dep></entry>
<entry><ind>0.5833</ind><dep>49</dep></entry>
<entry><ind>0.6666</ind><dep>51.6</dep></entry>
<entry><ind>0.7500</ind><dep>54</dep></entry>
<entry><ind>0.8333</ind><dep>55</dep></entry>
<entry><ind>0.9166</ind><dep>56.2</dep></entry>
<entry><ind>1.0000</ind><dep>56.2</dep></entry>
</interpolation>
<center>
<x-m>15.8</x-m>
<y-m>0</y-m>
<z-m>15.17</z-m>
</center>
<axis>
<y>-1</y>
</axis>
</animation>
<animation>
<type>rotate</type>
<object-name>JetBlastDeflector-2</object-name>
<property>surface-positions/jbd[1]/position-norm</property>
<interpolation>
<entry><ind>0.0000</ind><dep>0</dep></entry>
<entry><ind>0.0833</ind><dep>12.2</dep></entry>
<entry><ind>0.1666</ind><dep>20.4</dep></entry>
<entry><ind>0.2500</ind><dep>28.2</dep></entry>
<entry><ind>0.3333</ind><dep>34.6</dep></entry>
<entry><ind>0.4166</ind><dep>40.6</dep></entry>
<entry><ind>0.5000</ind><dep>45</dep></entry>
<entry><ind>0.5833</ind><dep>49</dep></entry>
<entry><ind>0.6666</ind><dep>51.6</dep></entry>
<entry><ind>0.7500</ind><dep>54</dep></entry>
<entry><ind>0.8333</ind><dep>55</dep></entry>
<entry><ind>0.9166</ind><dep>56.2</dep></entry>
<entry><ind>1.0000</ind><dep>56.2</dep></entry>
</interpolation>
<center>
<x-m>15.8</x-m>
<y-m>0</y-m>
<z-m>15.17</z-m>
</center>
<axis>
<y>-1</y>
</axis>
</animation>
<animation>
<type>rotate</type>
<object-name>JetBlastDeflector-3</object-name>
<property>surface-positions/jbd[2]/position-norm</property>
<interpolation>
<entry><ind>0.0000</ind><dep>0</dep></entry>
<entry><ind>0.0833</ind><dep>12.2</dep></entry>
<entry><ind>0.1666</ind><dep>20.4</dep></entry>
<entry><ind>0.2500</ind><dep>28.2</dep></entry>
<entry><ind>0.3333</ind><dep>34.6</dep></entry>
<entry><ind>0.4166</ind><dep>40.6</dep></entry>
<entry><ind>0.5000</ind><dep>45</dep></entry>
<entry><ind>0.5833</ind><dep>49</dep></entry>
<entry><ind>0.6666</ind><dep>51.6</dep></entry>
<entry><ind>0.7500</ind><dep>54</dep></entry>
<entry><ind>0.8333</ind><dep>55</dep></entry>
<entry><ind>0.9166</ind><dep>56.2</dep></entry>
<entry><ind>1.0000</ind><dep>56.2</dep></entry>
</interpolation>
<center>
<x-m>107.9</x-m>
<y-m>0</y-m>
<z-m>15.17</z-m>
</center>
<axis>
<y>-1</y>
</axis>
</animation>
<animation>
<type>pick</type>
<object-name>JetBlastDeflector-1</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property>/controls/kuznetsov/jbd[0]/state</property>
</binding>
</action>
</animation>
<animation>
<type>pick</type>
<object-name>JetBlastDeflector-2</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property>/controls/kuznetsov/jbd[1]/state</property>
</binding>
</action>
</animation>
<animation>
<type>pick</type>
<object-name>JetBlastDeflector-3</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-toggle</command>
<property>/controls/kuznetsov/jbd[2]/state</property>
</binding>
</action>
</animation>
<animation>
<type>interaction</type>
<object-name>wire-1</object-name>
<object-name>wire-2</object-name>
<object-name>wire-3</object-name>
<object-name>wire-4</object-name>
<interaction-type>carrier-wire</interaction-type>
</animation>
<animation>
<type>rotate</type>
<object-name>Bow-Wave</object-name>
<object-name>Stern-Wake</object-name>
<object-name>Wake</object-name>
<property>orientation/roll-deg</property>
<factor>1</factor>
<center><y-m>0.00</y-m><z-m>0.0473</z-m></center>
<axis><x>1</x></axis>
</animation>
<animation>
<type>rotate</type>
<object-name>Wake</object-name>
<property>surface-positions/rudder-pos-deg</property>
<factor>-0.334</factor>
<x-m>-88.6176</x-m>
<y-m>0.00</y-m>
<axis><z>-1</z></axis>
<enable-hot type="bool">false</enable-hot>
</animation>
<animation>
<type>noshadow</type>
<object-name>wire-1</object-name>
<object-name>wire-2</object-name>
<object-name>wire-3</object-name>
<object-name>wire-4</object-name>
<object-name>Wake</object-name>
</animation>
</PropertyList>