~ares-developers/ares/gd03

« back to all changes in this revision

Viewing changes to src/Doc/class_building_ext.html

  • Committer: Renegade
  • Date: 2010-05-29 08:12:17 UTC
  • Revision ID: git-v1:0a1bb6321f04d723afe64d1b843dc87b4da783ec
Creating /trunk/src.

git-svn-id: svn://svn.renegadeprojects.com/ares/trunk@622 859b54a9-7a54-0410-aeb3-f8d2f1fa40fd

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 
3
<title>Ares: BuildingExt Class Reference</title>
 
4
<link href="tabs.css" rel="stylesheet" type="text/css">
 
5
<link href="doxygen.css" rel="stylesheet" type="text/css">
 
6
</head><body>
 
7
<!-- Generated by Doxygen 1.5.8 -->
 
8
<script type="text/javascript">
 
9
<!--
 
10
function changeDisplayState (e){
 
11
  var num=this.id.replace(/[^[0-9]/g,'');
 
12
  var button=this.firstChild;
 
13
  var sectionDiv=document.getElementById('dynsection'+num);
 
14
  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
 
15
    sectionDiv.style.display='block';
 
16
    button.src='open.gif';
 
17
  }else{
 
18
    sectionDiv.style.display='none';
 
19
    button.src='closed.gif';
 
20
  }
 
21
}
 
22
function initDynSections(){
 
23
  var divs=document.getElementsByTagName('div');
 
24
  var sectionCounter=1;
 
25
  for(var i=0;i<divs.length-1;i++){
 
26
    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
 
27
      var header=divs[i];
 
28
      var section=divs[i+1];
 
29
      var button=header.firstChild;
 
30
      if (button!='IMG'){
 
31
        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
 
32
        button=document.createElement('img');
 
33
        divs[i].insertBefore(button,divs[i].firstChild);
 
34
      }
 
35
      header.style.cursor='pointer';
 
36
      header.onclick=changeDisplayState;
 
37
      header.id='dynheader'+sectionCounter;
 
38
      button.src='closed.gif';
 
39
      section.id='dynsection'+sectionCounter;
 
40
      section.style.display='none';
 
41
      section.style.marginLeft='14px';
 
42
      sectionCounter++;
 
43
    }
 
44
  }
 
45
}
 
46
window.onload = initDynSections;
 
47
-->
 
48
</script>
 
49
<div class="navigation" id="top">
 
50
  <div class="tabs">
 
51
    <ul>
 
52
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
 
53
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
 
54
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
 
55
      <li><a href="files.html"><span>Files</span></a></li>
 
56
      <li><a href="dirs.html"><span>Directories</span></a></li>
 
57
    <li>
 
58
      <form action="search.php" method="get">
 
59
        <table cellspacing="0" cellpadding="0" border="0">
 
60
          <tr>
 
61
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
 
62
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
 
63
          </tr>
 
64
        </table>
 
65
      </form>
 
66
    </li>
 
67
    </ul>
 
68
  </div>
 
69
  <div class="tabs">
 
70
    <ul>
 
71
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
 
72
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
 
73
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
 
74
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
 
75
    </ul>
 
76
  </div>
 
77
</div>
 
78
<div class="contents">
 
79
<h1>BuildingExt Class Reference</h1><!-- doxytag: class="BuildingExt" --><code>#include &lt;Ext/Building/Body.h&gt;</code>
 
80
<p>
 
81
 
 
82
<p>
 
83
<a href="class_building_ext-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
 
84
<tr><td></td></tr>
 
85
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
 
86
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_building_ext_1_1_ext_data.html">ExtData</a></td></tr>
 
87
 
 
88
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
 
89
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef BuildingClass&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_building_ext.html#66c50954e22686f620bf9dd86ec856b9">TT</a></td></tr>
 
90
 
 
91
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
 
92
<tr><td class="memItemLeft" nowrap align="right" valign="top">static DWORD&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_building_ext.html#223949406041a5bcab3aeca6730375b2">GetFirewallFlags</a> (BuildingClass *pThis)</td></tr>
 
93
 
 
94
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_building_ext.html#d317daedbe9b35f461dd5899712e5bfb">buildLines</a> (BuildingClass *, CellStruct, HouseClass *)</td></tr>
 
