~ares-developers/ares/gd03

« back to all changes in this revision

Viewing changes to Doc/class_s_w___generic_warhead.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: SW_GenericWarhead 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>SW_GenericWarhead Class Reference</h1><!-- doxytag: class="SW_GenericWarhead" --><!-- doxytag: inherits="NewSWType" --><code>#include &lt;Misc/SWTypes/GenericWarhead.h&gt;</code>
80
 
<p>
81
 
<div class="dynheader">
82
 
Inheritance diagram for SW_GenericWarhead:</div>
83
 
<div class="dynsection">
84
 
 
85
 
<p><center><img src="class_s_w___generic_warhead.png" usemap="#SW_GenericWarhead_map" border="0" alt=""></center>
86
 
<map name="SW_GenericWarhead_map">
87
 
<area href="class_new_s_w_type.html" alt="NewSWType" shape="rect" coords="0,0,134,24">
88
 
</map>
89
 
</div>
90
 
 
91
 
<p>
92
 
<a href="class_s_w___generic_warhead-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
93
 
<tr><td></td></tr>
94
 
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
95
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_w___generic_warhead.html#61991f1c0889593993f6379261908394">SW_GenericWarhead</a> ()</td></tr>
96
 
 
97
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_w___generic_warhead.html#80b97be4dbcb1fc06540863d76f2618d">~SW_GenericWarhead</a> ()</td></tr>
98
 
 
99
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_w___generic_warhead.html#681a04a69373b1f577669e1a59d201d8">GetTypeString</a> ()</td></tr>
100
 
 
101
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_w___generic_warhead.html#a90c418a6bd0f6c99cf8becbf690650e">LoadFromINI</a> (<a class="el" href="class_s_w_type_ext_1_1_ext_data.html">SWTypeExt::ExtData</a> *pData, SuperWeaponTypeClass *pSW, CCINIClass *pINI)</td></tr>
102
 
 
103
 
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_w___generic_warhead.html#0d60c88817ab19e88ac2bfca9ca6bb49">Launch</a> (SuperClass *pThis, CellStruct *pCoords, byte IsPlayer)</td></tr>
104
 
 
105
 
</table>
106
 
<hr><h2>Constructor &amp; Destructor Documentation</h2>
107
 
<a class="anchor" name="61991f1c0889593993f6379261908394"></a><!-- doxytag: member="SW_GenericWarhead::SW_GenericWarhead" ref="61991f1c0889593993f6379261908394" args="()" -->
108
 
<div class="memitem">
109
 
<div class="memproto">
110
 
      <table class="memname">
111
 
        <tr>
112
 
          <td class="memname">SW_GenericWarhead::SW_GenericWarhead           </td>
113
 
          <td>(</td>
114
 
          <td class="paramname">          </td>
115
 
          <td>&nbsp;)&nbsp;</td>
116
 
          <td><code> [inline]</code></td>
117
 
        </tr>
118
 
      </table>
119
 
</div>
120
 
<div class="memdoc">
121
 
 
122
 
<p>
123
 
<div class="fragment"><pre class="fragment"><a name="l00011"></a>00011                                     : <a class="code" href="class_new_s_w_type.html#3d172e38dff6bb8d27b96d14e389523f">NewSWType</a>()
124
 
<a name="l00012"></a>00012                         { };
125
 
</pre></div>
126
 
<p>
127
 
 
128
 
</div>
129
 
</div><p>
130
 
<a class="anchor" name="80b97be4dbcb1fc06540863d76f2618d"></a><!-- doxytag: member="SW_GenericWarhead::~SW_GenericWarhead" ref="80b97be4dbcb1fc06540863d76f2618d" args="()" -->
131
 
<div class="memitem">
132
 
<div class="memproto">
133
 
      <table class="memname">
134
 
        <tr>
135
 
          <td class="memname">virtual SW_GenericWarhead::~SW_GenericWarhead           </td>
136
 
          <td>(</td>
137
 
          <td class="paramname">          </td>
138
 
          <td>&nbsp;)&nbsp;</td>
139
 
          <td><code> [inline, virtual]</code></td>
140
 
        </tr>
141
 
      </table>
142
 
</div>
143
 
<div class="memdoc">
144
 
 
145
 
<p>
146
 
<div class="fragment"><pre class="fragment"><a name="l00015"></a>00015                         { };
147
 
</pre></div>
148
 
