Emesary damage system (actives)
@@ -68,7 +68,9 @@
|
||||
|
||||
<aero>KPN-D</aero>
|
||||
<aircraft-operator>KPN</aircraft-operator>
|
||||
|
||||
|
||||
<chase-distance-m type="double" archive="y">-250.0</chase-distance-m>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/BUK-M2/Models/buk-m2.xml</path>
|
||||
|
||||
@@ -116,7 +118,7 @@
|
||||
<path n="1">Aircraft/BUK-M2/Hud/hud.xml</path>
|
||||
<visibility n="1">true</visibility>
|
||||
<font>
|
||||
<size type="float">10.0</size>
|
||||
<size type="float">11.0</size>
|
||||
</font>
|
||||
</hud>
|
||||
|
||||
@@ -137,10 +139,11 @@
|
||||
</property-rule>
|
||||
</systems>
|
||||
<multiplay>
|
||||
<visibility-range-nm type="int">250</visibility-range-nm>
|
||||
<visibility-range-nm type="int">500</visibility-range-nm>
|
||||
<generic>
|
||||
<int n="0" type="int">0</int>
|
||||
<int n="2" type="int">0</int>
|
||||
<string n="6" type="string"></string><!-- string 6 used by radar lock RWR warning -->
|
||||
</generic>
|
||||
</multiplay>
|
||||
|
||||
@@ -174,6 +177,13 @@
|
||||
<dialog-name>priority</dialog-name>
|
||||
</binding>
|
||||
</item>
|
||||
<item>
|
||||
<label>Event Log</label>
|
||||
<binding>
|
||||
<command>dialog-show</command>
|
||||
<dialog-name>flightlog</dialog-name>
|
||||
</binding>
|
||||
</item>
|
||||
</menu>
|
||||
</default>
|
||||
</menubar>
|
||||
@@ -247,15 +257,6 @@
|
||||
|
||||
<armament>
|
||||
<models type="string">Aircraft/BUK-M2/Models/Armament/Weapons/</models>
|
||||
<modelsUseCase type="bool">true</modelsUseCase>
|
||||
<modelsUpperCase type="bool">true</modelsUpperCase>
|
||||
<MP-lat type="string">rotors/main/blade[0]/flap-deg</MP-lat>
|
||||
<MP-lon type="string">rotors/main/blade[1]/flap-deg</MP-lon>
|
||||
<MP-alt type="string">rotors/main/blade[2]/flap-deg</MP-alt>
|
||||
<hit-interpolation type="bool">true</hit-interpolation>
|
||||
<pylon-offset type="int">1</pylon-offset>
|
||||
<pylon-stations>controls/armament</pylon-stations>
|
||||
<station-name type="string">station</station-name>
|
||||
<msg type="bool">true</msg>
|
||||
<damage type="bool">true</damage>
|
||||
</armament>
|
||||
@@ -308,12 +309,28 @@
|
||||
<priority0 type="int">1</priority0>
|
||||
|
||||
<nasal>
|
||||
<notifications>
|
||||
<file>Aircraft/BUK-M2/Nasal/ArmamentNotification.nas</file>
|
||||
<file>Aircraft/BUK-M2/Nasal/GeoBridgedTransmitter.nas</file>
|
||||
</notifications>
|
||||
<carrier>
|
||||
<file>Aircraft/BUK-M2/Nasal/fdm.nas</file>
|
||||
</carrier>
|
||||
<damage>
|
||||
<file>Aircraft/BUK-M2/Nasal/damage.nas</file>
|
||||
</damage>
|
||||
<radar_logic>
|
||||
<file>Aircraft/BUK-M2/Nasal/radar-logic.nas</file>
|
||||
</radar_logic>
|
||||
<vector>
|
||||
<file>Aircraft/BUK-M2/Nasal/vector.nas</file><!-- needed by the guided-missiles -->
|
||||
</vector>
|
||||
<armament>
|
||||
<file>Aircraft/BUK-M2/Nasal/guided-missiles.nas</file>
|
||||
</armament>
|
||||
<fire_control>
|
||||
<file>Aircraft/BUK-M2/Nasal/fire-control.nas</file>
|
||||
</fire_control>
|
||||
</nasal>
|
||||
|
||||
</PropertyList>
|
||||
|
||||
|
Before Width: | Height: | Size: 76 KiB |
@@ -1,176 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/explode-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/explode-smoke-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,176 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/explode-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/explode-smoke-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,176 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/explode-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/explode-smoke-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,176 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/explode-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/explode-smoke-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>9M317.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>missile1</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/msl-id-0</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/BUK-M2/Models/Armament/Weapons/M317/motor-smoke-0.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/BUK-M2/Models/Armament/Weapons/M317/explosion-0.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>missile1</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>9M317.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>missile1</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/msl-id-1</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/BUK-M2/Models/Armament/Weapons/M317/motor-smoke-1.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/BUK-M2/Models/Armament/Weapons/M317/explosion-1.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>missile1</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>9M317.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>missile1</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/msl-id-2</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/BUK-M2/Models/Armament/Weapons/M317/motor-smoke-2.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/BUK-M2/Models/Armament/Weapons/M317/explosion-2.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>missile1</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>9M317.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>missile1</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/msl-id-3</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/BUK-M2/Models/Armament/Weapons/M317/motor-smoke-3.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/BUK-M2/Models/Armament/Weapons/M317/explosion-3.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>missile1</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>9M317.ac</path>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/smoke-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/smoke-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/smoke-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/smoke-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/smoke-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/smoke-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/smoke-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/m317/flags/smoke-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
|
Before Width: | Height: | Size: 11 KiB |
@@ -5,7 +5,7 @@ kids 1
|
||||
OBJECT poly
|
||||
name "aim-120"
|
||||
loc 0.06988 -0.000232488 -0.000638992
|
||||
texture "aim-120.png"
|
||||
texture "aim-emesary.png"
|
||||
crease 45.000000
|
||||
numvert 232
|
||||
1.83937 0.000176489 0.000649989
|
||||
|
Before Width: | Height: | Size: 700 B After Width: | Height: | Size: 700 B |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0"?>
|
||||
<PropertyList>
|
||||
<particlesystem>
|
||||
<name>bombhit-smoke</name>
|
||||
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive>false</emissive>
|
||||
<lighting>false</lighting>
|
||||
<align>billboard</align>
|
||||
<attach>world</attach>
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
<shooter>
|
||||
<theta-min-deg>30</theta-min-deg>
|
||||
<theta-max-deg>60</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg> 180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>5</value>
|
||||
<spread>5</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>-60</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>60</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>3</value>
|
||||
<spread>5</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value>0.0</value></red>
|
||||
<green><value>0.0</value></green>
|
||||
<blue><value>0.0</value></blue>
|
||||
<alpha><value>0.2</value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>12.0</value>
|
||||
</size>
|
||||
</start>
|
||||
<end>
|
||||
<color>
|
||||
<red><value>0.0</value></red>
|
||||
<green><value>0.0</value></green>
|
||||
<blue><value>0.0</value></blue>
|
||||
<alpha><value>0.05</value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>80.0</value>
|
||||
</size>
|
||||
</end>
|
||||
<life-sec>
|
||||
<value>120</value>
|
||||
</life-sec>
|
||||
<mass-kg>0.025</mass-kg>
|
||||
<radius-m>0.40</radius-m>
|
||||
</particle>
|
||||
<program>
|
||||
<fluid>air</fluid>
|
||||
<gravity>true</gravity>
|
||||
<wind>true</wind>
|
||||
</program>
|
||||
</particlesystem>
|
||||
</PropertyList>
|
||||
|
After Width: | Height: | Size: 143 KiB |
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>crater.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>scale</type>
|
||||
<object-name>Sphere</object-name>
|
||||
<x-offset>1.8</x-offset>
|
||||
<y-offset>1.8</y-offset>
|
||||
<z-offset>1.4</z-offset>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<object-name>Sphere</object-name>
|
||||
<enable-hot type="bool">true</enable-hot>
|
||||
</animation>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke-longterm</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>0</theta-min-deg>
|
||||
<theta-max-deg>20</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>5</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>2</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.3 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>6</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.05 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>12</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>90</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 4.0 </mass-kg>
|
||||
<radius-m> 0.4 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>crater.ac</path>
|
||||
|
||||
<animation>
|
||||
<object-name>Sphere</object-name>
|
||||
<enable-hot type="bool">true</enable-hot>
|
||||
</animation>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke-longterm</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>0</theta-min-deg>
|
||||
<theta-max-deg>20</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>5</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>2</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.3 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>6</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.05 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>50</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5.0 </mass-kg>
|
||||
<radius-m> 0.4 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,8 +1,10 @@
|
||||
<PropertyList>
|
||||
|
||||
<path>aim-emesary.ac</path>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>../../../Effects/smoke.png</texture>
|
||||
<name>emesary-heavy-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
@@ -13,12 +15,6 @@
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
@@ -50,30 +46,30 @@
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.5 </value></blue>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
<value>9</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.5 </value></blue>
|
||||
<red><value> 0.2 </value></red>
|
||||
<green><value> 0.2 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>6</value>
|
||||
<value>15</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>4</value>
|
||||
<value>50</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
@@ -1,8 +1,10 @@
|
||||
<PropertyList>
|
||||
|
||||
<path>aim-emesary.ac</path>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>../../../Effects/smoke.png</texture>
|
||||
<name>emesary-light-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
@@ -13,12 +15,6 @@
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
@@ -50,30 +46,30 @@
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 0.75 </value></alpha>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.9 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>0.25</value>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<green><value> 0.9 </value></green>
|
||||
<blue><value> 0.9 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>16</value>
|
||||
<value>3</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>16</value>
|
||||
<value>50</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>parachutist.ac</path>
|
||||
<offsets>
|
||||
<x-m> 0.5</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 1.50</z-m>
|
||||
</offsets>
|
||||
|
||||
</PropertyList>
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>Models/Effects/procedural_light.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>scale</type>
|
||||
<object-name>procedural_light</object-name>
|
||||
<x-offset>1000</x-offset>
|
||||
<y-offset>1000</y-offset>
|
||||
<z-offset>1000</z-offset>
|
||||
</animation>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Effects/procedural-light</inherits-from>
|
||||
<object-name>procedural_light</object-name>
|
||||
<parameters>
|
||||
<light_color_base_r type="float">0.84</light_color_base_r>
|
||||
<light_color_base_g type="float">0.55</light_color_base_g>
|
||||
<light_color_base_b type="float">0.42</light_color_base_b>
|
||||
<light_color_center_r type="float">1.0</light_color_center_r>
|
||||
<light_color_center_g type="float">0.9</light_color_center_g>
|
||||
<light_color_center_b type="float">0.7</light_color_center_b>
|
||||
<intensity_scale type="float">1.0</intensity_scale>
|
||||
<is_directional type="bool">false</is_directional>
|
||||
<is_strobe type="bool">false</is_strobe>
|
||||
<outer_gain type="float">1</outer_gain>
|
||||
</parameters>
|
||||
</effect>
|
||||
|
||||
<animation>
|
||||
<type>dist-scale</type>
|
||||
<object-name>procedural_light</object-name>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind> <dep>0.0075</dep></entry>
|
||||
<entry><ind>3750</ind> <dep>0.750</dep></entry>
|
||||
<entry><ind>10000</ind><dep>1.000</dep></entry>
|
||||
</interpolation>
|
||||
</animation>
|
||||
|
||||
<particlesystem>
|
||||
<name>flare-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
<emissive>false</emissive>
|
||||
<lighting>false</lighting>
|
||||
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
<pitch-deg>90</pitch-deg>
|
||||
<roll-deg>90</roll-deg>
|
||||
</offsets>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-5</theta-min-deg>
|
||||
<theta-max-deg>5</theta-max-deg>
|
||||
<phi-min-deg>-5</phi-min-deg>
|
||||
<phi-max-deg>5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>2</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>10</x-min-deg-sec>
|
||||
<y-min-deg-sec>10</y-min-deg-sec>
|
||||
<z-min-deg-sec>10</z-min-deg-sec>
|
||||
<x-max-deg-sec>40</x-max-deg-sec>
|
||||
<y-max-deg-sec>40</y-max-deg-sec>
|
||||
<z-max-deg-sec>40</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>25</value>
|
||||
<spread>5</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</red>
|
||||
<green>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</green>
|
||||
<blue>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</blue>
|
||||
<alpha>
|
||||
<value>1</value>
|
||||
</alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>0.6</value>
|
||||
</size>
|
||||
</start>
|
||||
<end>
|
||||
<color>
|
||||
<red>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</red>
|
||||
<green>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</green>
|
||||
<blue>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</blue>
|
||||
<alpha>
|
||||
<value>0.05</value>
|
||||
</alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>6.0</value>
|
||||
</size>
|
||||
</end>
|
||||
<life-sec>
|
||||
<value>2.75</value>
|
||||
</life-sec>
|
||||
<mass-kg>0.00001</mass-kg>
|
||||
<radius-m>0.015</radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid>air</fluid>
|
||||
<gravity type="bool">false</gravity>
|
||||
<wind type="bool">true</wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,260 @@
|
||||
#
|
||||
#
|
||||
# Use to transmit events that happen at a specific place; can be used to make
|
||||
# models that are simulated locally (e.g. tankers) appear on other player's MP sessions.
|
||||
var ArmamentNotification_Id = 19;
|
||||
|
||||
var ArmamentNotification =
|
||||
{
|
||||
# new:
|
||||
# _ident - the identifier for the notification. not bridged.
|
||||
# _name - name of the notification, bridged.
|
||||
# _kind - created, moved, deleted, impact (see notifications.nas)
|
||||
# _secondary_kind - This is the entity on which the activity is being performed. See below for predefined types.
|
||||
##
|
||||
new: func(_ident="none", _kind=0, _secondary_kind=0)
|
||||
{
|
||||
var new_class = emesary.Notification.new("ArmamentNotification", _ident, ArmamentNotification_Id);
|
||||
|
||||
new_class.Kind = _kind;
|
||||
new_class.SecondaryKind = _secondary_kind;
|
||||
new_class.RelativeAltitude = 0;
|
||||
new_class.IsDistinct = 0;
|
||||
new_class.Distance = 0;
|
||||
new_class.Bearing = 0;
|
||||
new_class.RemoteCallsign = ""; # associated remote callsign.
|
||||
|
||||
new_class.bridgeProperties = func
|
||||
{
|
||||
return
|
||||
[
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Kind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Kind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.SecondaryKind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.SecondaryKind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(new_class.RelativeAltitude,2,1/10);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,2,1/10,pos);new_class.RelativeAltitude=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(new_class.Distance,2,1/10);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,2,1/10,pos);new_class.Distance=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(geo.normdeg180(new_class.Bearing),1,1.54);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1,1.54,pos);new_class.Bearing=geo.normdeg(dv.value);return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferString.encode(new_class.RemoteCallsign);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferString.decode(v,pos);new_class.RemoteCallsign=dv.value;return dv},
|
||||
},
|
||||
];
|
||||
};
|
||||
return new_class;
|
||||
},
|
||||
};
|
||||
|
||||
var ArmamentInFlightNotification_Id = 21;
|
||||
var ArmamentInFlightNotification =
|
||||
{
|
||||
# new:
|
||||
# _ident - the identifier for the notification. not bridged.
|
||||
# _name - name of the notification, bridged.
|
||||
# _kind - created, moved, deleted (see below). This is the activity that the notification represents, called kind to avoid confusion with notification type.
|
||||
# _secondary_kind - This is the entity on which the activity is being performed. See below for predefined types.
|
||||
#
|
||||
# UniqueIdentity - an identity that is unique to the sending instance of FG. Can be combined with the callsign to create an MP unique ID.
|
||||
##
|
||||
new: func(_ident="none", _unique=0, _kind=0, _secondary_kind=0)
|
||||
{
|
||||
var new_class = emesary.Notification.new("ArmamentInFlightNotification", _ident, ArmamentInFlightNotification_Id);
|
||||
|
||||
new_class.Kind = _kind;
|
||||
new_class.SecondaryKind = _secondary_kind;
|
||||
new_class.Position = geo.aircraft_position();
|
||||
new_class.UniqueIndex = 0;
|
||||
|
||||
new_class.Heading = 360;
|
||||
new_class.Pitch = 90;
|
||||
new_class.u_fps = 0;
|
||||
new_class.IsDistinct = 0;
|
||||
new_class.Callsign = nil; # populated automatically by the incoming bridge when routed
|
||||
new_class.RemoteCallsign = ""; # associated remote callsign.
|
||||
new_class.Flags = 0; # 8 bits for whatever.
|
||||
new_class.UniqueIdentity = _unique;
|
||||
|
||||
new_class.GetBridgeMessageNotificationTypeKey = func {
|
||||
return new_class.NotificationType~"."~new_class.Ident~"."~new_class.UniqueIndex;
|
||||
};
|
||||
new_class.bridgeProperties = func
|
||||
{
|
||||
return
|
||||
[
|
||||
{
|
||||
getValue:func{return emesary.TransferCoord.encode(new_class.Position);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferCoord.decode(v, pos);new_class.Position=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Kind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Kind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.SecondaryKind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.SecondaryKind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
#0..6696 fps (3967kts), mach 6.1 (SL) - factor 0.03703
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(new_class.u_fps-3348,1,1/0.03703);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1,1/0.03703,pos);new_class.u_fps=dv.value+3348;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(geo.normdeg180(new_class.Heading),1,1.54);},#1.0/0.65
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1,1.54,pos);new_class.Heading=geo.normdeg(dv.value);return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(new_class.Pitch, 1, 1/1.38);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1, 1/1.38, pos);new_class.Pitch=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferString.encode(new_class.RemoteCallsign);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferString.decode(v,pos);new_class.RemoteCallsign=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Flags);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Flags=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.UniqueIdentity);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.UniqueIdentity=dv.value;return dv},
|
||||
},
|
||||
|
||||
];
|
||||
};
|
||||
return new_class;
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
|
||||
var StaticNotification_Id = 25;
|
||||
var StaticNotification =
|
||||
{
|
||||
# new:
|
||||
# _ident - the identifier for the notification. not bridged.
|
||||
# _kind - created, moved, deleted (see below). This is the activity that the notification represents, called kind to avoid confusion with notification type.
|
||||
# _secondary_kind - This is the entity on which the activity is being performed. See below for predefined types.
|
||||
#
|
||||
# UniqueIdentity - an identity that is unique to the sending instance of FG. Can be combined with the callsign to create an MP unique ID.
|
||||
##
|
||||
new: func(_ident="stat", _unique=0, _kind=0, _secondary_kind=0)
|
||||
{
|
||||
var new_class = emesary.Notification.new("StaticNotification", _ident, StaticNotification_Id);
|
||||
# _ident -> "stat"
|
||||
new_class.UniqueIdentity = _unique; # random from 0 to 15000000 that identifies each static object
|
||||
new_class.Kind = _kind; # 1=create, 2=move, 3=delete, 4=request_all
|
||||
new_class.SecondaryKind = _secondary_kind; # 0 = small crater, 1 = big crater, 2 = smoke
|
||||
new_class.IsDistinct = 0; # keep it 0
|
||||
new_class.Callsign = nil; # populated automatically by the incoming bridge when routed
|
||||
|
||||
new_class.Position = geo.aircraft_position(); # position
|
||||
new_class.Heading = 360; # heading
|
||||
new_class.Flags1 = 0; # 7 bits for whatever.
|
||||
new_class.Flags2 = 0; # 7 bits for whatever.
|
||||
|
||||
new_class.GetBridgeMessageNotificationTypeKey = func {
|
||||
return new_class.NotificationType~"."~new_class.Ident~"."~new_class.UniqueIdentity;
|
||||
};
|
||||
new_class.bridgeProperties = func
|
||||
{
|
||||
return
|
||||
[
|
||||
{
|
||||
getValue:func{return emesary.TransferCoord.encode(new_class.Position);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferCoord.decode(v, pos);new_class.Position=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Kind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Kind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.SecondaryKind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.SecondaryKind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(geo.normdeg180(new_class.Heading),1,1.54);},#1.0/0.65
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1,1.54,pos);new_class.Heading=geo.normdeg(dv.value);return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Flags1);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Flags1=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Flags2);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Flags2=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferInt.encode(new_class.UniqueIdentity,3);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferInt.decode(v,3,pos);new_class.UniqueIdentity=dv.value;return dv},
|
||||
},
|
||||
];
|
||||
};
|
||||
return new_class;
|
||||
},
|
||||
};
|
||||
|
||||
var ObjectInFlightNotification_Id = 22;
|
||||
var ObjectInFlightNotification =
|
||||
{
|
||||
# new:
|
||||
# _ident - the identifier for the notification. not bridged.
|
||||
# _name - name of the notification, bridged.
|
||||
# _kind - created, moved, deleted (see below). This is the activity that the notification represents, called kind to avoid confusion with notification type.
|
||||
# _secondary_kind - This is the entity on which the activity is being performed. See below for predefined types.
|
||||
#
|
||||
# UniqueIdentity - an identity that is unique to the sending instance of FG. Can be combined with the callsign to create an MP unique ID.
|
||||
##
|
||||
new: func(_ident="none", _unique=0, _kind=0, _secondary_kind=0)
|
||||
{
|
||||
var new_class = emesary.Notification.new("ObjectInFlightNotification", _ident, ObjectInFlightNotification_Id);
|
||||
|
||||
new_class.Kind = _kind;
|
||||
new_class.SecondaryKind = _secondary_kind;
|
||||
new_class.Position = geo.aircraft_position();
|
||||
new_class.UniqueIndex = 0;
|
||||
new_class.IsDistinct = 1;
|
||||
new_class.Callsign = nil; # populated automatically by the incoming bridge when routed
|
||||
new_class.UniqueIdentity = _unique;
|
||||
|
||||
new_class.GetBridgeMessageNotificationTypeKey = func {
|
||||
return new_class.NotificationType~"."~new_class.Ident~"."~new_class.UniqueIndex;
|
||||
};
|
||||
new_class.bridgeProperties = func
|
||||
{
|
||||
return
|
||||
[
|
||||
{
|
||||
getValue:func{return emesary.TransferCoord.encode(new_class.Position);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferCoord.decode(v, pos);new_class.Position=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Kind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Kind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.SecondaryKind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.SecondaryKind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.UniqueIdentity);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.UniqueIdentity=dv.value;return dv},
|
||||
},
|
||||
|
||||
];
|
||||
};
|
||||
return new_class;
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,53 @@
|
||||
# Emesary bridged transmitter for armament notifications.
|
||||
#
|
||||
# Richard Harrison 2017
|
||||
#
|
||||
# NOTES:
|
||||
# 1.The incoming bridges that is defined here will apply to all models that
|
||||
# are loaded over MP; it is better to create the bridges here rather than in the model.xml
|
||||
# So given that we don't want a bridge on all MP models only those that are on OPRF
|
||||
# aircraft that want to receive notifications we will create the incoming bridge here
|
||||
# and thus only an OPRF model will receive notifications from another OPRF model.
|
||||
#
|
||||
# 2. The Emesary MP bridge requires two sides; the outgoing and incoming.
|
||||
# - The outgoing aircraft will forwards all received notifications via MP;
|
||||
# and these will be received by a similarly equipped craft.
|
||||
# - The receiving aircraft will receive all notifications from other MP craft via
|
||||
# the globalTransmitter - which is bridged via property #18 /sim/multiplay/emesary/bridge[18]
|
||||
#------------------------------------------------------------------------------------------
|
||||
|
||||
# Setup the bridge
|
||||
# armament notification 24 bytes
|
||||
# geoEventNotification - 34 bytes + the length of the RemoteCallsign and Name fields.
|
||||
#NOTE: due to bug in Emesary MP Bridge (fixed in 2019.2 after 24/3/2020) we can only
|
||||
# reliably send one message type per bridge - so for the maximum compatibility
|
||||
# we will use two bridges.
|
||||
# If at some point in the future we target 2019.2 as a min ver we can use a single
|
||||
# bridge and setup the notification list to contain all of the armament hit/flying notifications
|
||||
#i.e. change to [notifications.ArmamentInFlightNotification.new(nil), notifications.ArmamentNotification.new(nil)];
|
||||
var geoRoutedNotifications = [notifications.ArmamentInFlightNotification.new()];
|
||||
var geoBridgedTransmitter = emesary.Transmitter.new("geoOutgoingBridge");
|
||||
var geooutgoingBridge = emesary_mp_bridge.OutgoingMPBridge.new("mp.geo",geoRoutedNotifications, 18, "", geoBridgedTransmitter);
|
||||
|
||||
# bridge should be tuned to be around 90% of the packet size full.
|
||||
geooutgoingBridge.TransmitFrequencySeconds = 0.75;
|
||||
geooutgoingBridge.MPStringMaxLen = 150;
|
||||
emesary_mp_bridge.IncomingMPBridge.startMPBridge(geoRoutedNotifications, 18, emesary.GlobalTransmitter);
|
||||
|
||||
|
||||
#----- bridge hit (armament) notifications
|
||||
var hitRoutedNotifications = [notifications.ArmamentNotification.new(),notifications.StaticNotification.new()];
|
||||
var hitBridgedTransmitter = emesary.Transmitter.new("armamentNotificationBridge");
|
||||
var hitoutgoingBridge = emesary_mp_bridge.OutgoingMPBridge.new("mp.hit",hitRoutedNotifications, 19, "", hitBridgedTransmitter);
|
||||
hitoutgoingBridge.TransmitFrequencySeconds = 1.5;
|
||||
hitoutgoingBridge.MPStringMaxLen = 120;
|
||||
emesary_mp_bridge.IncomingMPBridge.startMPBridge(hitRoutedNotifications, 19, emesary.GlobalTransmitter);
|
||||
|
||||
#----- bridge object notifications
|
||||
var objectRoutedNotifications = [notifications.ObjectInFlightNotification.new()];
|
||||
var objectBridgedTransmitter = emesary.Transmitter.new("objectNotificationBridge");
|
||||
var objectoutgoingBridge = emesary_mp_bridge.OutgoingMPBridge.new("mp.object",objectRoutedNotifications, 17, "", objectBridgedTransmitter);
|
||||
objectoutgoingBridge.TransmitFrequencySeconds = 0.2;
|
||||
objectoutgoingBridge.MessageLifeTime = 1;
|
||||
objectoutgoingBridge.MPStringMaxLen = 150;
|
||||
emesary_mp_bridge.IncomingMPBridge.startMPBridge(objectRoutedNotifications, 17, emesary.GlobalTransmitter);
|
||||
@@ -0,0 +1,338 @@
|
||||
var Math = {
|
||||
#
|
||||
# Authors: Nikolai V. Chr, Axel Paccalin.
|
||||
#
|
||||
# Version 1.93
|
||||
#
|
||||
# When doing euler coords. to cartesian: +x = forw, +y = left, +z = up.
|
||||
# FG struct. coords: +x = back, +y = right, +z = up.
|
||||
#
|
||||
# If euler to cartesian (with inverted heading) then:
|
||||
# cartesian vector will be x: north, y: west, z: skyward
|
||||
#
|
||||
# When doing euler angles (from pilots point of view): yaw = yaw left, pitch = rotate up, roll = roll right.
|
||||
# FG rotations: heading = yaw right, pitch = rotate up, roll = roll right.
|
||||
#
|
||||
clamp: func(v, min, max) { v < min ? min : v > max ? max : v },
|
||||
|
||||
convertCoords: func (x,y,z) {
|
||||
return [-x, -y, z];
|
||||
},
|
||||
|
||||
convertAngles: func (heading,pitch,roll) {
|
||||
return [-heading, pitch, roll];
|
||||
},
|
||||
|
||||
# returns direction in geo coordinate system
|
||||
vectorToGeoVector: func (a, coord) {
|
||||
me.handp = me.cartesianToEuler(a);
|
||||
me.end_dist_m = 100;# not too low for floating point precision. Not too high to get into earth curvature stuff.
|
||||
me.tgt_coord = geo.Coord.new(coord);
|
||||
if (me.handp[0] != nil) {
|
||||
me.tgt_coord.apply_course_distance(me.handp[0],me.end_dist_m);
|
||||
me.upamount = me.end_dist_m * math.tan(me.handp[1]*D2R);
|
||||
} elsif (me.handp[1] == 90) {
|
||||
me.upamount = me.end_dist_m;
|
||||
} else {
|
||||
me.upamount = -me.end_dist_m;
|
||||
}
|
||||
me.tgt_coord.set_alt(coord.alt()+me.upamount);
|
||||
|
||||
return {"x":me.tgt_coord.x()-coord.x(), "y":me.tgt_coord.y()-coord.y(), "z":me.tgt_coord.z()-coord.z()};
|
||||
},
|
||||
|
||||
# When observing another MP aircraft the groundspeed velocity info is in body frame, this method will convert it to cartesian vector.
|
||||
getCartesianVelocity: func (yaw_deg, pitch_deg, roll_deg, uBody_fps, vBody_fps, wBody_fps) {
|
||||
me.bodyVelocity = [uBody_fps, -vBody_fps, -wBody_fps];
|
||||
return me.yawPitchRollVector(yaw_deg, pitch_deg, roll_deg, me.bodyVelocity);
|
||||
},
|
||||
|
||||
# angle between 2 vectors. Returns 0-180 degrees.
|
||||
angleBetweenVectors: func (a,b) {
|
||||
a = me.normalize(a);
|
||||
b = me.normalize(b);
|
||||
me.value = me.clamp((me.dotProduct(a,b)/me.magnitudeVector(a))/me.magnitudeVector(b),-1,1);#just to be safe in case some floating point error makes it out of bounds
|
||||
return R2D * math.acos(me.value);
|
||||
},
|
||||
|
||||
# length of vector
|
||||
magnitudeVector: func (a) {
|
||||
return math.sqrt(math.pow(a[0],2)+math.pow(a[1],2)+math.pow(a[2],2));
|
||||
},
|
||||
|
||||
# dot product of 2 vectors
|
||||
dotProduct: func (a,b) {
|
||||
return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];
|
||||
},
|
||||
|
||||
# rotate a vector. Order: roll, pitch, yaw
|
||||
rollPitchYawVector: func (roll, pitch, yaw, vector) {
|
||||
me.rollM = me.rollMatrix(roll);
|
||||
me.pitchM = me.pitchMatrix(pitch);
|
||||
me.yawM = me.yawMatrix(yaw);
|
||||
me.rotation = me.multiplyMatrices(me.rollM, me.multiplyMatrices(me.pitchM, me.yawM));
|
||||
return me.multiplyMatrixWithVector(me.rotation, vector);
|
||||
},
|
||||
|
||||
# rotate a vector. Order: yaw, pitch, roll (like an aircraft)
|
||||
yawPitchRollVector: func (yaw, pitch, roll, vector) {
|
||||
me.rollM = me.rollMatrix(roll);
|
||||
me.pitchM = me.pitchMatrix(pitch);
|
||||
me.yawM = me.yawMatrix(yaw);
|
||||
me.rotation = me.multiplyMatrices(me.yawM, me.multiplyMatrices(me.pitchM, me.rollM));
|
||||
return me.multiplyMatrixWithVector(me.rotation, vector);
|
||||
},
|
||||
|
||||
# multiply 3x3 matrix with vector
|
||||
multiplyMatrixWithVector: func (matrix, vector) {
|
||||
return [matrix[0]*vector[0]+matrix[1]*vector[1]+matrix[2]*vector[2],
|
||||
matrix[3]*vector[0]+matrix[4]*vector[1]+matrix[5]*vector[2],
|
||||
matrix[6]*vector[0]+matrix[7]*vector[1]+matrix[8]*vector[2]];
|
||||
},
|
||||
|
||||
# multiply 2 3x3 matrices
|
||||
multiplyMatrices: func (a,b) {
|
||||
return [a[0]*b[0]+a[1]*b[3]+a[2]*b[6], a[0]*b[1]+a[1]*b[4]+a[2]*b[7], a[0]*b[2]+a[1]*b[5]+a[2]*b[8],
|
||||
a[3]*b[0]+a[4]*b[3]+a[5]*b[6], a[3]*b[1]+a[4]*b[4]+a[5]*b[7], a[3]*b[2]+a[4]*b[5]+a[5]*b[8],
|
||||
a[6]*b[0]+a[7]*b[3]+a[8]*b[6], a[6]*b[1]+a[7]*b[4]+a[8]*b[7], a[6]*b[2]+a[7]*b[5]+a[8]*b[8]];
|
||||
},
|
||||
|
||||
# matrix for rolling
|
||||
rollMatrix: func (roll) {
|
||||
roll = roll * D2R;
|
||||
return [1,0,0,
|
||||
0,math.cos(roll),-math.sin(roll),
|
||||
0,math.sin(roll), math.cos(roll)];
|
||||
},
|
||||
|
||||
# matrix for pitching
|
||||
pitchMatrix: func (pitch) {
|
||||
pitch = pitch * D2R;
|
||||
return [math.cos(pitch),0,-math.sin(pitch),
|
||||
0,1,0,
|
||||
math.sin(pitch),0,math.cos(pitch)];
|
||||
},
|
||||
|
||||
# matrix for yawing
|
||||
yawMatrix: func (yaw) {
|
||||
yaw = yaw * D2R;
|
||||
return [math.cos(yaw),-math.sin(yaw),0,
|
||||
math.sin(yaw),math.cos(yaw),0,
|
||||
0,0,1];
|
||||
},
|
||||
|
||||
# vector to heading/pitch
|
||||
cartesianToEuler: func (vector) {
|
||||
me.horz = math.sqrt(vector[0]*vector[0]+vector[1]*vector[1]);
|
||||
if (me.horz != 0) {
|
||||
me.pitch = math.atan2(vector[2],me.horz)*R2D;
|
||||
me.hdg = math.asin(-vector[1]/me.horz)*R2D;
|
||||
|
||||
if (vector[0] < 0) {
|
||||
# south
|
||||
if (me.hdg >= 0) {
|
||||
me.hdg = 180-me.hdg;
|
||||
} else {
|
||||
me.hdg = -180-me.hdg;
|
||||
}
|
||||
}
|
||||
me.hdg = geo.normdeg(me.hdg);
|
||||
} else {
|
||||
me.pitch = vector[2]>=0?90:-90;
|
||||
me.hdg = nil;
|
||||
}
|
||||
return [me.hdg, me.pitch];
|
||||
},
|
||||
|
||||
# gives an vector that points up from fuselage
|
||||
eulerToCartesian3Z: func (yaw_deg, pitch_deg, roll_deg) {
|
||||
me.yaw = yaw_deg * D2R;
|
||||
me.pitch = pitch_deg * D2R;
|
||||
me.roll = roll_deg * D2R;
|
||||
me.x = -math.cos(me.yaw)*math.sin(me.pitch)*math.cos(me.roll) + math.sin(me.yaw)*math.sin(me.roll);
|
||||
me.y = -math.sin(me.yaw)*math.sin(me.pitch)*math.cos(me.roll) - math.cos(me.yaw)*math.sin(me.roll);
|
||||
me.z = math.cos(me.pitch)*math.cos(me.roll);#roll changed from sin to cos, since the rotation matrix is wrong
|
||||
return [me.x,me.y,me.z];
|
||||
},
|
||||
|
||||
# gives an vector that points forward from fuselage
|
||||
eulerToCartesian3X: func (yaw_deg, pitch_deg, roll_deg) {
|
||||
me.yaw = yaw_deg * D2R;
|
||||
me.pitch = pitch_deg * D2R;
|
||||
me.roll = roll_deg * D2R;
|
||||
me.x = math.cos(me.yaw)*math.cos(me.pitch);
|
||||
me.y = math.sin(me.yaw)*math.cos(me.pitch);
|
||||
me.z = math.sin(me.pitch);
|
||||
return [me.x,me.y,me.z];
|
||||
},
|
||||
|
||||
# gives an vector that points left from fuselage
|
||||
eulerToCartesian3Y: func (yaw_deg, pitch_deg, roll_deg) {
|
||||
me.yaw = yaw_deg * D2R;
|
||||
me.pitch = pitch_deg * D2R;
|
||||
me.roll = roll_deg * D2R;
|
||||
me.x = -math.cos(me.yaw)*math.sin(me.pitch)*math.sin(me.roll) - math.sin(me.yaw)*math.cos(me.roll);
|
||||
me.y = -math.sin(me.yaw)*math.sin(me.pitch)*math.sin(me.roll) + math.cos(me.yaw)*math.cos(me.roll);
|
||||
me.z = math.cos(me.pitch)*math.sin(me.roll);
|
||||
return [me.x,me.y,me.z];
|
||||
},
|
||||
|
||||
# same as eulerToCartesian3X, except it needs no roll
|
||||
eulerToCartesian2: func (yaw_deg, pitch_deg) {
|
||||
me.yaw = yaw_deg * D2R;
|
||||
me.pitch = pitch_deg * D2R;
|
||||
me.x = math.cos(me.pitch) * math.cos(me.yaw);
|
||||
me.y = math.cos(me.pitch) * math.sin(me.yaw);
|
||||
me.z = math.sin(me.pitch);
|
||||
return [me.x,me.y,me.z];
|
||||
},
|
||||
|
||||
#pitch from coord1 to coord2 in degrees (takes curvature of earth into effect.)
|
||||
getPitch: func (coord1, coord2) {
|
||||
if (coord1.lat() == coord2.lat() and coord1.lon() == coord2.lon()) {
|
||||
if (coord2.alt() > coord1.alt()) {
|
||||
return 90;
|
||||
} elsif (coord2.alt() < coord1.alt()) {
|
||||
return -90;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (coord1.alt() != coord2.alt()) {
|
||||
me.d12 = coord1.direct_distance_to(coord2);
|
||||
me.coord3 = geo.Coord.new(coord1);
|
||||
me.coord3.set_alt(coord1.alt()-me.d12*0.5);# this will increase the area of the triangle so that rounding errors dont get in the way.
|
||||
me.d13 = coord1.alt()-me.coord3.alt();
|
||||
if (me.d12 == 0) {
|
||||
# on top of each other, maybe rounding error..
|
||||
return 0;
|
||||
}
|
||||
me.d32 = me.coord3.direct_distance_to(coord2);
|
||||
if (math.abs(me.d13)+me.d32 < me.d12) {
|
||||
# rounding errors somewhere..one triangle side is longer than other 2 sides combined.
|
||||
return 0;
|
||||
}
|
||||
# standard formula for a triangle where all 3 side lengths are known:
|
||||
me.len = (math.pow(me.d12, 2)+math.pow(me.d13,2)-math.pow(me.d32, 2))/(2 * me.d12 * math.abs(me.d13));
|
||||
if (me.len < -1 or me.len > 1) {
|
||||
# something went wrong, maybe rounding error..
|
||||
return 0;
|
||||
}
|
||||
me.angle = R2D * math.acos(me.len);
|
||||
me.pitch = -1* (90 - me.angle);
|
||||
#printf("d12 %.4f d32 %.4f d13 %.4f len %.4f pitch %.4f angle %.4f", me.d12, me.d32, me.d13, me.len, me.pitch, me.angle);
|
||||
return me.pitch;
|
||||
} else {
|
||||
# same altitude
|
||||
me.nc = geo.Coord.new();
|
||||
me.nc.set_xyz(0,0,0); # center of earth
|
||||
me.radiusEarth = coord1.direct_distance_to(me.nc);# current distance to earth center
|
||||
me.d12 = coord1.direct_distance_to(coord2);
|
||||
# standard formula for a triangle where all 3 side lengths are known:
|
||||
me.len = (math.pow(me.d12, 2)+math.pow(me.radiusEarth,2)-math.pow(me.radiusEarth, 2))/(2 * me.d12 * me.radiusEarth);
|
||||
if (me.len < -1 or me.len > 1) {
|
||||
# something went wrong, maybe rounding error..
|
||||
return 0;
|
||||
}
|
||||
me.angle = R2D * math.acos(me.len);
|
||||
me.pitch = -1* (90 - me.angle);
|
||||
return me.pitch;
|
||||
}
|
||||
},
|
||||
|
||||
# supply a normal to the plane, and a vector. The vector will be projected onto the plane, and that projection is returned as a vector.
|
||||
projVectorOnPlane: func (planeNormal, vector) {
|
||||
return me.minus(vector, me.product(me.dotProduct(vector,planeNormal)/math.pow(me.magnitudeVector(planeNormal),2), planeNormal));
|
||||
},
|
||||
|
||||
# unary - vector
|
||||
opposite: func (v){
|
||||
# author: Paccalin
|
||||
return [-v[0], -v[1], -v[2]];
|
||||
},
|
||||
|
||||
# vector a - vector b
|
||||
minus: func (a, b) {
|
||||
return [a[0]-b[0], a[1]-b[1], a[2]-b[2]];
|
||||
},
|
||||
|
||||
# vector a + vector b
|
||||
plus: func (a, b) {
|
||||
return [a[0]+b[0], a[1]+b[1], a[2]+b[2]];
|
||||
},
|
||||
|
||||
# float * vector
|
||||
product: func (scalar, vector) {
|
||||
return [scalar*vector[0], scalar*vector[1], scalar*vector[2]]
|
||||
},
|
||||
|
||||
# print vector to console
|
||||
format: func (v) {
|
||||
return sprintf("(%.1f, %.1f, %.1f)",v[0],v[1],v[2]);
|
||||
},
|
||||
|
||||
# make vector length 1.0
|
||||
normalize: func (v) {
|
||||
me.mag = me.magnitudeVector(v);
|
||||
return [v[0]/me.mag, v[1]/me.mag, v[2]/me.mag];
|
||||
},
|
||||
|
||||
crossProduct: func (a,b) {
|
||||
return [a[1]*b[2]-a[2]*b[1], a[2]*b[0]-a[0]*b[2], a[0]*b[1]-a[1]*b[0]];
|
||||
},
|
||||
|
||||
distance_from_point_to_line: func (coordP, coordL1, coordL2) {
|
||||
var P = [coordP.x(), coordP.y(), coordP.z()];
|
||||
var L1 = [coordL1.x(), coordL1.y(), coordL1.z()];
|
||||
var L2 = [coordL2.x(), coordL2.y(), coordL2.z()];
|
||||
|
||||
return me.magnitudeVector(me.crossProduct(me.minus(L2,L1), me.minus(L1,P)))/me.magnitudeVector(me.minus(L2,L1));
|
||||
},
|
||||
|
||||
# Orthogonal projection of a vector `vec` onto another `ref` !!can throw an exception if the referential vector is null!!.
|
||||
orthogonalProjection: func(vec, ref){
|
||||
# author: Paccalin
|
||||
me.op_refMag = me.magnitudeVector(ref);
|
||||
if(me.op_refMag == 0)
|
||||
die("Orthogonal projection on a null vector referential");
|
||||
|
||||
return me.dotProduct(vec, ref) / me.op_refMag;
|
||||
},
|
||||
|
||||
# Time at which two particles will be at shortest distance !!can throw an exception if the relative speed is null!!
|
||||
particleShortestDistTime: func (orig1, speed1, orig2, speed2) {
|
||||
# author: Paccalin
|
||||
# Compute the origin of the second particle in a referential positionally centered on the first particle.
|
||||
me.psdt_tgtOrig = me.minus(orig2, orig1);
|
||||
# Compute the speed of the second particle in a referential inertially based on the first particle.
|
||||
me.psdt_tgtSpeed = me.minus(speed2, speed1);
|
||||
|
||||
# Project the origin of the particle1 referential onto the line supported by the particle2 trajectory in 1 unit of time.
|
||||
# And divide the result by the magnitude of the speed to have it normalized relative to the time.
|
||||
return me.orthogonalProjection(me.opposite(me.psdt_tgtOrig), me.psdt_tgtSpeed) / me.magnitudeVector(me.psdt_tgtSpeed);
|
||||
},
|
||||
|
||||
# rotation matrices
|
||||
#
|
||||
#
|
||||
#| 1 0 0 |
|
||||
#| 0 cos(roll) -sin(roll) |
|
||||
#| 0 sin(roll) cos(roll) |
|
||||
#
|
||||
#| cos(pitch) 0 -sin(pitch) |
|
||||
#| 0 1 0 |
|
||||
#| sin(pitch) 0 cos(pitch) |
|
||||
#
|
||||
#| cos(yaw) -sin(yaw) 0 |
|
||||
#| sin(yaw) cos(yaw) 0 |
|
||||
#| 0 0 1 |
|
||||
#
|
||||
# combined matrix from yaw, pitch, roll:
|
||||
#
|
||||
#| cos(yaw)cos(pitch) -cos(yaw)sin(pitch)sin(roll)-sin(yaw)cos(roll) -cos(yaw)sin(pitch)cos(roll)+sin(yaw)sin(roll)|
|
||||
#| sin(yaw)cos(pitch) -sin(yaw)sin(pitch)sin(roll)+cos(yaw)cos(roll) -sin(yaw)sin(pitch)cos(roll)-cos(yaw)sin(roll)|
|
||||
#| sin(pitch) cos(pitch)sin(roll) cos(pitch)cos(roll)|
|
||||
#
|
||||
#
|
||||
|
||||
};
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
Copyright (c) 2015 onox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<PropertyList>
|
||||
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,91 @@
|
||||
<?xml version="1.0"?>
|
||||
<PropertyList>
|
||||
<name>flightlog</name>
|
||||
<modal>false</modal>
|
||||
<layout>vbox</layout>
|
||||
<draggable>true</draggable>
|
||||
<resizable>true</resizable>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<empty><stretch>1</stretch></empty>
|
||||
|
||||
<text>
|
||||
<label>Event log</label>
|
||||
</text>
|
||||
|
||||
<empty><stretch>1</stretch></empty>
|
||||
|
||||
<button>
|
||||
<pref-width>16</pref-width>
|
||||
<pref-height>16</pref-height>
|
||||
<legend></legend>
|
||||
<default>1</default>
|
||||
<keynum>27</keynum>
|
||||
<border>2</border>
|
||||
<binding>
|
||||
<command>dialog-close</command>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
|
||||
<nasal>
|
||||
<open>
|
||||
<![CDATA[
|
||||
setprop("sim/model/mig21/event-log", "Click refresh to see the event log..");
|
||||
]]>
|
||||
</open>
|
||||
<close>
|
||||
<![CDATA[
|
||||
setprop("sim/model/mig21/event-log", "");
|
||||
]]>
|
||||
</close>
|
||||
</nasal>
|
||||
|
||||
<button>
|
||||
<!--<x>0</x>
|
||||
<y>0</y>-->
|
||||
<legend>Refresh</legend>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script><![CDATA[
|
||||
var str = "";
|
||||
if (1) {
|
||||
var buffer = damage.damageLog.get_buffer();
|
||||
|
||||
foreach(entry; buffer) {
|
||||
str = str~""~entry.time~" "~entry.message~"\n";
|
||||
}
|
||||
} else {
|
||||
str = "The aircraft must be still to read the event log.";
|
||||
}
|
||||
setprop("sim/model/mig21/event-log", str);
|
||||
]]></script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<text>
|
||||
<label>Log:</label>
|
||||
</text>
|
||||
|
||||
<textbox>
|
||||
<!-- position -->
|
||||
<!--<x>100</x>
|
||||
<y>100</y>-->
|
||||
|
||||
<!-- dimensions -->
|
||||
<pref-width>500</pref-width>
|
||||
<pref-height>500</pref-height>
|
||||
|
||||
<property>/sim/model/mig21/event-log</property>
|
||||
<live>true</live>
|
||||
<slider>15</slider> <!--width for slider -->
|
||||
<wrap>false</wrap> <!-- don't wrap text; default: true -->
|
||||
<top-line>0</top-line> <!-- line to show at top, -ve numbers show last line -->
|
||||
<editable>false</editable> <!-- if the puLargeInput is supposed to be editable -->
|
||||
</textbox>
|
||||
|
||||
</PropertyList>
|
||||
@@ -232,98 +232,6 @@
|
||||
<models type="string">Aircraft/Frigate/Models/emesary/</models>
|
||||
<msg type="bool">true</msg>
|
||||
<damage type="bool">true</damage>
|
||||
<kn-06>
|
||||
<sound-on-off type="bool">false</sound-on-off>
|
||||
<sound-volume type="double">0.0</sound-volume>
|
||||
<vol-search type="double">0.00</vol-search>
|
||||
<guidance type="string">radar</guidance>
|
||||
<all-aspect type="bool">true</all-aspect>
|
||||
<max-fire-range-nm type="int">85</max-fire-range-nm>
|
||||
<FCS-field-deg type="int">360</FCS-field-deg>
|
||||
<seeker-field-deg type="int">360</seeker-field-deg>
|
||||
<max-g type="int">22</max-g>
|
||||
<thrust-lbf-stage-1 type="double">100000</thrust-lbf-stage-1>
|
||||
<thrust-lbf-stage-2 type="double">80000</thrust-lbf-stage-2>
|
||||
<stage-1-duration-sec type="double">0.25</stage-1-duration-sec>
|
||||
<stage-2-duration-sec type="double">12.0</stage-2-duration-sec>
|
||||
<weight-launch-lbs>3920</weight-launch-lbs>
|
||||
<weight-warhead-lbs>315</weight-warhead-lbs>
|
||||
<drag-coeff type="double">0.15</drag-coeff>
|
||||
<drag-area type="double">2.11349</drag-area>
|
||||
<searcher-beam-width type="double">3.0</searcher-beam-width>
|
||||
<arming-time-sec type="double">2</arming-time-sec>
|
||||
<min-speed-for-guiding-mach type="double">0.25</min-speed-for-guiding-mach>
|
||||
<self-destruct-time-sec type="double">160</self-destruct-time-sec>
|
||||
<seeker-angular-speed-dps type="double">3000</seeker-angular-speed-dps>
|
||||
<loft-altitude>0</loft-altitude>
|
||||
<min-fire-range-nm type="double">0.85</min-fire-range-nm>
|
||||
<rail type="bool">true</rail>
|
||||
<rail-length-m type="double">7.5</rail-length-m>
|
||||
<rail-point-forward type="bool">false</rail-point-forward>
|
||||
<class type="string">A/A</class>
|
||||
<fire-msg>Grumble</fire-msg>
|
||||
</kn-06>
|
||||
<!-- test: SAM -->
|
||||
<test>
|
||||
<sound-on-off type="bool">false</sound-on-off>
|
||||
<sound-volume type="double">0.0</sound-volume>
|
||||
<vol-search type="double">0.00</vol-search>
|
||||
<guidance type="string">radar</guidance>
|
||||
<all-aspect type="bool">true</all-aspect>
|
||||
<max-fire-range-nm type="int">38.8</max-fire-range-nm>
|
||||
<FCS-field-deg type="int">360</FCS-field-deg>
|
||||
<seeker-field-deg type="int">360</seeker-field-deg>
|
||||
<max-g type="int">30</max-g>
|
||||
<thrust-lbf-stage-1 type="double">9000</thrust-lbf-stage-1>
|
||||
<thrust-lbf-stage-2 type="double">1500</thrust-lbf-stage-2>
|
||||
<stage-1-duration-sec type="double">4.0</stage-1-duration-sec>
|
||||
<stage-2-duration-sec type="double">15.0</stage-2-duration-sec>
|
||||
<weight-launch-lbs>291</weight-launch-lbs>
|
||||
<weight-warhead-lbs>44</weight-warhead-lbs>
|
||||
<drag-coeff type="double">0.5</drag-coeff>
|
||||
<drag-area type="double">0.2739</drag-area>
|
||||
<searcher-beam-width type="double">3.0</searcher-beam-width>
|
||||
<arming-time-sec type="double">1.6</arming-time-sec>
|
||||
<min-speed-for-guiding-mach type="double">0.9</min-speed-for-guiding-mach>
|
||||
<self-destruct-time-sec type="double">90</self-destruct-time-sec>
|
||||
<seeker-angular-speed-dps type="double">30</seeker-angular-speed-dps>
|
||||
<loft-altitude>0</loft-altitude>
|
||||
<min-fire-range-nm type="double">0.35</min-fire-range-nm>
|
||||
<rail type="bool">true</rail>
|
||||
<rail-length-m type="double">5</rail-length-m>
|
||||
<rail-point-forward type="bool">false</rail-point-forward>
|
||||
<class type="string">A/A</class>
|
||||
<fire-msg>Chickenbeater</fire-msg>
|
||||
</test>
|
||||
<!--<test>
|
||||
<sound-on-off type="bool">false</sound-on-off>
|
||||
<sound-volume type="double">0.0</sound-volume>
|
||||
<vol-search type="double">0.03</vol-search>
|
||||
<guidance type="string">radar</guidance>
|
||||
<all-aspect type="bool">true</all-aspect>
|
||||
<max-fire-range-nm type="double">100</max-fire-range-nm>
|
||||
<FCS-field-deg type="int">25</FCS-field-deg>
|
||||
<seeker-field-deg type="int">180</seeker-field-deg>
|
||||
<max-g type="int">20</max-g>
|
||||
<max-launch-g type="int">7</max-launch-g>
|
||||
<thrust-lbf-stage-1 type="double">150</thrust-lbf-stage-1>
|
||||
<thrust-lbf-stage-2 type="double">0.0</thrust-lbf-stage-2>
|
||||
<stage-1-duration-sec type="double">200.5</stage-1-duration-sec>
|
||||
<stage-2-duration-sec type="double">1.0</stage-2-duration-sec>
|
||||
<weight-launch-lbs type="double">179</weight-launch-lbs>
|
||||
<weight-warhead-lbs type="double">20.8</weight-warhead-lbs>
|
||||
<drag-coeff type="double">0.5</drag-coeff>
|
||||
<drag-area type="double">0.143</drag-area>
|
||||
<searcher-beam-width type="double">2.0</searcher-beam-width>
|
||||
<arming-time-sec type="double">1.4</arming-time-sec>
|
||||
<min-speed-for-guiding-mach type="double">0.4</min-speed-for-guiding-mach>
|
||||
<self-destruct-time-sec type="double">250</self-destruct-time-sec>
|
||||
<seeker-angular-speed-dps type="double">50</seeker-angular-speed-dps>
|
||||
<loft-altitude>100</loft-altitude>
|
||||
<min-fire-range-nm type="double">0.2</min-fire-range-nm>
|
||||
<rail type="bool">false</rail>
|
||||
<class type="string">A/G</class>
|
||||
</test>-->
|
||||
</armament>
|
||||
</payload>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ kids 1
|
||||
OBJECT poly
|
||||
name "aim-120"
|
||||
loc 0.06988 -0.000232488 -0.000638992
|
||||
texture "aim-120.png"
|
||||
texture "aim-emesary.png"
|
||||
crease 45.000000
|
||||
numvert 232
|
||||
1.83937 0.000176489 0.000649989
|
||||
|
Before Width: | Height: | Size: 700 B After Width: | Height: | Size: 700 B |
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0"?>
|
||||
<PropertyList>
|
||||
<particlesystem>
|
||||
<name>bombhit-smoke</name>
|
||||
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive>false</emissive>
|
||||
<lighting>false</lighting>
|
||||
<align>billboard</align>
|
||||
<attach>world</attach>
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
<shooter>
|
||||
<theta-min-deg>30</theta-min-deg>
|
||||
<theta-max-deg>60</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg> 180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>5</value>
|
||||
<spread>5</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>-60</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>60</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>3</value>
|
||||
<spread>5</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value>0.0</value></red>
|
||||
<green><value>0.0</value></green>
|
||||
<blue><value>0.0</value></blue>
|
||||
<alpha><value>0.2</value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>12.0</value>
|
||||
</size>
|
||||
</start>
|
||||
<end>
|
||||
<color>
|
||||
<red><value>0.0</value></red>
|
||||
<green><value>0.0</value></green>
|
||||
<blue><value>0.0</value></blue>
|
||||
<alpha><value>0.05</value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>80.0</value>
|
||||
</size>
|
||||
</end>
|
||||
<life-sec>
|
||||
<value>120</value>
|
||||
</life-sec>
|
||||
<mass-kg>0.025</mass-kg>
|
||||
<radius-m>0.40</radius-m>
|
||||
</particle>
|
||||
<program>
|
||||
<fluid>air</fluid>
|
||||
<gravity>true</gravity>
|
||||
<wind>true</wind>
|
||||
</program>
|
||||
</particlesystem>
|
||||
</PropertyList>
|
||||
|
After Width: | Height: | Size: 143 KiB |
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>crater.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>scale</type>
|
||||
<object-name>Sphere</object-name>
|
||||
<x-offset>1.8</x-offset>
|
||||
<y-offset>1.8</y-offset>
|
||||
<z-offset>1.4</z-offset>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<object-name>Sphere</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke-longterm</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>0</theta-min-deg>
|
||||
<theta-max-deg>20</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>5</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>2</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.3 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>6</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.05 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>12</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>90</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 4.0 </mass-kg>
|
||||
<radius-m> 0.4 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,95 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>crater.ac</path>
|
||||
|
||||
<animation>
|
||||
<object-name>Sphere</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke-longterm</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>0</theta-min-deg>
|
||||
<theta-max-deg>20</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>5</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>2</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.3 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>6</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.05 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>50</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5.0 </mass-kg>
|
||||
<radius-m> 0.4 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,87 @@
|
||||
<PropertyList>
|
||||
|
||||
<path>aim-emesary.ac</path>
|
||||
|
||||
<particlesystem>
|
||||
<name>emesary-heavy-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>9</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.2 </value></red>
|
||||
<green><value> 0.2 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>15</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>50</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,87 @@
|
||||
<PropertyList>
|
||||
|
||||
<path>aim-emesary.ac</path>
|
||||
|
||||
<particlesystem>
|
||||
<name>emesary-light-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.9 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.9 </value></green>
|
||||
<blue><value> 0.9 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>3</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>50</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>parachutist.ac</path>
|
||||
<offsets>
|
||||
<x-m> 0.5</x-m>
|
||||
<y-m> 0.000</y-m>
|
||||
<z-m> 1.50</z-m>
|
||||
</offsets>
|
||||
|
||||
</PropertyList>
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
@@ -0,0 +1,144 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>Models/Effects/procedural_light.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>scale</type>
|
||||
<object-name>procedural_light</object-name>
|
||||
<x-offset>1000</x-offset>
|
||||
<y-offset>1000</y-offset>
|
||||
<z-offset>1000</z-offset>
|
||||
</animation>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Effects/procedural-light</inherits-from>
|
||||
<object-name>procedural_light</object-name>
|
||||
<parameters>
|
||||
<light_color_base_r type="float">0.84</light_color_base_r>
|
||||
<light_color_base_g type="float">0.55</light_color_base_g>
|
||||
<light_color_base_b type="float">0.42</light_color_base_b>
|
||||
<light_color_center_r type="float">1.0</light_color_center_r>
|
||||
<light_color_center_g type="float">0.9</light_color_center_g>
|
||||
<light_color_center_b type="float">0.7</light_color_center_b>
|
||||
<intensity_scale type="float">1.0</intensity_scale>
|
||||
<is_directional type="bool">false</is_directional>
|
||||
<is_strobe type="bool">false</is_strobe>
|
||||
<outer_gain type="float">1</outer_gain>
|
||||
</parameters>
|
||||
</effect>
|
||||
|
||||
<animation>
|
||||
<type>dist-scale</type>
|
||||
<object-name>procedural_light</object-name>
|
||||
<interpolation>
|
||||
<entry><ind>0</ind> <dep>0.0075</dep></entry>
|
||||
<entry><ind>3750</ind> <dep>0.750</dep></entry>
|
||||
<entry><ind>10000</ind><dep>1.000</dep></entry>
|
||||
</interpolation>
|
||||
</animation>
|
||||
|
||||
<particlesystem>
|
||||
<name>flare-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
<emissive>false</emissive>
|
||||
<lighting>false</lighting>
|
||||
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
<pitch-deg>90</pitch-deg>
|
||||
<roll-deg>90</roll-deg>
|
||||
</offsets>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-5</theta-min-deg>
|
||||
<theta-max-deg>5</theta-max-deg>
|
||||
<phi-min-deg>-5</phi-min-deg>
|
||||
<phi-max-deg>5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>2</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>10</x-min-deg-sec>
|
||||
<y-min-deg-sec>10</y-min-deg-sec>
|
||||
<z-min-deg-sec>10</z-min-deg-sec>
|
||||
<x-max-deg-sec>40</x-max-deg-sec>
|
||||
<y-max-deg-sec>40</y-max-deg-sec>
|
||||
<z-max-deg-sec>40</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>25</value>
|
||||
<spread>5</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</red>
|
||||
<green>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</green>
|
||||
<blue>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</blue>
|
||||
<alpha>
|
||||
<value>1</value>
|
||||
</alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>0.6</value>
|
||||
</size>
|
||||
</start>
|
||||
<end>
|
||||
<color>
|
||||
<red>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</red>
|
||||
<green>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</green>
|
||||
<blue>
|
||||
<expression><product><value>0.9</value><property>/rendering/scene/diffuse/red</property></product></expression>
|
||||
</blue>
|
||||
<alpha>
|
||||
<value>0.05</value>
|
||||
</alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>6.0</value>
|
||||
</size>
|
||||
</end>
|
||||
<life-sec>
|
||||
<value>2.75</value>
|
||||
</life-sec>
|
||||
<mass-kg>0.00001</mass-kg>
|
||||
<radius-m>0.015</radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid>air</fluid>
|
||||
<gravity type="bool">false</gravity>
|
||||
<wind type="bool">true</wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -182,6 +182,7 @@
|
||||
|
||||
<nasal>
|
||||
<load><![CDATA[
|
||||
return;
|
||||
var self = cmdarg();
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,260 @@
|
||||
#
|
||||
#
|
||||
# Use to transmit events that happen at a specific place; can be used to make
|
||||
# models that are simulated locally (e.g. tankers) appear on other player's MP sessions.
|
||||
var ArmamentNotification_Id = 19;
|
||||
|
||||
var ArmamentNotification =
|
||||
{
|
||||
# new:
|
||||
# _ident - the identifier for the notification. not bridged.
|
||||
# _name - name of the notification, bridged.
|
||||
# _kind - created, moved, deleted, impact (see notifications.nas)
|
||||
# _secondary_kind - This is the entity on which the activity is being performed. See below for predefined types.
|
||||
##
|
||||
new: func(_ident="none", _kind=0, _secondary_kind=0)
|
||||
{
|
||||
var new_class = emesary.Notification.new("ArmamentNotification", _ident, ArmamentNotification_Id);
|
||||
|
||||
new_class.Kind = _kind;
|
||||
new_class.SecondaryKind = _secondary_kind;
|
||||
new_class.RelativeAltitude = 0;
|
||||
new_class.IsDistinct = 0;
|
||||
new_class.Distance = 0;
|
||||
new_class.Bearing = 0;
|
||||
new_class.RemoteCallsign = ""; # associated remote callsign.
|
||||
|
||||
new_class.bridgeProperties = func
|
||||
{
|
||||
return
|
||||
[
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Kind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Kind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.SecondaryKind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.SecondaryKind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(new_class.RelativeAltitude,2,1/10);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,2,1/10,pos);new_class.RelativeAltitude=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(new_class.Distance,2,1/10);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,2,1/10,pos);new_class.Distance=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(geo.normdeg180(new_class.Bearing),1,1.54);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1,1.54,pos);new_class.Bearing=geo.normdeg(dv.value);return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferString.encode(new_class.RemoteCallsign);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferString.decode(v,pos);new_class.RemoteCallsign=dv.value;return dv},
|
||||
},
|
||||
];
|
||||
};
|
||||
return new_class;
|
||||
},
|
||||
};
|
||||
|
||||
var ArmamentInFlightNotification_Id = 21;
|
||||
var ArmamentInFlightNotification =
|
||||
{
|
||||
# new:
|
||||
# _ident - the identifier for the notification. not bridged.
|
||||
# _name - name of the notification, bridged.
|
||||
# _kind - created, moved, deleted (see below). This is the activity that the notification represents, called kind to avoid confusion with notification type.
|
||||
# _secondary_kind - This is the entity on which the activity is being performed. See below for predefined types.
|
||||
#
|
||||
# UniqueIdentity - an identity that is unique to the sending instance of FG. Can be combined with the callsign to create an MP unique ID.
|
||||
##
|
||||
new: func(_ident="none", _unique=0, _kind=0, _secondary_kind=0)
|
||||
{
|
||||
var new_class = emesary.Notification.new("ArmamentInFlightNotification", _ident, ArmamentInFlightNotification_Id);
|
||||
|
||||
new_class.Kind = _kind;
|
||||
new_class.SecondaryKind = _secondary_kind;
|
||||
new_class.Position = geo.aircraft_position();
|
||||
new_class.UniqueIndex = 0;
|
||||
|
||||
new_class.Heading = 360;
|
||||
new_class.Pitch = 90;
|
||||
new_class.u_fps = 0;
|
||||
new_class.IsDistinct = 0;
|
||||
new_class.Callsign = nil; # populated automatically by the incoming bridge when routed
|
||||
new_class.RemoteCallsign = ""; # associated remote callsign.
|
||||
new_class.Flags = 0; # 8 bits for whatever.
|
||||
new_class.UniqueIdentity = _unique;
|
||||
|
||||
new_class.GetBridgeMessageNotificationTypeKey = func {
|
||||
return new_class.NotificationType~"."~new_class.Ident~"."~new_class.UniqueIndex;
|
||||
};
|
||||
new_class.bridgeProperties = func
|
||||
{
|
||||
return
|
||||
[
|
||||
{
|
||||
getValue:func{return emesary.TransferCoord.encode(new_class.Position);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferCoord.decode(v, pos);new_class.Position=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Kind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Kind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.SecondaryKind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.SecondaryKind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
#0..6696 fps (3967kts), mach 6.1 (SL) - factor 0.03703
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(new_class.u_fps-3348,1,1/0.03703);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1,1/0.03703,pos);new_class.u_fps=dv.value+3348;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(geo.normdeg180(new_class.Heading),1,1.54);},#1.0/0.65
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1,1.54,pos);new_class.Heading=geo.normdeg(dv.value);return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(new_class.Pitch, 1, 1/1.38);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1, 1/1.38, pos);new_class.Pitch=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferString.encode(new_class.RemoteCallsign);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferString.decode(v,pos);new_class.RemoteCallsign=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Flags);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Flags=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.UniqueIdentity);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.UniqueIdentity=dv.value;return dv},
|
||||
},
|
||||
|
||||
];
|
||||
};
|
||||
return new_class;
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
|
||||
var StaticNotification_Id = 25;
|
||||
var StaticNotification =
|
||||
{
|
||||
# new:
|
||||
# _ident - the identifier for the notification. not bridged.
|
||||
# _kind - created, moved, deleted (see below). This is the activity that the notification represents, called kind to avoid confusion with notification type.
|
||||
# _secondary_kind - This is the entity on which the activity is being performed. See below for predefined types.
|
||||
#
|
||||
# UniqueIdentity - an identity that is unique to the sending instance of FG. Can be combined with the callsign to create an MP unique ID.
|
||||
##
|
||||
new: func(_ident="stat", _unique=0, _kind=0, _secondary_kind=0)
|
||||
{
|
||||
var new_class = emesary.Notification.new("StaticNotification", _ident, StaticNotification_Id);
|
||||
# _ident -> "stat"
|
||||
new_class.UniqueIdentity = _unique; # random from 0 to 15000000 that identifies each static object
|
||||
new_class.Kind = _kind; # 1=create, 2=move, 3=delete, 4=request_all
|
||||
new_class.SecondaryKind = _secondary_kind; # 0 = small crater, 1 = big crater, 2 = smoke
|
||||
new_class.IsDistinct = 0; # keep it 0
|
||||
new_class.Callsign = nil; # populated automatically by the incoming bridge when routed
|
||||
|
||||
new_class.Position = geo.aircraft_position(); # position
|
||||
new_class.Heading = 360; # heading
|
||||
new_class.Flags1 = 0; # 7 bits for whatever.
|
||||
new_class.Flags2 = 0; # 7 bits for whatever.
|
||||
|
||||
new_class.GetBridgeMessageNotificationTypeKey = func {
|
||||
return new_class.NotificationType~"."~new_class.Ident~"."~new_class.UniqueIdentity;
|
||||
};
|
||||
new_class.bridgeProperties = func
|
||||
{
|
||||
return
|
||||
[
|
||||
{
|
||||
getValue:func{return emesary.TransferCoord.encode(new_class.Position);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferCoord.decode(v, pos);new_class.Position=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Kind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Kind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.SecondaryKind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.SecondaryKind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferFixedDouble.encode(geo.normdeg180(new_class.Heading),1,1.54);},#1.0/0.65
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferFixedDouble.decode(v,1,1.54,pos);new_class.Heading=geo.normdeg(dv.value);return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Flags1);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Flags1=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Flags2);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Flags2=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferInt.encode(new_class.UniqueIdentity,3);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferInt.decode(v,3,pos);new_class.UniqueIdentity=dv.value;return dv},
|
||||
},
|
||||
];
|
||||
};
|
||||
return new_class;
|
||||
},
|
||||
};
|
||||
|
||||
var ObjectInFlightNotification_Id = 22;
|
||||
var ObjectInFlightNotification =
|
||||
{
|
||||
# new:
|
||||
# _ident - the identifier for the notification. not bridged.
|
||||
# _name - name of the notification, bridged.
|
||||
# _kind - created, moved, deleted (see below). This is the activity that the notification represents, called kind to avoid confusion with notification type.
|
||||
# _secondary_kind - This is the entity on which the activity is being performed. See below for predefined types.
|
||||
#
|
||||
# UniqueIdentity - an identity that is unique to the sending instance of FG. Can be combined with the callsign to create an MP unique ID.
|
||||
##
|
||||
new: func(_ident="none", _unique=0, _kind=0, _secondary_kind=0)
|
||||
{
|
||||
var new_class = emesary.Notification.new("ObjectInFlightNotification", _ident, ObjectInFlightNotification_Id);
|
||||
|
||||
new_class.Kind = _kind;
|
||||
new_class.SecondaryKind = _secondary_kind;
|
||||
new_class.Position = geo.aircraft_position();
|
||||
new_class.UniqueIndex = 0;
|
||||
new_class.IsDistinct = 1;
|
||||
new_class.Callsign = nil; # populated automatically by the incoming bridge when routed
|
||||
new_class.UniqueIdentity = _unique;
|
||||
|
||||
new_class.GetBridgeMessageNotificationTypeKey = func {
|
||||
return new_class.NotificationType~"."~new_class.Ident~"."~new_class.UniqueIndex;
|
||||
};
|
||||
new_class.bridgeProperties = func
|
||||
{
|
||||
return
|
||||
[
|
||||
{
|
||||
getValue:func{return emesary.TransferCoord.encode(new_class.Position);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferCoord.decode(v, pos);new_class.Position=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.Kind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.Kind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.SecondaryKind);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.SecondaryKind=dv.value;return dv},
|
||||
},
|
||||
{
|
||||
getValue:func{return emesary.TransferByte.encode(new_class.UniqueIdentity);},
|
||||
setValue:func(v,root,pos){var dv=emesary.TransferByte.decode(v,pos);new_class.UniqueIdentity=dv.value;return dv},
|
||||
},
|
||||
|
||||
];
|
||||
};
|
||||
return new_class;
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,53 @@
|
||||
# Emesary bridged transmitter for armament notifications.
|
||||
#
|
||||
# Richard Harrison 2017
|
||||
#
|
||||
# NOTES:
|
||||
# 1.The incoming bridges that is defined here will apply to all models that
|
||||
# are loaded over MP; it is better to create the bridges here rather than in the model.xml
|
||||
# So given that we don't want a bridge on all MP models only those that are on OPRF
|
||||
# aircraft that want to receive notifications we will create the incoming bridge here
|
||||
# and thus only an OPRF model will receive notifications from another OPRF model.
|
||||
#
|
||||
# 2. The Emesary MP bridge requires two sides; the outgoing and incoming.
|
||||
# - The outgoing aircraft will forwards all received notifications via MP;
|
||||
# and these will be received by a similarly equipped craft.
|
||||
# - The receiving aircraft will receive all notifications from other MP craft via
|
||||
# the globalTransmitter - which is bridged via property #18 /sim/multiplay/emesary/bridge[18]
|
||||
#------------------------------------------------------------------------------------------
|
||||
|
||||
# Setup the bridge
|
||||
# armament notification 24 bytes
|
||||
# geoEventNotification - 34 bytes + the length of the RemoteCallsign and Name fields.
|
||||
#NOTE: due to bug in Emesary MP Bridge (fixed in 2019.2 after 24/3/2020) we can only
|
||||
# reliably send one message type per bridge - so for the maximum compatibility
|
||||
# we will use two bridges.
|
||||
# If at some point in the future we target 2019.2 as a min ver we can use a single
|
||||
# bridge and setup the notification list to contain all of the armament hit/flying notifications
|
||||
#i.e. change to [notifications.ArmamentInFlightNotification.new(nil), notifications.ArmamentNotification.new(nil)];
|
||||
var geoRoutedNotifications = [notifications.ArmamentInFlightNotification.new()];
|
||||
var geoBridgedTransmitter = emesary.Transmitter.new("geoOutgoingBridge");
|
||||
var geooutgoingBridge = emesary_mp_bridge.OutgoingMPBridge.new("s300mp.geo",geoRoutedNotifications, 18, "", geoBridgedTransmitter);
|
||||
|
||||
# bridge should be tuned to be around 90% of the packet size full.
|
||||
geooutgoingBridge.TransmitFrequencySeconds = 0.75;
|
||||
geooutgoingBridge.MPStringMaxLen = 150;
|
||||
emesary_mp_bridge.IncomingMPBridge.startMPBridge(geoRoutedNotifications, 18, emesary.GlobalTransmitter);
|
||||
|
||||
|
||||
#----- bridge hit (armament) notifications
|
||||
var hitRoutedNotifications = [notifications.ArmamentNotification.new(),notifications.StaticNotification.new()];
|
||||
var hitBridgedTransmitter = emesary.Transmitter.new("armamentNotificationBridge");
|
||||
var hitoutgoingBridge = emesary_mp_bridge.OutgoingMPBridge.new("s300mp.hit",hitRoutedNotifications, 19, "", hitBridgedTransmitter);
|
||||
hitoutgoingBridge.TransmitFrequencySeconds = 1.5;
|
||||
hitoutgoingBridge.MPStringMaxLen = 120;
|
||||
emesary_mp_bridge.IncomingMPBridge.startMPBridge(hitRoutedNotifications, 19, emesary.GlobalTransmitter);
|
||||
|
||||
#----- bridge object notifications
|
||||
var objectRoutedNotifications = [notifications.ObjectInFlightNotification.new()];
|
||||
var objectBridgedTransmitter = emesary.Transmitter.new("objectNotificationBridge");
|
||||
var objectoutgoingBridge = emesary_mp_bridge.OutgoingMPBridge.new("s300mp.object",objectRoutedNotifications, 17, "", objectBridgedTransmitter);
|
||||
objectoutgoingBridge.TransmitFrequencySeconds = 0.2;
|
||||
objectoutgoingBridge.MessageLifeTime = 1;
|
||||
objectoutgoingBridge.MPStringMaxLen = 150;
|
||||
emesary_mp_bridge.IncomingMPBridge.startMPBridge(objectRoutedNotifications, 17, emesary.GlobalTransmitter);
|
||||
@@ -0,0 +1,338 @@
|
||||
var Math = {
|
||||
#
|
||||
# Authors: Nikolai V. Chr, Axel Paccalin.
|
||||
#
|
||||
# Version 1.93
|
||||
#
|
||||
# When doing euler coords. to cartesian: +x = forw, +y = left, +z = up.
|
||||
# FG struct. coords: +x = back, +y = right, +z = up.
|
||||
#
|
||||
# If euler to cartesian (with inverted heading) then:
|
||||
# cartesian vector will be x: north, y: west, z: skyward
|
||||
#
|
||||
# When doing euler angles (from pilots point of view): yaw = yaw left, pitch = rotate up, roll = roll right.
|
||||
# FG rotations: heading = yaw right, pitch = rotate up, roll = roll right.
|
||||
#
|
||||
clamp: func(v, min, max) { v < min ? min : v > max ? max : v },
|
||||
|
||||
convertCoords: func (x,y,z) {
|
||||
return [-x, -y, z];
|
||||
},
|
||||
|
||||
convertAngles: func (heading,pitch,roll) {
|
||||
return [-heading, pitch, roll];
|
||||
},
|
||||
|
||||
# returns direction in geo coordinate system
|
||||
vectorToGeoVector: func (a, coord) {
|
||||
me.handp = me.cartesianToEuler(a);
|
||||
me.end_dist_m = 100;# not too low for floating point precision. Not too high to get into earth curvature stuff.
|
||||
me.tgt_coord = geo.Coord.new(coord);
|
||||
if (me.handp[0] != nil) {
|
||||
me.tgt_coord.apply_course_distance(me.handp[0],me.end_dist_m);
|
||||
me.upamount = me.end_dist_m * math.tan(me.handp[1]*D2R);
|
||||
} elsif (me.handp[1] == 90) {
|
||||
me.upamount = me.end_dist_m;
|
||||
} else {
|
||||
me.upamount = -me.end_dist_m;
|
||||
}
|
||||
me.tgt_coord.set_alt(coord.alt()+me.upamount);
|
||||
|
||||
return {"x":me.tgt_coord.x()-coord.x(), "y":me.tgt_coord.y()-coord.y(), "z":me.tgt_coord.z()-coord.z()};
|
||||
},
|
||||
|
||||
# When observing another MP aircraft the groundspeed velocity info is in body frame, this method will convert it to cartesian vector.
|
||||
getCartesianVelocity: func (yaw_deg, pitch_deg, roll_deg, uBody_fps, vBody_fps, wBody_fps) {
|
||||
me.bodyVelocity = [uBody_fps, -vBody_fps, -wBody_fps];
|
||||
return me.yawPitchRollVector(yaw_deg, pitch_deg, roll_deg, me.bodyVelocity);
|
||||
},
|
||||
|
||||
# angle between 2 vectors. Returns 0-180 degrees.
|
||||
angleBetweenVectors: func (a,b) {
|
||||
a = me.normalize(a);
|
||||
b = me.normalize(b);
|
||||
me.value = me.clamp((me.dotProduct(a,b)/me.magnitudeVector(a))/me.magnitudeVector(b),-1,1);#just to be safe in case some floating point error makes it out of bounds
|
||||
return R2D * math.acos(me.value);
|
||||
},
|
||||
|
||||
# length of vector
|
||||
magnitudeVector: func (a) {
|
||||
return math.sqrt(math.pow(a[0],2)+math.pow(a[1],2)+math.pow(a[2],2));
|
||||
},
|
||||
|
||||
# dot product of 2 vectors
|
||||
dotProduct: func (a,b) {
|
||||
return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];
|
||||
},
|
||||
|
||||
# rotate a vector. Order: roll, pitch, yaw
|
||||
rollPitchYawVector: func (roll, pitch, yaw, vector) {
|
||||
me.rollM = me.rollMatrix(roll);
|
||||
me.pitchM = me.pitchMatrix(pitch);
|
||||
me.yawM = me.yawMatrix(yaw);
|
||||
me.rotation = me.multiplyMatrices(me.rollM, me.multiplyMatrices(me.pitchM, me.yawM));
|
||||
return me.multiplyMatrixWithVector(me.rotation, vector);
|
||||
},
|
||||
|
||||
# rotate a vector. Order: yaw, pitch, roll (like an aircraft)
|
||||
yawPitchRollVector: func (yaw, pitch, roll, vector) {
|
||||
me.rollM = me.rollMatrix(roll);
|
||||
me.pitchM = me.pitchMatrix(pitch);
|
||||
me.yawM = me.yawMatrix(yaw);
|
||||
me.rotation = me.multiplyMatrices(me.yawM, me.multiplyMatrices(me.pitchM, me.rollM));
|
||||
return me.multiplyMatrixWithVector(me.rotation, vector);
|
||||
},
|
||||
|
||||
# multiply 3x3 matrix with vector
|
||||
multiplyMatrixWithVector: func (matrix, vector) {
|
||||
return [matrix[0]*vector[0]+matrix[1]*vector[1]+matrix[2]*vector[2],
|
||||
matrix[3]*vector[0]+matrix[4]*vector[1]+matrix[5]*vector[2],
|
||||
matrix[6]*vector[0]+matrix[7]*vector[1]+matrix[8]*vector[2]];
|
||||
},
|
||||
|
||||
# multiply 2 3x3 matrices
|
||||
multiplyMatrices: func (a,b) {
|
||||
return [a[0]*b[0]+a[1]*b[3]+a[2]*b[6], a[0]*b[1]+a[1]*b[4]+a[2]*b[7], a[0]*b[2]+a[1]*b[5]+a[2]*b[8],
|
||||
a[3]*b[0]+a[4]*b[3]+a[5]*b[6], a[3]*b[1]+a[4]*b[4]+a[5]*b[7], a[3]*b[2]+a[4]*b[5]+a[5]*b[8],
|
||||
a[6]*b[0]+a[7]*b[3]+a[8]*b[6], a[6]*b[1]+a[7]*b[4]+a[8]*b[7], a[6]*b[2]+a[7]*b[5]+a[8]*b[8]];
|
||||
},
|
||||
|
||||
# matrix for rolling
|
||||
rollMatrix: func (roll) {
|
||||
roll = roll * D2R;
|
||||
return [1,0,0,
|
||||
0,math.cos(roll),-math.sin(roll),
|
||||
0,math.sin(roll), math.cos(roll)];
|
||||
},
|
||||
|
||||
# matrix for pitching
|
||||
pitchMatrix: func (pitch) {
|
||||
pitch = pitch * D2R;
|
||||
return [math.cos(pitch),0,-math.sin(pitch),
|
||||
0,1,0,
|
||||
math.sin(pitch),0,math.cos(pitch)];
|
||||
},
|
||||
|
||||
# matrix for yawing
|
||||
yawMatrix: func (yaw) {
|
||||
yaw = yaw * D2R;
|
||||
return [math.cos(yaw),-math.sin(yaw),0,
|
||||
math.sin(yaw),math.cos(yaw),0,
|
||||
0,0,1];
|
||||
},
|
||||
|
||||
# vector to heading/pitch
|
||||
cartesianToEuler: func (vector) {
|
||||
me.horz = math.sqrt(vector[0]*vector[0]+vector[1]*vector[1]);
|
||||
if (me.horz != 0) {
|
||||
me.pitch = math.atan2(vector[2],me.horz)*R2D;
|
||||
me.hdg = math.asin(-vector[1]/me.horz)*R2D;
|
||||
|
||||
if (vector[0] < 0) {
|
||||
# south
|
||||
if (me.hdg >= 0) {
|
||||
me.hdg = 180-me.hdg;
|
||||
} else {
|
||||
me.hdg = -180-me.hdg;
|
||||
}
|
||||
}
|
||||
me.hdg = geo.normdeg(me.hdg);
|
||||
} else {
|
||||
me.pitch = vector[2]>=0?90:-90;
|
||||
me.hdg = nil;
|
||||
}
|
||||
return [me.hdg, me.pitch];
|
||||
},
|
||||
|
||||
# gives an vector that points up from fuselage
|
||||
eulerToCartesian3Z: func (yaw_deg, pitch_deg, roll_deg) {
|
||||
me.yaw = yaw_deg * D2R;
|
||||
me.pitch = pitch_deg * D2R;
|
||||
me.roll = roll_deg * D2R;
|
||||
me.x = -math.cos(me.yaw)*math.sin(me.pitch)*math.cos(me.roll) + math.sin(me.yaw)*math.sin(me.roll);
|
||||
me.y = -math.sin(me.yaw)*math.sin(me.pitch)*math.cos(me.roll) - math.cos(me.yaw)*math.sin(me.roll);
|
||||
me.z = math.cos(me.pitch)*math.cos(me.roll);#roll changed from sin to cos, since the rotation matrix is wrong
|
||||
return [me.x,me.y,me.z];
|
||||
},
|
||||
|
||||
# gives an vector that points forward from fuselage
|
||||
eulerToCartesian3X: func (yaw_deg, pitch_deg, roll_deg) {
|
||||
me.yaw = yaw_deg * D2R;
|
||||
me.pitch = pitch_deg * D2R;
|
||||
me.roll = roll_deg * D2R;
|
||||
me.x = math.cos(me.yaw)*math.cos(me.pitch);
|
||||
me.y = math.sin(me.yaw)*math.cos(me.pitch);
|
||||
me.z = math.sin(me.pitch);
|
||||
return [me.x,me.y,me.z];
|
||||
},
|
||||
|
||||
# gives an vector that points left from fuselage
|
||||
eulerToCartesian3Y: func (yaw_deg, pitch_deg, roll_deg) {
|
||||
me.yaw = yaw_deg * D2R;
|
||||
me.pitch = pitch_deg * D2R;
|
||||
me.roll = roll_deg * D2R;
|
||||
me.x = -math.cos(me.yaw)*math.sin(me.pitch)*math.sin(me.roll) - math.sin(me.yaw)*math.cos(me.roll);
|
||||
me.y = -math.sin(me.yaw)*math.sin(me.pitch)*math.sin(me.roll) + math.cos(me.yaw)*math.cos(me.roll);
|
||||
me.z = math.cos(me.pitch)*math.sin(me.roll);
|
||||
return [me.x,me.y,me.z];
|
||||
},
|
||||
|
||||
# same as eulerToCartesian3X, except it needs no roll
|
||||
eulerToCartesian2: func (yaw_deg, pitch_deg) {
|
||||
me.yaw = yaw_deg * D2R;
|
||||
me.pitch = pitch_deg * D2R;
|
||||
me.x = math.cos(me.pitch) * math.cos(me.yaw);
|
||||
me.y = math.cos(me.pitch) * math.sin(me.yaw);
|
||||
me.z = math.sin(me.pitch);
|
||||
return [me.x,me.y,me.z];
|
||||
},
|
||||
|
||||
#pitch from coord1 to coord2 in degrees (takes curvature of earth into effect.)
|
||||
getPitch: func (coord1, coord2) {
|
||||
if (coord1.lat() == coord2.lat() and coord1.lon() == coord2.lon()) {
|
||||
if (coord2.alt() > coord1.alt()) {
|
||||
return 90;
|
||||
} elsif (coord2.alt() < coord1.alt()) {
|
||||
return -90;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (coord1.alt() != coord2.alt()) {
|
||||
me.d12 = coord1.direct_distance_to(coord2);
|
||||
me.coord3 = geo.Coord.new(coord1);
|
||||
me.coord3.set_alt(coord1.alt()-me.d12*0.5);# this will increase the area of the triangle so that rounding errors dont get in the way.
|
||||
me.d13 = coord1.alt()-me.coord3.alt();
|
||||
if (me.d12 == 0) {
|
||||
# on top of each other, maybe rounding error..
|
||||
return 0;
|
||||
}
|
||||
me.d32 = me.coord3.direct_distance_to(coord2);
|
||||
if (math.abs(me.d13)+me.d32 < me.d12) {
|
||||
# rounding errors somewhere..one triangle side is longer than other 2 sides combined.
|
||||
return 0;
|
||||
}
|
||||
# standard formula for a triangle where all 3 side lengths are known:
|
||||
me.len = (math.pow(me.d12, 2)+math.pow(me.d13,2)-math.pow(me.d32, 2))/(2 * me.d12 * math.abs(me.d13));
|
||||
if (me.len < -1 or me.len > 1) {
|
||||
# something went wrong, maybe rounding error..
|
||||
return 0;
|
||||
}
|
||||
me.angle = R2D * math.acos(me.len);
|
||||
me.pitch = -1* (90 - me.angle);
|
||||
#printf("d12 %.4f d32 %.4f d13 %.4f len %.4f pitch %.4f angle %.4f", me.d12, me.d32, me.d13, me.len, me.pitch, me.angle);
|
||||
return me.pitch;
|
||||
} else {
|
||||
# same altitude
|
||||
me.nc = geo.Coord.new();
|
||||
me.nc.set_xyz(0,0,0); # center of earth
|
||||
me.radiusEarth = coord1.direct_distance_to(me.nc);# current distance to earth center
|
||||
me.d12 = coord1.direct_distance_to(coord2);
|
||||
# standard formula for a triangle where all 3 side lengths are known:
|
||||
me.len = (math.pow(me.d12, 2)+math.pow(me.radiusEarth,2)-math.pow(me.radiusEarth, 2))/(2 * me.d12 * me.radiusEarth);
|
||||
if (me.len < -1 or me.len > 1) {
|
||||
# something went wrong, maybe rounding error..
|
||||
return 0;
|
||||
}
|
||||
me.angle = R2D * math.acos(me.len);
|
||||
me.pitch = -1* (90 - me.angle);
|
||||
return me.pitch;
|
||||
}
|
||||
},
|
||||
|
||||
# supply a normal to the plane, and a vector. The vector will be projected onto the plane, and that projection is returned as a vector.
|
||||
projVectorOnPlane: func (planeNormal, vector) {
|
||||
return me.minus(vector, me.product(me.dotProduct(vector,planeNormal)/math.pow(me.magnitudeVector(planeNormal),2), planeNormal));
|
||||
},
|
||||
|
||||
# unary - vector
|
||||
opposite: func (v){
|
||||
# author: Paccalin
|
||||
return [-v[0], -v[1], -v[2]];
|
||||
},
|
||||
|
||||
# vector a - vector b
|
||||
minus: func (a, b) {
|
||||
return [a[0]-b[0], a[1]-b[1], a[2]-b[2]];
|
||||
},
|
||||
|
||||
# vector a + vector b
|
||||
plus: func (a, b) {
|
||||
return [a[0]+b[0], a[1]+b[1], a[2]+b[2]];
|
||||
},
|
||||
|
||||
# float * vector
|
||||
product: func (scalar, vector) {
|
||||
return [scalar*vector[0], scalar*vector[1], scalar*vector[2]]
|
||||
},
|
||||
|
||||
# print vector to console
|
||||
format: func (v) {
|
||||
return sprintf("(%.1f, %.1f, %.1f)",v[0],v[1],v[2]);
|
||||
},
|
||||
|
||||
# make vector length 1.0
|
||||
normalize: func (v) {
|
||||
me.mag = me.magnitudeVector(v);
|
||||
return [v[0]/me.mag, v[1]/me.mag, v[2]/me.mag];
|
||||
},
|
||||
|
||||
crossProduct: func (a,b) {
|
||||
return [a[1]*b[2]-a[2]*b[1], a[2]*b[0]-a[0]*b[2], a[0]*b[1]-a[1]*b[0]];
|
||||
},
|
||||
|
||||
distance_from_point_to_line: func (coordP, coordL1, coordL2) {
|
||||
var P = [coordP.x(), coordP.y(), coordP.z()];
|
||||
var L1 = [coordL1.x(), coordL1.y(), coordL1.z()];
|
||||
var L2 = [coordL2.x(), coordL2.y(), coordL2.z()];
|
||||
|
||||
return me.magnitudeVector(me.crossProduct(me.minus(L2,L1), me.minus(L1,P)))/me.magnitudeVector(me.minus(L2,L1));
|
||||
},
|
||||
|
||||
# Orthogonal projection of a vector `vec` onto another `ref` !!can throw an exception if the referential vector is null!!.
|
||||
orthogonalProjection: func(vec, ref){
|
||||
# author: Paccalin
|
||||
me.op_refMag = me.magnitudeVector(ref);
|
||||
if(me.op_refMag == 0)
|
||||
die("Orthogonal projection on a null vector referential");
|
||||
|
||||
return me.dotProduct(vec, ref) / me.op_refMag;
|
||||
},
|
||||
|
||||
# Time at which two particles will be at shortest distance !!can throw an exception if the relative speed is null!!
|
||||
particleShortestDistTime: func (orig1, speed1, orig2, speed2) {
|
||||
# author: Paccalin
|
||||
# Compute the origin of the second particle in a referential positionally centered on the first particle.
|
||||
me.psdt_tgtOrig = me.minus(orig2, orig1);
|
||||
# Compute the speed of the second particle in a referential inertially based on the first particle.
|
||||
me.psdt_tgtSpeed = me.minus(speed2, speed1);
|
||||
|
||||
# Project the origin of the particle1 referential onto the line supported by the particle2 trajectory in 1 unit of time.
|
||||
# And divide the result by the magnitude of the speed to have it normalized relative to the time.
|
||||
return me.orthogonalProjection(me.opposite(me.psdt_tgtOrig), me.psdt_tgtSpeed) / me.magnitudeVector(me.psdt_tgtSpeed);
|
||||
},
|
||||
|
||||
# rotation matrices
|
||||
#
|
||||
#
|
||||
#| 1 0 0 |
|
||||
#| 0 cos(roll) -sin(roll) |
|
||||
#| 0 sin(roll) cos(roll) |
|
||||
#
|
||||
#| cos(pitch) 0 -sin(pitch) |
|
||||
#| 0 1 0 |
|
||||
#| sin(pitch) 0 cos(pitch) |
|
||||
#
|
||||
#| cos(yaw) -sin(yaw) 0 |
|
||||
#| sin(yaw) cos(yaw) 0 |
|
||||
#| 0 0 1 |
|
||||
#
|
||||
# combined matrix from yaw, pitch, roll:
|
||||
#
|
||||
#| cos(yaw)cos(pitch) -cos(yaw)sin(pitch)sin(roll)-sin(yaw)cos(roll) -cos(yaw)sin(pitch)cos(roll)+sin(yaw)sin(roll)|
|
||||
#| sin(yaw)cos(pitch) -sin(yaw)sin(pitch)sin(roll)+cos(yaw)cos(roll) -sin(yaw)sin(pitch)cos(roll)-cos(yaw)sin(roll)|
|
||||
#| sin(pitch) cos(pitch)sin(roll) cos(pitch)cos(roll)|
|
||||
#
|
||||
#
|
||||
|
||||
};
|
||||
@@ -111,6 +111,55 @@
|
||||
<z-offset-min-m type="float">100.0</z-offset-min-m>
|
||||
<z-offset-max-m type="float">2000.0</z-offset-max-m>
|
||||
</current-view>
|
||||
|
||||
<view n="101">
|
||||
<name>Balcon</name>
|
||||
<type>lookfrom</type>
|
||||
<internal>false</internal>
|
||||
<config>
|
||||
<from-model type="bool">true</from-model>
|
||||
<pitch-offset-deg>-33.0</pitch-offset-deg>
|
||||
<heading-offset-deg>42</heading-offset-deg>
|
||||
<x-offset-m>50</x-offset-m>
|
||||
<y-offset-m>50</y-offset-m>
|
||||
<z-offset-m>50</z-offset-m>
|
||||
<default-field-of-view-deg>70</default-field-of-view-deg>
|
||||
<limits>
|
||||
<enabled type="bool">false</enabled>
|
||||
</limits>
|
||||
</config>
|
||||
</view>
|
||||
<view n="102">
|
||||
<name>Follow</name>
|
||||
<type>lookat</type>
|
||||
<internal>false</internal>
|
||||
<config>
|
||||
<!--<from-model type="bool">true</from-model>
|
||||
<from-model-idx type="int">0</from-model-idx>-->
|
||||
<eye-fixed type="bool">true</eye-fixed>
|
||||
<target-lat-deg-path>rotors/main/blade[0]/flap-deg</target-lat-deg-path>
|
||||
<target-lon-deg-path>rotors/main/blade[1]/flap-deg</target-lon-deg-path>
|
||||
<target-alt-ft-path>rotors/main/blade[2]/position-deg</target-alt-ft-path>
|
||||
<eye-lat-deg-path>/position/latitude-deg</eye-lat-deg-path>
|
||||
<eye-lon-deg-path>/position/longitude-deg</eye-lon-deg-path>
|
||||
<eye-alt-ft-path>/position/altitude-ft</eye-alt-ft-path>
|
||||
<!--<eye-heading-deg-path>/orientation/heading-deg</eye-heading-deg-path>
|
||||
<eye-pitch-deg-path>/orientation/pitch-deg</eye-pitch-deg-path>
|
||||
<eye-roll-deg-path>/orientation/roll-deg</eye-roll-deg-path>-->
|
||||
<eye-heading-deg-path>/orientation/heading-deg</eye-heading-deg-path>
|
||||
<eye-pitch-deg>0</eye-pitch-deg>
|
||||
<eye-roll-deg>0</eye-roll-deg>
|
||||
<x-offset-m>50</x-offset-m>
|
||||
<y-offset-m>50</y-offset-m>
|
||||
<z-offset-m>25</z-offset-m>
|
||||
<default-field-of-view-deg>70</default-field-of-view-deg>
|
||||
<limits>
|
||||
<enabled type="bool">false</enabled>
|
||||
</limits>
|
||||
</config>
|
||||
</view>
|
||||
|
||||
<chase-distance-m type="double" archive="y">-350.0</chase-distance-m>
|
||||
|
||||
<hud>
|
||||
<path n="1">Aircraft/S-300/Hud/hud.xml</path>
|
||||
@@ -141,6 +190,7 @@
|
||||
<generic>
|
||||
<int n="0" type="int">0</int>
|
||||
<int n="2" type="int">0</int>
|
||||
<string n="6" type="string"></string><!-- string 6 used by radar lock RWR warning -->
|
||||
</generic>
|
||||
</multiplay>
|
||||
|
||||
@@ -174,6 +224,33 @@
|
||||
<dialog-name>priority</dialog-name>
|
||||
</binding>
|
||||
</item>
|
||||
<item>
|
||||
<label>Relocate to cursor last click</label>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
setprop("position/latitude-deg",getprop("sim/input/click/latitude-deg"));
|
||||
setprop("position/longitude-deg",getprop("sim/input/click/longitude-deg"));
|
||||
setprop("position/altitude-ft",getprop("sim/input/click/elevation-ft"));
|
||||
</script>
|
||||
</binding>
|
||||
</item>
|
||||
<item>
|
||||
<label>Print log to console</label>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
damage.printDamageLog();
|
||||
</script>
|
||||
</binding>
|
||||
</item>
|
||||
<item>
|
||||
<label>Event Log</label>
|
||||
<binding>
|
||||
<command>dialog-show</command>
|
||||
<dialog-name>flightlog</dialog-name>
|
||||
</binding>
|
||||
</item>
|
||||
</menu>
|
||||
</default>
|
||||
</menubar>
|
||||
@@ -201,33 +278,33 @@
|
||||
<trigger type="bool">false</trigger>
|
||||
<station n="1">
|
||||
<offsets>
|
||||
<x-m type="double"> 0</x-m>
|
||||
<y-m type="double"> 0</y-m>
|
||||
<z-m type="double"> 0</z-m>
|
||||
<x-m type="double"> -5.63782</x-m>
|
||||
<y-m type="double"> -1.1407</y-m>
|
||||
<z-m type="double"> 3.8</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="2">
|
||||
<offsets>
|
||||
<x-m type="double"> 0</x-m>
|
||||
<y-m type="double"> 0</y-m>
|
||||
<z-m type="double"> 0</z-m>
|
||||
<x-m type="double"> -6.53782</x-m>
|
||||
<y-m type="double"> -0.540702</y-m>
|
||||
<z-m type="double"> 3.8</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="3">
|
||||
<offsets>
|
||||
<x-m type="double"> 0</x-m>
|
||||
<y-m type="double"> 0</y-m>
|
||||
<z-m type="double"> 0</z-m>
|
||||
<x-m type="double"> -5.63782</x-m>
|
||||
<y-m type="double"> 1.1407</y-m>
|
||||
<z-m type="double"> 3.8</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
<station n="4">
|
||||
<offsets>
|
||||
<x-m type="double"> 0</x-m>
|
||||
<y-m type="double"> 0</y-m>
|
||||
<z-m type="double"> 0</z-m>
|
||||
<x-m type="double"> -6.53782</x-m>
|
||||
<y-m type="double"> 0.540702</y-m>
|
||||
<z-m type="double"> 3.8</z-m>
|
||||
</offsets>
|
||||
<trigger type="bool">false</trigger>
|
||||
</station>
|
||||
@@ -246,14 +323,10 @@
|
||||
</weight>
|
||||
|
||||
<armament>
|
||||
|
||||
<MP-lat type="string">rotors/main/blade[0]/flap-deg</MP-lat>
|
||||
<MP-lon type="string">rotors/main/blade[1]/flap-deg</MP-lon>
|
||||
<MP-alt type="string">rotors/main/blade[2]/flap-deg</MP-alt>
|
||||
|
||||
<models type="string">Aircraft/S-300/Models/Armament/Weapons/</models>
|
||||
<msg type="bool">true</msg>
|
||||
<damage type="bool">true</damage>
|
||||
|
||||
<enable-craters type="bool">true</enable-craters>
|
||||
</armament>
|
||||
</payload>
|
||||
|
||||
@@ -267,6 +340,10 @@
|
||||
</blade>
|
||||
<blade n="2">
|
||||
<flap-deg type="double">0</flap-deg>
|
||||
<position-deg type="double">0</position-deg>
|
||||
</blade>
|
||||
<blade n="3">
|
||||
<flap-deg type="double">0</flap-deg>
|
||||
</blade>
|
||||
</main>
|
||||
</rotors>
|
||||
@@ -304,12 +381,30 @@
|
||||
<priority0 type="int">1</priority0>
|
||||
|
||||
<nasal>
|
||||
<!--emesary><file>Aircraft/S-300/Nasal/emesary.nas</file></emesary>
|
||||
<emesary_mp_bridge><file>Aircraft/S-300/Nasal/emesary_mp_bridge.nas</file></emesary_mp_bridge-->
|
||||
<notifications>
|
||||
<file>Aircraft/S-300/Nasal/ArmamentNotification.nas</file>
|
||||
<file>Aircraft/S-300/Nasal/GeoBridgedTransmitter.nas</file>
|
||||
</notifications>
|
||||
<carrier>
|
||||
<file>Aircraft/S-300/Nasal/fdm.nas</file>
|
||||
</carrier>
|
||||
<damage>
|
||||
<file>Aircraft/S-300/Nasal/damage.nas</file>
|
||||
</damage>
|
||||
<radar_logic>
|
||||
<file>Aircraft/S-300/Nasal/radar-logic.nas</file>
|
||||
</radar_logic>
|
||||
<vector>
|
||||
<file>Aircraft/S-300/Nasal/vector.nas</file><!-- needed by the guided-missiles -->
|
||||
</vector>
|
||||
<armament>
|
||||
<file>Aircraft/S-300/Nasal/guided-missiles.nas</file>
|
||||
</armament>
|
||||
<fire_control>
|
||||
<file>Aircraft/S-300/Nasal/fire-control.nas</file>
|
||||
</fire_control>
|
||||
</nasal>
|
||||
|
||||
</PropertyList>
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
Copyright (c) 2015 onox
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<PropertyList>
|
||||
<fx>
|
||||
<launch>
|
||||
<name>missile</name>
|
||||
<path>Aircraft/S-300/Sounds/launch.wav</path>
|
||||
<mode>once</mode>
|
||||
<condition>
|
||||
<property>payload/armament/kn-06/sound-fire-on-off</property>
|
||||
</condition>
|
||||
<reference-dist>50</reference-dist>
|
||||
<max-dist>15000</max-dist>
|
||||
<position>
|
||||
<x> 0.01 </x>
|
||||
<y> 0.01 </y>
|
||||
<z> 0.01 </z>
|
||||
</position>
|
||||
<volume>
|
||||
<factor>1</factor>
|
||||
<max>1</max>
|
||||
</volume>
|
||||
</launch>
|
||||
</fx>
|
||||
</PropertyList>
|
||||
@@ -1,348 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<PropertyList>
|
||||
<name>enemies</name>
|
||||
<modal>false</modal>
|
||||
<layout>vbox</layout>
|
||||
<draggable>true</draggable>
|
||||
<resizable>true</resizable>
|
||||
<width>250</width>
|
||||
<height>550</height>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<empty><stretch>1</stretch></empty>
|
||||
|
||||
<text>
|
||||
<label>Targets</label>
|
||||
</text>
|
||||
|
||||
<empty><stretch>1</stretch></empty>
|
||||
|
||||
<button>
|
||||
<pref-width>16</pref-width>
|
||||
<pref-height>16</pref-height>
|
||||
<legend></legend>
|
||||
<default>1</default>
|
||||
<keynum>27</keynum>
|
||||
<border>2</border>
|
||||
<binding>
|
||||
<command>dialog-close</command>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
|
||||
<text>
|
||||
<label>Callsigns:</label>
|
||||
<height>25</height>
|
||||
</text>
|
||||
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>1</label>
|
||||
<property>enemies/e1</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>2</label>
|
||||
<property>enemies/e2</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>3</label>
|
||||
<property>enemies/e3</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>4</label>
|
||||
<property>enemies/e4</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>5</label>
|
||||
<property>enemies/e5</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>6</label>
|
||||
<property>enemies/e6</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>7</label>
|
||||
<property>enemies/e7</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>8</label>
|
||||
<property>enemies/e8</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>9</label>
|
||||
<property>enemies/e9</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>10</label>
|
||||
<property>enemies/e10</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>11</label>
|
||||
<property>enemies/e11</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<input>
|
||||
<width>250</width>
|
||||
<height>25</height>
|
||||
<label>12</label>
|
||||
<property>enemies/e12</property>
|
||||
<live>true</live>
|
||||
<halign>left</halign>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
<color>
|
||||
<red>1</red>
|
||||
<green>0.5</green>
|
||||
<blue>0.5</blue>
|
||||
</color>
|
||||
<enable>
|
||||
<not>
|
||||
<property>enemies/opfor-switch</property>
|
||||
</not>
|
||||
<not>
|
||||
<property>enemies/friend-switch</property>
|
||||
</not>
|
||||
</enable>
|
||||
</input>
|
||||
<checkbox>
|
||||
<width>12</width>
|
||||
<height>12</height>
|
||||
<property>/enemies/opfor-switch</property>
|
||||
<label>Target all non-OPFOR</label>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
</checkbox>
|
||||
<checkbox>
|
||||
<width>12</width>
|
||||
<height>12</height>
|
||||
<property>/enemies/friend-switch</property>
|
||||
<label>Target all OPFOR</label>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
</checkbox>
|
||||
</PropertyList>
|
||||
@@ -0,0 +1,91 @@
|
||||
<?xml version="1.0"?>
|
||||
<PropertyList>
|
||||
<name>flightlog</name>
|
||||
<modal>false</modal>
|
||||
<layout>vbox</layout>
|
||||
<draggable>true</draggable>
|
||||
<resizable>true</resizable>
|
||||
|
||||
<group>
|
||||
<layout>hbox</layout>
|
||||
<empty><stretch>1</stretch></empty>
|
||||
|
||||
<text>
|
||||
<label>Event log</label>
|
||||
</text>
|
||||
|
||||
<empty><stretch>1</stretch></empty>
|
||||
|
||||
<button>
|
||||
<pref-width>16</pref-width>
|
||||
<pref-height>16</pref-height>
|
||||
<legend></legend>
|
||||
<default>1</default>
|
||||
<keynum>27</keynum>
|
||||
<border>2</border>
|
||||
<binding>
|
||||
<command>dialog-close</command>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
|
||||
<nasal>
|
||||
<open>
|
||||
<![CDATA[
|
||||
setprop("sim/model/mig21/event-log", "Click refresh to see the event log..");
|
||||
]]>
|
||||
</open>
|
||||
<close>
|
||||
<![CDATA[
|
||||
setprop("sim/model/mig21/event-log", "");
|
||||
]]>
|
||||
</close>
|
||||
</nasal>
|
||||
|
||||
<button>
|
||||
<!--<x>0</x>
|
||||
<y>0</y>-->
|
||||
<legend>Refresh</legend>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script><![CDATA[
|
||||
var str = "";
|
||||
if (1) {
|
||||
var buffer = damage.damageLog.get_buffer();
|
||||
|
||||
foreach(entry; buffer) {
|
||||
str = str~""~entry.time~" "~entry.message~"\n";
|
||||
}
|
||||
} else {
|
||||
str = "The aircraft must be still to read the event log.";
|
||||
}
|
||||
setprop("sim/model/mig21/event-log", str);
|
||||
]]></script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<text>
|
||||
<label>Log:</label>
|
||||
</text>
|
||||
|
||||
<textbox>
|
||||
<!-- position -->
|
||||
<!--<x>100</x>
|
||||
<y>100</y>-->
|
||||
|
||||
<!-- dimensions -->
|
||||
<pref-width>500</pref-width>
|
||||
<pref-height>500</pref-height>
|
||||
|
||||
<property>/sim/model/mig21/event-log</property>
|
||||
<live>true</live>
|
||||
<slider>15</slider> <!--width for slider -->
|
||||
<wrap>false</wrap> <!-- don't wrap text; default: true -->
|
||||
<top-line>0</top-line> <!-- line to show at top, -ve numbers show last line -->
|
||||
<editable>false</editable> <!-- if the puLargeInput is supposed to be editable -->
|
||||
</textbox>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,148 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<PropertyList>
|
||||
<name>priority</name>
|
||||
<modal>false</modal>
|
||||
<layout>vbox</layout>
|
||||
<draggable>true</draggable>
|
||||
<resizable>false</resizable>
|
||||
<width>125</width>
|
||||
<height>200</height>
|
||||
|
||||
<group>
|
||||
<empty><stretch>1</stretch></empty>
|
||||
<layout>hbox</layout>
|
||||
<text>
|
||||
<label>Priority</label>
|
||||
</text>
|
||||
<empty><stretch>1</stretch></empty>
|
||||
<button>
|
||||
<pref-width>16</pref-width>
|
||||
<pref-height>16</pref-height>
|
||||
<legend></legend>
|
||||
<default>1</default>
|
||||
<keynum>27</keynum>
|
||||
<border>2</border>
|
||||
<binding>
|
||||
<command>dialog-close</command>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>dialog-apply</command>
|
||||
</binding>
|
||||
</button>
|
||||
</group>
|
||||
<group>
|
||||
<layout>table</layout>
|
||||
<text>
|
||||
<label>Random</label>
|
||||
<halign>right</halign>
|
||||
<row>0</row>
|
||||
<col>0</col>
|
||||
</text>
|
||||
<radio>
|
||||
<row>0</row>
|
||||
<col>1</col>
|
||||
<property>priority0</property>
|
||||
<live>true</live>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("priority",0);setprop("priority0",1);setprop("priority6",0);setprop("priority1",0);setprop("priority2",0);setprop("priority3",0);setprop("priority4",0);setprop("priority5",0);</script>
|
||||
</binding>
|
||||
</radio>
|
||||
<text>
|
||||
<label>Highest</label>
|
||||
<halign>right</halign>
|
||||
<row>1</row>
|
||||
<col>0</col>
|
||||
</text>
|
||||
<radio>
|
||||
<row>1</row>
|
||||
<col>1</col>
|
||||
<property>priority1</property>
|
||||
<live>true</live>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("priority",1);setprop("priority1",1);setprop("priority0",0);setprop("priority6",0);setprop("priority2",0);setprop("priority3",0);setprop("priority4",0);setprop("priority5",0);</script>
|
||||
</binding>
|
||||
</radio>
|
||||
<text>
|
||||
<label>Lowest</label>
|
||||
<halign>right</halign>
|
||||
<row>2</row>
|
||||
<col>0</col>
|
||||
</text>
|
||||
<radio>
|
||||
<row>2</row>
|
||||
<col>1</col>
|
||||
<property>priority2</property>
|
||||
<live>true</live>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("priority",2);setprop("priority2",1);setprop("priority0",0);setprop("priority1",0);setprop("priority6",0);setprop("priority3",0);setprop("priority4",0);setprop("priority5",0);</script>
|
||||
</binding>
|
||||
</radio>
|
||||
<text>
|
||||
<label>Fastest</label>
|
||||
<halign>right</halign>
|
||||
<row>3</row>
|
||||
<col>0</col>
|
||||
</text>
|
||||
<radio>
|
||||
<row>3</row>
|
||||
<col>1</col>
|
||||
<property>priority3</property>
|
||||
<live>true</live>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("priority",3);setprop("priority3",1);setprop("priority0",0);setprop("priority1",0);setprop("priority2",0);setprop("priority6",0);setprop("priority4",0);setprop("priority5",0);</script>
|
||||
</binding>
|
||||
</radio>
|
||||
<text>
|
||||
<label>Slowest</label>
|
||||
<halign>right</halign>
|
||||
<row>4</row>
|
||||
<col>0</col>
|
||||
</text>
|
||||
<radio>
|
||||
<row>4</row>
|
||||
<col>1</col>
|
||||
<property>priority4</property>
|
||||
<live>true</live>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("priority",4);setprop("priority4",1);setprop("priority0",0);setprop("priority1",0);setprop("priority2",0);setprop("priority3",0);setprop("priority6",0);setprop("priority5",0);</script>
|
||||
</binding>
|
||||
</radio>
|
||||
<text>
|
||||
<label>Closest</label>
|
||||
<halign>right</halign>
|
||||
<row>5</row>
|
||||
<col>0</col>
|
||||
</text>
|
||||
<radio>
|
||||
<row>5</row>
|
||||
<col>1</col>
|
||||
<property>priority5</property>
|
||||
<live>true</live>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("priority",5);setprop("priority5",1);setprop("priority0",0);setprop("priority1",0);setprop("priority2",0);setprop("priority3",0);setprop("priority4",0);setprop("priority6",0);</script>
|
||||
</binding>
|
||||
</radio>
|
||||
<text>
|
||||
<label>Farthest</label>
|
||||
<halign>right</halign>
|
||||
<row>6</row>
|
||||
<col>0</col>
|
||||
</text>
|
||||
<radio>
|
||||
<row>6</row>
|
||||
<col>1</col>
|
||||
<property>priority6</property>
|
||||
<live>true</live>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>setprop("priority",6);setprop("priority6",1);setprop("priority0",0);setprop("priority1",0);setprop("priority2",0);setprop("priority3",0);setprop("priority4",0);setprop("priority5",0);</script>
|
||||
</binding>
|
||||
</radio>
|
||||
</group>
|
||||
</PropertyList>
|
||||
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<submodel>
|
||||
<name>bullet flack cannon</name>
|
||||
<model>Aircraft/JA37/Models/Armament/Weapons/KCA/flack.xml</model>
|
||||
<speed>0</speed>
|
||||
<repeat>false</repeat>
|
||||
<delay>0</delay>
|
||||
<count>1</count>
|
||||
<x-offset>0</x-offset>
|
||||
<y-offset>0</y-offset>
|
||||
<z-offset>0</z-offset>
|
||||
<yaw-offset>0</yaw-offset>
|
||||
<pitch-offset>0</pitch-offset>
|
||||
<eda>100</eda>
|
||||
<wind>false</wind>
|
||||
<buoyancy>32.1</buoyancy>
|
||||
<aero-stabilised>false</aero-stabilised>
|
||||
<fuse-range>0</fuse-range>
|
||||
<life>6</life>
|
||||
</submodel>
|
||||
</PropertyList>
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<submodel>
|
||||
<name>bullet splash cannon</name>
|
||||
<model>Aircraft/JA37/Models/Armament/Weapons/KCA/splash.xml</model>
|
||||
<speed>0</speed>
|
||||
<repeat>false</repeat>
|
||||
<delay>0</delay>
|
||||
<count>1</count>
|
||||
<x-offset>0</x-offset>
|
||||
<y-offset>0</y-offset>
|
||||
<z-offset>0</z-offset>
|
||||
<yaw-offset>0</yaw-offset>
|
||||
<pitch-offset>0</pitch-offset>
|
||||
<eda>100</eda>
|
||||
<wind>false</wind>
|
||||
<buoyancy>32.1</buoyancy>
|
||||
<aero-stabilised>false</aero-stabilised>
|
||||
<fuse-range>0</fuse-range>
|
||||
<life>3</life>
|
||||
</submodel>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,27 +0,0 @@
|
||||
AC3Db
|
||||
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0 0 0 shi 10 trans 0
|
||||
OBJECT world
|
||||
kids 1
|
||||
OBJECT poly
|
||||
name "rect"
|
||||
texture "flack.rgb"
|
||||
crease 45.000000
|
||||
numvert 4
|
||||
1.98 -1.98 8.65485e-08
|
||||
-1.98 -1.98 -8.65485e-08
|
||||
-1.98 1.98 -8.65485e-08
|
||||
1.98 1.98 8.65485e-08
|
||||
numsurf 2
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
3 0 1
|
||||
1 1 0
|
||||
0 0 0
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
1 1 0
|
||||
3 0 1
|
||||
2 1 1
|
||||
kids 0
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<!-- cannon impact -->
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>flack.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>billboard</type>
|
||||
<spherical>true</spherical>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>scale</type>
|
||||
<object-name>rect</object-name>
|
||||
<x-offset>10</x-offset>
|
||||
<y-offset>10</y-offset>
|
||||
<z-offset>10</z-offset>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,97 +0,0 @@
|
||||
AC3Db
|
||||
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0 0 0 shi 10 trans 0
|
||||
OBJECT world
|
||||
kids 1
|
||||
OBJECT poly
|
||||
name "puff"
|
||||
loc 0 -3.35276e-009 0
|
||||
texture "puff.rgb"
|
||||
crease 61.000000
|
||||
numvert 13
|
||||
0.225 0 0
|
||||
0.194856 0.1125 0
|
||||
0.1125 0.194856 0
|
||||
-1.3411e-008 0.225 0
|
||||
-0.1125 0.194856 0
|
||||
-0.194856 0.1125 0
|
||||
-0.225 -2.01166e-008 0
|
||||
-0.194856 -0.1125 0
|
||||
-0.1125 -0.194856 0
|
||||
2.68221e-008 -0.225 0
|
||||
0.1125 -0.194856 0
|
||||
0.194856 -0.1125 0
|
||||
0 0 0
|
||||
numsurf 12
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
0 0.78125 0.53125
|
||||
1 0.743046 0.667969
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
1 0.743046 0.667969
|
||||
2 0.638672 0.768054
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
2 0.638672 0.768054
|
||||
3 0.496094 0.804688
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
3 0.496094 0.804688
|
||||
4 0.353516 0.768054
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
4 0.353516 0.768054
|
||||
5 0.249141 0.667969
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
5 0.249141 0.667969
|
||||
6 0.210938 0.53125
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
6 0.210938 0.53125
|
||||
7 0.249141 0.394531
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
7 0.249141 0.394531
|
||||
8 0.353516 0.294446
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
8 0.353516 0.294446
|
||||
9 0.496094 0.257813
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
9 0.496094 0.257813
|
||||
10 0.638672 0.294446
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
10 0.638672 0.294446
|
||||
11 0.743046 0.394531
|
||||
12 0.496094 0.53125
|
||||
SURF 0x20
|
||||
mat 0
|
||||
refs 3
|
||||
11 0.743046 0.394531
|
||||
0 0.78125 0.53125
|
||||
12 0.496094 0.53125
|
||||
kids 0
|
||||
@@ -1,33 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<path>puff.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>billboard</type>
|
||||
<spherical>true</spherical>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>scale</type>
|
||||
<object-name>puff</object-name>
|
||||
<property>sim/time/elapsed-sec</property>
|
||||
<offset>-0.5</offset>
|
||||
<x-min>0.1</x-min>
|
||||
<y-min>0.1</y-min>
|
||||
<z-min>0.1</z-min>
|
||||
<x-factor>4.0</x-factor>
|
||||
<y-factor>4.0</y-factor>
|
||||
<z-factor>4.0</z-factor>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>blend</type>
|
||||
<object-name>puff</object-name>
|
||||
<property>sim/time/elapsed-sec</property>
|
||||
<factor>0.6</factor>
|
||||
<!-- <offset>0.8</offset> -->
|
||||
<min>0.1</min>
|
||||
<max>1</max>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
@@ -1,148 +0,0 @@
|
||||
AC3Db
|
||||
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0.2 0.2 0.2 emis 1 1 1 spec 0 0 0 shi 0 trans 0
|
||||
MATERIAL "ac3dmat14" rgb 1 1 1 amb 0.2 0.2 0.2 emis 0 0 0 spec 0 0 0 shi 0 trans 0
|
||||
OBJECT world
|
||||
kids 1
|
||||
OBJECT poly
|
||||
name "splash"
|
||||
loc -0.00999996 0.54 2.98023e-08
|
||||
crease 45.000000
|
||||
numvert 24
|
||||
0.166772 4.46 -4.47129e-08
|
||||
0.117925 4.46 -0.117925
|
||||
4.65661e-09 4.46 -0.166772
|
||||
-0.117925 4.46 -0.117925
|
||||
-0.166772 4.46 -2.98023e-08
|
||||
-0.117925 4.46 0.117925
|
||||
-3.35276e-08 4.46 0.166772
|
||||
0.117925 4.46 0.117925
|
||||
0.729 -0.54 -9.498e-08
|
||||
0.515481 -0.54 -0.515481
|
||||
1.22935e-07 -0.54 -0.729
|
||||
-0.515481 -0.54 -0.515481
|
||||
-0.729 -0.54 -2.98023e-08
|
||||
-0.515481 -0.54 0.515481
|
||||
-5.12227e-08 -0.54 0.729
|
||||
0.515481 -0.54 0.515481
|
||||
1 0.54 -1.19209e-07
|
||||
0.707107 0.54 -0.707107
|
||||
1.78814e-07 0.54 -1
|
||||
-0.707107 0.54 -0.707107
|
||||
-1 0.54 -2.98023e-08
|
||||
-0.707107 0.54 0.707107
|
||||
-5.96046e-08 0.54 1
|
||||
0.707107 0.54 0.707107
|
||||
numsurf 16
|
||||
SURF 0x0
|
||||
mat 1
|
||||
refs 4
|
||||
16 0.125 1
|
||||
0 0.125 0
|
||||
7 0 0
|
||||
23 0 1
|
||||
SURF 0x0
|
||||
mat 1
|
||||
refs 4
|
||||
17 0.25 1
|
||||
1 0.25 0
|
||||
0 0.125 0
|
||||
16 0.125 1
|
||||
SURF 0x0
|
||||
mat 1
|
||||
refs 4
|
||||
18 0.375 1
|
||||
2 0.375 0
|
||||
1 0.25 0
|
||||
17 0.25 1
|
||||
SURF 0x0
|
||||
mat 1
|
||||
refs 4
|
||||
19 0.5 1
|
||||
3 0.5 0
|
||||
2 0.375 0
|
||||
18 0.375 1
|
||||
SURF 0x0
|
||||
mat 1
|
||||
refs 4
|
||||
20 0.625 1
|
||||
4 0.625 0
|
||||
3 0.5 0
|
||||
19 0.5 1
|
||||
SURF 0x0
|
||||
mat 1
|
||||
refs 4
|
||||
21 0.75 1
|
||||
5 0.75 0
|
||||
4 0.625 0
|
||||
20 0.625 1
|
||||
SURF 0x0
|
||||
mat 1
|
||||
refs 4
|
||||
22 0.875 1
|
||||
6 0.875 0
|
||||
5 0.75 0
|
||||
21 0.75 1
|
||||
SURF 0x0
|
||||
mat 1
|
||||
refs 4
|
||||
23 1 1
|
||||
7 1 0
|
||||
6 0.875 0
|
||||
22 0.875 1
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 4
|
||||
23 0 1
|
||||
15 0 0
|
||||
8 0.125 0
|
||||
16 0.125 1
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 4
|
||||
16 0.125 1
|
||||
8 0.125 0
|
||||
9 0.25 0
|
||||
17 0.25 1
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 4
|
||||
17 0.25 1
|
||||
9 0.25 0
|
||||
10 0.375 0
|
||||
18 0.375 1
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 4
|
||||
18 0.375 1
|
||||
10 0.375 0
|
||||
11 0.5 0
|
||||
19 0.5 1
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 4
|
||||
19 0.5 1
|
||||
11 0.5 0
|
||||
12 0.625 0
|
||||
20 0.625 1
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 4
|
||||
20 0.625 1
|
||||
12 0.625 0
|
||||
13 0.75 0
|
||||
21 0.75 1
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 4
|
||||
21 0.75 1
|
||||
13 0.75 0
|
||||
14 0.875 0
|
||||
22 0.875 1
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 4
|
||||
22 0.875 1
|
||||
14 0.875 0
|
||||
15 1 0
|
||||
23 1 1
|
||||
kids 0
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<path>splash.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>blend</type>
|
||||
<object-name>splash</object-name>
|
||||
<property>sim/time/elapsed-sec</property>
|
||||
<factor>0.2</factor>
|
||||
<min>0</min>
|
||||
<max>1</max>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,72 +0,0 @@
|
||||
AC3Db
|
||||
MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 1 1 1 spec 0 0 0 shi 0 trans 0
|
||||
OBJECT world
|
||||
kids 1
|
||||
OBJECT poly
|
||||
name "trace"
|
||||
crease 45.000000
|
||||
numvert 7
|
||||
-20 0.02 -0.034642
|
||||
-20 -0.02 -0.034644
|
||||
-20 -0.04 0
|
||||
-20 -0.02 0.034642
|
||||
-20 0.02 0.034644
|
||||
-20 0.04 0
|
||||
0 0 0
|
||||
numsurf 9
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 3
|
||||
0 0 0
|
||||
6 0 0
|
||||
1 0 0
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 3
|
||||
1 0 0
|
||||
6 0 0
|
||||
2 0 0
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 3
|
||||
2 0 0
|
||||
6 0 0
|
||||
3 0 0
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 3
|
||||
3 0 0
|
||||
6 0 0
|
||||
4 0 0
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 3
|
||||
4 0 0
|
||||
6 0 0
|
||||
5 0 0
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 3
|
||||
6 0 0
|
||||
0 0 0
|
||||
5 0 0
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 3
|
||||
0 0 0
|
||||
1 0 0
|
||||
5 0 0
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 3
|
||||
2 0 0
|
||||
3 0 0
|
||||
4 0 0
|
||||
SURF 0x0
|
||||
mat 0
|
||||
refs 4
|
||||
1 0 0
|
||||
2 0 0
|
||||
4 0 0
|
||||
5 0 0
|
||||
kids 0
|
||||
@@ -1,25 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
<path>tracer.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>dist-scale</type>
|
||||
<name>30mm tracer cannon</name>
|
||||
<object-name>trace</object-name>
|
||||
<interpolation>
|
||||
<entry>
|
||||
<ind>0</ind>
|
||||
<dep>0.4</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind>400</ind>
|
||||
<dep>20</dep>
|
||||
</entry>
|
||||
<entry>
|
||||
<ind>1000</ind>
|
||||
<dep>0</dep>
|
||||
</entry>
|
||||
</interpolation>
|
||||
</animation>
|
||||
</PropertyList>
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim</name>
|
||||
<path>explosion-bounds.ac</path>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/JA37/Models/Armament/Weapons/MP_missile/smoke_trail.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>Sphere</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<nopreview/>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Aircraft/JA37/Models/Effects/ja37-metal</inherits-from>
|
||||
<object-name>aim-120</object-name>
|
||||
</effect>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,175 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-smoke-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,175 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-smoke-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,175 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-smoke-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,175 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-smoke-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,175 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-id-4</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-smoke-id-4</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,175 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-id-5</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-smoke-id-5</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,175 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-id-6</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-smoke-id-6</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,175 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-id-7</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>80</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 1.0 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>2</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.8 </value></red>
|
||||
<green><value> 0.5 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>55</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.5</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>explosion-smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">false</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/explode-smoke-id-7</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-180</theta-min-deg>
|
||||
<theta-max-deg>180</theta-max-deg>
|
||||
<phi-min-deg>-180</phi-min-deg>
|
||||
<phi-max-deg>180</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>500</value>
|
||||
<spread>60</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>50</value>
|
||||
<spread>10</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 0.3 </value></red>
|
||||
<green><value> 0.3 </value></green>
|
||||
<blue><value> 0.25 </value></blue>
|
||||
<alpha><value> 0.5 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.4 </value></red>
|
||||
<green><value> 0.4 </value></green>
|
||||
<blue><value> 0.4 </value></blue>
|
||||
<alpha><value> 0.04 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>60</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>40</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,93 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<PropertyList>
|
||||
<particlesystem>
|
||||
<name>flare-smoke</name>
|
||||
<texture>puff.png</texture>
|
||||
<emissive>false</emissive>
|
||||
<lighting>false</lighting>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
<attach>world</attach>
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
<shooter>
|
||||
<theta-min-deg>-0.1</theta-min-deg>
|
||||
<theta-max-deg>0.1</theta-max-deg>
|
||||
<phi-min-deg>-0.1</phi-min-deg>
|
||||
<phi-max-deg>0.1</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-max-deg-sec>300</x-max-deg-sec>
|
||||
<x-min-deg-sec>-300</x-min-deg-sec>
|
||||
<y-max-deg-sec>300</y-max-deg-sec>
|
||||
<y-min-deg-sec>-300</y-min-deg-sec>
|
||||
<z-max-deg-sec>300</z-max-deg-sec>
|
||||
<z-min-deg-sec>-300</z-min-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>30</value>
|
||||
<spread>5</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
<align>billboard</align>
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red>
|
||||
<value>1</value>
|
||||
</red>
|
||||
<green>
|
||||
<value>1</value>
|
||||
</green>
|
||||
<blue>
|
||||
<value>1</value>
|
||||
</blue>
|
||||
<alpha>
|
||||
<value>1</value>
|
||||
</alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1</value>
|
||||
</size>
|
||||
</start>
|
||||
<end>
|
||||
<color>
|
||||
<red>
|
||||
<value>1</value>
|
||||
</red>
|
||||
<green>
|
||||
<value>1</value>
|
||||
</green>
|
||||
<blue>
|
||||
<value>1</value>
|
||||
</blue>
|
||||
<alpha>
|
||||
<value>0.05</value>
|
||||
</alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>25</value>
|
||||
</size>
|
||||
</end>
|
||||
<life-sec>
|
||||
<value>15</value>
|
||||
</life-sec>
|
||||
<mass-kg>0.005</mass-kg>
|
||||
<radius-m>0.175</radius-m>
|
||||
</particle>
|
||||
<program>
|
||||
<fluid>air</fluid>
|
||||
<gravity type="bool">true</gravity>
|
||||
<wind type="bool">true</wind>
|
||||
</program>
|
||||
</particlesystem>
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-0</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-1</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-2</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-3</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-4</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-4</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-5</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-5</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-6</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-6</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,187 +0,0 @@
|
||||
<PropertyList>
|
||||
|
||||
<particlesystem>
|
||||
<name>smoke</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-7</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>7</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 1 </value></red>
|
||||
<green><value> 1 </value></green>
|
||||
<blue><value> 1 </value></blue>
|
||||
<alpha><value> 1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>10</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>200</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> false </gravity>
|
||||
<wind typ="bool"> false </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
<particlesystem>
|
||||
<name>exhaust</name>
|
||||
<texture>smoke.png</texture>
|
||||
|
||||
<emissive type="bool">true</emissive>
|
||||
<lighting type="bool">false</lighting>
|
||||
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/smoke-id-7</property>
|
||||
</condition>
|
||||
|
||||
<attach>world</attach>
|
||||
|
||||
<placer>
|
||||
<type>point</type>
|
||||
</placer>
|
||||
|
||||
<offsets>
|
||||
<x-m>0.0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
|
||||
<shooter>
|
||||
<theta-min-deg>-1.5</theta-min-deg>
|
||||
<theta-max-deg>1.5</theta-max-deg>
|
||||
<phi-min-deg>-1.5</phi-min-deg>
|
||||
<phi-max-deg>1.5</phi-max-deg>
|
||||
<speed-mps>
|
||||
<value>0</value>
|
||||
<spread>0</spread>
|
||||
</speed-mps>
|
||||
<rotation-speed>
|
||||
<x-min-deg-sec>0</x-min-deg-sec>
|
||||
<y-min-deg-sec>0</y-min-deg-sec>
|
||||
<z-min-deg-sec>0</z-min-deg-sec>
|
||||
<x-max-deg-sec>0</x-max-deg-sec>
|
||||
<y-max-deg-sec>0</y-max-deg-sec>
|
||||
<z-max-deg-sec>0</z-max-deg-sec>
|
||||
</rotation-speed>
|
||||
</shooter>
|
||||
|
||||
<counter>
|
||||
<particles-per-sec>
|
||||
<value>100</value>
|
||||
<spread>0</spread>
|
||||
</particles-per-sec>
|
||||
</counter>
|
||||
|
||||
<align>billboard</align>
|
||||
|
||||
<particle>
|
||||
<start>
|
||||
<color>
|
||||
<red><value> 1.0 </value></red>
|
||||
<green><value> 0.7 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.7 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.0</value>
|
||||
</size>
|
||||
</start>
|
||||
|
||||
<end>
|
||||
<color>
|
||||
<red><value> 0.9 </value></red>
|
||||
<green><value> 0.6 </value></green>
|
||||
<blue><value> 0.2 </value></blue>
|
||||
<alpha><value> 0.1 </value></alpha>
|
||||
</color>
|
||||
<size>
|
||||
<value>1.5</value>
|
||||
</size>
|
||||
</end>
|
||||
|
||||
<life-sec>
|
||||
<value>0.15</value>
|
||||
</life-sec>
|
||||
|
||||
<mass-kg> 0.5 </mass-kg>
|
||||
<radius-m> 0.5 </radius-m>
|
||||
</particle>
|
||||
|
||||
<program>
|
||||
<fluid> air </fluid>
|
||||
<gravity type="bool"> true </gravity>
|
||||
<wind typ="bool"> true </wind>
|
||||
</program>
|
||||
|
||||
</particlesystem>
|
||||
|
||||
</PropertyList>
|
||||
|
Before Width: | Height: | Size: 11 KiB |
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/msl-id-0</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/S-300N/motor-smoke-0.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/s-300n/explosion-0.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/msl-id-1</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/S-300N/motor-smoke-1.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/s-300n/explosion-1.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/msl-id-2</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/S-300N/motor-smoke-2.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/s-300n/explosion-2.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/msl-id-3</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/S-300N/motor-smoke-3.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/s-300n/explosion-3.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>aim-120</name>
|
||||
<path>aim-120.ac</path>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>aim-120</object-name>
|
||||
<condition>
|
||||
<property>payload/armament/s-300n/flags/msl-id-4</property>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/S-300N/motor-smoke-4.xml</path>
|
||||
<offsets>
|
||||
<x-m>1.83937</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<name>explosion</name>
|
||||
<path>Aircraft/fleet/Models/Armament/Weapons/s-300n/explosion-4.xml</path>
|
||||
<offsets>
|
||||
<x-m>0</x-m>
|
||||
<y-m>0</y-m>
|
||||
<z-m>0</z-m>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<animation>
|
||||
<object-name>aim-120</object-name>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||