Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b047f4fcb | ||
|
|
a522abc104 | ||
|
|
d07fe92385 | ||
|
|
75d3676be1 | ||
|
|
e7d13b67c3 | ||
|
|
cfe84c34c6 | ||
|
|
0888bb7cb4 | ||
|
|
61e59ab6ab | ||
|
|
fd6acd3131 | ||
|
|
f95eeb9e7d | ||
|
|
dd592d26c4 | ||
|
|
3e19ea712b | ||
|
|
4d0f080c22 | ||
|
|
122079d0d3 | ||
|
|
544d39ae6c | ||
|
|
092e8471d7 | ||
|
|
56e39e98a1 | ||
|
|
63908624b8 |
@@ -4,15 +4,15 @@
|
||||
|
||||
<sim>
|
||||
|
||||
<description>General Atomics MQ-9 Reaper bombable</description>
|
||||
<description>General Atomics MQ-9 Reaper (bombable)</description>
|
||||
<aircraft-version>1.2</aircraft-version>
|
||||
<author>Petar Jedvaj</author>
|
||||
<author>Petar Jedvaj, J Maverick 16</author>
|
||||
<status>Alpha</status>
|
||||
<rating>
|
||||
<FDM type="int">1</FDM>
|
||||
<systems type="int">1</systems>
|
||||
<cockpit type="int">1</cockpit>
|
||||
<model type="int">1</model>
|
||||
<model type="int">2</model>
|
||||
</rating>
|
||||
<flight-model>jsb</flight-model>
|
||||
<aero>MQ-9-JSBSim</aero>
|
||||
@@ -20,6 +20,8 @@
|
||||
<startup>
|
||||
<splash-texture>Aircraft/MQ-9/Splash.png</splash-texture>
|
||||
</startup>
|
||||
|
||||
<minimum-fg-version>2018.2</minimum-fg-version>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/MQ-9/Models/MQ-9.xml</path>
|
||||
@@ -89,6 +91,15 @@
|
||||
<blue type="float">0.22</blue>
|
||||
</color>
|
||||
<color n="1">
|
||||
<alpha type="float">0.85</alpha>
|
||||
<antialiased type="bool">true</antialiased>
|
||||
<brightness type="float">0.85</brightness>
|
||||
<transparent type="bool">true</transparent>
|
||||
<red type="float">1.0</red>
|
||||
<green type="float">1.0</green>
|
||||
<blue type="float">1.0</blue>
|
||||
</color>
|
||||
<color n="2">
|
||||
<alpha type="float">0.85</alpha>
|
||||
<antialiased type="bool">true</antialiased>
|
||||
<brightness type="float">0.85</brightness>
|
||||
@@ -111,7 +122,7 @@
|
||||
<from-model type="bool">true</from-model>
|
||||
<from-model-idx type="int">0</from-model-idx>
|
||||
<ground-level-nearplane-m type="double">0.01f</ground-level-nearplane-m>
|
||||
<pitch-offset-deg>-28</pitch-offset-deg>
|
||||
<pitch-offset-deg>-5</pitch-offset-deg>
|
||||
<x-offset-m archive="y"> 0.0000 </x-offset-m>
|
||||
<y-offset-m archive="y"> -0.2792 </y-offset-m>
|
||||
<z-offset-m archive="y"> -4.3564 </z-offset-m>
|
||||
@@ -190,6 +201,21 @@
|
||||
<name>d</name>
|
||||
<desc>Deselect all stations</desc>
|
||||
</key>
|
||||
|
||||
<key>
|
||||
<name>Ctrl-O</name>
|
||||
<desc>Toggle IR ON/OFF</desc>
|
||||
</key>
|
||||
|
||||
<key>
|
||||
<name>Ctrl-L</name>
|
||||
<desc>Toggle Laser ON/OFF</desc>
|
||||
</key>
|
||||
|
||||
<key>
|
||||
<name>Shift-L</name>
|
||||
<desc>Toggle All Lights ON/OFF</desc>
|
||||
</key>
|
||||
|
||||
<key>
|
||||
<name>f</name>
|
||||
@@ -205,6 +231,14 @@
|
||||
</help>
|
||||
|
||||
</sim>
|
||||
|
||||
<!-- MP Damage -->
|
||||
|
||||
<payload>
|
||||
<armament>
|
||||
<msg type="bool">true</msg>
|
||||
</armament>
|
||||
</payload>
|
||||
|
||||
<!-- Armament -->
|
||||
|
||||
@@ -244,9 +278,9 @@
|
||||
<name>1</name>
|
||||
<desc>Station 1</desc>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<command>property-toggle</command>
|
||||
<property>fdm/jsbsim/systems/armament/station1/selected</property>
|
||||
<value>1</value>
|
||||
<!-- <value>1</value> -->
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
@@ -254,9 +288,9 @@
|
||||
<name>2</name>
|
||||
<desc>Station 2</desc>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<command>property-toggle</command>
|
||||
<property>fdm/jsbsim/systems/armament/station2/selected</property>
|
||||
<value>1</value>
|
||||
<!-- <value>1</value> -->
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
@@ -264,9 +298,9 @@
|
||||
<name>3</name>
|
||||
<desc>Station 3</desc>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<command>property-toggle</command>
|
||||
<property>fdm/jsbsim/systems/armament/station3/selected</property>
|
||||
<value>1</value>
|
||||
<!-- <value>1</value> -->
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
@@ -274,9 +308,9 @@
|
||||
<name>4</name>
|
||||
<desc>Station 4</desc>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<command>property-toggle</command>
|
||||
<property>fdm/jsbsim/systems/armament/station4/selected</property>
|
||||
<value>1</value>
|
||||
<!-- <value>1</value> -->
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
@@ -284,9 +318,9 @@
|
||||
<name>5</name>
|
||||
<desc>Station 5</desc>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<command>property-toggle</command>
|
||||
<property>fdm/jsbsim/systems/armament/station5/selected</property>
|
||||
<value>1</value>
|
||||
<!-- <value>1</value> -->
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
@@ -294,9 +328,9 @@
|
||||
<name>6</name>
|
||||
<desc>Station 6</desc>
|
||||
<binding>
|
||||
<command>property-assign</command>
|
||||
<command>property-toggle</command>
|
||||
<property>fdm/jsbsim/systems/armament/station6/selected</property>
|
||||
<value>1</value>
|
||||
<!-- <value>1</value> -->
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
@@ -337,12 +371,68 @@
|
||||
</mod-up>
|
||||
</key>
|
||||
|
||||
<!-- <key n="23">
|
||||
<name>Ctrl-w</name>
|
||||
<desc>MasterArm</desc>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/controls/armament/masterarm</property>
|
||||
</binding>
|
||||
</key> -->
|
||||
|
||||
<key n="12">
|
||||
<name>Ctrl-L</name>
|
||||
<desc>LaserArm</desc>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/controls/armament/laserarm</property>
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
<key n="15">
|
||||
<name>Ctrl-O</name>
|
||||
<desc>Toggle IR</desc>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/sim/rendering/als-filters/use-filtering</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/sim/rendering/als-filters/use-IR-vision</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/sim/hud/current-color</property>
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
<key n="76">
|
||||
<name>Shift-L</name>
|
||||
<desc>LightsToggle</desc>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/controls/lighting/nav-lights-switch</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/controls/lighting/beacon-switch</property>
|
||||
</binding>
|
||||
<binding>
|
||||
<command>property-toggle</command>
|
||||
<property>/controls/lighting/strobe-switch</property>
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
</keyboard>
|
||||
</input>
|
||||
|
||||
<!-- Engine -->
|
||||
|
||||
<controls>
|
||||
<armament>
|
||||
<masterarm type="bool">false</masterarm>
|
||||
<laserarm type="bool">false</laserarm>
|
||||
</armament>
|
||||
<engines>
|
||||
<run1 type="bool">true</run1>
|
||||
<start1 type="bool">false</start1>
|
||||
@@ -494,3 +584,4 @@
|
||||
</nasal>
|
||||
|
||||
</PropertyList>
|
||||
|
||||
|
||||
@@ -20,6 +20,16 @@
|
||||
<startup>
|
||||
<splash-texture>Aircraft/MQ-9/Splash2.png</splash-texture>
|
||||
</startup>
|
||||
|
||||
<previews>
|
||||
<preview>
|
||||
<type>exterior</type>
|
||||
<splash type="bool">true</splash>
|
||||
<path>Aircraft/MQ-9/Preview1.png</path>
|
||||
</preview>
|
||||
</previews>
|
||||
|
||||
<minimum-fg-version>2018.2</minimum-fg-version>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/MQ-9/Models/MQ-9-2.xml</path>
|
||||
@@ -84,6 +94,15 @@
|
||||
<blue type="float">0.22</blue>
|
||||
</color>
|
||||
<color n="1">
|
||||
<alpha type="float">0.85</alpha>
|
||||
<antialiased type="bool">true</antialiased>
|
||||
<brightness type="float">0.85</brightness>
|
||||
<transparent type="bool">true</transparent>
|
||||
<red type="float">1.0</red>
|
||||
<green type="float">1.0</green>
|
||||
<blue type="float">1.0</blue>
|
||||
</color>
|
||||
<color n="2">
|
||||
<alpha type="float">0.85</alpha>
|
||||
<antialiased type="bool">true</antialiased>
|
||||
<brightness type="float">0.85</brightness>
|
||||
@@ -106,7 +125,7 @@
|
||||
<from-model type="bool">true</from-model>
|
||||
<from-model-idx type="int">0</from-model-idx>
|
||||
<ground-level-nearplane-m type="double">0.01f</ground-level-nearplane-m>
|
||||
<pitch-offset-deg>-28</pitch-offset-deg>
|
||||
<pitch-offset-deg>-5</pitch-offset-deg>
|
||||
<x-offset-m archive="y"> 0.0000 </x-offset-m>
|
||||
<y-offset-m archive="y"> -0.2792 </y-offset-m>
|
||||
<z-offset-m archive="y"> -4.3564 </z-offset-m>
|
||||
@@ -317,6 +336,11 @@
|
||||
<file>Aircraft/MQ-9/Nasal/Crash.nas</file>
|
||||
</Crash>
|
||||
|
||||
<Tracking>
|
||||
<file>Aircraft/MQ-9/Nasal/Tracking.nas</file>
|
||||
</Tracking>
|
||||
|
||||
|
||||
<Turret>
|
||||
<file>Aircraft/MQ-9/Nasal/Turret.nas</file>
|
||||
</Turret>
|
||||
|
||||
1326
Models/Armament/Weapons/aim-emesary.ac
Normal file
BIN
Models/Armament/Weapons/aim-emesary.png
Normal file
|
After Width: | Height: | Size: 700 B |
74
Models/Armament/Weapons/bomb_hit_smoke.xml
Normal file
@@ -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>
|
||||
1065
Models/Armament/Weapons/crater.ac
Normal file
BIN
Models/Armament/Weapons/crater.png
Normal file
|
After Width: | Height: | Size: 143 KiB |
103
Models/Armament/Weapons/crater_big.xml
Normal file
@@ -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.75</x-offset>
|
||||
<y-offset>1.75</y-offset>
|
||||
<z-offset>1.25</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>
|
||||
95
Models/Armament/Weapons/crater_small.xml
Normal file
@@ -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>
|
||||
87
Models/Armament/Weapons/heavy_smoke.xml
Normal file
@@ -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>
|
||||
87
Models/Armament/Weapons/light_smoke.xml
Normal file
@@ -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>
|
||||
39964
Models/Armament/Weapons/parachutist.ac
Normal file
12
Models/Armament/Weapons/parachutist.xml
Normal file
@@ -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>
|
||||
BIN
Models/Armament/Weapons/smoke.png
Normal file
|
After Width: | Height: | Size: 6.3 KiB |
144
Models/Armament/Weapons/the-flare.xml
Normal file
@@ -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>
|
||||
@@ -99,4 +99,4 @@
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
</PropertyList>
|
||||
</PropertyList>
|
||||
|
||||
118
Models/Effects/glass/glass.eff
Normal file
@@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PropertyList>
|
||||
<name>canopy-reflections</name>
|
||||
<inherits-from>Effects/glass</inherits-from>
|
||||
|
||||
<parameters>
|
||||
<!-- functional masks -->
|
||||
<texture n="2">
|
||||
<image>Aircraft/f16/Models/Effects/glass/canopy.png</image>
|
||||
<type>2d</type>
|
||||
<filter>linear-mipmap-linear</filter>
|
||||
<wrap-s>clamp</wrap-s>
|
||||
<wrap-t>clamp</wrap-t>
|
||||
<internal-format>normalized</internal-format>
|
||||
</texture>
|
||||
<use-mask type="int">1</use-mask>
|
||||
<overlay-color type="vec3d" n="0">1.0 1.0 1.0</overlay-color>
|
||||
|
||||
<!-- internal cockpit reflection -->
|
||||
<texture n="3">
|
||||
<type>cubemap</type>
|
||||
<images>
|
||||
<positive-x>Aircraft/f16/Models/Effects/glass/cockpit-cube-front.png</positive-x>
|
||||
<negative-x>Aircraft/f16/Models/Effects/glass/cockpit-cube-back.png</negative-x>
|
||||
<positive-y>Aircraft/f16/Models/Effects/glass/cockpit-cube-left.png</positive-y>
|
||||
<negative-y>Aircraft/f16/Models/Effects/glass/cockpit-cube-right.png</negative-y>
|
||||
<positive-z>Aircraft/f16/Models/Effects/glass/cockpit-cube-up.png</positive-z>
|
||||
<negative-z>Aircraft/f16/Models/Effects/glass/cockpit-cube-down.png</negative-z>
|
||||
</images>
|
||||
</texture>
|
||||
<use-reflection type="int">1</use-reflection>
|
||||
<reflection-strength type="float">0.7</reflection-strength>
|
||||
</parameters>
|
||||
<!-- <technique n="1">
|
||||
<predicate>
|
||||
<and>
|
||||
<equal>
|
||||
<float-property>/old</float-property>
|
||||
<value type="int">1</value>
|
||||
</equal>
|
||||
</and>
|
||||
</predicate>
|
||||
<pass>
|
||||
<lighting>true</lighting>
|
||||
<depth>
|
||||
<write-mask type="bool">false</write-mask>
|
||||
</depth>
|
||||
<material>
|
||||
<active>
|
||||
<use>material/active</use>
|
||||
</active>
|
||||
<ambient>
|
||||
<use>material/ambient</use>
|
||||
</ambient>
|
||||
<diffuse>
|
||||
<use>material/diffuse</use>
|
||||
</diffuse>
|
||||
<specular>
|
||||
<use>material/specular</use>
|
||||
</specular>
|
||||
<emissive>
|
||||
<use>material/emissive</use>
|
||||
</emissive>
|
||||
<shininess>
|
||||
<use>material/shininess</use>
|
||||
</shininess>
|
||||
<color-mode>
|
||||
<use>material/color-mode</use>
|
||||
</color-mode>
|
||||
</material>
|
||||
<blend>
|
||||
<active>
|
||||
<use>blend/active</use>
|
||||
</active>
|
||||
<source>
|
||||
<use>blend/source</use>
|
||||
</source>
|
||||
<destination>
|
||||
<use>blend/destination</use>
|
||||
</destination>
|
||||
</blend>
|
||||
<shade-model>
|
||||
<use>shade-model</use>
|
||||
</shade-model>
|
||||
<cull-face>
|
||||
<use>cull-face</use>
|
||||
</cull-face>
|
||||
<render-bin>
|
||||
<bin-number>111</bin-number>
|
||||
<bin-name>DepthSortedBin</bin-name>
|
||||
</render-bin>
|
||||
<texture-unit>
|
||||
<unit>0</unit>
|
||||
<active>
|
||||
<use>texture[0]/active</use>
|
||||
</active>
|
||||
<type>
|
||||
<use>texture[0]/type</use>
|
||||
</type>
|
||||
<image>
|
||||
<use>texture[0]/image</use>
|
||||
</image>
|
||||
<filter>
|
||||
<use>texture[0]/filter</use>
|
||||
</filter>
|
||||
<wrap-s>
|
||||
<use>texture[0]/wrap-s</use>
|
||||
</wrap-s>
|
||||
<wrap-t>
|
||||
<use>texture[0]/wrap-t</use>
|
||||
</wrap-t>
|
||||
<environment>
|
||||
<mode>modulate</mode>
|
||||
</environment>
|
||||
</texture-unit>
|
||||
</pass>
|
||||
</technique>-->
|
||||
</PropertyList>
|
||||
37
Models/Effects/glass/glassIR.eff
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<name>glass</name>
|
||||
<inherits-from>Effects/model-combined-transparent</inherits-from>
|
||||
<parameters>
|
||||
<normalmap-enabled type="int">0</normalmap-enabled>
|
||||
<lightmap-enabled type="int">0</lightmap-enabled>
|
||||
<reflection-enabled type="int">1</reflection-enabled>
|
||||
<reflection-correction type="float">0.5</reflection-correction>
|
||||
<reflect-map-enabled type="int">0</reflect-map-enabled>
|
||||
<reflection-fresnel type="float">0.5</reflection-fresnel>
|
||||
<reflection-rainbow type="float">0.3</reflection-rainbow>
|
||||
<reflection-noise type="float">0.0</reflection-noise>
|
||||
<reflection-dynamic type="int">1</reflection-dynamic>
|
||||
<texture n= "5" >
|
||||
<type>cubemap</type>
|
||||
<images>
|
||||
<positive-x>Aircraft/Generic/Effects/fgfs-sky2/1.png</positive-x>
|
||||
<negative-x>Aircraft/Generic/Effects/fgfs-sky2/4.png</negative-x>
|
||||
<positive-y>Aircraft/Generic/Effects/fgfs-sky2/2.png</positive-y>
|
||||
<negative-y>Aircraft/Generic/Effects/fgfs-sky2/3.png</negative-y>
|
||||
<positive-z>Aircraft/Generic/Effects/fgfs-sky2/6.png</positive-z>
|
||||
<negative-z>Aircraft/Generic/Effects/fgfs-sky2/5.png</negative-z>
|
||||
</images>
|
||||
</texture>
|
||||
<ambient-correction type="float">0.2</ambient-correction>
|
||||
<rendering-hint>transparent</rendering-hint>
|
||||
<transparent>true</transparent>
|
||||
<render-bin>
|
||||
<bin-number>10</bin-number>
|
||||
<bin-name>DepthSortedBin</bin-name>
|
||||
</render-bin>
|
||||
</parameters>
|
||||
|
||||
</PropertyList>
|
||||
0
Models/Liveries/Blur.png
Normal file → Executable file
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
BIN
Models/Liveries/Default.jpg
Normal file → Executable file
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 1.2 MiB |
16
Models/Liveries/Default.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">Default - USAF 142ATW NY ANG</name>
|
||||
<texture>Liveries/Default.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
0
Models/Liveries/Disk.png
Normal file → Executable file
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
BIN
Models/Liveries/FAF_ED1_33.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
16
Models/Liveries/FAF_ED1_33.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">French Air Force ED 1/33</name>
|
||||
<texture>Liveries/FAF_ED1_33.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
BIN
Models/Liveries/FGUK.jpg
Executable file
|
After Width: | Height: | Size: 3.2 MiB |
16
Models/Liveries/FGUK.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">FGUK North Theatre OPS</name>
|
||||
<texture>Liveries/FGUK.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
BIN
Models/Liveries/IAM32St.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
16
Models/Liveries/IAM32St.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">Italian Aeronautica Militare 32 Stormo</name>
|
||||
<texture>Liveries/IAM32St.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
BIN
Models/Liveries/MQ-9.jpg
Executable file
|
After Width: | Height: | Size: 155 KiB |
BIN
Models/Liveries/NASA.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
16
Models/Liveries/NASA.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">NASA Ikhana Project</name>
|
||||
<texture>Liveries/NASA.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
0
Models/Liveries/Paintkit.pdf
Normal file → Executable file
BIN
Models/Liveries/RAF13S.jpg
Normal file
|
After Width: | Height: | Size: 2.1 MiB |
16
Models/Liveries/RAF13S.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">RAF 13th Sqn</name>
|
||||
<texture>Liveries/RAF13S.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
BIN
Models/Liveries/RAF39S.jpg
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
16
Models/Liveries/RAF39S.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">RAF 39th Sqn</name>
|
||||
<texture>Liveries/RAF39S.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
BIN
Models/Liveries/RAF54S.jpg
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
16
Models/Liveries/RAF54S.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">RAF 54th Sqn</name>
|
||||
<texture>Liveries/RAF54S.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
BIN
Models/Liveries/RNLAF306S.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
16
Models/Liveries/RNLAF306S.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">RNLAF 306 Sqn</name>
|
||||
<texture>Liveries/RNLAF306S.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
0
Models/Liveries/Test.jpg
Normal file → Executable file
|
Before Width: | Height: | Size: 1018 KiB After Width: | Height: | Size: 1018 KiB |
BIN
Models/Liveries/USAF42AS.jpg
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
16
Models/Liveries/USAF42AS.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">USAF 42 AS</name>
|
||||
<texture>Liveries/USAF42AS.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
BIN
Models/Liveries/USCBP.jpg
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
16
Models/Liveries/USCBP.xml
Executable file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<sim>
|
||||
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">US Customs and Border Patrol</name>
|
||||
<texture>Liveries/USCBP.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
</sim>
|
||||
|
||||
</PropertyList>
|
||||
@@ -7,7 +7,7 @@
|
||||
<model>
|
||||
<livery>
|
||||
<name type="string">United States Air Force</name>
|
||||
<texture>Liveries/Default.jpg</texture>
|
||||
<texture>Liveries/MQ-9.jpg</texture>
|
||||
</livery>
|
||||
</model>
|
||||
|
||||
|
||||
4
Models/MQ-9-2.xml
Normal file → Executable file
@@ -360,7 +360,7 @@
|
||||
<object-name>MQ-9</object-name>
|
||||
<property-base>sim/model/livery</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>Aircraft/MQ-9/Models/Liveries/Default.jpg</texture>
|
||||
<texture>Aircraft/MQ-9/Models/Liveries/MQ-9.jpg</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
@@ -511,7 +511,7 @@
|
||||
<type>rotate</type>
|
||||
<object-name>Rudder</object-name>
|
||||
<property>surface-positions/rudder-pos-norm</property>
|
||||
<factor>20</factor>
|
||||
<factor>-20</factor>
|
||||
<axis>
|
||||
<x1-m> 3.3652</x1-m>
|
||||
<y1-m> 0.0000</y1-m>
|
||||
|
||||
78
Models/MQ-9.ac
Normal file → Executable file
@@ -363,7 +363,7 @@ kids 39
|
||||
OBJECT poly
|
||||
name "AileronL"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 336
|
||||
0.40538 -0.427044 6.10711
|
||||
@@ -2905,7 +2905,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "AileronR"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 336
|
||||
0.405379 -0.427042 -6.10711
|
||||
@@ -5447,7 +5447,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Antennas"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 3539
|
||||
-0.334625 -0.425939 -7.09598
|
||||
@@ -33018,7 +33018,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Blades"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 423
|
||||
4.25986 -0.137114 -0.153899
|
||||
@@ -36137,7 +36137,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "ElevatorL"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 340
|
||||
3.20876 0.948071 2.07554
|
||||
@@ -38725,7 +38725,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "ElevatorR"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 340
|
||||
3.20876 0.948071 -2.07554
|
||||
@@ -41313,7 +41313,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Engine"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 1689
|
||||
1.74316 0.225238 0.0032469
|
||||
@@ -54693,7 +54693,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "FlapL1"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 251
|
||||
0.383878 -0.198953 1.55702
|
||||
@@ -56632,7 +56632,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "FlapL2"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 187
|
||||
0.383878 -0.22759 4.15203
|
||||
@@ -58059,7 +58059,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "FlapR1"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 251
|
||||
0.383878 -0.198953 -1.55702
|
||||
@@ -59998,7 +59998,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "FlapR2"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 187
|
||||
0.383878 -0.227588 -4.15203
|
||||
@@ -61425,7 +61425,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Fuselage"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 7319
|
||||
0.552877 -0.343002 9.31399
|
||||
@@ -118292,7 +118292,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "GearBoxB"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 319
|
||||
2.00264 -0.397682 0.454194
|
||||
@@ -120517,7 +120517,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "GearBoxF"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 57
|
||||
-0.549842 -0.742394 -1e-07
|
||||
@@ -120880,7 +120880,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "HellfirePylonL"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 238
|
||||
-0.994616 -0.802733 1.94589
|
||||
@@ -122630,7 +122630,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "HellfirePylonR"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 238
|
||||
-0.994616 -0.802733 -1.94589
|
||||
@@ -124380,7 +124380,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "HStabilizerL"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 603
|
||||
3.20876 0.888774 2.06587
|
||||
@@ -128911,7 +128911,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "HStabilizerR"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 603
|
||||
3.20876 0.888774 -2.06587
|
||||
@@ -133442,7 +133442,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "JawN"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 118
|
||||
-3.34989 -1.68083 0.104979
|
||||
@@ -134360,7 +134360,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Lights"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 183
|
||||
2.78223 0.669074 -0.0140444
|
||||
@@ -135775,7 +135775,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Propeller"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 194
|
||||
4.71532 0.0583465 -0.0793374
|
||||
@@ -137441,7 +137441,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "PylonL1"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 405
|
||||
-0.811794 -0.457006 2.04736
|
||||
@@ -140542,7 +140542,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "PylonL2"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 405
|
||||
-0.882646 -0.457006 1.18461
|
||||
@@ -143643,7 +143643,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "PylonR1"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 405
|
||||
-0.811795 -0.457006 -2.04736
|
||||
@@ -146744,7 +146744,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "PylonR2"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 405
|
||||
-0.882646 -0.457006 -1.18461
|
||||
@@ -149845,7 +149845,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Rudder"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 311
|
||||
3.13551 -1.03335 0.0641197
|
||||
@@ -152206,7 +152206,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Scissor1N"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 34
|
||||
-3.13067 -1.58151 -0.0722363
|
||||
@@ -152488,7 +152488,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Scissor2N"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 60
|
||||
-2.88295 -1.13603 -0.0526668
|
||||
@@ -153024,7 +153024,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Sensor"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 2400
|
||||
-4.57771 -1.03412 -0.0109268
|
||||
@@ -172384,7 +172384,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "SensorMount1"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 436
|
||||
-4.37581 -0.72585 0.269207
|
||||
@@ -175444,7 +175444,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "SensorMount2"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 104
|
||||
-4.69901 -0.582895 0.0640987
|
||||
@@ -176284,7 +176284,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Strut1N"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 304
|
||||
-3.3214 -1.44725 -0.0344578
|
||||
@@ -178756,7 +178756,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "Strut2N"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 110
|
||||
-2.90214 -1.30022 -0.110746
|
||||
@@ -179690,7 +179690,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "StrutL"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 213
|
||||
-0.35147 -1.77434 1.55963
|
||||
@@ -181339,7 +181339,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "StrutR"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 213
|
||||
-0.35147 -1.77434 -1.55963
|
||||
@@ -182988,7 +182988,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "VStabilizer"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 465
|
||||
3.13551 -1.07528 0.107143
|
||||
@@ -186501,7 +186501,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "WheelL"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 1110
|
||||
-0.429736 -1.84946 1.73691
|
||||
@@ -195631,7 +195631,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "WheelN"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 866
|
||||
-3.20969 -1.88934 0.114236
|
||||
@@ -202713,7 +202713,7 @@ kids 0
|
||||
OBJECT poly
|
||||
name "WheelR"
|
||||
loc 0.295158 0.778684 -2e-07
|
||||
texture "Liveries/Default.jpg"
|
||||
texture "Liveries/MQ-9.jpg"
|
||||
crease 30.000000
|
||||
numvert 1110
|
||||
-0.429736 -1.84946 -1.73691
|
||||
|
||||
4
Models/MQ-9.xml
Normal file → Executable file
@@ -357,7 +357,7 @@
|
||||
<object-name>MQ-9</object-name>
|
||||
<property-base>sim/model/livery</property-base>
|
||||
<texture-prop>texture</texture-prop>
|
||||
<texture>Aircraft/MQ-9/Models/Liveries/Default.jpg</texture>
|
||||
<texture>Aircraft/MQ-9/Models/Liveries/MQ-9.jpg</texture>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
@@ -508,7 +508,7 @@
|
||||
<type>rotate</type>
|
||||
<object-name>Rudder</object-name>
|
||||
<property>surface-positions/rudder-pos-norm</property>
|
||||
<factor>20</factor>
|
||||
<factor>-20</factor>
|
||||
<axis>
|
||||
<x1-m> 3.3652</x1-m>
|
||||
<y1-m> 0.0000</y1-m>
|
||||
|
||||
74209
Models/Stores/Brimstone/brimstone.ac
Executable file
49
Models/Stores/Brimstone/brimstone.xml
Executable file
@@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<PropertyList>
|
||||
|
||||
<!-- Type Air-to ground missile
|
||||
Place of origin United Kingdom
|
||||
Service history
|
||||
In service 2005
|
||||
Used by RAF, RSAF
|
||||
Wars Operation Telic (Iraq)
|
||||
Operation Herrick (Afghanistan)
|
||||
Operation Ellamy (Libya)
|
||||
Production history
|
||||
Designer GEC-Marconi
|
||||
Designed 1996
|
||||
Manufacturer MBDA (UK) Ltd, Lostock
|
||||
Unit cost (Dual Mode Variant)
|
||||
£105,000/unit[1]
|
||||
£175,000 inc development[2]
|
||||
Produced 1999
|
||||
Specifications
|
||||
Weight 48.5 kg
|
||||
Length 1.8 m
|
||||
Diameter 17.8 cm
|
||||
|
||||
|
||||
Warhead HEAT tandem warhead Detonation
|
||||
mechanism Crush fuze
|
||||
|
||||
|
||||
Engine Solid fuel rocket
|
||||
|
||||
Operationalrange 12 kilometres (7.5 mi)
|
||||
Speed Supersonic
|
||||
Guidance system 94 GHz millimetric wave radar and INS autopilot, dual-mode adds laser guidance
|
||||
Steering system Aerodynamic surfaces
|
||||
Launch platform
|
||||
Tornado GR4
|
||||
Typhoon (planned)
|
||||
|
||||
-->
|
||||
|
||||
<path>brimstone.ac</path>
|
||||
|
||||
<animation>
|
||||
<object-name>Brimstone</object-name>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
@@ -6,16 +6,43 @@
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Aircraft/MQ-9/Models/Effects/glass/glassIR</inherits-from>
|
||||
<object-name>GBU-12_Glass</object-name>
|
||||
</effect>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>GBU-12_Glass</object-name>
|
||||
<object-name>GBU-12</object-name>
|
||||
<object-name>GBU-12_Hooks</object-name>
|
||||
<object-name>GBU-12_Tail</object-name>
|
||||
<object-name>GBU-12_FrontWing</object-name>
|
||||
<object-name>GBU-12_Wing.001</object-name>
|
||||
<object-name>GBU-12_Wing.002</object-name>
|
||||
<object-name>GBU-12_Wing.003</object-name>
|
||||
<object-name>GBU-12_Wing.004</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>fdm/jsbsim/systems/armament/station3/released</property>
|
||||
<property>fdm/jsbsim/systems/armament/station4/released</property>
|
||||
</not>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>GBU-12_Wing.001</object-name>
|
||||
<object-name>GBU-12_Wing.002</object-name>
|
||||
<object-name>GBU-12_Wing.003</object-name>
|
||||
<object-name>GBU-12_Wing.004</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>range</type>
|
||||
<min-m>0</min-m>
|
||||
|
||||
@@ -5,10 +5,23 @@
|
||||
<animation>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
<effect>
|
||||
<inherits-from>Aircraft/MQ-9/Models/Effects/glass/glassIR</inherits-from>
|
||||
<object-name>GBU-12_Glass</object-name>
|
||||
</effect>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>GBU-12_Glass</object-name>
|
||||
<object-name>GBU-12</object-name>
|
||||
<object-name>GBU-12_Hooks</object-name>
|
||||
<object-name>GBU-12_Tail</object-name>
|
||||
<object-name>GBU-12_FrontWing</object-name>
|
||||
<object-name>GBU-12_Wing.001</object-name>
|
||||
<object-name>GBU-12_Wing.002</object-name>
|
||||
<object-name>GBU-12_Wing.003</object-name>
|
||||
<object-name>GBU-12_Wing.004</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>fdm/jsbsim/systems/armament/station4/released</property>
|
||||
@@ -16,6 +29,20 @@
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>GBU-12_Wing.001</object-name>
|
||||
<object-name>GBU-12_Wing.002</object-name>
|
||||
<object-name>GBU-12_Wing.003</object-name>
|
||||
<object-name>GBU-12_Wing.004</object-name>
|
||||
<condition>
|
||||
<equals>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>range</type>
|
||||
<min-m>0</min-m>
|
||||
|
||||
BIN
Models/Stores/GBU-12/GBU-12.png
Executable file
|
After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 23 KiB |
31
Models/Stores/GBU-54/GBU-54-3.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<PropertyList>
|
||||
|
||||
<path>GBU-54.ac</path>
|
||||
|
||||
<animation>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>GBU-54</object-name>
|
||||
<object-name>LJDAM_belly</object-name>
|
||||
<object-name>LJDAM_tip</object-name>
|
||||
<object-name>LJDAM_seeker</object-name>
|
||||
<object-name>LJDAM_wings</object-name>
|
||||
<object-name>LJDAM_body</object-name>
|
||||
<object-name>LJDAM_top</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>fdm/jsbsim/systems/armament/station4/released</property>
|
||||
</not>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>range</type>
|
||||
<min-m>0</min-m>
|
||||
<max-m>12000</max-m>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
31
Models/Stores/GBU-54/GBU-54-4.xml
Normal file
@@ -0,0 +1,31 @@
|
||||
<PropertyList>
|
||||
|
||||
<path>GBU-54.ac</path>
|
||||
|
||||
<animation>
|
||||
<enable-hot type="bool">false</enable-hot>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>select</type>
|
||||
<object-name>GBU-54</object-name>
|
||||
<object-name>LJDAM_belly</object-name>
|
||||
<object-name>LJDAM_tip</object-name>
|
||||
<object-name>LJDAM_seeker</object-name>
|
||||
<object-name>LJDAM_wings</object-name>
|
||||
<object-name>LJDAM_body</object-name>
|
||||
<object-name>LJDAM_top</object-name>
|
||||
<condition>
|
||||
<not>
|
||||
<property>fdm/jsbsim/systems/armament/station4/released</property>
|
||||
</not>
|
||||
</condition>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>range</type>
|
||||
<min-m>0</min-m>
|
||||
<max-m>12000</max-m>
|
||||
</animation>
|
||||
|
||||
</PropertyList>
|
||||
21424
Models/Stores/GBU-54/GBU-54.ac
Normal file
BIN
Models/Stores/GBU-54/GBU-54.png
Executable file
|
After Width: | Height: | Size: 60 KiB |
@@ -45,7 +45,7 @@
|
||||
<offsets>
|
||||
<x-m>-0.6217</x-m>
|
||||
<y-m>-1.2284</y-m>
|
||||
<z-m> 0.0517</z-m>
|
||||
<z-m>-0.043</z-m>
|
||||
<pitch-deg>0</pitch-deg>
|
||||
</offsets>
|
||||
</model>
|
||||
@@ -55,9 +55,29 @@
|
||||
<offsets>
|
||||
<x-m>-0.6217</x-m>
|
||||
<y-m> 1.2284</y-m>
|
||||
<z-m> 0.0517</z-m>
|
||||
<z-m>-0.043</z-m>
|
||||
<pitch-deg>0</pitch-deg>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<!--model>
|
||||
<path>Aircraft/MQ-9/Models/Stores/GBU-54/GBU-54-3.xml</path>
|
||||
<offsets>
|
||||
<x-m>-0.1817</x-m>
|
||||
<y-m>-1.2284</y-m>
|
||||
<z-m>-0.0425</z-m>
|
||||
<pitch-deg>0</pitch-deg>
|
||||
</offsets>
|
||||
</model>
|
||||
|
||||
<model>
|
||||
<path>Aircraft/MQ-9/Models/Stores/GBU-54/GBU-54-4.xml</path>
|
||||
<offsets>
|
||||
<x-m>-0.1817</x-m>
|
||||
<y-m> 1.2284</y-m>
|
||||
<z-m>-0.0425</z-m>
|
||||
<pitch-deg>0</pitch-deg>
|
||||
</offsets>
|
||||
</model-->
|
||||
|
||||
</PropertyList>
|
||||
@@ -148,4 +148,70 @@
|
||||
<submodel-path>Aircraft/MQ-9/Models/Effects/Bomb/Bomb-Submodel.xml</submodel-path>
|
||||
</submodel>
|
||||
|
||||
<submodel>
|
||||
<name>GBU-12-3</name>
|
||||
<model>Aircraft/MQ-9/Models/Stores/GBU-12/GBU-12-3.xml</model>
|
||||
<trigger>fdm/jsbsim/systems/armament/station3/released</trigger>
|
||||
<trigger-once>true</trigger-once>
|
||||
<speed>0.0</speed>
|
||||
<count>1</count>
|
||||
<x-offset>0</x-offset>
|
||||
<y-offset>-1.2308</y-offset>
|
||||
<z-offset>-1</z-offset>
|
||||
<yaw-offset>0.0</yaw-offset>
|
||||
<pitch-offset>-4.0</pitch-offset>
|
||||
<eda>1.0</eda>
|
||||
<weight>520.0</weight>
|
||||
<cd>0.3</cd>
|
||||
<collision>true</collision>
|
||||
<collision-report>sim/ai/aircraft/collision/cannon</collision-report>
|
||||
<impact>true</impact>
|
||||
<impact-report>sim/ai/aircraft/impact/bomb</impact-report>
|
||||
<submodel-path>Aircraft/MQ-9/Models/Effects/Bomb/Bomb-Submodel.xml</submodel-path>
|
||||
</submodel>
|
||||
|
||||
<!--submodel>
|
||||
<name>GBU-54-4</name>
|
||||
<model>Aircraft/MQ-9/Models/Stores/GBU-54/GBU-54-4.xml</model>
|
||||
<trigger>fdm/jsbsim/systems/armament/station4/released</trigger>
|
||||
<trigger-once>true</trigger-once>
|
||||
<speed>0.0</speed>
|
||||
<count>1</count>
|
||||
<x-offset>0</x-offset>
|
||||
<y-offset>1.2308</y-offset>
|
||||
<z-offset>-1</z-offset>
|
||||
<yaw-offset>0.0</yaw-offset>
|
||||
<pitch-offset>-4.0</pitch-offset>
|
||||
<eda>1.0</eda>
|
||||
<weight>520.0</weight>
|
||||
<cd>0.3</cd>
|
||||
<collision>true</collision>
|
||||
<collision-report>sim/ai/aircraft/collision/cannon</collision-report>
|
||||
<impact>true</impact>
|
||||
<impact-report>sim/ai/aircraft/impact/bomb</impact-report>
|
||||
<submodel-path>Aircraft/MQ-9/Models/Effects/Bomb/Bomb-Submodel.xml</submodel-path>
|
||||
</submodel>
|
||||
|
||||
<submodel>
|
||||
<name>GBU-54-3</name>
|
||||
<model>Aircraft/MQ-9/Models/Stores/GBU-54/GBU-54-3.xml</model>
|
||||
<trigger>fdm/jsbsim/systems/armament/station3/released</trigger>
|
||||
<trigger-once>true</trigger-once>
|
||||
<speed>0.0</speed>
|
||||
<count>1</count>
|
||||
<x-offset>0</x-offset>
|
||||
<y-offset>-1.2308</y-offset>
|
||||
<z-offset>-1</z-offset>
|
||||
<yaw-offset>0.0</yaw-offset>
|
||||
<pitch-offset>-4.0</pitch-offset>
|
||||
<eda>1.0</eda>
|
||||
<weight>520.0</weight>
|
||||
<cd>0.3</cd>
|
||||
<collision>true</collision>
|
||||
<collision-report>sim/ai/aircraft/collision/cannon</collision-report>
|
||||
<impact>true</impact>
|
||||
<impact-report>sim/ai/aircraft/impact/bomb</impact-report>
|
||||
<submodel-path>Aircraft/MQ-9/Models/Effects/Bomb/Bomb-Submodel.xml</submodel-path>
|
||||
</submodel-->
|
||||
|
||||
</PropertyList>
|
||||
260
Nasal/ArmamentNotification.nas
Normal file
@@ -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;
|
||||
},
|
||||
};
|
||||
84
Nasal/GeoBridgedTransmitter.nas
Normal file
@@ -0,0 +1,84 @@
|
||||
# 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("f16mp.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("f16mp.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("f16mp.object",objectRoutedNotifications, 17, "", objectBridgedTransmitter);
|
||||
objectoutgoingBridge.TransmitFrequencySeconds = 0.2;
|
||||
objectoutgoingBridge.MessageLifeTime = 1;
|
||||
objectoutgoingBridge.MPStringMaxLen = 150;
|
||||
emesary_mp_bridge.IncomingMPBridge.startMPBridge(objectRoutedNotifications, 17, emesary.GlobalTransmitter);
|
||||
|
||||
#
|
||||
# debug all messages - this can be removed when testing isn't required.
|
||||
var debugRecipient = emesary.Recipient.new("Debug");
|
||||
debugRecipient.Receive = func(notification)
|
||||
{
|
||||
if (notification.NotificationType != "FrameNotification") {
|
||||
print ("recv(0): type=",notification.NotificationType, " fromIncoming=",notification.FromIncomingBridge);
|
||||
|
||||
if (notification.NotificationType == "ArmamentInFlightNotification") {
|
||||
print("recv(1): ",notification.NotificationType, " ", notification.Ident);
|
||||
debug.dump(notification);
|
||||
|
||||
} else if (notification.NotificationType == "ArmamentNotification") {
|
||||
if (notification.FromIncomingBridge) {
|
||||
print("recv(2): ",notification.NotificationType, " ", notification.Ident,
|
||||
" Kind=",notification.Kind,
|
||||
" SecondaryKind=",notification.SecondaryKind,
|
||||
" RelativeAltitude=",notification.RelativeAltitude,
|
||||
" Distance=",notification.Distance,
|
||||
" Bearing=",notification.Bearing,
|
||||
" RemoteCallsign=",notification.RemoteCallsign);
|
||||
debug.dump(notification);
|
||||
}
|
||||
}
|
||||
}
|
||||
return emesary.Transmitter.ReceiptStatus_NotProcessed; # we're not processing it, just looking
|
||||
}
|
||||
# uncomment next line to activate debug recipient.
|
||||
#emesary.GlobalTransmitter.Register(debugRecipient);
|
||||
|
||||
@@ -1,2 +1,12 @@
|
||||
# turn off hud in views
|
||||
setlistener("/sim/current-view/view-number", func(n) { setprop("/sim/hud/visibility[1]", n.getValue() == 8) },1);
|
||||
|
||||
#var fast_loop = func {
|
||||
# var viewName = getprop("/sim/current-view/name");
|
||||
# if (viewName == "Sensor View") {
|
||||
# setprop("aircraft/flir/target/view-enabled", viewName == "Sensor Vew");
|
||||
# setprop("sim/rendering/als-filters/use-filtering", 1);
|
||||
# setprop("sim/rendering/als-filters/use-IR-vision", 1);
|
||||
# setprop("sim/rendering/als-filters/use-night-vision", 1);
|
||||
# }
|
||||
#}
|
||||
@@ -19,6 +19,7 @@ MPleave= func(n) {
|
||||
setprop("instrumentation/radar",n.getValue(),"joined",0);
|
||||
}
|
||||
|
||||
setprop("sim/multiplay/visibility-range-nm", 115);
|
||||
|
||||
#need to copy the properties so that we never try to access a non-existent property in XML
|
||||
MPradarProperties = func {
|
||||
|
||||
@@ -1,37 +1,23 @@
|
||||
#Place holder
|
||||
var getTrackData = func {
|
||||
# me.ac = geo.aircraft_position();
|
||||
# me.distance = me.ac.distance_to(me.coord);
|
||||
# me.bearing = me.ac.course_to(me.coord);
|
||||
|
||||
# var dalt = alt - me.ac.alt();
|
||||
# var ac_hdg = getprop("/orientation/heading-deg");
|
||||
# var ac_pitch = getprop("/orientation/pitch-deg");
|
||||
# var ac_contact_dist = getprop("/systems/refuel/contact-radius-m");
|
||||
# var elev = math.atan2(dalt, me.distance) * R2D;
|
||||
#
|
||||
|
||||
# print("My test module got loaded!");
|
||||
#var broken = func {
|
||||
var rngM=110000.0;
|
||||
var brg=0.0;
|
||||
#
|
||||
var tgt=geo.click_position();
|
||||
if (tgt != nil){
|
||||
#print ("ping");
|
||||
var ac=geo.aircraft_position();
|
||||
var distance = ac.distance_to(tgt);
|
||||
var bearing =ac.course_to(tgt);
|
||||
#setprop("/tracking/test",tgt.lat());
|
||||
rngM=distance;
|
||||
brg=bearing;
|
||||
settimer(getTrackData, 0.1);
|
||||
}
|
||||
#
|
||||
# # finally, write the result to the property tree using the setprop() call
|
||||
#setprop("tracking/engine[0]/egt-degc", degC);
|
||||
setprop("/tracking/rng-km", rngM * 0.001);
|
||||
setprop("/tracking/rng-nml", rngM * 0.000539957);
|
||||
setprop("/tracking/bearing",brg);
|
||||
}
|
||||
|
||||
setlistener("sim/signals/click", getTrackData,1);
|
||||
#settimer(getTrackData, 0.1);
|
||||
|
||||
1397
Nasal/damage.nas
@@ -5,7 +5,7 @@ Author: Petar Jedvaj (pjedvaj)
|
||||
Date: 3 Jul 2016
|
||||
License: GNU General Public License
|
||||
FDM: JSBSim
|
||||
Addons: Bombable, Walker
|
||||
Addons: Bombable, Walker, MP damage code.
|
||||
|
||||
**************** Splash screen and thumbnail photos are downloaded from Wikimedia Commons ***************
|
||||
***************************** Data used for devlopment are taken from Wikipedia *************************
|
||||
|
||||
97
gui/dialogs/event-log.xml
Normal file
@@ -0,0 +1,97 @@
|
||||
<?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>Combat 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>
|
||||
|
||||
<hrule/>
|
||||
|
||||
<nasal>
|
||||
<open>
|
||||
<![CDATA[
|
||||
setprop("sim/model/mig21/event-log", "Click refresh to see the combat event log..");
|
||||
]]>
|
||||
</open>
|
||||
<close>
|
||||
<![CDATA[
|
||||
setprop("sim/model/mig21/event-log", "");
|
||||
]]>
|
||||
</close>
|
||||
</nasal>
|
||||
|
||||
<button>
|
||||
<!--<x>0</x>
|
||||
<y>0</y>-->
|
||||
<halign>centre</halign>
|
||||
<legend>Refresh</legend>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script><![CDATA[
|
||||
var str = "";
|
||||
if (getprop("velocities/groundspeed-kt") < 10) {
|
||||
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 combat event log.";
|
||||
}
|
||||
setprop("sim/model/mig21/event-log", str);
|
||||
]]></script>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<text>
|
||||
<halign>left</halign>
|
||||
<label>Event 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>
|
||||
|
||||
<empty><stretch>1</stretch></empty>
|
||||
|
||||
</PropertyList>
|
||||