026a2bb4b0
I have implemented a Honeywell MK VIII EGPWS emulation for FlightGear. The MK VIII is an Enhanced Ground Proximity Warning System aimed at regional turboprop and small turbofan aircrafts such as the Citation, Citation Bravo, B1900D, Beechcraft 99 and L410. Frederic Bouvier: make the MSVC compilation possible. Rearrange base package directories.
251 lines
7.4 KiB
XML
Executable file
251 lines
7.4 KiB
XML
Executable file
<?xml version="1.0"?>
|
|
<!DOCTYPE xsl:stylesheet>
|
|
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
|
<xsl:variable name="model" select="concat(/assemblies/@fg-root, '/Aircraft/Instruments-3d/mk-viii/assembly/assembly.ac')"/>
|
|
<xsl:variable name="texture-path">
|
|
<xsl:if test="/assemblies/@texture-path"><xsl:value-of select="concat(/assemblies/@texture-path, '/')"/></xsl:if>
|
|
</xsl:variable>
|
|
|
|
<xsl:template name="generated">
|
|
<xsl:comment>automatically generated, do not edit</xsl:comment>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="assembly">
|
|
<xsl:variable name="actions" select="concat(@name, '-actions.xml')"/>
|
|
<xsl:variable name="prefix" select="concat('/controls/assemblies/', @name)"/>
|
|
<xsl:variable name="button" select="concat($prefix, '-button')"/>
|
|
<xsl:variable name="guard" select="concat($prefix, '-guard')"/>
|
|
<xsl:variable name="guarded">
|
|
<xsl:choose>
|
|
<xsl:when test="@guarded='true'">true</xsl:when>
|
|
<xsl:otherwise>false</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="latching">
|
|
<xsl:choose>
|
|
<xsl:when test="not(@input)">true</xsl:when>
|
|
<xsl:otherwise>false</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="input">
|
|
<xsl:choose>
|
|
<xsl:when test="$latching='false'"><xsl:value-of select="@input"/></xsl:when>
|
|
<xsl:otherwise><xsl:value-of select="$button"/></xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="emission-red">
|
|
<xsl:choose>
|
|
<xsl:when test="@emission-red"><xsl:value-of select="@emission-red"/></xsl:when>
|
|
<xsl:otherwise><xsl:value-of select="/assemblies/@emission-red"/></xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="emission-green">
|
|
<xsl:choose>
|
|
<xsl:when test="@emission-green"><xsl:value-of select="@emission-green"/></xsl:when>
|
|
<xsl:otherwise><xsl:value-of select="/assemblies/@emission-green"/></xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="emission-blue">
|
|
<xsl:choose>
|
|
<xsl:when test="@emission-blue"><xsl:value-of select="@emission-blue"/></xsl:when>
|
|
<xsl:otherwise><xsl:value-of select="/assemblies/@emission-blue"/></xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="emission-factor">
|
|
<xsl:choose>
|
|
<xsl:when test="@emission-factor"><xsl:value-of select="@emission-factor"/></xsl:when>
|
|
<xsl:otherwise><xsl:value-of select="/assemblies/@emission-factor"/></xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="texture-prefix">
|
|
<xsl:choose>
|
|
<xsl:when test="@texture"><xsl:value-of select="@texture"/></xsl:when>
|
|
<xsl:otherwise><xsl:value-of select="@name"/></xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="texture-on" select="concat($texture-path, $texture-prefix, '-on.rgb')"/>
|
|
<xsl:variable name="texture-off" select="concat($texture-path, $texture-prefix, '-off.rgb')"/>
|
|
|
|
<xsl:document href="{@name}.xml" indent="yes">
|
|
<xsl:call-template name="generated"/>
|
|
<PropertyList>
|
|
<path><xsl:value-of select="$model"/></path>
|
|
|
|
<xsl:if test="@output">
|
|
<panel>
|
|
<path><xsl:value-of select="concat(/assemblies/@pwd, '/', $actions)"/></path>
|
|
<bottom-left>
|
|
<x-m>0.00314583</x-m>
|
|
<y-m>-0.00965716</y-m>
|
|
<z-m>-0.00965716</z-m>
|
|
</bottom-left>
|
|
<bottom-right>
|
|
<x-m>0.00314583</x-m>
|
|
<y-m>0.00965716</y-m>
|
|
<z-m>-0.00965716</z-m>
|
|
</bottom-right>
|
|
<top-left>
|
|
<x-m>0.00314583</x-m>
|
|
<y-m>-0.00965716</y-m>
|
|
<z-m>0.02897148</z-m>
|
|
</top-left>
|
|
</panel>
|
|
|
|
<animation>
|
|
<type>translate</type>
|
|
<object-name>lamp</object-name>
|
|
<property><xsl:value-of select="$button"/></property>
|
|
<factor>-0.0040</factor>
|
|
<axis>
|
|
<x>1.0</x>
|
|
<y>0.0</y>
|
|
<z>0.0</z>
|
|
</axis>
|
|
</animation>
|
|
</xsl:if>
|
|
|
|
<animation>
|
|
<type>select</type>
|
|
<object-name>guard</object-name>
|
|
<condition>
|
|
<xsl:choose>
|
|
<xsl:when test="$guarded='true'"><not><property>/null</property></not></xsl:when>
|
|
<xsl:otherwise><property>/null</property></xsl:otherwise>
|
|
</xsl:choose>
|
|
</condition>
|
|
</animation>
|
|
|
|
<xsl:if test="$guarded='true'">
|
|
<animation>
|
|
<type>rotate</type>
|
|
<object-name>guard</object-name>
|
|
<property><xsl:value-of select="$guard"/></property>
|
|
<factor>-90</factor>
|
|
<center>
|
|
<x-m>-0.00314583</x-m>
|
|
<y-m>0.0</y-m>
|
|
<z-m>0.00965716</z-m>
|
|
</center>
|
|
<axis>
|
|
<x>0.0</x>
|
|
<y>1.0</y>
|
|
<z>0.0</z>
|
|
</axis>
|
|
</animation>
|
|
</xsl:if>
|
|
|
|
<animation>
|
|
<type>material</type>
|
|
<object-name>lamp-off</object-name>
|
|
<texture><xsl:value-of select="$texture-off"/></texture>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>material</type>
|
|
<object-name>lamp-on</object-name>
|
|
<texture><xsl:value-of select="$texture-on"/></texture>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>select</type>
|
|
<object-name>lamp-off</object-name>
|
|
<condition>
|
|
<not><property><xsl:value-of select="$input"/></property></not>
|
|
</condition>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>select</type>
|
|
<object-name>lamp-on</object-name>
|
|
<condition>
|
|
<property><xsl:value-of select="$input"/></property>
|
|
</condition>
|
|
</animation>
|
|
|
|
<animation>
|
|
<type>material</type>
|
|
<object-name>lamp-off</object-name>
|
|
<emission>
|
|
<red-prop><xsl:value-of select="$emission-red"/></red-prop>
|
|
<green-prop><xsl:value-of select="$emission-green"/></green-prop>
|
|
<blue-prop><xsl:value-of select="$emission-blue"/></blue-prop>
|
|
<factor-prop><xsl:value-of select="$emission-factor"/></factor-prop>
|
|
</emission>
|
|
</animation>
|
|
</PropertyList>
|
|
</xsl:document>
|
|
|
|
<xsl:if test="@output">
|
|
<xsl:document href="{$actions}" indent="yes">
|
|
<xsl:call-template name="generated"/>
|
|
<PropertyList>
|
|
<background>Aircraft/Instruments-3d/mk-viii/assembly/transparent-bg.rgb</background>
|
|
<w>64</w>
|
|
<h>64</h>
|
|
|
|
<instruments>
|
|
<instrument>
|
|
<x>32</x>
|
|
<y>32</y>
|
|
<w>64</w>
|
|
<h>64</h>
|
|
<w-base>64</w-base>
|
|
<h-base>64</h-base>
|
|
|
|
<actions>
|
|
<action>
|
|
<name>open guard or operate button</name>
|
|
<button>0</button>
|
|
<x>-32</x>
|
|
<y>-32</y>
|
|
<w>64</w>
|
|
<h>32</h>
|
|
|
|
<binding>
|
|
<command>press-cockpit-button</command>
|
|
<guarded><xsl:value-of select="$guarded"/></guarded>
|
|
<latching><xsl:value-of select="$latching"/></latching>
|
|
<prefix><xsl:value-of select="$prefix"/></prefix>
|
|
<discrete><xsl:value-of select="@output"/></discrete>
|
|
</binding>
|
|
|
|
<mod-up>
|
|
<binding>
|
|
<command>release-cockpit-button</command>
|
|
<guarded><xsl:value-of select="$guarded"/></guarded>
|
|
<latching><xsl:value-of select="$latching"/></latching>
|
|
<prefix><xsl:value-of select="$prefix"/></prefix>
|
|
<discrete><xsl:value-of select="@output"/></discrete>
|
|
</binding>
|
|
</mod-up>
|
|
</action>
|
|
|
|
<xsl:if test="$guarded='true'">
|
|
<action>
|
|
<name>close guard</name>
|
|
<button>0</button>
|
|
<x>-32</x>
|
|
<y>0</y>
|
|
<w>64</w>
|
|
<h>32</h>
|
|
|
|
<binding>
|
|
<command>property-assign</command>
|
|
<property><xsl:value-of select="$guard"/></property>
|
|
<value type="double">0.0</value>
|
|
</binding>
|
|
</action>
|
|
</xsl:if>
|
|
|
|
</actions>
|
|
</instrument>
|
|
</instruments>
|
|
</PropertyList>
|
|
</xsl:document>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="assemblies">
|
|
<xsl:apply-templates select="*"/>
|
|
</xsl:template>
|
|
</xsl:stylesheet>
|