95
 
 
96
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_building_ext.html#7cc1e762dfcded375fd8d8f53f23e700">UpdateDisplayTo</a> (BuildingClass *pThis)</td></tr>
 
97
 
 
98
<tr><td class="memItemLeft" nowrap align="right" valign="top">static signed int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_building_ext.html#59888b6757cda255f2196890df502ed9">GetImageFrameIndex</a> (BuildingClass *pThis)</td></tr>
 
99
 
 
100
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_building_ext.html#ac5d31fb267a37e55bec72b827206713">KickOutHospitalArmory</a> (BuildingClass *pThis)</td></tr>
 
101
 
 
102
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
 
103
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="class_container.html">Container</a>&lt; <a class="el" href="class_building_ext.html">BuildingExt</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_building_ext.html#bae25aca766faa296092dea1dc69cff7">ExtMap</a></td></tr>
 
104
 
 
105
</table>
 
106
<hr><h2>Member Typedef Documentation</h2>
 
107
<a class="anchor" name="66c50954e22686f620bf9dd86ec856b9"></a><!-- doxytag: member="BuildingExt::TT" ref="66c50954e22686f620bf9dd86ec856b9" args="" -->
 
108
<div class="memitem">
 
109
<div class="memproto">
 
110
      <table class="memname">
 
111
        <tr>
 
112
          <td class="memname">typedef BuildingClass <a class="el" href="class_building_ext.html#66c50954e22686f620bf9dd86ec856b9">BuildingExt::TT</a>          </td>
 
113
        </tr>
 
114
      </table>
 
115
</div>
 
116
<div class="memdoc">
 
117
 
 
118
<p>
 
119
 
 
120
</div>
 
121
</div><p>
 
122
<hr><h2>Member Function Documentation</h2>
 
123
<a class="anchor" name="d317daedbe9b35f461dd5899712e5bfb"></a><!-- doxytag: member="BuildingExt::buildLines" ref="d317daedbe9b35f461dd5899712e5bfb" args="(BuildingClass *, CellStruct, HouseClass *)" -->
 
124
<div class="memitem">
 
125
<div class="memproto">
 
126
      <table class="memname">
 
127
        <tr>
 
128
          <td class="memname">void BuildingExt::buildLines           </td>
 
129
          <td>(</td>
 
130
          <td class="paramtype">BuildingClass *&nbsp;</td>
 
131
          <td class="paramname"> <em>theBuilding</em>, </td>
 
132
        </tr>
 
133
        <tr>
 
134
          <td class="paramkey"></td>
 
135
          <td></td>
 
136
          <td class="paramtype">CellStruct&nbsp;</td>
 
137
          <td class="paramname"> <em>selectedCell</em>, </td>
 
138
        </tr>
 
139
        <tr>
 
140
          <td class="paramkey"></td>
 
141
          <td></td>
 
142
          <td class="paramtype">HouseClass *&nbsp;</td>
 
143
          <td class="paramname"> <em>buildingOwner</em></td><td>&nbsp;</td>
 
144
        </tr>
 
145
        <tr>
 
146
          <td></td>
 
147
          <td>)</td>
 
148
          <td></td><td></td><td><code> [static]</code></td>
 
149
        </tr>
 
150
      </table>
 
151
</div>
 
152
<div class="memdoc">
 
153
 
 
154
<p>
 
155
<dl compact><dt><b>Parameters:</b></dt><dd>
 
156
  <table border="0" cellspacing="2" cellpadding="0">
 
157
    <tr><td valign="top"></td><td valign="top"><em>theBuilding</em>&nbsp;</td><td>the building which we're trying to link to existing buildings. </td></tr>
 
158
    <tr><td valign="top"></td><td valign="top"><em>selectedCell</em>&nbsp;</td><td>the cell at which we're trying to build. </td></tr>
 
159
    <tr><td valign="top"></td><td valign="top"><em>buildingOwner</em>&nbsp;</td><td>the owner of the building we're trying to link. </td></tr>
 
160
  </table>
 
161
</dl>
 
162
<dl class="see" compact><dt><b>See also:</b></dt><dd>isLinkable() <p>
 
163
canLinkTo()</dd></dl>
 
164
<dl class="author" compact><dt><b>Author:</b></dt><dd>DCoder, Renegade </dd></dl>
 
165
<dl class="date" compact><dt><b>Date:</b></dt><dd>26.12.09+ </dd></dl>
 
