summaryrefslogtreecommitdiffhomepage
path: root/Doc/doxygen/html/_ship_a_i_8h_source.html
diff options
context:
space:
mode:
authorFWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544>2012-05-31 14:46:27 +0000
committerFWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544>2012-05-31 14:46:27 +0000
commit8898ad9b25fca6afe2374d293a981db02a83d7e9 (patch)
tree8041e6eb069b6da70b83e82efdb998662140e716 /Doc/doxygen/html/_ship_a_i_8h_source.html
parent985b945e4b49b5d5a1394e93fc3a95289c05e449 (diff)
downloadstarshatter-8898ad9b25fca6afe2374d293a981db02a83d7e9.zip
starshatter-8898ad9b25fca6afe2374d293a981db02a83d7e9.tar.gz
starshatter-8898ad9b25fca6afe2374d293a981db02a83d7e9.tar.bz2
Committing the documentation to svn to have it accessible online
Diffstat (limited to 'Doc/doxygen/html/_ship_a_i_8h_source.html')
-rw-r--r--Doc/doxygen/html/_ship_a_i_8h_source.html270
1 files changed, 270 insertions, 0 deletions
diff --git a/Doc/doxygen/html/_ship_a_i_8h_source.html b/Doc/doxygen/html/_ship_a_i_8h_source.html
new file mode 100644
index 0000000..a77a70f
--- /dev/null
+++ b/Doc/doxygen/html/_ship_a_i_8h_source.html
@@ -0,0 +1,270 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<title>Starshatter_Open: D:/SRC/StarshatterSVN/Stars45/ShipAI.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Starshatter_Open
+ </div>
+ <div id="projectbrief">Open source Starshatter engine</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>File&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('_ship_a_i_8h.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">ShipAI.h</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="_ship_a_i_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/* Project STARSHATTER</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> John DiCamillo</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> Copyright © 1997-2002. All Rights Reserved.</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> SUBSYSTEM: Stars.exe</span></div>
+<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> FILE: ShipAI.h</span></div>
+<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> AUTHOR: John DiCamillo</span></div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"></span></div>
+<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> OVERVIEW</span></div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> ========</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> Common base class and interface for low-level ship AI</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">*/</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
+<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#ifndef ShipAI_h</span></div>
+<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define ShipAI_h</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_types_8h.html">Types.h</a>&quot;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_steer_a_i_8h.html">SteerAI.h</a>&quot;</span></div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">// +--------------------------------------------------------------------+</span></div>
+<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div>
+<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="keyword">class </span><a class="code" href="class_ship.html">Ship</a>;</div>
+<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">class </span><a class="code" href="class_shot.html">Shot</a>;</div>
+<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="keyword">class </span><a class="code" href="class_instruction.html">Instruction</a>;</div>
+<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">class </span><a class="code" href="class_tactical_a_i.html">TacticalAI</a>;</div>
+<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="keyword">class </span><a class="code" href="class_farcaster.html">Farcaster</a>;</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment">// +--------------------------------------------------------------------+</span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="class_ship_a_i.html"> 31</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_ship_a_i.html">ShipAI</a> : <span class="keyword">public</span> <a class="code" href="class_steer_a_i.html">SteerAI</a></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="class_ship_a_i.html#aa5b0948093fa773ffbc694d681344f8e">ShipAI</a>(<a class="code" href="class_sim_object.html">SimObject</a>* s);</div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_ship_a_i.html#a280e79255e6e70bcc0ff8de1cc1eec22">~ShipAI</a>();</div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a657292073e6bd4b3eb5b73ab7a49ab73">ExecFrame</a>(<span class="keywordtype">double</span> <a class="code" href="class_ship_a_i.html#a3efbe3e8e853aae8ad18489884265668">seconds</a>);</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#af0dde4f569ffd6088785ff15bb409f08"> 38</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_ship_a_i.html#af0dde4f569ffd6088785ff15bb409f08">Subframe</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
+<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a670f1939787d67957dbda57d2bc1c4a1"> 40</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_ship.html">Ship</a>* <a class="code" href="class_ship_a_i.html#a670f1939787d67957dbda57d2bc1c4a1">GetShip</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_ship_a_i.html#aaba0839ab6348939d01ff0a91c1e1705">ship</a>; }</div>
+<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_ship.html">Ship</a>* <a class="code" href="class_ship_a_i.html#a825ef97ee235fe5d10ae6bb9ad43f28d">GetWard</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#ac4fbcfbf8540870efd25d62e127790cf">SetWard</a>(<a class="code" href="class_ship.html">Ship</a>* s);</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a1f31eddf56ee5115002008501eac8b9e"> 44</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_ship.html">Ship</a>* <a class="code" href="class_ship_a_i.html#a1f31eddf56ee5115002008501eac8b9e">GetThreat</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_ship_a_i.html#af46c210127fb35b574aab292e623fb08">threat</a>; }</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#aa31ae9ad2ec85b32ddfdd64d31da5e89">SetThreat</a>(<a class="code" href="class_ship.html">Ship</a>* s);</div>
+<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a05563dbacbb6314203eca946d04014f1"> 46</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_ship.html">Ship</a>* <a class="code" href="class_ship_a_i.html#a05563dbacbb6314203eca946d04014f1">GetSupport</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_ship_a_i.html#ad4c8dde5117d224f62a5631b6b0aa0b4">support</a>; }</div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a9be07d35824e756755a4549efbf2ca00">SetSupport</a>(<a class="code" href="class_ship.html">Ship</a>* s);</div>
+<div class="line"><a name="l00048"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a4c7640d9f253c4105c86c56dd079a155"> 48</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_ship.html">Ship</a>* <a class="code" href="class_ship_a_i.html#a4c7640d9f253c4105c86c56dd079a155">GetRumor</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_ship_a_i.html#a469f9ebbe709c16abb2f7abcf84e0460">rumor</a>; }</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a3cb24c044c10537d65aee93f19102b99">SetRumor</a>(<a class="code" href="class_ship.html">Ship</a>* s);</div>
+<div class="line"><a name="l00050"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a63211d9bef99a1a55a231ccdde47a45b"> 50</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_shot.html">Shot</a>* <a class="code" href="class_ship_a_i.html#a63211d9bef99a1a55a231ccdde47a45b">GetThreatMissile</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_ship_a_i.html#a64377ca4937185e18e5437b7c1ade6cc">threat_missile</a>; }</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#af3d2bbe12e3410ac1a5bb0fca6247aa5">SetThreatMissile</a>(<a class="code" href="class_shot.html">Shot</a>* s);</div>
+<div class="line"><a name="l00052"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a769a3e4a51752cfd251ea5f745d43011"> 52</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_instruction.html">Instruction</a>* <a class="code" href="class_ship_a_i.html#a769a3e4a51752cfd251ea5f745d43011">GetNavPoint</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_ship_a_i.html#a459f6a9d8be0c2dd06cc31cae992089b">navpt</a>; }</div>
+<div class="line"><a name="l00053"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a229cc08e5cfa91213e1f25e451fae877"> 53</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a229cc08e5cfa91213e1f25e451fae877">SetNavPoint</a>(<a class="code" href="class_instruction.html">Instruction</a>* n) { <a class="code" href="class_ship_a_i.html#a459f6a9d8be0c2dd06cc31cae992089b">navpt</a> = n; }</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">virtual</span> <a class="code" href="struct_point.html">Point</a> <a class="code" href="class_ship_a_i.html#af2da994356856321f8a3f455e266fe71">GetPatrol</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a79a9dca247f0b6ad125e8e2c820d36d5">SetPatrol</a>(<span class="keyword">const</span> <a class="code" href="struct_point.html">Point</a>&amp; p);</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a191c2e0b0da03383ae2d44f4ce6909b6">ClearPatrol</a>();</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#aeaf81391c88ec457b13343f619443517">ClearRumor</a>();</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a2fef7adaa8d70e1a367e88e7c9c7bbbe">ClearTactical</a>();</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ac9e524161c55702c9cb8a49cb7bf2318"> 60</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="class_farcaster.html">Farcaster</a>* <a class="code" href="class_ship_a_i.html#ac9e524161c55702c9cb8a49cb7bf2318">GetFarcaster</a>() { <span class="keywordflow">return</span> <a class="code" href="class_ship_a_i.html#ad94e1cc9a369fea10182480ce6bf859e">farcaster</a>; }</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">// convert the goal point from world to local coords:</span></div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a8829c2dc82029b9170b94e84c4f47816">FindObjective</a>();</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a2b237d18d8f82062ce69412ab6fa2928">Splash</a>(<span class="keyword">const</span> <a class="code" href="class_ship.html">Ship</a>* targ);</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a2e3ef70a0a7925936706befb1bb772c0">SetTarget</a>(<a class="code" href="class_sim_object.html">SimObject</a>* targ, <a class="code" href="class_system.html">System</a>* sub=0);</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a331f3a1b69595f8e768f9805f110453c">DropTarget</a>(<span class="keywordtype">double</span> <a class="code" href="class_ship_a_i.html#a148dc76873b650f5824fbadad23ba25b">drop_time</a>=1.5);</div>
+<div class="line"><a name="l00068"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#aecf679d7669066ab718e1b109c9de851"> 68</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="class_ship_a_i.html#aecf679d7669066ab718e1b109c9de851">DropTime</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_ship_a_i.html#a148dc76873b650f5824fbadad23ba25b">drop_time</a>; }</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#ac4fd1625c77af6ebfc95967ad77aa23d">SetBracket</a>(<span class="keywordtype">bool</span> <a class="code" href="class_ship_a_i.html#ad5528c03e9be5278780bbc094184b774">bracket</a>);</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a9ffc226ca68f84461188007030f4be17">SetIdentify</a>(<span class="keywordtype">bool</span> <a class="code" href="class_ship_a_i.html#af4be87883a717e1cebd24529d397ea46">identify</a>);</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a26c64ada5d8717a61cff62fe89202ae2">SetFormationDelta</a>(<span class="keyword">const</span> <a class="code" href="struct_point.html">Point</a>&amp; point);</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_ship_a_i.html#ac095722416e5ed9ceed14f99b94fea5a">Update</a>(<a class="code" href="class_sim_object.html">SimObject</a>* obj);</div>
+<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="class_ship_a_i.html#a9862ff5c551c32871fe47a7fcabbfa37">GetObserverName</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
+<div class="line"><a name="l00077"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ad611086929467a18546a61c88432f77e"> 77</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_ship_a_i.html#ad611086929467a18546a61c88432f77e">GetAILevel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_ship_a_i.html#a2b1e84a4cd23292b036f7a94c679d84e">ai_level</a>; }</div>
+<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">// accumulate behaviors:</span></div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a4665a9e9cb442a28adb46920e78d2b68">Navigator</a>();</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
+<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// behaviors:</span></div>
+<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_ship_a_i.html#a642a49402aa31238d120b18b529fe655">AvoidTestSingleObject</a>(<a class="code" href="class_sim_object.html">SimObject</a>* obj,</div>
+<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">const</span> <a class="code" href="struct_point.html">Point</a>&amp; bearing,</div>
+<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordtype">double</span> avoid_dist,</div>
+<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordtype">double</span>&amp; avoid_time,</div>
+<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="struct_steer.html">Steer</a>&amp; steer);</div>
+<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">virtual</span> <a class="code" href="struct_steer.html">Steer</a> <a class="code" href="class_ship_a_i.html#a98ff7efc26a4b939a0d5d6ef6184e08f">AvoidCloseObject</a>(<a class="code" href="class_sim_object.html">SimObject</a>* obj);</div>
+<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">virtual</span> <a class="code" href="struct_steer.html">Steer</a> <a class="code" href="class_ship_a_i.html#a64966c21f959509624c6346d8374a515">AvoidCollision</a>();</div>
+<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">virtual</span> <a class="code" href="struct_steer.html">Steer</a> <a class="code" href="class_ship_a_i.html#a708292ba773e438ae8a102237af3df63">AvoidTerrain</a>();</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">virtual</span> <a class="code" href="struct_steer.html">Steer</a> <a class="code" href="class_ship_a_i.html#a5d1ae5de90d40197debad664cd1ea49c">SeekTarget</a>();</div>
+<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">virtual</span> <a class="code" href="struct_steer.html">Steer</a> <a class="code" href="class_ship_a_i.html#aaf2a517ee7f7378c25ef0c7f79e9853e">EvadeThreat</a>();</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">virtual</span> <a class="code" href="struct_point.html">Point</a> <a class="code" href="class_ship_a_i.html#abfa8d0e92f91eb55a7a8c746808d2d26">ClosingVelocity</a>();</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// compute the goal point in world coords based on current ai state:</span></div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a539c62b52da4d864addc9ea54a1b0444">FindObjectiveTarget</a>(<a class="code" href="class_sim_object.html">SimObject</a>* tgt);</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a9a92330da6d597ecc980ada13ab09397">FindObjectiveNavPoint</a>();</div>
+<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a5d6aa18e829eee2641b1bb8ad56faca0">FindObjectiveFormation</a>();</div>
+<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#aa5b4d79fc1b5a3bd66acadf1f74d833e">FindObjectivePatrol</a>();</div>
+<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#aeb300572953cf33ec701c313b745d6cd">FindObjectiveQuantum</a>();</div>
+<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a00ad84c94f404a3f30e8a9db6ad168e6">FindObjectiveFarcaster</a>(<a class="code" href="class_sim_region.html">SimRegion</a>* src, <a class="code" href="class_sim_region.html">SimRegion</a>* dst);</div>
+<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
+<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="comment">// fire on target if appropriate:</span></div>
+<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a6926c4040d5da644c222bf709cad338e">AdjustDefenses</a>();</div>
+<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#aeb607ae56b02d4e1111e9d247b5528c1">FireControl</a>();</div>
+<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a4dd4fd1b3a598f9c5dd98dfa3aa04e3a">HelmControl</a>();</div>
+<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a1a345c28e97da2aa5102dc3f22249e30">ThrottleControl</a>();</div>
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#a1aabb2c314f111fd4a587fb611567af2">NavlightControl</a>();</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div>
+<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_ship_a_i.html#ab32668b7654a70eb4cfac90cb037a9ea">CheckTarget</a>();</div>
+<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
+<div class="line"><a name="l00115"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#aaba0839ab6348939d01ff0a91c1e1705"> 115</a></span>&#160; <a class="code" href="class_ship.html">Ship</a>* <a class="code" href="class_ship_a_i.html#aaba0839ab6348939d01ff0a91c1e1705">ship</a>;</div>
+<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ad4c8dde5117d224f62a5631b6b0aa0b4"> 116</a></span>&#160; <a class="code" href="class_ship.html">Ship</a>* <a class="code" href="class_ship_a_i.html#ad4c8dde5117d224f62a5631b6b0aa0b4">support</a>;</div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a469f9ebbe709c16abb2f7abcf84e0460"> 117</a></span>&#160; <a class="code" href="class_ship.html">Ship</a>* <a class="code" href="class_ship_a_i.html#a469f9ebbe709c16abb2f7abcf84e0460">rumor</a>;</div>
+<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#af46c210127fb35b574aab292e623fb08"> 118</a></span>&#160; <a class="code" href="class_ship.html">Ship</a>* <a class="code" href="class_ship_a_i.html#af46c210127fb35b574aab292e623fb08">threat</a>;</div>
+<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a64377ca4937185e18e5437b7c1ade6cc"> 119</a></span>&#160; <a class="code" href="class_shot.html">Shot</a>* <a class="code" href="class_ship_a_i.html#a64377ca4937185e18e5437b7c1ade6cc">threat_missile</a>;</div>
+<div class="line"><a name="l00120"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a459f6a9d8be0c2dd06cc31cae992089b"> 120</a></span>&#160; <a class="code" href="class_instruction.html">Instruction</a>* <a class="code" href="class_ship_a_i.html#a459f6a9d8be0c2dd06cc31cae992089b">navpt</a>;</div>
+<div class="line"><a name="l00121"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a13957ddfeeea461ce58921b1da2c9402"> 121</a></span>&#160; <a class="code" href="struct_point.html">Point</a> <a class="code" href="class_ship_a_i.html#a13957ddfeeea461ce58921b1da2c9402">obstacle</a>;</div>
+<div class="line"><a name="l00122"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ad557f1942645cc0d03e39b7815e1b8e1"> 122</a></span>&#160; <a class="code" href="class_tactical_a_i.html">TacticalAI</a>* <a class="code" href="class_ship_a_i.html#ad557f1942645cc0d03e39b7815e1b8e1">tactical</a>;</div>
+<div class="line"><a name="l00123"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ad94e1cc9a369fea10182480ce6bf859e"> 123</a></span>&#160; <a class="code" href="class_farcaster.html">Farcaster</a>* <a class="code" href="class_ship_a_i.html#ad94e1cc9a369fea10182480ce6bf859e">farcaster</a>;</div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ac54e4dba107f421c11623bdead110ac9"> 124</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_ship_a_i.html#ac54e4dba107f421c11623bdead110ac9">engaged_ship_id</a>;</div>
+<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a4c20de3d8c4143401f41e1d76c579694"> 125</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_ship_a_i.html#a4c20de3d8c4143401f41e1d76c579694">splash_count</a>;</div>
+<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a5b712bfe2a73dbbe1ded5cc1aebc549e"> 127</a></span>&#160; <a class="code" href="struct_point.html">Point</a> <a class="code" href="class_ship_a_i.html#a5b712bfe2a73dbbe1ded5cc1aebc549e">formation_delta</a>;</div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a4242d9f7c4ce934cad487a96a29844f3"> 128</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="class_ship_a_i.html#a4242d9f7c4ce934cad487a96a29844f3">slot_dist</a>;</div>
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div>
+<div class="line"><a name="l00130"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a538105fdf2072a28ad9dd95ed6f1a036"> 130</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="class_ship_a_i.html#a538105fdf2072a28ad9dd95ed6f1a036">throttle</a>;</div>
+<div class="line"><a name="l00131"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#adb4453be68bb847a3efdce2670df6d11"> 131</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="class_ship_a_i.html#adb4453be68bb847a3efdce2670df6d11">old_throttle</a>;</div>
+<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a3efbe3e8e853aae8ad18489884265668"> 132</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="class_ship_a_i.html#a3efbe3e8e853aae8ad18489884265668">seconds</a>;</div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a148dc76873b650f5824fbadad23ba25b"> 133</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="class_ship_a_i.html#a148dc76873b650f5824fbadad23ba25b">drop_time</a>;</div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ac650997c369b98c549fa9a632917ba1e"> 134</a></span>&#160; <span class="keywordtype">double</span> <a class="code" href="class_ship_a_i.html#ac650997c369b98c549fa9a632917ba1e">brake</a>;</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#adcee999a0df8418e6d407477e95cb13a"> 135</a></span>&#160; DWORD <a class="code" href="class_ship_a_i.html#adcee999a0df8418e6d407477e95cb13a">last_avoid_time</a>;</div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ac00480446b3191b6f7c33a5cf010b79b"> 136</a></span>&#160; DWORD <a class="code" href="class_ship_a_i.html#ac00480446b3191b6f7c33a5cf010b79b">last_call_time</a>;</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
+<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a6cf55e2d07bcfffe7c7fc592eebb5e26"> 138</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_ship_a_i.html#a6cf55e2d07bcfffe7c7fc592eebb5e26">element_index</a>;</div>
+<div class="line"><a name="l00139"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a585f4d48c3888ac477304fc7cae54551"> 139</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_ship_a_i.html#a585f4d48c3888ac477304fc7cae54551">too_close</a>;</div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ad5528c03e9be5278780bbc094184b774"> 140</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_ship_a_i.html#ad5528c03e9be5278780bbc094184b774">bracket</a>;</div>
+<div class="line"><a name="l00141"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#af4be87883a717e1cebd24529d397ea46"> 141</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_ship_a_i.html#af4be87883a717e1cebd24529d397ea46">identify</a>;</div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#ab9c93cd68ebe6def31307a959317272a"> 142</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_ship_a_i.html#ab9c93cd68ebe6def31307a959317272a">hold</a>;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a4bd634982ca5d931418f2dd89e3c17ee"> 143</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_ship_a_i.html#a4bd634982ca5d931418f2dd89e3c17ee">takeoff</a>;</div>
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div>
+<div class="line"><a name="l00145"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a1e9f39e1da777e23f7355e484ff8259f"> 145</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_ship_a_i.html#a1e9f39e1da777e23f7355e484ff8259f">patrol</a>;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a12fd0dfa7dba21adf0c4705a16fa3092"> 146</a></span>&#160; <a class="code" href="struct_point.html">Point</a> <a class="code" href="class_ship_a_i.html#a12fd0dfa7dba21adf0c4705a16fa3092">patrol_loc</a>;</div>
+<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="class_ship_a_i.html#a2b1e84a4cd23292b036f7a94c679d84e"> 147</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_ship_a_i.html#a2b1e84a4cd23292b036f7a94c679d84e">ai_level</a>;</div>
+<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;};</div>
+<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
+<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment">// +--------------------------------------------------------------------+</span></div>
+<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div>
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="preprocessor">#endif ShipAI_h</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="preprocessor"></span></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_ea1b58c809a5070716d7c602998a95b0.html">Stars45</a></li><li class="navelem"><a class="el" href="_ship_a_i_8h.html">ShipAI.h</a></li>
+ <li class="footer">Generated on Thu May 31 2012 16:31:15 for Starshatter_Open by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1 </li>
+ </ul>
+</div>
+</body>
+</html>