<p>
149
 
 
150
 
</div>
151
 
</div><p>
152
 
<hr><h2>Member Function Documentation</h2>
153
 
<a class="anchor" name="681a04a69373b1f577669e1a59d201d8"></a><!-- doxytag: member="SW_GenericWarhead::GetTypeString" ref="681a04a69373b1f577669e1a59d201d8" args="()" -->
154
 
<div class="memitem">
155
 
<div class="memproto">
156
 
      <table class="memname">
157
 
        <tr>
158
 
          <td class="memname">virtual const char* SW_GenericWarhead::GetTypeString           </td>
159
 
          <td>(</td>
160
 
          <td class="paramname">          </td>
161
 
          <td>&nbsp;)&nbsp;</td>
162
 
          <td><code> [inline, virtual]</code></td>
163
 
        </tr>
164
 
      </table>
165
 
</div>
166
 
<div class="memdoc">
167
 
 
168
 
<p>
169
 
 
170
 
<p>Reimplemented from <a class="el" href="class_new_s_w_type.html#5d1829c18d77e31d0c6dbb3176dbd197">NewSWType</a>.</p>
171
 
<div class="fragment"><pre class="fragment"><a name="l00018"></a>00018                         { <span class="keywordflow">return</span> <span class="stringliteral">"GenericWarhead"</span>; }
172
 
</pre></div>
173
 
<p>
174
 
 
175
 
</div>
176
 
</div><p>
177
 
<a class="anchor" name="0d60c88817ab19e88ac2bfca9ca6bb49"></a><!-- doxytag: member="SW_GenericWarhead::Launch" ref="0d60c88817ab19e88ac2bfca9ca6bb49" args="(SuperClass *pThis, CellStruct *pCoords, byte IsPlayer)" -->
178
 
<div class="memitem">
179
 
<div class="memproto">
180
 
      <table class="memname">
181
 
        <tr>
182
 
          <td class="memname">bool SW_GenericWarhead::Launch           </td>
183
 
          <td>(</td>
184
 
          <td class="paramtype">SuperClass *&nbsp;</td>
185
 
          <td class="paramname"> <em>pThis</em>, </td>
186
 
        </tr>
187
 
        <tr>
188
 
          <td class="paramkey"></td>
189
 
          <td></td>
190
 
          <td class="paramtype">CellStruct *&nbsp;</td>
191
 
          <td class="paramname"> <em>pCoords</em>, </td>
192
 
        </tr>
193
 
        <tr>
194
 
          <td class="paramkey"></td>
195
 
          <td></td>
196
 
          <td class="paramtype">byte&nbsp;</td>
197
 
          <td class="paramname"> <em>IsPlayer</em></td><td>&nbsp;</td>
198
 
        </tr>
199
 
        <tr>
200
 
          <td></td>
201
 
          <td>)</td>
202
 
          <td></td><td></td><td><code> [virtual]</code></td>
203
 
        </tr>
204
 
      </table>
205
 
</div>
206
 
<div class="memdoc">
207
 
 
208
 
<p>
209
 
 
210
 
<p>Implements <a class="el" href="class_new_s_w_type.html#aacde31e8112886999de397a948837d6">NewSWType</a>.</p>
211
 