166
<div class="fragment"><pre class="fragment"><a name="l00266"></a>00266                                                                                                            {
 
167
<a name="l00267"></a>00267         <a class="code" href="class_building_ext_1_1_ext_data.html">BuildingExt::ExtData</a>* buildingExtData = <a class="code" href="class_building_ext.html#bae25aca766faa296092dea1dc69cff7">BuildingExt::ExtMap</a>.<a class="code" href="class_container.html#90ddec0f8fb14f5a9894e128c2f938fc">Find</a>(theBuilding);
 
168
<a name="l00268"></a>00268         <span class="comment">//BuildingTypeExt::ExtData* buildingTypeExtData = BuildingTypeExt::ExtMap.Find(theBuilding-&gt;Type);</span>
 
169
<a name="l00269"></a>00269 
 
170
<a name="l00270"></a>00270         <span class="comment">// check if this building is linkable at all and abort if it isn't</span>
 
171
<a name="l00271"></a>00271         <span class="keywordflow">if</span>(!buildingExtData-&gt;<a class="code" href="class_building_ext_1_1_ext_data.html#7523847404477cd1be29ab2f403d4fb3" title="Returns true if this is a structure that can be linked to other structures, like...">isLinkable</a>()) {
 
172
<a name="l00272"></a>00272                 <span class="keywordflow">return</span>;
 
173
<a name="l00273"></a>00273         }
 
174
<a name="l00274"></a>00274 
 
175
<a name="l00275"></a>00275         <span class="keywordtype">short</span> maxLinkDistance = theBuilding-&gt;Type-&gt;GuardRange / 256; <span class="comment">// GuardRange governs how far the link can go, is saved in leptons</span>
 
176
<a name="l00276"></a>00276 
 
177
<a name="l00277"></a>00277         <span class="keywordflow">for</span>(<span class="keywordtype">int</span> direction = 0; direction &lt;= 7; direction += 2) { <span class="comment">// the 4 straight directions of the simple compass</span>
 
178
<a name="l00278"></a>00278                 CellStruct directionOffset = CellSpread::GetNeighbourOffset(direction); <span class="comment">// coordinates of the neighboring cell in the given direction relative to the current cell (e.g. 0,1)</span>
 
179
<a name="l00279"></a>00279                 <span class="keywordtype">int</span> linkLength = 0; <span class="comment">// how many cells to build on from center in direction to link up with a found building</span>
 
180
<a name="l00280"></a>00280 
 
181
<a name="l00281"></a>00281                 CellStruct cellToCheck = selectedCell;
 
182
<a name="l00282"></a>00282                 <span class="keywordflow">for</span>(<span class="keywordtype">short</span> distanceFromCenter = 1; distanceFromCenter &lt;= maxLinkDistance; ++distanceFromCenter) {
 
183
<a name="l00283"></a>00283                         cellToCheck += directionOffset; <span class="comment">// adjust the cell to check based on current distance, relative to the selected cell</span>
 
184
<a name="l00284"></a>00284 
 
185
<a name="l00285"></a>00285                         <span class="keywordflow">if</span>(!MapClass::Instance-&gt;CellExists(&amp;cellToCheck)) { <span class="comment">// don't parse this cell if it doesn't exist (duh)</span>
 
186
<a name="l00286"></a>00286                                 <span class="keywordflow">break</span>;
 
187
<a name="l00287"></a>00287                         }
 
188
<a name="l00288"></a>00288 
 
189
<a name="l00289"></a>00289                         CellClass *cell = MapClass::Instance-&gt;GetCellAt(&amp;cellToCheck);
 
190
<a name="l00290"></a>00290 
 
191
<a name="l00291"></a>00291                         <span class="keywordflow">if</span>(BuildingClass *OtherEnd = cell-&gt;GetBuilding()) { <span class="comment">// if we find a building...</span>
 
192
<a name="l00292"></a>00292                                 <span class="keywordflow">if</span>(buildingExtData-&gt;<a class="code" href="class_building_ext_1_1_ext_data.html#63d2873ee89296616c24bc3a440819d1" title="Checks if the current building can link to the given target building.">canLinkTo</a>(OtherEnd)) { <span class="comment">// ...and it is linkable, we found what we needed</span>
 
193
<a name="l00293"></a>00293                                         linkLength = distanceFromCenter - 1; <span class="comment">// distanceFromCenter directly would be on top of the found building</span>
 
194
<a name="l00294"></a>00294                                         <span class="keywordflow">break</span>;
 
195
<a name="l00295"></a>00295                                 }
 
196
<a name="l00296"></a>00296 
 
197
<a name="l00297"></a>00297                                 <span class="keywordflow">break</span>; <span class="comment">// we found a building, but it's not linkable</span>
 
198
<a name="l00298"></a>00298                         }
 
199
<a name="l00299"></a>00299 
 
200
<a name="l00300"></a>00300                         <span class="keywordflow">if</span>(!cell-&gt;CanThisExistHere(theBuilding-&gt;Type-&gt;SpeedType, theBuilding-&gt;Type, buildingOwner)) { <span class="comment">// abort if that buildingtype is not allowed to be built there</span>
 
201
<a name="l00301"></a>00301                                 <span class="keywordflow">break</span>;
 
202
<a name="l00302"></a>00302                         }
 
203
<a name="l00303"></a>00303 
 
204
<a name="l00304"></a>00304                 }
 
205
<a name="l00305"></a>00305 
 
206
<a name="l00306"></a>00306                 <span class="comment">// build a line of this buildingtype from the found building (if any) to the newly built one</span>
 
207
<a name="l00307"></a>00307                 CellStruct cellToBuildOn = selectedCell;
 
208
<a name="l00308"></a>00308                 <span class="keywordflow">for</span>(<span class="keywordtype">int</span> distanceFromCenter = 1; distanceFromCenter &lt;= linkLength; ++distanceFromCenter) {
 
209
<a name="l00309"></a>00309                         cellToBuildOn += directionOffset;
 
210
<a name="l00310"></a>00310 
 
211
<a name="l00311"></a>00311                         <span class="keywordflow">if</span>(CellClass *cell = MapClass::Instance-&gt;GetCellAt(&amp;cellToBuildOn)) {
 
212
<a name="l00312"></a>00312                                 <span class="keywordflow">if</span>(BuildingClass *tempBuilding = specific_cast&lt;BuildingClass *&gt;(theBuilding-&gt;Type-&gt;CreateObject(buildingOwner))) {
 
213
<a name="l00313"></a>00313                                         CoordStruct coordBuffer;
 
214
<a name="l00314"></a>00314                                         CellClass::Cell2Coord(&amp;cellToBuildOn, &amp;coordBuffer);
 
215
<a name="l00315"></a>00315 
 
216
<a name="l00316"></a>00316                                         ++Unsorted::IKnowWhatImDoing; <span class="comment">// put the building there even if normal rules would deny - e.g. under units</span>
 
217
<a name="l00317"></a>00317                                         <span class="keywordtype">bool</span> Put = tempBuilding-&gt;Put(&amp;coordBuffer, 0);
 
218
<a name="l00318"></a>00318                                         --Unsorted::IKnowWhatImDoing;
 
219
<a name="l00319"></a>00319 
 
220
<a name="l00320"></a>00320                                         <span class="keywordflow">if</span>(Put) {
 
221
<a name="l00321"></a>00321                                                 tempBuilding-&gt;QueueMission(mission_Construction, <span class="keyword">false</span>);
 
222
<a name="l00322"></a>00322                                                 tempBuilding-&gt;UpdateOwner(buildingOwner);
 
223
<a name="l00323"></a>00323                                                 tempBuilding-&gt;unknown_bool_6DD = 1;
 
224
<a name="l00324"></a>00324                                         } <span class="keywordflow">else</span> {
 
225
<a name="l00325"></a>00325                                                 GAME_DEALLOC(tempBuilding);
 
226
<a name="l00326"></a>00326                                         }
 
227
<a name="l00327"></a>00327                                 }
 
228
<a name="l00328"></a>00328                         }
 
229
<a name="l00329"></a>00329                 }
 
230
<a name="l00330"></a>00330         }
 
231
<a name="l00331"></a>00331 }
 
