<?xml version="1.0" standalone="yes" ?>
<?xml-stylesheet href="x2script.xsl" type="text/xsl" ?>
<script>
<name>swl.fn.project.offset</name>
<version>2</version>
<engineversion>33</engineversion>
<description>Gives the displacement for a forward projection</description>
<arguments>
<argument index="1" name="dist" type="Var/Number" desc="Range to Project" />
</arguments>
<sourcetext>
<line linenr="001" indent=""><comment><text>*&#160;</text><var>Use&#160;a&#160;negative&#160;number&#160;to&#160;project&#160;a&#160;behind&#160;the&#160;ship</var></comment></line>
<line linenr="002" indent=""></line>
<line linenr="003" indent=""></line>
<line linenr="004" indent=""><var>$a&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;get&#160;rot&#160;alpha</text></line>
<line linenr="005" indent=""><var>$b&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;get&#160;rot&#160;beta</text></line>
<line linenr="006" indent=""></line>
<line linenr="007" indent=""></line>
<line linenr="008" indent=""><var>$sina&#160;=&#160;</var><text>&#160;=&#160;fixed&#160;sin&#160;</text><var>$a</var></line>
<line linenr="009" indent=""><var>$cosa&#160;=&#160;</var><text>&#160;=&#160;fixed&#160;cos&#160;</text><var>$a</var></line>
<line linenr="010" indent=""><var>$sinb&#160;=&#160;</var><text>&#160;=&#160;fixed&#160;sin&#160;</text><var>$b</var></line>
<line linenr="011" indent=""><var>$cosb&#160;=&#160;</var><text>&#160;=&#160;fixed&#160;cos&#160;</text><var>$b</var></line>
<line linenr="012" indent=""></line>
<line linenr="013" indent=""></line>
<line linenr="014" indent=""><var>$sina&#160;=&#160;</var><var>$sina</var><text>&#160;</text><var>*</var><text>&#160;</text><var>1000</var><text>&#160;</text><var>/</var><text>&#160;</text><var>65536</var></line>
<line linenr="015" indent=""><var>$cosa&#160;=&#160;</var><var>$cosa</var><text>&#160;</text><var>*</var><text>&#160;</text><var>1000</var><text>&#160;</text><var>/</var><text>&#160;</text><var>65536</var></line>
<line linenr="016" indent=""><var>$sinb&#160;=&#160;</var><var>$sinb</var><text>&#160;</text><var>*</var><text>&#160;</text><var>1000</var><text>&#160;</text><var>/</var><text>&#160;</text><var>65536</var></line>
<line linenr="017" indent=""><var>$cosb&#160;=&#160;</var><var>$cosb</var><text>&#160;</text><var>*</var><text>&#160;</text><var>1000</var><text>&#160;</text><var>/</var><text>&#160;</text><var>65536</var></line>
<line linenr="018" indent=""></line>
<line linenr="019" interruptable="@" indent=""><var>$offset.x&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;call&#160;script&#160;</text><call>lib.cy.math.fixed.mult3</call><text>&#160;:&#160;</text><text>&#160;First&#160;value=</text><var>$dist</var><text>&#160;</text><text>&#160;Second&#160;value=</text><var>$cosb</var><text>&#160;</text><text>&#160;Third&#160;value=</text><var>$sina</var></line>
<line linenr="020" indent=""><var>$offset.x&#160;=&#160;</var><var>-</var><text>&#160;</text><var>$offset.x</var></line>
<line linenr="021" interruptable="@" indent=""><var>$offset.y&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;call&#160;script&#160;</text><call>lib.cy.math.fixed.mult</call><text>&#160;:&#160;</text><text>&#160;Multiplier=</text><var>$dist</var><text>&#160;</text><text>&#160;Multiplicand=</text><var>$sinb</var></line>
<line linenr="022" interruptable="@" indent=""><var>$offset.z&#160;=&#160;</var><var>[THIS]&#160;-&gt;</var><text>&#160;call&#160;script&#160;</text><call>lib.cy.math.fixed.mult3</call><text>&#160;:&#160;</text><text>&#160;First&#160;value=</text><var>$dist</var><text>&#160;</text><text>&#160;Second&#160;value=</text><var>$cosa</var><text>&#160;</text><text>&#160;Third&#160;value=</text><var>$cosb</var></line>
<line linenr="023" indent=""></line>
<line linenr="024" indent=""></line>
<line linenr="025" indent=""><var>$ret&#160;=&#160;</var><text>&#160;array&#160;alloc:&#160;size=</text><var>3</var></line>
<line linenr="026" indent=""><var>$ret</var><text>[</text><var>0</var><text>]&#160;=&#160;</text><var>$offset.x</var></line>
<line linenr="027" indent=""><var>$ret</var><text>[</text><var>1</var><text>]&#160;=&#160;</text><var>$offset.y</var></line>
<line linenr="028" indent=""><var>$ret</var><text>[</text><var>2</var><text>]&#160;=&#160;</text><var>$offset.z</var></line>
<line linenr="029" indent=""><text>return&#160;</text><var>$ret</var></line>
</sourcetext>
<codearray>
<sval type="array" size="10"><sval type="string" val="swl.fn.project.offset" /><sval type="int" val="33" /><sval type="string" val="Gives the displacement for a forward projection" /><sval type="int" val="2" /><sval type="int" val="0" /><sval type="array" size="11"><sval type="string" val="dist" /><sval type="string" val="a" /><sval type="string" val="b" /><sval type="string" val="sina" /><sval type="string" val="cosa" /><sval type="string" val="sinb" /><sval type="string" val="cosb" /><sval type="string" val="offset.x" /><sval type="string" val="offset.y" /><sval type="string" val="offset.z" /><sval type="string" val="ret" /></sval><sval type="array" size="19"><sval type="array" size="4"><sval type="int" val="777" /><sval type="int" val="131075" /><sval type="int" val="1" /><sval type="int" val="1" /></sval><sval type="array" size="4"><sval type="int" val="778" /><sval type="int" val="131075" /><sval type="int" val="1" /><sval type="int" val="2" /></sval><sval type="array" size="4"><sval type="int" val="1050" /><sval type="int" val="3" /><sval type="int" val="131074" /><sval type="int" val="1" /></sval><sval type="array" size="4"><sval type="int" val="1051" /><sval type="int" val="4" /><sval type="int" val="131074" /><sval type="int" val="1" /></sval><sval type="array" size="4"><sval type="int" val="1050" /><sval type="int" val="5" /><sval type="int" val="131074" /><sval type="int" val="2" /></sval><sval type="array" size="4"><sval type="int" val="1051" /><sval type="int" val="6" /><sval type="int" val="131074" /><sval type="int" val="2" /></sval><sval type="array" size="19"><sval type="int" val="104" /><sval type="int" val="3" /><sval type="int" val="5" /><sval type="int" val="131074" /><sval type="int" val="3" /><sval type="int" val="4" /><sval type="int" val="1000" /><sval type="int" val="15" /><sval type="int" val="13" /><sval type="int" val="4" /><sval type="int" val="65536" /><sval type="int" val="15" /><sval type="int" val="14" /><sval type="int" val="5" /><sval type="int" val="-1" /><sval type="int" val="13" /><sval type="int" val="-2" /><sval type="int" val="14" /><sval type="int" val="-4" /></sval><sval type="array" size="19"><sval type="int" val="104" /><sval type="int" val="4" /><sval type="int" val="5" /><sval type="int" val="131074" /><sval type="int" val="4" /><sval type="int" val="4" /><sval type="int" val="1000" /><sval type="int" val="15" /><sval type="int" val="13" /><sval type="int" val="4" /><sval type="int" val="65536" /><sval type="int" val="15" /><sval type="int" val="14" /><sval type="int" val="5" /><sval type="int" val="-1" /><sval type="int" val="13" /><sval type="int" val="-2" /><sval type="int" val="14" /><sval type="int" val="-4" /></sval><sval type="array" size="19"><sval type="int" val="104" /><sval type="int" val="5" /><sval type="int" val="5" /><sval type="int" val="131074" /><sval type="int" val="5" /><sval type="int" val="4" /><sval type="int" val="1000" /><sval type="int" val="15" /><sval type="int" val="13" /><sval type="int" val="4" /><sval type="int" val="65536" /><sval type="int" val="15" /><sval type="int" val="14" /><sval type="int" val="5" /><sval type="int" val="-1" /><sval type="int" val="13" /><sval type="int" val="-2" /><sval type="int" val="14" /><sval type="int" val="-4" /></sval><sval type="array" size="19"><sval type="int" val="104" /><sval type="int" val="6" /><sval type="int" val="5" /><sval type="int" val="131074" /><sval type="int" val="6" /><sval type="int" val="4" /><sval type="int" val="1000" /><sval type="int" val="15" /><sval type="int" val="13" /><sval type="int" val="4" /><sval type="int" val="65536" /><sval type="int" val="15" /><sval type="int" val="14" /><sval type="int" val="5" /><sval type="int" val="-1" /><sval type="int" val="13" /><sval type="int" val="-2" /><sval type="int" val="14" /><sval type="int" val="-4" /></sval><sval type="array" size="12"><sval type="int" val="102" /><sval type="string" val="lib.cy.math.fixed.mult3" /><sval type="int" val="7" /><sval type="int" val="131075" /><sval type="int" val="1" /><sval type="int" val="3" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="131074" /><sval type="int" val="6" /><sval type="int" val="131074" /><sval type="int" val="3" /></sval><sval type="array" size="10"><sval type="int" val="104" /><sval type="int" val="7" /><sval type="int" val="2" /><sval type="int" val="131074" /><sval type="int" val="7" /><sval type="int" val="15" /><sval type="int" val="65555" /><sval type="int" val="2" /><sval type="int" val="65555" /><sval type="int" val="-1" /></sval><sval type="array" size="10"><sval type="int" val="102" /><sval type="string" val="lib.cy.math.fixed.mult" /><sval type="int" val="8" /><sval type="int" val="131075" /><sval type="int" val="1" /><sval type="int" val="2" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="131074" /><sval type="int" val="5" /></sval><sval type="array" size="12"><sval type="int" val="102" /><sval type="string" val="lib.cy.math.fixed.mult3" /><sval type="int" val="9" /><sval type="int" val="131075" /><sval type="int" val="1" /><sval type="int" val="3" /><sval type="int" val="131074" /><sval type="int" val="0" /><sval type="int" val="131074" /><sval type="int" val="4" /><sval type="int" val="131074" /><sval type="int" val="6" /></sval><sval type="array" size="4"><sval type="int" val="128" /><sval type="int" val="10" /><sval type="int" val="4" /><sval type="int" val="3" /></sval><sval type="array" size="7"><sval type="int" val="130" /><sval type="int" val="131074" /><sval type="int" val="10" /><sval type="int" val="4" /><sval type="int" val="0" /><sval type="int" val="131074" /><sval type="int" val="7" /></sval><sval type="array" size="7"><sval type="int" val="130" /><sval type="int" val="131074" /><sval type="int" val="10" /><sval type="int" val="4" /><sval type="int" val="1" /><sval type="int" val="131074" /><sval type="int" val="8" /></sval><sval type="array" size="7"><sval type="int" val="130" /><sval type="int" val="131074" /><sval type="int" val="10" /><sval type="int" val="4" /><sval type="int" val="2" /><sval type="int" val="131074" /><sval type="int" val="9" /></sval><sval type="array" size="3"><sval type="int" val="103" /><sval type="int" val="131074" /><sval type="int" val="10" /></sval></sval><sval type="array" size="1"><sval type="array" size="2"><sval type="int" val="10" /><sval type="string" val="Range to Project" /></sval></sval><sval type="array" size="10"><sval type="array" size="3"><sval type="int" val="0" /><sval type="int" val="1" /><sval type="string" val="Use a negative number to project a behind the ship" /></sval><sval type="array" size="2"><sval type="int" val="0" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="0" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="2" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="2" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="6" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="6" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="10" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="14" /><sval type="int" val="2" /></sval><sval type="array" size="2"><sval type="int" val="14" /><sval type="int" val="2" /></sval></sval><sval type="int" val="0" /></sval>
</codearray>
</script>