<div class="fragment"><pre class="fragment"><a name="l00025"></a>00025 {
212
 
<a name="l00026"></a>00026         SuperWeaponTypeClass *pType = pThis-&gt;Type;
213
 
<a name="l00027"></a>00027         <a class="code" href="class_s_w_type_ext_1_1_ext_data.html">SWTypeExt::ExtData</a> *pData = <a class="code" href="class_s_w_type_ext.html#6906468c9e4ae4d421cba9cb572fb6ec">SWTypeExt::ExtMap</a>.<a class="code" href="class_container.html#90ddec0f8fb14f5a9894e128c2f938fc">Find</a>(pType);
214
 
<a name="l00028"></a>00028 
215
 
<a name="l00029"></a>00029         <span class="keywordflow">if</span>(!pData || !pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#35aa944634414c550906abbddb4570f6">GWarhead_WH</a>) {
216
 
<a name="l00030"></a>00030                 Debug::Log(<span class="stringliteral">"Couldn't launch GenericWarhead SW ([%s])\n"</span>, pType-&gt;ID);
217
 
<a name="l00031"></a>00031                 <span class="keywordflow">return</span> 0;
218
 
<a name="l00032"></a>00032         }
219
 
<a name="l00033"></a>00033 
220
 
<a name="l00034"></a>00034         CoordStruct coords;
221
 
<a name="l00035"></a>00035         CellClass *Cell = MapClass::Instance-&gt;GetCellAt(pCoords);
222
 
<a name="l00036"></a>00036         Cell-&gt;GetCoordsWithBridge(&amp;coords);
223
 
<a name="l00037"></a>00037 
224
 
<a name="l00038"></a>00038         <span class="keyword">auto</span> pWHExt = <a class="code" href="class_warhead_type_ext.html#b2eb86c684fe6f15f9f95a9aa171e7dd">WarheadTypeExt::ExtMap</a>.<a class="code" href="class_container.html#90ddec0f8fb14f5a9894e128c2f938fc">Find</a>(pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#35aa944634414c550906abbddb4570f6">GWarhead_WH</a>);
225
 
<a name="l00039"></a>00039 
226
 
<a name="l00040"></a>00040         <span class="comment">// crush, kill, destroy</span>
227
 
<a name="l00041"></a>00041         <span class="comment">// NULL -&gt; TechnoClass* SourceObject</span>
228
 
<a name="l00042"></a>00042         pWHExt-&gt;applyRipples(&amp;coords);
229
 
<a name="l00043"></a>00043         pWHExt-&gt;applyIronCurtain(&amp;coords, pThis-&gt;Owner);
230
 
<a name="l00044"></a>00044 
231
 
<a name="l00045"></a>00045         BuildingClass *Firer = NULL;
232
 
<a name="l00046"></a>00046         HouseClass *FirerHouse = pThis-&gt;Owner;
233
 
<a name="l00047"></a>00047         <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; FirerHouse-&gt;Buildings.Count; ++i) {
234
 
<a name="l00048"></a>00048                 BuildingClass *B = FirerHouse-&gt;Buildings[i];
235
 
<a name="l00049"></a>00049                 <span class="keywordflow">if</span>(B-&gt;HasSuperWeapon(pThis-&gt;Type-&gt;ArrayIndex)) {
236
 
<a name="l00050"></a>00050                         Firer = B;
237
 
<a name="l00051"></a>00051                         <span class="keywordflow">break</span>;
238
 
<a name="l00052"></a>00052                 }
239
 
<a name="l00053"></a>00053         }
240
 
<a name="l00054"></a>00054 
241
 
<a name="l00055"></a>00055         pWHExt-&gt;applyEMP(&amp;coords, Firer);
242
 
<a name="l00056"></a>00056 
243
 
<a name="l00057"></a>00057         <span class="keywordflow">if</span>(!pWHExt-&gt;applyPermaMC(&amp;coords, pThis-&gt;Owner, Cell-&gt;GetContent())) {
244
 
<a name="l00058"></a>00058                 MapClass::DamageArea(&amp;coords, pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#bb7ba7090530360ce91633add120ee33">GWarhead_Damage</a>, Firer, pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#35aa944634414c550906abbddb4570f6">GWarhead_WH</a>, 1, pThis-&gt;Owner);
245
 
<a name="l00059"></a>00059                 <span class="keywordflow">if</span>(AnimTypeClass * DamageAnimType = MapClass::SelectDamageAnimation(pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#bb7ba7090530360ce91633add120ee33">GWarhead_Damage</a>, pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#35aa944634414c550906abbddb4570f6">GWarhead_WH</a>, Cell-&gt;LandType, &amp;coords)) {
246
 
<a name="l00060"></a>00060                         AnimClass *DamageAnim;
247
 
<a name="l00061"></a>00061                         GAME_ALLOC(AnimClass, DamageAnim, DamageAnimType, &amp;coords);
248
 
<a name="l00062"></a>00062                 }
249
 
<a name="l00063"></a>00063                 MapClass::FlashbangWarheadAt(pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#bb7ba7090530360ce91633add120ee33">GWarhead_Damage</a>, pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#35aa944634414c550906abbddb4570f6">GWarhead_WH</a>, coords, <span class="keyword">false</span>, 0);
250
 
<a name="l00064"></a>00064         }
251
 
<a name="l00065"></a>00065 
252
 
<a name="l00066"></a>00066         Unsorted::CurrentSWType = -1;
253
 
<a name="l00067"></a>00067         <span class="keywordflow">return</span> 1;
254
 
<a name="l00068"></a>00068 }
255
 
</pre></div>
256
 
<p>
257
 
 
258
 
</div>
259
 
</div><p>
260
 
<a class="anchor" name="a90c418a6bd0f6c99cf8becbf690650e"></a><!-- doxytag: member="SW_GenericWarhead::LoadFromINI" ref="a90c418a6bd0f6c99cf8becbf690650e" args="(SWTypeExt::ExtData *pData, SuperWeaponTypeClass *pSW, CCINIClass *pINI)" -->
261
 
<div class="memitem">
262
 
<div class="memproto">
263
 
      <table class="memname">
264
 
        <tr>
265
 
          <td class="memname">void SW_GenericWarhead::LoadFromINI           </td>
266
 
          <td>(</td>
267
 
          <td class="paramtype"><a class="el" href="class_s_w_type_ext_1_1_ext_data.html">SWTypeExt::ExtData</a> *&nbsp;</td>
268
 
          <td class="paramname"> <em>pData</em>, </td>
269
 
        </tr>
270
 
        <tr>
271
 
          <td class="paramkey"></td>
272
 
          <td></td>
273
 
          <td class="paramtype">SuperWeaponTypeClass *&nbsp;</td>
274
 
          <td class="paramname"> <em>pSW</em>, </td>
275
 
        </tr>
276
 
        <tr>
277
 
          <td class="paramkey"></td>
278
 
          <td></td>
279
 
          <td class="paramtype">CCINIClass *&nbsp;</td>
280
 
          <td class="paramname"> <em>pINI</em></td><td>&nbsp;</td>
281
 
        </tr>
282
 
        <tr>
283
 
          <td></td>
284
 
          <td>)</td>
285
 
          <td></td><td></td><td><code> [virtual]</code></td>
286
 
        </tr>
287
 
      </table>
288
 
</div>
289
 
<div class="memdoc">
290
 
 
291
 
<p>
292
 
 
293
 
<p>Implements <a class="el" href="class_new_s_w_type.html#9da6e9a259267304401d5baa246f25c2">NewSWType</a>.</p>
294
 
<div class="fragment"><pre class="fragment"><a name="l00006"></a>00006 {
295
 
<a name="l00007"></a>00007         <span class="keyword">const</span> <span class="keywordtype">char</span> * section = pSW-&gt;ID;
296
 
<a name="l00008"></a>00008 
297
 
<a name="l00009"></a>00009         <span class="keywordflow">if</span>(!pINI-&gt;GetSection(section)) {
298
 
<a name="l00010"></a>00010                 <span class="keywordflow">return</span>;
299
 
<a name="l00011"></a>00011         }
300
 
<a name="l00012"></a>00012 
301
 
<a name="l00013"></a>00013         <a class="code" href="class_i_n_i___e_x.html">INI_EX</a> exINI(pINI);
302
 
<a name="l00014"></a>00014         pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#35aa944634414c550906abbddb4570f6">GWarhead_WH</a>.<a class="code" href="class_valueable.html#ce02cef5e194a4738d03707ce1c44646">Parse</a>(&amp;exINI, section, <span class="stringliteral">"GenericWarhead.Warhead"</span>);
303
 
<a name="l00015"></a>00015         pData-&gt;<a class="code" href="class_s_w_type_ext_1_1_ext_data.html#bb7ba7090530360ce91633add120ee33">GWarhead_Damage</a>.<a class="code" href="class_valueable.html#0f0c57826adca78b4d46a69b5344a03b">Read</a>(&amp;exINI, section, <span class="stringliteral">"GenericWarhead.Damage"</span>);
304
 
<a name="l00016"></a>00016 }
305
 
</pre></div>
306
 
<p>
307
 
 
308
 
</div>
309
 
</div><p>
310
 
<hr>The documentation for this class was generated from the following files:<ul>
311
 
<li>Misc/SWTypes/<a class="el" href="_generic_warhead_8h.html">GenericWarhead.h</a><li>Misc/SWTypes/<a class="el" href="_generic_warhead_8cpp.html">GenericWarhead.cpp</a></ul>
312
 
</div>
313
 
<hr size="1"><address style="text-align: right;"><small>Generated on Tue May 18 03:51:10 2010 for Ares by&nbsp;
314
 
<a href="http://www.doxygen.org/index.html">
315
 
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
316
 
</body>
317
 
</html>