232
</pre></div>
 
233
<p>
 
234
 
 
235
</div>
 
236
</div><p>
 
237
<a class="anchor" name="223949406041a5bcab3aeca6730375b2"></a><!-- doxytag: member="BuildingExt::GetFirewallFlags" ref="223949406041a5bcab3aeca6730375b2" args="(BuildingClass *pThis)" -->
 
238
<div class="memitem">
 
239
<div class="memproto">
 
240
      <table class="memname">
 
241
        <tr>
 
242
          <td class="memname">DWORD BuildingExt::GetFirewallFlags           </td>
 
243
          <td>(</td>
 
244
          <td class="paramtype">BuildingClass *&nbsp;</td>
 
245
          <td class="paramname"> <em>pThis</em>          </td>
 
246
          <td>&nbsp;)&nbsp;</td>
 
247
          <td><code> [static]</code></td>
 
248
        </tr>
 
249
      </table>
 
250
</div>
 
251
<div class="memdoc">
 
252
 
 
253
<p>
 
254
<div class="fragment"><pre class="fragment"><a name="l00024"></a>00024                                                         {
 
255
<a name="l00025"></a>00025         CellClass *MyCell = MapClass::Instance-&gt;GetCellAt(&amp;pThis-&gt;Location);
 
256
<a name="l00026"></a>00026         DWORD flags = 0;
 
257
<a name="l00027"></a>00027         <span class="keywordflow">for</span>(<span class="keywordtype">int</span> direction = 0; direction &lt; 8; direction += 2) {
 
258
<a name="l00028"></a>00028                 CellClass *Neighbour = MyCell-&gt;GetNeighbourCell(direction);
 
259
<a name="l00029"></a>00029                 <span class="keywordflow">if</span>(BuildingClass *B = Neighbour-&gt;GetBuilding()) {
 
260
<a name="l00030"></a>00030                         <a class="code" href="class_building_type_ext_1_1_ext_data.html">BuildingTypeExt::ExtData</a>* pTypeData = <a class="code" href="class_building_type_ext.html#9643fa629dd6d2a20eeefa4942d8612a">BuildingTypeExt::ExtMap</a>.<a class="code" href="class_container.html#90ddec0f8fb14f5a9894e128c2f938fc">Find</a>(B-&gt;Type);
 
261
<a name="l00031"></a>00031                         <span class="keywordflow">if</span>(pTypeData-&gt;<a class="code" href="class_building_type_ext_1_1_ext_data.html#51503707d3c7be1bcd829f893acdd21e">Firewall_Is</a> &amp;&amp; B-&gt;Owner == pThis-&gt;Owner &amp;&amp; !B-&gt;InLimbo &amp;&amp; B-&gt;IsAlive) {
 
262
<a name="l00032"></a>00032                                 flags |= 1 &lt;&lt; (direction &gt;&gt; 1);
 
263
<a name="l00033"></a>00033                         }
 
264
<a name="l00034"></a>00034                 }
 
265
<a name="l00035"></a>00035         }
 
266
<a name="l00036"></a>00036         <span class="keywordflow">return</span> flags;
 
267
<a name="l00037"></a>00037 }
 
268
</pre></div>
 
269
<p>
 
270
 
 
271
</div>
 
272
</div><p>
 
273
<a class="anchor" name="59888b6757cda255f2196890df502ed9"></a><!-- doxytag: member="BuildingExt::GetImageFrameIndex" ref="59888b6757cda255f2196890df502ed9" args="(BuildingClass *pThis)" -->
 
274
<div class="memitem">
 
275
<div class="memproto">
 
276
      <table class="memname">
 
277
        <tr>
 
278
          <td class="memname">signed int BuildingExt::GetImageFrameIndex           </td>
 
279
          <td>(</td>
 
280
          <td class="paramtype">BuildingClass *&nbsp;</td>
 
281
          <td class="paramname"> <em>pThis</em>          </td>
 
282
          <td>&nbsp;)&nbsp;</td>
 
283
          <td><code> [static]</code></td>
 
284
        </tr>
 
285
      </table>
 
286
</div>
 
287
<div class="memdoc">
 
288
 
 
289
<p>
 
290
<div class="fragment"><pre class="fragment"><a name="l00335"></a>00335                                                                {
 
291
<a name="l00336"></a>00336         <a class="code" href="class_building_type_ext_1_1_ext_data.html">BuildingTypeExt::ExtData</a> *pData = <a class="code" href="class_building_type_ext.html#9643fa629dd6d2a20eeefa4942d8612a">BuildingTypeExt::ExtMap</a>.<a class="code" href="class_container.html#90ddec0f8fb14f5a9894e128c2f938fc">Find</a>(pThis-&gt;Type);
 
292
<a name="l00337"></a>00337 
 
293
<a name="l00338"></a>00338         <span class="keywordflow">if</span>(pData-&gt;<a class="code" href="class_building_type_ext_1_1_ext_data.html#51503707d3c7be1bcd829f893acdd21e">Firewall_Is</a>) {
 
294
<a name="l00339"></a>00339                 <span class="keywordflow">return</span> pThis-&gt;FirestormWallFrame;
 
295
<a name="l00340"></a>00340 
 
296
<a name="l00341"></a>00341                 <span class="comment">/* this is the code the game uses to calculate the firewall's frame number when you place/remove sections... should be a good base for trench frames</span>
 
297
<a name="l00342"></a>00342 <span class="comment"></span>
 
298
<a name="l00343"></a>00343 <span class="comment">                        int frameIdx = 0;</span>
 
299
<a name="l00344"></a>00344 <span class="comment">                        CellClass *Cell = this-&gt;GetCell();</span>
 
300
<a name="l00345"></a>00345 <span class="comment">                        for(int direction = 0; direction &lt;= 7; direction += 2) {</span>
 
301
<a name="l00346"></a>00346 <span class="comment">                                if(BuildingClass *B = Cell-&gt;GetNeighbourCell(direction)-&gt;GetBuilding()) {</span>
 
302
<a name="l00347"></a>00347 <span class="comment">                                        if(B-&gt;IsAlive &amp;&amp; !B-&gt;InLimbo) {</span>
 
303
<a name="l00348"></a>00348 <span class="comment">                                                frameIdx |= (1 &lt;&lt; (direction &gt;&gt; 1));</span>
 
304
<a name="l00349"></a>00349 <span class="comment">                                        }</span>
 
305
<a name="l00350"></a>00350 <span class="comment">                                }</span>
 
306
<a name="l00351"></a>00351 <span class="comment">                        }</span>
 
307
<a name="l00352"></a>00352 <span class="comment"></span>
 
308
<a name="l00353"></a>00353 <span class="comment">                */</span>
 
309
<a name="l00354"></a>00354         }
 
310
<a name="l00355"></a>00355 
 
311
<a name="l00356"></a>00356         <span class="keywordflow">if</span>(pData-&gt;<a class="code" href="class_building_type_ext_1_1_ext_data.html#3af26b553e32907458b023e766272dd7" title="Enables moving between segments - saves ID of a kind of trench.">IsTrench</a> &gt; -1) {
 
312
<a name="l00357"></a>00357                 <span class="keywordflow">return</span> 0;
 
313
<a name="l00358"></a>00358         }
 
314
<a name="l00359"></a>00359 
 
315
<a name="l00360"></a>00360         <span class="keywordflow">return</span> -1;
 
316
<a name="l00361"></a>00361 }
 
317
</pre></div>
 
318
<p>
 
319
 
 
320
</div>
 
321
</div><p>
 
322
<a class="anchor" name="ac5d31fb267a37e55bec72b827206713"></a><!-- doxytag: member="BuildingExt::KickOutHospitalArmory" ref="ac5d31fb267a37e55bec72b827206713" args="(BuildingClass *pThis)" -->
 
323
<div class="memitem">
 
324
<div class="memproto">
 
325
      <table class="memname">
 
326
        <tr>
 
327
          <td class="memname">void BuildingExt::KickOutHospitalArmory           </td>
 
328
          <td>(</td>
 
329
          <td class="paramtype">BuildingClass *&nbsp;</td>
 
330
          <td class="paramname"> <em>pThis</em>          </td>
 
331
          <td>&nbsp;)&nbsp;</td>
 
332
          <td><code> [static]</code></td>
 
333
        </tr>
 
334
      </table>
 
335
</div>
 
336
<div class="memdoc">
 
337
 
 
338
<p>
 
339
<div class="fragment"><pre class="fragment"><a name="l00364"></a>00364 {
 
340
<a name="l00365"></a>00365         <span class="keywordflow">if</span>(pThis-&gt;Type-&gt;Hospital || pThis-&gt;Type-&gt;Armory) {
 
341
<a name="l00366"></a>00366                 <span class="keywordflow">if</span>(FootClass * Passenger = pThis-&gt;Passengers.RemoveFirstPassenger()) {
 
342
<a name="l00367"></a>00367                         pThis-&gt;KickOutUnit(Passenger, &amp;BuildingClass::DefaultCellCoords);
 
343
<a name="l00368"></a>00368                 }
 
344
<a name="l00369"></a>00369         }
 
345
<a name="l00370"></a>00370 }
 
346
</pre></div>
 
347
<p>
 
348
 
 
349
</div>
 
350
</div><p>
 
351
<a class="anchor" name="7cc1e762dfcded375fd8d8f53f23e700"></a><!-- doxytag: member="BuildingExt::UpdateDisplayTo" ref="7cc1e762dfcded375fd8d8f53f23e700" args="(BuildingClass *pThis)" -->
 
352
<div class="memitem">
 
353
<div class="memproto">
 
354
      <table class="memname">
 
355
        <tr>
 
356
          <td class="memname">void BuildingExt::UpdateDisplayTo           </td>
 
357
          <td>(</td>
 
358
          <td class="paramtype">BuildingClass *&nbsp;</td>
 
359
          <td class="paramname"> <em>pThis</em>          </td>
 
360
          <td>&nbsp;)&nbsp;</td>
 
361
          <td><code> [static]</code></td>
 
362
        </tr>
 
363
      </table>
 
364
</div>
 
365
<div class="memdoc">
 
366
 
 
367
<p>
 
368
<div class="fragment"><pre class="fragment"><a name="l00039"></a>00039                                                       {
 
369
<a name="l00040"></a>00040         <span class="keywordflow">if</span>(pThis-&gt;Type-&gt;Radar) {
 
370
<a name="l00041"></a>00041                 HouseClass *H = pThis-&gt;Owner;
 
371
<a name="l00042"></a>00042                 H-&gt;RadarVisibleTo.Clear();
 
372
<a name="l00043"></a>00043                 <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; H-&gt;Buildings.Count; ++i) {
 
373
<a name="l00044"></a>00044                         BuildingClass *currentB = H-&gt;Buildings.GetItem(i);
 
374
<a name="l00045"></a>00045                         <span class="keywordflow">if</span>(!currentB-&gt;InLimbo) {
 
375
<a name="l00046"></a>00046                                 <span class="keywordflow">if</span>(<a class="code" href="class_building_type_ext.html#9643fa629dd6d2a20eeefa4942d8612a">BuildingTypeExt::ExtMap</a>.Find(currentB-&gt;Type)-&gt;RevealRadar) {
 
376
<a name="l00047"></a>00047                                         H-&gt;RadarVisibleTo.data |= currentB-&gt;DisplayProductionTo.data;
 
377
<a name="l00048"></a>00048                                 }
 
378
<a name="l00049"></a>00049                         }
 
379
<a name="l00050"></a>00050                 }
 
380
<a name="l00051"></a>00051                 MapClass::Instance-&gt;sub_4F42F0(2);
 
381
<a name="l00052"></a>00052         }
 
382
<a name="l00053"></a>00053 }
 
383
</pre></div>
 
384
<p>
 
385
 
 
386
</div>
 
387
</div><p>
 
388
<hr><h2>Member Data Documentation</h2>
 
389
<a class="anchor" name="bae25aca766faa296092dea1dc69cff7"></a><!-- doxytag: member="BuildingExt::ExtMap" ref="bae25aca766faa296092dea1dc69cff7" args="" -->
 
390
<div class="memitem">
 
391
<div class="memproto">
 
392
      <table class="memname">
 
393
        <tr>
 
394
          <td class="memname"><a class="el" href="class_container.html">Container</a>&lt; <a class="el" href="class_building_ext.html">BuildingExt</a> &gt; <a class="el" href="class_building_ext.html#bae25aca766faa296092dea1dc69cff7">BuildingExt::ExtMap</a><code> [static]</code>          </td>
 
395
        </tr>
 
396
      </table>
 
397
</div>
 
398
<div class="memdoc">
 
399
 
 
400
<p>
 
401
 
 
402
</div>
 
403
</div><p>
 
404
<hr>The documentation for this class was generated from the following files:<ul>
 
405
<li>Ext/Building/<a class="el" href="_building_2_body_8h.html">Body.h</a><li>Ext/Building/<a class="el" href="_building_2_body_8cpp.html">Body.cpp</a></ul>
 
406
</div>
 
407
<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 18 03:51:09 2010 for Ares by&nbsp;
 
408
<a href="http://www.doxygen.org/index.html">
 
409
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
 
410
</body>
 
411
</html>