PageRenderTime 107ms CodeModel.GetById 40ms RepoModel.GetById 1ms app.codeStats 0ms

/src/html/micropolis_8h-source.html

https://github.com/Plombo/micropolis
HTML | 2303 lines | 2302 code | 0 blank | 1 comment | 0 complexity | 047d8634ea4751ab6afa916bd678121f MD5 | raw file
  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>Micropolis: MicropolisEngine/src/micropolis.h Source File</title>
  4. <link href="doxygen.css" rel="stylesheet" type="text/css">
  5. <link href="tabs.css" rel="stylesheet" type="text/css">
  6. </head><body>
  7. <!-- Generated by Doxygen 1.5.6 -->
  8. <div class="navigation" id="top">
  9. <div class="tabs">
  10. <ul>
  11. <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
  12. <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  13. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  14. <li><a href="annotated.html"><span>Classes</span></a></li>
  15. <li class="current"><a href="files.html"><span>Files</span></a></li>
  16. </ul>
  17. </div>
  18. <h1>MicropolisEngine/src/micropolis.h</h1><a href="micropolis_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* micropolis.h</span>
  19. <a name="l00002"></a>00002 <span class="comment"> *</span>
  20. <a name="l00003"></a>00003 <span class="comment"> * Micropolis, Unix Version. This game was released for the Unix platform</span>
  21. <a name="l00004"></a>00004 <span class="comment"> * in or about 1990 and has been modified for inclusion in the One Laptop</span>
  22. <a name="l00005"></a>00005 <span class="comment"> * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If</span>
  23. <a name="l00006"></a>00006 <span class="comment"> * you need assistance with this program, you may contact:</span>
  24. <a name="l00007"></a>00007 <span class="comment"> * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org.</span>
  25. <a name="l00008"></a>00008 <span class="comment"> *</span>
  26. <a name="l00009"></a>00009 <span class="comment"> * This program is free software: you can redistribute it and/or modify</span>
  27. <a name="l00010"></a>00010 <span class="comment"> * it under the terms of the GNU General Public License as published by</span>
  28. <a name="l00011"></a>00011 <span class="comment"> * the Free Software Foundation, either version 3 of the License, or (at</span>
  29. <a name="l00012"></a>00012 <span class="comment"> * your option) any later version.</span>
  30. <a name="l00013"></a>00013 <span class="comment"> *</span>
  31. <a name="l00014"></a>00014 <span class="comment"> * This program is distributed in the hope that it will be useful, but</span>
  32. <a name="l00015"></a>00015 <span class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</span>
  33. <a name="l00016"></a>00016 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
  34. <a name="l00017"></a>00017 <span class="comment"> * General Public License for more details. You should have received a</span>
  35. <a name="l00018"></a>00018 <span class="comment"> * copy of the GNU General Public License along with this program. If</span>
  36. <a name="l00019"></a>00019 <span class="comment"> * not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
  37. <a name="l00020"></a>00020 <span class="comment"> *</span>
  38. <a name="l00021"></a>00021 <span class="comment"> * ADDITIONAL TERMS per GNU GPL Section 7</span>
  39. <a name="l00022"></a>00022 <span class="comment"> *</span>
  40. <a name="l00023"></a>00023 <span class="comment"> * No trademark or publicity rights are granted. This license does NOT</span>
  41. <a name="l00024"></a>00024 <span class="comment"> * give you any right, title or interest in the trademark SimCity or any</span>
  42. <a name="l00025"></a>00025 <span class="comment"> * other Electronic Arts trademark. You may not distribute any</span>
  43. <a name="l00026"></a>00026 <span class="comment"> * modification of this program using the trademark SimCity or claim any</span>
  44. <a name="l00027"></a>00027 <span class="comment"> * affliation or association with Electronic Arts Inc. or its employees.</span>
  45. <a name="l00028"></a>00028 <span class="comment"> *</span>
  46. <a name="l00029"></a>00029 <span class="comment"> * Any propagation or conveyance of this program must include this</span>
  47. <a name="l00030"></a>00030 <span class="comment"> * copyright notice and these terms.</span>
  48. <a name="l00031"></a>00031 <span class="comment"> *</span>
  49. <a name="l00032"></a>00032 <span class="comment"> * If you convey this program (or any modifications of it) and assume</span>
  50. <a name="l00033"></a>00033 <span class="comment"> * contractual liability for the program to recipients of it, you agree</span>
  51. <a name="l00034"></a>00034 <span class="comment"> * to indemnify Electronic Arts for any liability that those contractual</span>
  52. <a name="l00035"></a>00035 <span class="comment"> * assumptions impose on Electronic Arts.</span>
  53. <a name="l00036"></a>00036 <span class="comment"> *</span>
  54. <a name="l00037"></a>00037 <span class="comment"> * You may not misrepresent the origins of this program; modified</span>
  55. <a name="l00038"></a>00038 <span class="comment"> * versions of the program must be marked as such and not identified as</span>
  56. <a name="l00039"></a>00039 <span class="comment"> * the original program.</span>
  57. <a name="l00040"></a>00040 <span class="comment"> *</span>
  58. <a name="l00041"></a>00041 <span class="comment"> * This disclaimer supplements the one included in the General Public</span>
  59. <a name="l00042"></a>00042 <span class="comment"> * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS</span>
  60. <a name="l00043"></a>00043 <span class="comment"> * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY</span>
  61. <a name="l00044"></a>00044 <span class="comment"> * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF</span>
  62. <a name="l00045"></a>00045 <span class="comment"> * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS</span>
  63. <a name="l00046"></a>00046 <span class="comment"> * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES,</span>
  64. <a name="l00047"></a>00047 <span class="comment"> * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY,</span>
  65. <a name="l00048"></a>00048 <span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY</span>
  66. <a name="l00049"></a>00049 <span class="comment"> * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING,</span>
  67. <a name="l00050"></a>00050 <span class="comment"> * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST</span>
  68. <a name="l00051"></a>00051 <span class="comment"> * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL</span>
  69. <a name="l00052"></a>00052 <span class="comment"> * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE</span>
  70. <a name="l00053"></a>00053 <span class="comment"> * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE</span>
  71. <a name="l00054"></a>00054 <span class="comment"> * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE</span>
  72. <a name="l00055"></a>00055 <span class="comment"> * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR</span>
  73. <a name="l00056"></a>00056 <span class="comment"> * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME</span>
  74. <a name="l00057"></a>00057 <span class="comment"> * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED</span>
  75. <a name="l00058"></a>00058 <span class="comment"> * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A</span>
  76. <a name="l00059"></a>00059 <span class="comment"> * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY</span>
  77. <a name="l00060"></a>00060 <span class="comment"> * NOT APPLY TO YOU.</span>
  78. <a name="l00061"></a>00061 <span class="comment"> */</span>
  79. <a name="l00062"></a>00062
  80. <a name="l00067"></a>00067
  81. <a name="l00068"></a>00068 <span class="comment">// Includes</span>
  82. <a name="l00069"></a>00069
  83. <a name="l00070"></a>00070
  84. <a name="l00071"></a>00071 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
  85. <a name="l00072"></a>00072 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
  86. <a name="l00073"></a>00073 <span class="preprocessor">#include &lt;assert.h&gt;</span>
  87. <a name="l00074"></a>00074 <span class="preprocessor">#include &lt;string.h&gt;</span>
  88. <a name="l00075"></a>00075 <span class="preprocessor">#include &lt;ctype.h&gt;</span>
  89. <a name="l00076"></a>00076 <span class="preprocessor">#include &lt;errno.h&gt;</span>
  90. <a name="l00077"></a>00077 <span class="preprocessor">#include &lt;math.h&gt;</span>
  91. <a name="l00078"></a>00078 <span class="preprocessor">#include &lt;cstdarg&gt;</span>
  92. <a name="l00079"></a>00079
  93. <a name="l00080"></a>00080 <span class="preprocessor">#ifdef _WIN32</span>
  94. <a name="l00081"></a>00081 <span class="preprocessor"></span>
  95. <a name="l00082"></a>00082 <span class="preprocessor">#include &lt;winsock2.h&gt;</span>
  96. <a name="l00083"></a>00083 <span class="preprocessor">#include &lt;sys/stat.h&gt;</span>
  97. <a name="l00084"></a>00084 <span class="preprocessor">#include &lt;time.h&gt;</span>
  98. <a name="l00085"></a>00085
  99. <a name="l00086"></a>00086 <span class="preprocessor">#ifndef S_ISDIR</span>
  100. <a name="l00087"></a>00087 <span class="preprocessor"></span><span class="preprocessor">#define S_ISDIR(x) (((x) &amp; S_IFMT) == S_IFDIR)</span>
  101. <a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
  102. <a name="l00089"></a>00089 <span class="preprocessor"></span>
  103. <a name="l00090"></a>00090 <span class="preprocessor">#else</span>
  104. <a name="l00091"></a>00091 <span class="preprocessor"></span>
  105. <a name="l00092"></a>00092 <span class="preprocessor">#ifdef __APPLE__</span>
  106. <a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/stat.h&gt;</span>
  107. <a name="l00094"></a>00094 <span class="preprocessor">#endif</span>
  108. <a name="l00095"></a>00095 <span class="preprocessor"></span>
  109. <a name="l00096"></a>00096 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
  110. <a name="l00097"></a>00097 <span class="preprocessor">#include &lt;sys/time.h&gt;</span>
  111. <a name="l00098"></a>00098 <span class="preprocessor">#include &lt;sys/file.h&gt;</span>
  112. <a name="l00099"></a>00099 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
  113. <a name="l00100"></a>00100
  114. <a name="l00101"></a>00101 <span class="preprocessor">#endif</span>
  115. <a name="l00102"></a>00102 <span class="preprocessor"></span>
  116. <a name="l00103"></a>00103 <span class="preprocessor">#include &lt;string&gt;</span>
  117. <a name="l00104"></a>00104 <span class="preprocessor">#include &lt;vector&gt;</span>
  118. <a name="l00105"></a>00105 <span class="preprocessor">#include &lt;map&gt;</span>
  119. <a name="l00106"></a>00106
  120. <a name="l00107"></a>00107 <span class="preprocessor">#include "<a class="code" href="data__types_8h.html">data_types.h</a>"</span>
  121. <a name="l00108"></a>00108 <span class="preprocessor">#include "<a class="code" href="map__type_8h.html">map_type.h</a>"</span>
  122. <a name="l00109"></a>00109 <span class="preprocessor">#include "<a class="code" href="position_8h.html">position.h</a>"</span>
  123. <a name="l00110"></a>00110
  124. <a name="l00112"></a>00112 <span class="comment">// Definitions</span>
  125. <a name="l00113"></a>00113
  126. <a name="l00114"></a>00114
  127. <a name="l00120"></a><a class="code" href="micropolis_8h.html#1aec2f54b6533d2b44213bb4d687a71c">00120</a> <span class="preprocessor">#define IS_INTEL 1</span>
  128. <a name="l00121"></a>00121 <span class="preprocessor"></span>
  129. <a name="l00125"></a><a class="code" href="micropolis_8h.html#e22704fd1d475050fc98d8e2e9cc2540">00125</a> <span class="preprocessor">#define MICROPOLIS_VERSION "5.0"</span>
  130. <a name="l00126"></a>00126 <span class="preprocessor"></span>
  131. <a name="l00127"></a>00127
  132. <a name="l00129"></a>00129 <span class="comment">// Constants</span>
  133. <a name="l00130"></a>00130
  134. <a name="l00131"></a>00131
  135. <a name="l00136"></a><a class="code" href="micropolis_8h.html#d2c5cd68e85d637cd0ce5f08ea1ea70d">00136</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#d2c5cd68e85d637cd0ce5f08ea1ea70d">BITS_PER_TILE</a> = 16;
  136. <a name="l00137"></a>00137
  137. <a name="l00142"></a><a class="code" href="micropolis_8h.html#69af90f24767b670b1511b1e181f2e52">00142</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#69af90f24767b670b1511b1e181f2e52">BYTES_PER_TILE</a> = 2;
  138. <a name="l00143"></a>00143
  139. <a name="l00150"></a><a class="code" href="micropolis_8h.html#2ec9266ff29098a1eeb3a7dcfeb0cdc6">00150</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#2ec9266ff29098a1eeb3a7dcfeb0cdc6">WORLD_W_2</a> = <a class="code" href="map__type_8h.html#e6df22d5005e60ca7b2da133fcff3c24">WORLD_W</a> / 2;
  140. <a name="l00151"></a>00151
  141. <a name="l00156"></a><a class="code" href="micropolis_8h.html#71ba1070fe100c29cc691f9a86d60e63">00156</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#71ba1070fe100c29cc691f9a86d60e63">WORLD_H_2</a> = <a class="code" href="map__type_8h.html#d649289f6f5a81082f7cceae8b94d137">WORLD_H</a> / 2;
  142. <a name="l00157"></a>00157
  143. <a name="l00164"></a><a class="code" href="micropolis_8h.html#e1adc0ec5ad30d66c11a1b7a8b53e7cc">00164</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#e1adc0ec5ad30d66c11a1b7a8b53e7cc">WORLD_W_4</a> = <a class="code" href="map__type_8h.html#e6df22d5005e60ca7b2da133fcff3c24">WORLD_W</a> / 4;
  144. <a name="l00165"></a>00165
  145. <a name="l00170"></a><a class="code" href="micropolis_8h.html#cab5373548ef521506366ed5e075b1d9">00170</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#cab5373548ef521506366ed5e075b1d9">WORLD_H_4</a> = <a class="code" href="map__type_8h.html#d649289f6f5a81082f7cceae8b94d137">WORLD_H</a> / 4;
  146. <a name="l00171"></a>00171
  147. <a name="l00178"></a><a class="code" href="micropolis_8h.html#835f19f59c14b5fb4db2de011e20d6b4">00178</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#835f19f59c14b5fb4db2de011e20d6b4">WORLD_W_8</a> = <a class="code" href="map__type_8h.html#e6df22d5005e60ca7b2da133fcff3c24">WORLD_W</a> / 8;
  148. <a name="l00179"></a>00179
  149. <a name="l00184"></a><a class="code" href="micropolis_8h.html#17305b854cb0e8fc6754da92ea3aed37">00184</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#17305b854cb0e8fc6754da92ea3aed37">WORLD_H_8</a> = (<a class="code" href="map__type_8h.html#d649289f6f5a81082f7cceae8b94d137">WORLD_H</a> + 7) / 8;
  150. <a name="l00185"></a>00185
  151. <a name="l00189"></a><a class="code" href="micropolis_8h.html#93bd9297795c1744049d4f0dd9879f4f">00189</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#93bd9297795c1744049d4f0dd9879f4f">EDITOR_TILE_SIZE</a> = 16;
  152. <a name="l00190"></a>00190
  153. <a name="l00194"></a><a class="code" href="micropolis_8h.html#303f73b41e6b811e4f5d1b674ca98cc8">00194</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#303f73b41e6b811e4f5d1b674ca98cc8">PASSES_PER_CITYTIME</a> = 16;
  154. <a name="l00195"></a>00195
  155. <a name="l00199"></a><a class="code" href="micropolis_8h.html#4d1b65e867f35e89497f5402f02cb7a7">00199</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#4d1b65e867f35e89497f5402f02cb7a7">CITYTIMES_PER_MONTH</a> = 4;
  156. <a name="l00200"></a>00200
  157. <a name="l00204"></a><a class="code" href="micropolis_8h.html#11f8959ab981053ddb36b3d2ef83f6ff">00204</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#11f8959ab981053ddb36b3d2ef83f6ff">CITYTIMES_PER_YEAR</a> = <a class="code" href="micropolis_8h.html#4d1b65e867f35e89497f5402f02cb7a7">CITYTIMES_PER_MONTH</a> * 12;
  158. <a name="l00205"></a>00205
  159. <a name="l00209"></a><a class="code" href="micropolis_8h.html#1b80ec2dc11101b69162f75c7b1aa3f2">00209</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#1b80ec2dc11101b69162f75c7b1aa3f2">HISTORY_LENGTH</a> = 480;
  160. <a name="l00210"></a>00210
  161. <a name="l00214"></a><a class="code" href="micropolis_8h.html#d39cb42a7b73d0ef7b058baca8a02d6f">00214</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#d39cb42a7b73d0ef7b058baca8a02d6f">MISC_HISTORY_LENGTH</a> = 240;
  162. <a name="l00215"></a>00215
  163. <a name="l00220"></a><a class="code" href="micropolis_8h.html#54e819eb574bcffda8afe93f7d6f20a0">00220</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#54e819eb574bcffda8afe93f7d6f20a0">HISTORY_COUNT</a> = 120;
  164. <a name="l00221"></a>00221
  165. <a name="l00225"></a><a class="code" href="micropolis_8h.html#41df98861ceaaed418aede440a780b7a">00225</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#41df98861ceaaed418aede440a780b7a">POWER_STACK_SIZE</a> = (<a class="code" href="map__type_8h.html#e6df22d5005e60ca7b2da133fcff3c24">WORLD_W</a> * <a class="code" href="map__type_8h.html#d649289f6f5a81082f7cceae8b94d137">WORLD_H</a>) / 4;
  166. <a name="l00226"></a>00226
  167. <a name="l00227"></a>00227
  168. <a name="l00232"></a><a class="code" href="micropolis_8h.html#b5792fed3fec016a00f9889b92ee6ae5">00232</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#b5792fed3fec016a00f9889b92ee6ae5">NOWHERE</a> = -1;
  169. <a name="l00233"></a>00233
  170. <a name="l00234"></a>00234
  171. <a name="l00236"></a>00236 <span class="comment">// Traffic</span>
  172. <a name="l00237"></a>00237
  173. <a name="l00241"></a><a class="code" href="micropolis_8h.html#e778af742751f74134de7ba3b4856f19">00241</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#e778af742751f74134de7ba3b4856f19">MAX_TRAFFIC_DISTANCE</a> = 30;
  174. <a name="l00242"></a>00242
  175. <a name="l00246"></a><a class="code" href="micropolis_8h.html#c54dc74ad895d146fb8c243174b955fe">00246</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#c54dc74ad895d146fb8c243174b955fe">MAX_ROAD_EFFECT</a> = 32;
  176. <a name="l00247"></a>00247
  177. <a name="l00251"></a><a class="code" href="micropolis_8h.html#d93b6822824a907dd0904e3d2467e6a8">00251</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#d93b6822824a907dd0904e3d2467e6a8">MAX_POLICE_STATION_EFFECT</a> = 1000;
  178. <a name="l00252"></a>00252
  179. <a name="l00256"></a><a class="code" href="micropolis_8h.html#93b902783f692aefc7e43d152d38ece9">00256</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="micropolis_8h.html#93b902783f692aefc7e43d152d38ece9">MAX_FIRE_STATION_EFFECT</a> = 1000;
  180. <a name="l00257"></a>00257
  181. <a name="l00258"></a>00258
  182. <a name="l00260"></a>00260 <span class="comment">// Valves</span>
  183. <a name="l00261"></a>00261
  184. <a name="l00262"></a>00262
  185. <a name="l00263"></a>00263 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> RES_VALVE_RANGE = 2000;
  186. <a name="l00264"></a>00264 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> COM_VALVE_RANGE = 1500;
  187. <a name="l00265"></a>00265 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> IND_VALVE_RANGE = 1500;
  188. <a name="l00266"></a>00266
  189. <a name="l00267"></a>00267
  190. <a name="l00269"></a>00269 <span class="comment">// Enumerated types.</span>
  191. <a name="l00270"></a>00270
  192. <a name="l00271"></a>00271
  193. <a name="l00275"></a><a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad">00275</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad">HistoryType</a> {
  194. <a name="l00276"></a><a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbadecc63731c5e9ef5cddf472ba159bb14a">00276</a> <a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbadecc63731c5e9ef5cddf472ba159bb14a" title="Residiential history type.">HISTORY_TYPE_RES</a>,
  195. <a name="l00277"></a><a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbadef7d191f1aef652fc6b3526683620330">00277</a> <a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbadef7d191f1aef652fc6b3526683620330" title="Commercial history type.">HISTORY_TYPE_COM</a>,
  196. <a name="l00278"></a><a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad61c043f9df9a24c5937083e04ef7e848">00278</a> <a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad61c043f9df9a24c5937083e04ef7e848" title="Industry history type.">HISTORY_TYPE_IND</a>,
  197. <a name="l00279"></a><a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad5a1d2ed49bc2da641fc47fdea18aa158">00279</a> <a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad5a1d2ed49bc2da641fc47fdea18aa158" title="Money history type.">HISTORY_TYPE_MONEY</a>,
  198. <a name="l00280"></a><a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad0e6f3d14201a24c586064d4390b28f96">00280</a> <a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad0e6f3d14201a24c586064d4390b28f96" title="Crime history type.">HISTORY_TYPE_CRIME</a>,
  199. <a name="l00281"></a><a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad6086a695d344b8ceb45aa3a53c62fbde">00281</a> <a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad6086a695d344b8ceb45aa3a53c62fbde" title="Pollution history type.">HISTORY_TYPE_POLLUTION</a>,
  200. <a name="l00282"></a>00282
  201. <a name="l00283"></a><a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad7abadccf09c09a7d03b717c9832bef5e">00283</a> <a class="code" href="micropolis_8h.html#5132dc04a038b45ee5bf237a3281bbad7abadccf09c09a7d03b717c9832bef5e" title="Number of history types.">HISTORY_TYPE_COUNT</a>,
  202. <a name="l00284"></a>00284 };
  203. <a name="l00285"></a>00285
  204. <a name="l00289"></a><a class="code" href="micropolis_8h.html#93b93fa9884459827a588b2bcd473fee">00289</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#93b93fa9884459827a588b2bcd473fee">HistoryScale</a> {
  205. <a name="l00290"></a><a class="code" href="micropolis_8h.html#93b93fa9884459827a588b2bcd473fee8f399464b48e7deba20fa0a13a0f985c">00290</a> <a class="code" href="micropolis_8h.html#93b93fa9884459827a588b2bcd473fee8f399464b48e7deba20fa0a13a0f985c" title="Short scale data (10 years).">HISTORY_SCALE_SHORT</a>,
  206. <a name="l00291"></a><a class="code" href="micropolis_8h.html#93b93fa9884459827a588b2bcd473feefa8fff423d3cf3429e1ca97d90d78e72">00291</a> <a class="code" href="micropolis_8h.html#93b93fa9884459827a588b2bcd473feefa8fff423d3cf3429e1ca97d90d78e72" title="Long scale data (120 years).">HISTORY_SCALE_LONG</a>,
  207. <a name="l00292"></a>00292
  208. <a name="l00293"></a><a class="code" href="micropolis_8h.html#93b93fa9884459827a588b2bcd473fee92a0b0c3636abe91387fe3138557edad">00293</a> <a class="code" href="micropolis_8h.html#93b93fa9884459827a588b2bcd473fee92a0b0c3636abe91387fe3138557edad" title="Number of history scales available.">HISTORY_SCALE_COUNT</a>,
  209. <a name="l00294"></a>00294 };
  210. <a name="l00295"></a>00295
  211. <a name="l00299"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3">00299</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3">MapType</a> {
  212. <a name="l00300"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3583437d142dc8a4f78e4225ac2665771">00300</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3583437d142dc8a4f78e4225ac2665771" title="All zones.">MAP_TYPE_ALL</a>,
  213. <a name="l00301"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3bff1f1e4ad9a46428c32d206a4e8169e">00301</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3bff1f1e4ad9a46428c32d206a4e8169e" title="Residential zones.">MAP_TYPE_RES</a>,
  214. <a name="l00302"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b39f49856f32955438eb753fcd72a41a91">00302</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b39f49856f32955438eb753fcd72a41a91" title="Commercial zones.">MAP_TYPE_COM</a>,
  215. <a name="l00303"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b37ff01c951350a33ca474b06fc65d82fb">00303</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b37ff01c951350a33ca474b06fc65d82fb" title="Industrial zones.">MAP_TYPE_IND</a>,
  216. <a name="l00304"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3d2486a876901e06ff3df5f680f88860f">00304</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3d2486a876901e06ff3df5f680f88860f" title="Power connectivity.">MAP_TYPE_POWER</a>,
  217. <a name="l00305"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3c2417bbe57747e9cc1ff42da027c2a25">00305</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3c2417bbe57747e9cc1ff42da027c2a25" title="Roads.">MAP_TYPE_ROAD</a>,
  218. <a name="l00306"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b30f33da0b6facc58318266d4fcdda6dcf">00306</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b30f33da0b6facc58318266d4fcdda6dcf" title="Population density.">MAP_TYPE_POPULATION_DENSITY</a>,
  219. <a name="l00307"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3e360ad6060540f9816ae9a30cad9251c">00307</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3e360ad6060540f9816ae9a30cad9251c" title="Rate of growth.">MAP_TYPE_RATE_OF_GROWTH</a>,
  220. <a name="l00308"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3e6cbff03ff75c12da0869f13c3536f2a">00308</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3e6cbff03ff75c12da0869f13c3536f2a" title="Traffic.">MAP_TYPE_TRAFFIC_DENSITY</a>,
  221. <a name="l00309"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b30d772e7870109ab47b5a66e6f9866f29">00309</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b30d772e7870109ab47b5a66e6f9866f29" title="Pollution.">MAP_TYPE_POLLUTION</a>,
  222. <a name="l00310"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b34c50c1556068abe400108437b8fca717">00310</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b34c50c1556068abe400108437b8fca717" title="Crime rate.">MAP_TYPE_CRIME</a>,
  223. <a name="l00311"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b32111eb6a9e058f33233018943168b19d">00311</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b32111eb6a9e058f33233018943168b19d" title="Land value.">MAP_TYPE_LAND_VALUE</a>,
  224. <a name="l00312"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3300dfa36280bfede6fca52bcb7cc5339">00312</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3300dfa36280bfede6fca52bcb7cc5339" title="Fire station coverage radius.">MAP_TYPE_FIRE_RADIUS</a>,
  225. <a name="l00313"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3f40483f318c3869998666d38b2a39e29">00313</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3f40483f318c3869998666d38b2a39e29" title="Police station coverage radius.">MAP_TYPE_POLICE_RADIUS</a>,
  226. <a name="l00314"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b31052f8c93e058d4e782cf8bfab7ce0ad">00314</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b31052f8c93e058d4e782cf8bfab7ce0ad" title="Dynamic filter.">MAP_TYPE_DYNAMIC</a>,
  227. <a name="l00315"></a>00315
  228. <a name="l00316"></a><a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3d24a2b73e8d32e7e712ff25e5e4b38f0">00316</a> <a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3d24a2b73e8d32e7e712ff25e5e4b38f0" title="Number of map types.">MAP_TYPE_COUNT</a>,
  229. <a name="l00317"></a>00317 };
  230. <a name="l00318"></a>00318
  231. <a name="l00319"></a>00319 <span class="comment">/* Object &amp; Sound Numbers */</span>
  232. <a name="l00320"></a>00320
  233. <a name="l00321"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a">00321</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a">SpriteType</a> {
  234. <a name="l00322"></a>00322 SPRITE_NOTUSED = 0,
  235. <a name="l00323"></a>00323
  236. <a name="l00324"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a9a8ce497fbb98792cf4988ca1e06f965">00324</a> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a9a8ce497fbb98792cf4988ca1e06f965" title="Train sprite.">SPRITE_TRAIN</a>,
  237. <a name="l00325"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31aa40883d3858eeb1bdd4a0e27b5ffb153">00325</a> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31aa40883d3858eeb1bdd4a0e27b5ffb153" title="Helicopter sprite.">SPRITE_HELICOPTER</a>,
  238. <a name="l00326"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a44c7f6a65cc2597239f9c4babfdbc296">00326</a> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a44c7f6a65cc2597239f9c4babfdbc296" title="Airplane sprite.">SPRITE_AIRPLANE</a>,
  239. <a name="l00327"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31ab6ba5d8c2fd181feca500a46b00ef860">00327</a> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31ab6ba5d8c2fd181feca500a46b00ef860" title="Ship.">SPRITE_SHIP</a>,
  240. <a name="l00328"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a8ce060f17cd3f13f338aac493a1d90c4">00328</a> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a8ce060f17cd3f13f338aac493a1d90c4" title="Scary monster.">SPRITE_MONSTER</a>,
  241. <a name="l00329"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a4a4a8673a220292b3a02bca1e886b847">00329</a> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31a4a4a8673a220292b3a02bca1e886b847" title="Tornado sprite.">SPRITE_TORNADO</a>,
  242. <a name="l00330"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31ab747b593d9a3e5ebf0faeb4904838bdb">00330</a> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31ab747b593d9a3e5ebf0faeb4904838bdb" title="Explosion sprite.">SPRITE_EXPLOSION</a>,
  243. <a name="l00331"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31aa7d3c2d6672ee99804110a6bd1822807">00331</a> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31aa7d3c2d6672ee99804110a6bd1822807" title="Bus sprite.">SPRITE_BUS</a>,
  244. <a name="l00332"></a>00332
  245. <a name="l00333"></a><a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31adece9f846e44bbfdeaab16b3f32857fe">00333</a> <a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31adece9f846e44bbfdeaab16b3f32857fe" title="Number of sprite objects.">SPRITE_COUNT</a>,
  246. <a name="l00334"></a>00334 };
  247. <a name="l00335"></a>00335
  248. <a name="l00336"></a>00336
  249. <a name="l00338"></a>00338 <span class="comment">// Tiles</span>
  250. <a name="l00339"></a>00339
  251. <a name="l00341"></a><a class="code" href="micropolis_8h.html#b028519b9cc0b89492159d43dd99587f">00341</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="micropolis_8h.html#b028519b9cc0b89492159d43dd99587f">MapValue</a>;
  252. <a name="l00342"></a>00342
  253. <a name="l00347"></a><a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">00347</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a>;
  254. <a name="l00348"></a>00348
  255. <a name="l00357"></a><a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42">00357</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42">MapTileBits</a> {
  256. <a name="l00358"></a><a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42aff1e7cb4fdf849497f7566321177060">00358</a> <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42aff1e7cb4fdf849497f7566321177060" title="bit 15, tile has power.">PWRBIT</a> = 0x8000,
  257. <a name="l00359"></a><a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf4291f6b09e90f4b9c026333687f98a8b8b">00359</a> <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf4291f6b09e90f4b9c026333687f98a8b8b" title="bit 14. tile can conduct electricity.">CONDBIT</a> = 0x4000,
  258. <a name="l00360"></a><a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42014ad71e7cec15ec26c02cfad2e3356a">00360</a> <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42014ad71e7cec15ec26c02cfad2e3356a" title="bit 13, tile can be lit.">BURNBIT</a> = 0x2000,
  259. <a name="l00361"></a><a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42b718f843cf91845b62b23fc03942d095">00361</a> <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42b718f843cf91845b62b23fc03942d095" title="bit 12, tile is bulldozable.">BULLBIT</a> = 0x1000,
  260. <a name="l00362"></a><a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42e64f799e649a284bedb0bac81afb9446">00362</a> <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42e64f799e649a284bedb0bac81afb9446" title="bit 11, tile is animated.">ANIMBIT</a> = 0x0800,
  261. <a name="l00363"></a><a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf4251e1c6ee74965ce4cb1bc90467824add">00363</a> <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf4251e1c6ee74965ce4cb1bc90467824add" title="bit 10, tile is the center tile of the zone.">ZONEBIT</a> = 0x0400,
  262. <a name="l00364"></a>00364
  263. <a name="l00366"></a><a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42f5e512cc20bf876b6602122163c2000b">00366</a> <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42f5e512cc20bf876b6602122163c2000b" title="Mask for the bits-part of the tile.">ALLBITS</a> = <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf4251e1c6ee74965ce4cb1bc90467824add" title="bit 10, tile is the center tile of the zone.">ZONEBIT</a> | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42e64f799e649a284bedb0bac81afb9446" title="bit 11, tile is animated.">ANIMBIT</a> | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42b718f843cf91845b62b23fc03942d095" title="bit 12, tile is bulldozable.">BULLBIT</a> | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42014ad71e7cec15ec26c02cfad2e3356a" title="bit 13, tile can be lit.">BURNBIT</a> | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf4291f6b09e90f4b9c026333687f98a8b8b" title="bit 14. tile can conduct electricity.">CONDBIT</a> | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42aff1e7cb4fdf849497f7566321177060" title="bit 15, tile has power.">PWRBIT</a>,
  264. <a name="l00367"></a><a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf424839a505f5307c64ce70cb21d88b9766">00367</a> <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf424839a505f5307c64ce70cb21d88b9766" title="Mask for the MapTileCharacters part of the tile.">LOMASK</a> = 0x03ff,
  265. <a name="l00368"></a>00368
  266. <a name="l00369"></a>00369 BLBNBIT = <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42b718f843cf91845b62b23fc03942d095" title="bit 12, tile is bulldozable.">BULLBIT</a> | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42014ad71e7cec15ec26c02cfad2e3356a" title="bit 13, tile can be lit.">BURNBIT</a>,
  267. <a name="l00370"></a>00370 BLBNCNBIT = <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42b718f843cf91845b62b23fc03942d095" title="bit 12, tile is bulldozable.">BULLBIT</a> | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42014ad71e7cec15ec26c02cfad2e3356a" title="bit 13, tile can be lit.">BURNBIT</a> | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf4291f6b09e90f4b9c026333687f98a8b8b" title="bit 14. tile can conduct electricity.">CONDBIT</a>,
  268. <a name="l00371"></a>00371 BNCNBIT = <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42014ad71e7cec15ec26c02cfad2e3356a" title="bit 13, tile can be lit.">BURNBIT</a> | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf4291f6b09e90f4b9c026333687f98a8b8b" title="bit 14. tile can conduct electricity.">CONDBIT</a>,
  269. <a name="l00372"></a>00372 };
  270. <a name="l00373"></a>00373
  271. <a name="l00374"></a>00374
  272. <a name="l00378"></a><a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e8611">00378</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e8611">ConnectTileCommand</a> {
  273. <a name="l00379"></a><a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e8611075dbb65e4253a166904450a54ed1dd1">00379</a> <a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e8611075dbb65e4253a166904450a54ed1dd1" title="Fix zone (connect wire, road, and rail).">CONNECT_TILE_FIX</a>,
  274. <a name="l00380"></a><a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e8611e61976c5c64e83f850c2b720a5db6c87">00380</a> <a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e8611e61976c5c64e83f850c2b720a5db6c87" title="Bulldoze and fix zone.">CONNECT_TILE_BULLDOZE</a>,
  275. <a name="l00381"></a><a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e861117443cf78bc3a2c3cdc8fff7f1c544f3">00381</a> <a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e861117443cf78bc3a2c3cdc8fff7f1c544f3" title="Lay road and fix zone.">CONNECT_TILE_ROAD</a>,
  276. <a name="l00382"></a><a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e8611d217977a7f1d8c45a4edba94afb09bd3">00382</a> <a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e8611d217977a7f1d8c45a4edba94afb09bd3" title="Lay rail and fix zone.">CONNECT_TILE_RAILROAD</a>,
  277. <a name="l00383"></a><a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e86116d4e3a6bf25703f936618d013f5a063e">00383</a> <a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e86116d4e3a6bf25703f936618d013f5a063e" title="Lay wire and fix zone.">CONNECT_TILE_WIRE</a>,
  278. <a name="l00384"></a>00384 };
  279. <a name="l00385"></a>00385
  280. <a name="l00386"></a>00386
  281. <a name="l00391"></a><a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">00391</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> {
  282. <a name="l00392"></a><a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50f11bdc35aaf43cb2222e90c2127a6c82">00392</a> <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50f11bdc35aaf43cb2222e90c2127a6c82" title="User has not enough money for tool.">TOOLRESULT_NO_MONEY</a> = -2,
  283. <a name="l00393"></a><a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50ef52b4061beba5179bb9f4351ce10669">00393</a> <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50ef52b4061beba5179bb9f4351ce10669" title="Clear the area first.">TOOLRESULT_NEED_BULLDOZE</a> = -1,
  284. <a name="l00394"></a><a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f506f45b16e42dd6a097ede2ccea9a2510f">00394</a> <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f506f45b16e42dd6a097ede2ccea9a2510f" title="Cannot build here.">TOOLRESULT_FAILED</a> = 0,
  285. <a name="l00395"></a><a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f5096a4e0899ac1f73b1f94f0f8a7eed761">00395</a> <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f5096a4e0899ac1f73b1f94f0f8a7eed761" title="Build succeeded.">TOOLRESULT_OK</a> = 1,
  286. <a name="l00396"></a>00396 };
  287. <a name="l00397"></a>00397
  288. <a name="l00398"></a>00398
  289. <a name="l00409"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e">00409</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e">MapTileCharacters</a> {
  290. <a name="l00410"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ecc4e9a6b72b8cb231cf382b6320aeed2">00410</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ecc4e9a6b72b8cb231cf382b6320aeed2" title="Clear tile.">DIRT</a> = 0,
  291. <a name="l00411"></a>00411 <span class="comment">// tile 1 ?</span>
  292. <a name="l00412"></a>00412
  293. <a name="l00413"></a>00413 <span class="comment">/* Water */</span>
  294. <a name="l00414"></a>00414 RIVER = 2,
  295. <a name="l00415"></a>00415 REDGE = 3,
  296. <a name="l00416"></a>00416 CHANNEL = 4,
  297. <a name="l00417"></a>00417 FIRSTRIVEDGE = 5,
  298. <a name="l00418"></a>00418 <span class="comment">// tile 6 -- 19 ?</span>
  299. <a name="l00419"></a>00419 LASTRIVEDGE = 20,
  300. <a name="l00420"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e20b754753fe73288d7dbe62cf8496745">00420</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e20b754753fe73288d7dbe62cf8496745" title="First water tile.">WATER_LOW</a> = RIVER,
  301. <a name="l00421"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e38cacf4ca7031cd196c5a116dd0413c9">00421</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e38cacf4ca7031cd196c5a116dd0413c9" title="Last water tile (inclusive).">WATER_HIGH</a> = LASTRIVEDGE,
  302. <a name="l00422"></a>00422
  303. <a name="l00423"></a>00423 TREEBASE = 21,
  304. <a name="l00424"></a>00424 WOODS_LOW = TREEBASE,
  305. <a name="l00425"></a>00425 LASTTREE = 36,
  306. <a name="l00426"></a>00426 WOODS = 37,
  307. <a name="l00427"></a>00427 UNUSED_TRASH1 = 38,
  308. <a name="l00428"></a>00428 UNUSED_TRASH2 = 39,
  309. <a name="l00429"></a>00429 WOODS_HIGH = UNUSED_TRASH2, <span class="comment">// Why is an 'UNUSED' tile used?</span>
  310. <a name="l00430"></a>00430 WOODS2 = 40,
  311. <a name="l00431"></a>00431 WOODS3 = 41,
  312. <a name="l00432"></a>00432 WOODS4 = 42,
  313. <a name="l00433"></a>00433 WOODS5 = 43,
  314. <a name="l00434"></a>00434
  315. <a name="l00435"></a>00435 <span class="comment">/* Rubble (4 tiles) */</span>
  316. <a name="l00436"></a>00436 RUBBLE = 44,
  317. <a name="l00437"></a>00437 LASTRUBBLE = 47,
  318. <a name="l00438"></a>00438
  319. <a name="l00439"></a>00439 FLOOD = 48,
  320. <a name="l00440"></a>00440 <span class="comment">// tile 49, 50 ?</span>
  321. <a name="l00441"></a>00441 LASTFLOOD = 51,
  322. <a name="l00442"></a>00442
  323. <a name="l00443"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ebd182a3f312d2d7ed5e29dfe3809a2ad">00443</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ebd182a3f312d2d7ed5e29dfe3809a2ad" title="Radio-active contaminated tile.">RADTILE</a> = 52,
  324. <a name="l00444"></a>00444
  325. <a name="l00445"></a>00445 UNUSED_TRASH3 = 53,
  326. <a name="l00446"></a>00446 UNUSED_TRASH4 = 54,
  327. <a name="l00447"></a>00447 UNUSED_TRASH5 = 55,
  328. <a name="l00448"></a>00448
  329. <a name="l00449"></a>00449 <span class="comment">/* Fire animation (8 tiles) */</span>
  330. <a name="l00450"></a>00450 FIRE = 56,
  331. <a name="l00451"></a>00451 FIREBASE = FIRE,
  332. <a name="l00452"></a>00452 LASTFIRE = 63,
  333. <a name="l00453"></a>00453
  334. <a name="l00454"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e3886aa883306535e1ede2e324ad17544">00454</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e3886aa883306535e1ede2e324ad17544" title="Horizontal bridge.">HBRIDGE</a> = 64,
  335. <a name="l00455"></a>00455 ROADBASE = <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e3886aa883306535e1ede2e324ad17544" title="Horizontal bridge.">HBRIDGE</a>,
  336. <a name="l00456"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e49edbd6abd2f39e63ef10a57ffd88915">00456</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e49edbd6abd2f39e63ef10a57ffd88915" title="Vertical bridge.">VBRIDGE</a> = 65,
  337. <a name="l00457"></a>00457 ROADS = 66,
  338. <a name="l00458"></a>00458 ROADS2 = 67,
  339. <a name="l00459"></a>00459 ROADS3 = 68,
  340. <a name="l00460"></a>00460 ROADS4 = 69,
  341. <a name="l00461"></a>00461 ROADS5 = 70,
  342. <a name="l00462"></a>00462 ROADS6 = 71,
  343. <a name="l00463"></a>00463 ROADS7 = 72,
  344. <a name="l00464"></a>00464 ROADS8 = 73,
  345. <a name="l00465"></a>00465 ROADS9 = 74,
  346. <a name="l00466"></a>00466 ROADS10 = 75,
  347. <a name="l00467"></a>00467 INTERSECTION = 76,
  348. <a name="l00468"></a>00468 HROADPOWER = 77,
  349. <a name="l00469"></a>00469 VROADPOWER = 78,
  350. <a name="l00470"></a>00470 BRWH = 79,
  351. <a name="l00471"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ec7c46d650decfbdd6dab7f82e89e2079">00471</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ec7c46d650decfbdd6dab7f82e89e2079" title="First tile with low traffic.">LTRFBASE</a> = 80,
  352. <a name="l00472"></a>00472 <span class="comment">// tile 81 -- 94 ?</span>
  353. <a name="l00473"></a>00473 BRWV = 95,
  354. <a name="l00474"></a>00474 <span class="comment">// tile 96 -- 110 ?</span>
  355. <a name="l00475"></a>00475 BRWXXX1 = 111,
  356. <a name="l00476"></a>00476 <span class="comment">// tile 96 -- 110 ?</span>
  357. <a name="l00477"></a>00477 BRWXXX2 = 127,
  358. <a name="l00478"></a>00478 <span class="comment">// tile 96 -- 110 ?</span>
  359. <a name="l00479"></a>00479 BRWXXX3 = 143,
  360. <a name="l00480"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e0d2473f1ae47c4616fbcc610c85eb66b">00480</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e0d2473f1ae47c4616fbcc610c85eb66b" title="First tile with high traffic.">HTRFBASE</a> = 144,
  361. <a name="l00481"></a>00481 <span class="comment">// tile 145 -- 158 ?</span>
  362. <a name="l00482"></a>00482 BRWXXX4 = 159,
  363. <a name="l00483"></a>00483 <span class="comment">// tile 160 -- 174 ?</span>
  364. <a name="l00484"></a>00484 BRWXXX5 = 175,
  365. <a name="l00485"></a>00485 <span class="comment">// tile 176 -- 190 ?</span>
  366. <a name="l00486"></a>00486 BRWXXX6 = 191,
  367. <a name="l00487"></a>00487 <span class="comment">// tile 192 -- 205 ?</span>
  368. <a name="l00488"></a>00488 LASTROAD = 206,
  369. <a name="l00489"></a>00489 BRWXXX7 = 207,
  370. <a name="l00490"></a>00490
  371. <a name="l00491"></a>00491 <span class="comment">/* Power lines */</span>
  372. <a name="l00492"></a>00492 HPOWER = 208,
  373. <a name="l00493"></a>00493 VPOWER = 209,
  374. <a name="l00494"></a>00494 LHPOWER = 210,
  375. <a name="l00495"></a>00495 LVPOWER = 211,
  376. <a name="l00496"></a>00496 LVPOWER2 = 212,
  377. <a name="l00497"></a>00497 LVPOWER3 = 213,
  378. <a name="l00498"></a>00498 LVPOWER4 = 214,
  379. <a name="l00499"></a>00499 LVPOWER5 = 215,
  380. <a name="l00500"></a>00500 LVPOWER6 = 216,
  381. <a name="l00501"></a>00501 LVPOWER7 = 217,
  382. <a name="l00502"></a>00502 LVPOWER8 = 218,
  383. <a name="l00503"></a>00503 LVPOWER9 = 219,
  384. <a name="l00504"></a>00504 LVPOWER10 = 220,
  385. <a name="l00505"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e2d68d4a0bc834d379e6c00435cdb5dea">00505</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e2d68d4a0bc834d379e6c00435cdb5dea" title="Horizontal rail, vertical power.">RAILHPOWERV</a> = 221,
  386. <a name="l00506"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443edb0a62d6e6f6e7d0d71eb8683f3e6643">00506</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443edb0a62d6e6f6e7d0d71eb8683f3e6643" title="Vertical rail, horizontal power.">RAILVPOWERH</a> = 222,
  387. <a name="l00507"></a>00507 POWERBASE = HPOWER,
  388. <a name="l00508"></a>00508 LASTPOWER = <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443edb0a62d6e6f6e7d0d71eb8683f3e6643" title="Vertical rail, horizontal power.">RAILVPOWERH</a>,
  389. <a name="l00509"></a>00509
  390. <a name="l00510"></a>00510 UNUSED_TRASH6 = 223,
  391. <a name="l00511"></a>00511
  392. <a name="l00512"></a>00512 <span class="comment">/* Rail */</span>
  393. <a name="l00513"></a>00513 HRAIL = 224,
  394. <a name="l00514"></a>00514 VRAIL = 225,
  395. <a name="l00515"></a>00515 LHRAIL = 226,
  396. <a name="l00516"></a>00516 LVRAIL = 227,
  397. <a name="l00517"></a>00517 LVRAIL2 = 228,
  398. <a name="l00518"></a>00518 LVRAIL3 = 229,
  399. <a name="l00519"></a>00519 LVRAIL4 = 230,
  400. <a name="l00520"></a>00520 LVRAIL5 = 231,
  401. <a name="l00521"></a>00521 LVRAIL6 = 232,
  402. <a name="l00522"></a>00522 LVRAIL7 = 233,
  403. <a name="l00523"></a>00523 LVRAIL8 = 234,
  404. <a name="l00524"></a>00524 LVRAIL9 = 235,
  405. <a name="l00525"></a>00525 LVRAIL10 = 236,
  406. <a name="l00526"></a>00526 HRAILROAD = 237,
  407. <a name="l00527"></a>00527 VRAILROAD = 238,
  408. <a name="l00528"></a>00528 RAILBASE = HRAIL,
  409. <a name="l00529"></a>00529 LASTRAIL = 238,
  410. <a name="l00530"></a>00530
  411. <a name="l00531"></a>00531 ROADVPOWERH = 239, <span class="comment">/* bogus? */</span>
  412. <a name="l00532"></a>00532
  413. <a name="l00533"></a>00533 <span class="comment">// Residential zone tiles</span>
  414. <a name="l00534"></a>00534
  415. <a name="l00535"></a>00535 RESBASE = 240, <span class="comment">// Empty residential, tiles 240--248</span>
  416. <a name="l00536"></a>00536 FREEZ = 244, <span class="comment">// center-tile of 3x3 empty residential</span>
  417. <a name="l00537"></a>00537
  418. <a name="l00538"></a>00538 HOUSE = 249, <span class="comment">// Single tile houses until 260</span>
  419. <a name="l00539"></a>00539 LHTHR = HOUSE,
  420. <a name="l00540"></a>00540 HHTHR = 260,
  421. <a name="l00541"></a>00541
  422. <a name="l00542"></a>00542 RZB = 265, <span class="comment">// center tile first 3x3 tile residential</span>
  423. <a name="l00543"></a>00543
  424. <a name="l00544"></a>00544 HOSPITALBASE = 405, <span class="comment">// Center of hospital (tiles 405--413)</span>
  425. <a name="l00545"></a>00545 HOSPITAL = 409, <span class="comment">// Center of hospital (tiles 405--413)</span>
  426. <a name="l00546"></a>00546
  427. <a name="l00547"></a>00547 CHURCHBASE = 414, <span class="comment">// Center of church (tiles 414--422)</span>
  428. <a name="l00548"></a>00548 CHURCH0BASE = 414, <span class="comment">// numbered alias</span>
  429. <a name="l00549"></a>00549 CHURCH = 418, <span class="comment">// Center of church (tiles 414--422)</span>
  430. <a name="l00550"></a>00550 CHURCH0 = 418, <span class="comment">// numbered alias</span>
  431. <a name="l00551"></a>00551
  432. <a name="l00552"></a>00552 <span class="comment">// Commercial zone tiles</span>
  433. <a name="l00553"></a>00553
  434. <a name="l00554"></a>00554 COMBASE = 423, <span class="comment">// Empty commercial, tiles 423--431</span>
  435. <a name="l00555"></a>00555 <span class="comment">// tile 424 -- 426 ?</span>
  436. <a name="l00556"></a>00556 COMCLR = 427,
  437. <a name="l00557"></a>00557 <span class="comment">// tile 428 -- 435 ?</span>
  438. <a name="l00558"></a>00558 CZB = 436,
  439. <a name="l00559"></a>00559 <span class="comment">// tile 437 -- 608 ?</span>
  440. <a name="l00560"></a>00560 COMLAST = 609,
  441. <a name="l00561"></a>00561 <span class="comment">// tile 610, 611 ?</span>
  442. <a name="l00562"></a>00562
  443. <a name="l00563"></a>00563 <span class="comment">// Industrial zone tiles.</span>
  444. <a name="l00564"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ed2d50a958e1eed168ce59864541f106b">00564</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ed2d50a958e1eed168ce59864541f106b" title="Top-left tile of empty industrial zone.">INDBASE</a> = 612,
  445. <a name="l00565"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443eb41dfc69a8e6ffa1edd37bdda1ccf786">00565</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443eb41dfc69a8e6ffa1edd37bdda1ccf786" title="Center tile of empty industrial zone.">INDCLR</a> = 616,
  446. <a name="l00566"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ee3a38dc762bf35ad82b04574b7f31bdb">00566</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ee3a38dc762bf35ad82b04574b7f31bdb" title="Last tile of empty industrial zone.">LASTIND</a> = 620,
  447. <a name="l00567"></a>00567
  448. <a name="l00568"></a>00568 <span class="comment">// Industrial zone population 0, value 0: 621 -- 629</span>
  449. <a name="l00569"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ed303b8163394f348d79e2ea4e3fca36c">00569</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ed303b8163394f348d79e2ea4e3fca36c" title="Top-left tile of first non-empty industry zone.">IND1</a> = 621,
  450. <a name="l00570"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e7f1dcd7ed2a34c63147f97d2f9bd6a4d">00570</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e7f1dcd7ed2a34c63147f97d2f9bd6a4d" title="Center tile of first non-empty industry zone.">IZB</a> = 625,
  451. <a name="l00571"></a>00571
  452. <a name="l00572"></a>00572 <span class="comment">// Industrial zone population 1, value 0: 630 -- 638</span>
  453. <a name="l00573"></a>00573
  454. <a name="l00574"></a>00574 <span class="comment">// Industrial zone population 2, value 0: 639 -- 647</span>
  455. <a name="l00575"></a>00575 IND2 = 641,
  456. <a name="l00576"></a>00576 IND3 = 644,
  457. <a name="l00577"></a>00577
  458. <a name="l00578"></a>00578 <span class="comment">// Industrial zone population 3, value 0: 648 -- 656</span>
  459. <a name="l00579"></a>00579 IND4 = 649,
  460. <a name="l00580"></a>00580 IND5 = 650,
  461. <a name="l00581"></a>00581
  462. <a name="l00582"></a>00582 <span class="comment">// Industrial zone population 0, value 1: 657 -- 665</span>
  463. <a name="l00583"></a>00583
  464. <a name="l00584"></a>00584 <span class="comment">// Industrial zone population 1, value 1: 666 -- 674</span>
  465. <a name="l00585"></a>00585
  466. <a name="l00586"></a>00586 <span class="comment">// Industrial zone population 2, value 1: 675 -- 683</span>
  467. <a name="l00587"></a>00587 IND6 = 676,
  468. <a name="l00588"></a>00588 IND7 = 677,
  469. <a name="l00589"></a>00589
  470. <a name="l00590"></a>00590 <span class="comment">// Industrial zone population 3, value 1: 684 -- 692</span>
  471. <a name="l00591"></a>00591 IND8 = 686,
  472. <a name="l00592"></a>00592 IND9 = 689,
  473. <a name="l00593"></a>00593
  474. <a name="l00594"></a>00594 <span class="comment">// Seaport</span>
  475. <a name="l00595"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e7670a19e6e9c7d0984729552cf452588">00595</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e7670a19e6e9c7d0984729552cf452588" title="Top-left tile of the seaport.">PORTBASE</a> = 693,
  476. <a name="l00596"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e8268527d969e4ef493d3f35844a0b841">00596</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e8268527d969e4ef493d3f35844a0b841" title="Center tile of the seaport.">PORT</a> = 698,
  477. <a name="l00597"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ef574d4651ddf66dee657621a2cb4892f">00597</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ef574d4651ddf66dee657621a2cb4892f" title="Last tile of the seaport.">LASTPORT</a> = 708,
  478. <a name="l00598"></a>00598
  479. <a name="l00599"></a>00599 AIRPORTBASE = 709,
  480. <a name="l00600"></a>00600 <span class="comment">// tile 710 ?</span>
  481. <a name="l00601"></a>00601 RADAR = 711,
  482. <a name="l00602"></a>00602 <span class="comment">// tile 712 -- 715 ?</span>
  483. <a name="l00603"></a>00603 AIRPORT = 716,
  484. <a name="l00604"></a>00604 <span class="comment">// tile 717 -- 744 ?</span>
  485. <a name="l00605"></a>00605
  486. <a name="l00606"></a>00606 <span class="comment">// Coal power plant (4x4).</span>
  487. <a name="l00607"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e0aa2e386cdd9ad15674945d73ac7dcd1">00607</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e0aa2e386cdd9ad15674945d73ac7dcd1" title="First tile of coal power plant.">COALBASE</a> = 745,
  488. <a name="l00608"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ea5ecb3c0c79777a6c765d2c0ae24fe1e">00608</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ea5ecb3c0c79777a6c765d2c0ae24fe1e" title="&amp;#39;Center&amp;#39; tile of coal power plant.">POWERPLANT</a> = 750,
  489. <a name="l00609"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e06f2bd62c36f49c59c5ecb9f8754dc03">00609</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e06f2bd62c36f49c59c5ecb9f8754dc03" title="Last tile of coal power plant.">LASTPOWERPLANT</a> = 760,
  490. <a name="l00610"></a>00610
  491. <a name="l00611"></a>00611 <span class="comment">// Fire station (3x3).</span>
  492. <a name="l00612"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e29a45a75854d5a3beee7392d811c9e3a">00612</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e29a45a75854d5a3beee7392d811c9e3a" title="First tile of fire station.">FIRESTBASE</a> = 761,
  493. <a name="l00613"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ec5235ee571824ba5fce15c1ef91e3038">00613</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ec5235ee571824ba5fce15c1ef91e3038" title="&amp;#39;Center tile&amp;#39; of fire station.">FIRESTATION</a> = 765,
  494. <a name="l00614"></a>00614 <span class="comment">// 769 last tile fire station.</span>
  495. <a name="l00615"></a>00615
  496. <a name="l00616"></a>00616 POLICESTBASE = 770,
  497. <a name="l00617"></a>00617 <span class="comment">// tile 771 -- 773 ?</span>
  498. <a name="l00618"></a>00618 POLICESTATION = 774,
  499. <a name="l00619"></a>00619 <span class="comment">// tile 775 -- 778 ?</span>
  500. <a name="l00620"></a>00620
  501. <a name="l00621"></a>00621 <span class="comment">// Stadium (4x4).</span>
  502. <a name="l00622"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e3d9c6c990140df4768a3f4a471d46a06">00622</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e3d9c6c990140df4768a3f4a471d46a06" title="First tile stadium.">STADIUMBASE</a> = 779,
  503. <a name="l00623"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e5679f940524cd008f5964f077c4944e5">00623</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e5679f940524cd008f5964f077c4944e5" title="&amp;#39;Center tile&amp;#39; stadium.">STADIUM</a> = 784,
  504. <a name="l00624"></a>00624 <span class="comment">// Last tile stadium 794.</span>
  505. <a name="l00625"></a>00625
  506. <a name="l00626"></a>00626 <span class="comment">// tile 785 -- 799 ?</span>
  507. <a name="l00627"></a>00627 FULLSTADIUM = 800,
  508. <a name="l00628"></a>00628 <span class="comment">// tile 801 -- 810 ?</span>
  509. <a name="l00629"></a>00629
  510. <a name="l00630"></a>00630 <span class="comment">// Nuclear power plant (4x4).</span>
  511. <a name="l00631"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e0754f481d3fb394868e140130e6f7329">00631</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e0754f481d3fb394868e140130e6f7329" title="First tile nuclear power plant.">NUCLEARBASE</a> = 811,
  512. <a name="l00632"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e6e64b981d2ea9691f20ea1cc3bf6e45a">00632</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e6e64b981d2ea9691f20ea1cc3bf6e45a" title="&amp;#39;Center&amp;#39; tile nuclear power plant.">NUCLEAR</a> = 816,
  513. <a name="l00633"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e4f803905e167463c81637a424720ea7d">00633</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e4f803905e167463c81637a424720ea7d" title="Also last tile nuclear power plant.">LASTZONE</a> = 826,
  514. <a name="l00634"></a>00634
  515. <a name="l00635"></a>00635 LIGHTNINGBOLT = 827,
  516. <a name="l00636"></a>00636 HBRDG0 = 828,
  517. <a name="l00637"></a>00637 HBRDG1 = 829,
  518. <a name="l00638"></a>00638 HBRDG2 = 830,
  519. <a name="l00639"></a>00639 HBRDG3 = 831,
  520. <a name="l00640"></a>00640 HBRDG_END = 832,
  521. <a name="l00641"></a>00641 RADAR0 = 832,
  522. <a name="l00642"></a>00642 RADAR1 = 833,
  523. <a name="l00643"></a>00643 RADAR2 = 834,
  524. <a name="l00644"></a>00644 RADAR3 = 835,
  525. <a name="l00645"></a>00645 RADAR4 = 836,
  526. <a name="l00646"></a>00646 RADAR5 = 837,
  527. <a name="l00647"></a>00647 RADAR6 = 838,
  528. <a name="l00648"></a>00648 RADAR7 = 839,
  529. <a name="l00649"></a>00649 FOUNTAIN = 840,
  530. <a name="l00650"></a>00650 <span class="comment">// tile 841 -- 843: fountain animation.</span>
  531. <a name="l00651"></a>00651 INDBASE2 = 844,
  532. <a name="l00652"></a>00652 TELEBASE = 844,
  533. <a name="l00653"></a>00653 <span class="comment">// tile 845 -- 850 ?</span>
  534. <a name="l00654"></a>00654 TELELAST = 851,
  535. <a name="l00655"></a>00655 SMOKEBASE = 852,
  536. <a name="l00656"></a>00656 <span class="comment">// tile 853 -- 859 ?</span>
  537. <a name="l00657"></a>00657 TINYEXP = 860,
  538. <a name="l00658"></a>00658 <span class="comment">// tile 861 -- 863 ?</span>
  539. <a name="l00659"></a>00659 SOMETINYEXP = 864,
  540. <a name="l00660"></a>00660 <span class="comment">// tile 865 -- 866 ?</span>
  541. <a name="l00661"></a>00661 LASTTINYEXP = 867,
  542. <a name="l00662"></a>00662 <span class="comment">// tile 868 -- 882 ?</span>
  543. <a name="l00663"></a>00663 TINYEXPLAST = 883,
  544. <a name="l00664"></a>00664 <span class="comment">// tile 884 -- 915 ?</span>
  545. <a name="l00665"></a>00665
  546. <a name="l00666"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443eda414ca18a29e93f3d8c1f3a0e39e5e8">00666</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443eda414ca18a29e93f3d8c1f3a0e39e5e8" title="919 last animation tile for chimney at coal power plant (2, 0).">COALSMOKE1</a> = 916,
  547. <a name="l00667"></a>00667
  548. <a name="l00668"></a>00668
  549. <a name="l00669"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ef5f907051618cbf637203e2d212754cf">00669</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ef5f907051618cbf637203e2d212754cf" title="923 last animation tile for chimney at coal power plant (3, 0).">COALSMOKE2</a> = 920,
  550. <a name="l00670"></a>00670
  551. <a name="l00671"></a>00671
  552. <a name="l00672"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e8d389b4e985e8adfbd3e1dc5c473060d">00672</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443e8d389b4e985e8adfbd3e1dc5c473060d" title="927 last animation tile for chimney at coal power plant (2, 1).">COALSMOKE3</a> = 924,
  553. <a name="l00673"></a>00673
  554. <a name="l00674"></a>00674
  555. <a name="l00675"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443eb64b8fa8e9dec88ae161844f8e635777">00675</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443eb64b8fa8e9dec88ae161844f8e635777" title="931 last animation tile for chimney at coal power plant (3, 1).">COALSMOKE4</a> = 928,
  556. <a name="l00676"></a>00676
  557. <a name="l00677"></a>00677
  558. <a name="l00678"></a>00678 FOOTBALLGAME1 = 932,
  559. <a name="l00679"></a>00679 <span class="comment">// tile 933 -- 939 ?</span>
  560. <a name="l00680"></a>00680 FOOTBALLGAME2 = 940,
  561. <a name="l00681"></a>00681 <span class="comment">// tile 941 -- 947 ?</span>
  562. <a name="l00682"></a>00682 VBRDG0 = 948,
  563. <a name="l00683"></a>00683 VBRDG1 = 949,
  564. <a name="l00684"></a>00684 VBRDG2 = 950,
  565. <a name="l00685"></a>00685 VBRDG3 = 951,
  566. <a name="l00686"></a>00686
  567. <a name="l00687"></a>00687 NUKESWIRL1 = 952,
  568. <a name="l00688"></a>00688 NUKESWIRL2 = 953,
  569. <a name="l00689"></a>00689 NUKESWIRL3 = 954,
  570. <a name="l00690"></a>00690 NUKESWIRL4 = 955,
  571. <a name="l00691"></a>00691
  572. <a name="l00692"></a>00692 <span class="comment">// Tiles 956-959 unused (originally)</span>
  573. <a name="l00693"></a>00693 <span class="comment">// TILE_COUNT = 960,</span>
  574. <a name="l00694"></a>00694
  575. <a name="l00695"></a>00695 <span class="comment">// Extended zones: 956-1019</span>
  576. <a name="l00696"></a>00696
  577. <a name="l00697"></a>00697 CHURCH1BASE = 956,
  578. <a name="l00698"></a>00698 CHURCH1 = 960,
  579. <a name="l00699"></a>00699 CHURCH2BASE = 965,
  580. <a name="l00700"></a>00700 CHURCH2 = 969,
  581. <a name="l00701"></a>00701 CHURCH3BASE = 974,
  582. <a name="l00702"></a>00702 CHURCH3 = 978,
  583. <a name="l00703"></a>00703 CHURCH4BASE = 983,
  584. <a name="l00704"></a>00704 CHURCH4 = 987,
  585. <a name="l00705"></a>00705 CHURCH5BASE = 992,
  586. <a name="l00706"></a>00706 CHURCH5 = 996,
  587. <a name="l00707"></a>00707 CHURCH6BASE = 1001,
  588. <a name="l00708"></a>00708 CHURCH6 = 1005,
  589. <a name="l00709"></a>00709 CHURCH7BASE = 1010,
  590. <a name="l00710"></a>00710 CHURCH7 = 1014,
  591. <a name="l00711"></a>00711 CHURCH7LAST = 1018,
  592. <a name="l00712"></a>00712
  593. <a name="l00713"></a>00713 <span class="comment">// Tiles 1020-1023 unused</span>
  594. <a name="l00714"></a>00714
  595. <a name="l00715"></a>00715 TILE_COUNT = 1024,
  596. <a name="l00716"></a>00716
  597. <a name="l00717"></a><a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ee5dec972160e0e46ffbbf153a66986c8">00717</a> <a class="code" href="micropolis_8h.html#25ebd6c017a806d6cc704d20f857443ee5dec972160e0e46ffbbf153a66986c8" title="Invalid tile (not used in the world map).">TILE_INVALID</a> = -1,
  598. <a name="l00718"></a>00718 };
  599. <a name="l00719"></a>00719
  600. <a name="l00725"></a><a class="code" href="micropolis_8h.html#f1a7fa9e895239233ee096f80445b024">00725</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#f1a7fa9e895239233ee096f80445b024">EditingTool</a> {
  601. <a name="l00726"></a>00726 TOOL_RESIDENTIAL,
  602. <a name="l00727"></a>00727 TOOL_COMMERCIAL,
  603. <a name="l00728"></a>00728 TOOL_INDUSTRIAL,
  604. <a name="l00729"></a>00729 TOOL_FIRESTATION,
  605. <a name="l00730"></a>00730 TOOL_POLICESTATION,
  606. <a name="l00731"></a>00731 TOOL_QUERY,
  607. <a name="l00732"></a>00732 TOOL_WIRE,
  608. <a name="l00733"></a>00733 TOOL_BULLDOZER,
  609. <a name="l00734"></a>00734 TOOL_RAILROAD,
  610. <a name="l00735"></a>00735 TOOL_ROAD,
  611. <a name="l00736"></a>00736 TOOL_STADIUM,
  612. <a name="l00737"></a>00737 TOOL_PARK,
  613. <a name="l00738"></a>00738 TOOL_SEAPORT,
  614. <a name="l00739"></a>00739 TOOL_COALPOWER,
  615. <a name="l00740"></a>00740 TOOL_NUCLEARPOWER,
  616. <a name="l00741"></a>00741 TOOL_AIRPORT,
  617. <a name="l00742"></a>00742 TOOL_NETWORK,
  618. <a name="l00743"></a>00743 TOOL_WATER,
  619. <a name="l00744"></a>00744 TOOL_LAND,
  620. <a name="l00745"></a>00745 TOOL_FOREST,
  621. <a name="l00746"></a>00746
  622. <a name="l00747"></a>00747 TOOL_COUNT,
  623. <a name="l00748"></a>00748 TOOL_FIRST = TOOL_RESIDENTIAL,
  624. <a name="l00749"></a>00749 TOOL_LAST = TOOL_FOREST,
  625. <a name="l00750"></a>00750 };
  626. <a name="l00751"></a>00751
  627. <a name="l00752"></a>00752
  628. <a name="l00754"></a>00754 <span class="comment">// Scenarios</span>
  629. <a name="l00755"></a>00755
  630. <a name="l00757"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d">00757</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d">Scenario</a> {
  631. <a name="l00758"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d0d3ea8a4184c0484369c12517741b315">00758</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d0d3ea8a4184c0484369c12517741b315" title="No scenario (free playing).">SC_NONE</a>,
  632. <a name="l00759"></a>00759
  633. <a name="l00760"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07ddb1e3d79cd60f22c97f3dd66e552e688">00760</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07ddb1e3d79cd60f22c97f3dd66e552e688" title="Dullsville (boredom).">SC_DULLSVILLE</a>,
  634. <a name="l00761"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07db63927fdaa04882bb676aae27893d6a6">00761</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07db63927fdaa04882bb676aae27893d6a6" title="San francisco (earthquake).">SC_SAN_FRANCISCO</a>,
  635. <a name="l00762"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07dcbbe62ebb0760029a468376a2cf73133">00762</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07dcbbe62ebb0760029a468376a2cf73133" title="Hamburg (fire bombs).">SC_HAMBURG</a>,
  636. <a name="l00763"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d31c1a99ac0baa2361d8724907982aba4">00763</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d31c1a99ac0baa2361d8724907982aba4" title="Bern (traffic).">SC_BERN</a>,
  637. <a name="l00764"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d0189f7555a4432e703c60c55e0b9e744">00764</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d0189f7555a4432e703c60c55e0b9e744" title="Tokyo (scary monster).">SC_TOKYO</a>,
  638. <a name="l00765"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07df1e5e7c2428a01f7432ceaba30c7f579">00765</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07df1e5e7c2428a01f7432ceaba30c7f579" title="Detroit (crime).">SC_DETROIT</a>,
  639. <a name="l00766"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d2c4cd98133b60f5dbb238605c945f326">00766</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d2c4cd98133b60f5dbb238605c945f326" title="Boston (nuclear meltdown).">SC_BOSTON</a>,
  640. <a name="l00767"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07dbe530624b4bc94c70e387b6f9ed90c69">00767</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07dbe530624b4bc94c70e387b6f9ed90c69" title="Rio (flooding).">SC_RIO</a>,
  641. <a name="l00768"></a>00768
  642. <a name="l00769"></a><a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07db3f89d43f15511743b0918dbfb55cda1">00769</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07db3f89d43f15511743b0918dbfb55cda1" title="Number of scenarios.">SC_COUNT</a>,
  643. <a name="l00770"></a>00770 };
  644. <a name="l00771"></a>00771
  645. <a name="l00772"></a>00772
  646. <a name="l00774"></a>00774 <span class="comment">// Zones</span>
  647. <a name="l00775"></a>00775
  648. <a name="l00777"></a><a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea3">00777</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea3">ZoneType</a> {
  649. <a name="l00778"></a><a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea312a106326a0d0d4244a10313013328fa">00778</a> <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea312a106326a0d0d4244a10313013328fa" title="Commercial zone.">ZT_COMMERCIAL</a>,
  650. <a name="l00779"></a><a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea316081d8b8cfa317fa28a38ca8bf4fa79">00779</a> <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea316081d8b8cfa317fa28a38ca8bf4fa79" title="Industrial zone.">ZT_INDUSTRIAL</a>,
  651. <a name="l00780"></a><a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea309f4c37e7d245f90b055be2e20cd9b2a">00780</a> <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea309f4c37e7d245f90b055be2e20cd9b2a" title="Residential zone.">ZT_RESIDENTIAL</a>,
  652. <a name="l00781"></a>00781
  653. <a name="l00782"></a><a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea36bf7509b88889b075355c269d3986203">00782</a> <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea36bf7509b88889b075355c269d3986203" title="Number of available zones.">ZT_NUM_DESTINATIONS</a>,
  654. <a name="l00783"></a>00783 };
  655. <a name="l00784"></a>00784
  656. <a name="l00785"></a>00785
  657. <a name="l00787"></a>00787 <span class="comment">// City problems</span>
  658. <a name="l00788"></a>00788
  659. <a name="l00793"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b">00793</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b">CityVotingProblems</a> {
  660. <a name="l00794"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6bfd432ad00ba74b3bc6c100ad3a7b5aea">00794</a> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6bfd432ad00ba74b3bc6c100ad3a7b5aea" title="Crime.">CVP_CRIME</a>,
  661. <a name="l00795"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b2d21b9b591e8627d123f80e62f92b99b">00795</a> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b2d21b9b591e8627d123f80e62f92b99b" title="Pollution.">CVP_POLLUTION</a>,
  662. <a name="l00796"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b7942a2c937ef5fb86d93e2f29b1b88e7">00796</a> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b7942a2c937ef5fb86d93e2f29b1b88e7" title="Housing.">CVP_HOUSING</a>,
  663. <a name="l00797"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b4d8adca477a8ce17f6f58b773f5f8c4a">00797</a> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b4d8adca477a8ce17f6f58b773f5f8c4a" title="Taxes.">CVP_TAXES</a>,
  664. <a name="l00798"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6bd09da273624720db873775468ee2ad95">00798</a> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6bd09da273624720db873775468ee2ad95" title="Traffic.">CVP_TRAFFIC</a>,
  665. <a name="l00799"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b884837ca59b1d7dc8dfa9c619be24ffa">00799</a> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b884837ca59b1d7dc8dfa9c619be24ffa" title="Unemployment.">CVP_UNEMPLOYMENT</a>,
  666. <a name="l00800"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b265102eb33d3f4e42e49dee65d1538e3">00800</a> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b265102eb33d3f4e42e49dee65d1538e3" title="Fire.">CVP_FIRE</a>,
  667. <a name="l00801"></a>00801
  668. <a name="l00802"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b169a1c13a3a6e6c5a3c18d6868fa63a8">00802</a> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6b169a1c13a3a6e6c5a3c18d6868fa63a8" title="Number of problems.">CVP_NUMPROBLEMS</a>,
  669. <a name="l00803"></a>00803
  670. <a name="l00804"></a><a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6bfa322d53e9f278316add1373c12f582b">00804</a> <a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6bfa322d53e9f278316add1373c12f582b" title="Number of problems to complain about.">CVP_PROBLEM_COMPLAINTS</a> = 4,
  671. <a name="l00805"></a>00805
  672. <a name="l00806"></a>00806 PROBNUM = 10,
  673. <a name="l00807"></a>00807 };
  674. <a name="l00808"></a>00808
  675. <a name="l00810"></a><a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5">00810</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5">CityClass</a> {
  676. <a name="l00811"></a><a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5c5cef4753dce58f4dd5db174084b462e">00811</a> <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5c5cef4753dce58f4dd5db174084b462e" title="Village.">CC_VILLAGE</a>,
  677. <a name="l00812"></a><a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5d49f1ba2c3e46a66e4f4baf5d91f764a">00812</a> <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5d49f1ba2c3e46a66e4f4baf5d91f764a" title="Town, &amp;gt; 2000 citizens.">CC_TOWN</a>,
  678. <a name="l00813"></a><a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5add55942436c22b58429da9e2ba518e4">00813</a> <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5add55942436c22b58429da9e2ba518e4" title="City, &amp;gt; 10000 citizens.">CC_CITY</a>,
  679. <a name="l00814"></a><a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf50be23cb148596eeba89d6e4948a01942">00814</a> <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf50be23cb148596eeba89d6e4948a01942" title="Capital, &amp;gt; 50000 citizens.">CC_CAPITAL</a>,
  680. <a name="l00815"></a><a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5522e4c1c1c7a6428c1d9443a3caf75d8">00815</a> <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5522e4c1c1c7a6428c1d9443a3caf75d8" title="Metropolis, &amp;gt; 100000 citizens.">CC_METROPOLIS</a>,
  681. <a name="l00816"></a><a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf54bddea86a3e62a6e0be66b41b23815e0">00816</a> <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf54bddea86a3e62a6e0be66b41b23815e0" title="Megalopolis, &amp;gt; 500000 citizens.">CC_MEGALOPOLIS</a>,
  682. <a name="l00817"></a>00817
  683. <a name="l00818"></a><a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5f778c6629d483ea85b9972c03c0d2471">00818</a> <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5f778c6629d483ea85b9972c03c0d2471" title="Number of city classes.">CC_NUM_CITIES</a>,
  684. <a name="l00819"></a>00819 };
  685. <a name="l00820"></a>00820
  686. <a name="l00822"></a><a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948">00822</a> <span class="keyword">enum</span> <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948">GameLevel</a> {
  687. <a name="l00823"></a><a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948642b63fb61bba2e16236fc454fe12a1d">00823</a> <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948642b63fb61bba2e16236fc454fe12a1d" title="Simple game level.">LEVEL_EASY</a>,
  688. <a name="l00824"></a><a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a9485edf820f5c6debfa69bb152312510153">00824</a> <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a9485edf820f5c6debfa69bb152312510153" title="Intermediate game level.">LEVEL_MEDIUM</a>,
  689. <a name="l00825"></a><a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a9488d0702c4b1f07a6a94d765cee27b44ef">00825</a> <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a9488d0702c4b1f07a6a94d765cee27b44ef" title="Difficult game level.">LEVEL_HARD</a>,
  690. <a name="l00826"></a>00826
  691. <a name="l00827"></a><a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948c045554d18c23cdf17782ba0aab2269e">00827</a> <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948c045554d18c23cdf17782ba0aab2269e" title="Number of game levels.">LEVEL_COUNT</a>,
  692. <a name="l00828"></a>00828
  693. <a name="l00829"></a><a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a94859ce9e3f9ce68c6755bf8c5c813c65cf">00829</a> <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a94859ce9e3f9ce68c6755bf8c5c813c65cf" title="First game level value.">LEVEL_FIRST</a> = <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948642b63fb61bba2e16236fc454fe12a1d" title="Simple game level.">LEVEL_EASY</a>,
  694. <a name="l00830"></a><a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948aaedeafbc6c45c4a94af09896efce3de">00830</a> <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948aaedeafbc6c45c4a94af09896efce3de" title="Last game level value.">LEVEL_LAST</a> = <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a9488d0702c4b1f07a6a94d765cee27b44ef" title="Difficult game level.">LEVEL_HARD</a>,
  695. <a name="l00831"></a>00831 };
  696. <a name="l00832"></a>00832
  697. <a name="l00834"></a>00834 <span class="comment">// Inline functions</span>
  698. <a name="l00835"></a>00835
  699. <a name="l00836"></a>00836 <span class="comment">// min/max won't compile on Win32 platform as it's already part of stdlib</span>
  700. <a name="l00837"></a>00837 <span class="preprocessor">#ifndef _WIN32</span>
  701. <a name="l00838"></a>00838 <span class="preprocessor"></span>
  702. <a name="l00845"></a>00845 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
  703. <a name="l00846"></a><a class="code" href="micropolis_8h.html#fb21817fa65cca388dcfb559ddd372c6">00846</a> <span class="keyword">static</span> <span class="keyword">inline</span> T <a class="code" href="micropolis_8h.html#fb21817fa65cca388dcfb559ddd372c6">min</a>(<span class="keyword">const</span> T a, <span class="keyword">const</span> T b)
  704. <a name="l00847"></a>00847 {
  705. <a name="l00848"></a>00848 <span class="keywordflow">return</span> (a &lt; b) ? a : b;
  706. <a name="l00849"></a>00849 }
  707. <a name="l00850"></a>00850
  708. <a name="l00857"></a>00857 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
  709. <a name="l00858"></a><a class="code" href="micropolis_8h.html#8f8a8e07c572999f802bb4c74d2a0529">00858</a> <span class="keyword">static</span> <span class="keyword">inline</span> T <a class="code" href="micropolis_8h.html#8f8a8e07c572999f802bb4c74d2a0529">max</a>(<span class="keyword">const</span> T a, <span class="keyword">const</span> T b)
  710. <a name="l00859"></a>00859 {
  711. <a name="l00860"></a>00860 <span class="keywordflow">return</span> (a &gt; b) ? a : b;
  712. <a name="l00861"></a>00861 }
  713. <a name="l00862"></a>00862
  714. <a name="l00863"></a>00863 <span class="preprocessor">#endif // _WIN32</span>
  715. <a name="l00864"></a>00864 <span class="preprocessor"></span>
  716. <a name="l00872"></a>00872 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
  717. <a name="l00873"></a><a class="code" href="micropolis_8h.html#c72a52ee0b2b2f779f6c8714f0c42f0d">00873</a> <span class="keyword">static</span> <span class="keyword">inline</span> T <a class="code" href="micropolis_8h.html#c72a52ee0b2b2f779f6c8714f0c42f0d">clamp</a>(<span class="keyword">const</span> T val, <span class="keyword">const</span> T lower, <span class="keyword">const</span> T upper)
  718. <a name="l00874"></a>00874 {
  719. <a name="l00875"></a>00875 <span class="keywordflow">if</span> (val &lt; lower) {
  720. <a name="l00876"></a>00876 <span class="keywordflow">return</span> lower;
  721. <a name="l00877"></a>00877 }
  722. <a name="l00878"></a>00878 <span class="keywordflow">if</span> (val &gt; upper) {
  723. <a name="l00879"></a>00879 <span class="keywordflow">return</span> upper;
  724. <a name="l00880"></a>00880 }
  725. <a name="l00881"></a>00881 <span class="keywordflow">return</span> val;
  726. <a name="l00882"></a>00882 }
  727. <a name="l00883"></a>00883
  728. <a name="l00889"></a>00889 <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;
  729. <a name="l00890"></a><a class="code" href="micropolis_8h.html#71af18974f6f401b618926b53c00b802">00890</a> <span class="keyword">static</span> <span class="keyword">inline</span> T <a class="code" href="micropolis_8h.html#71af18974f6f401b618926b53c00b802">absoluteValue</a>(<span class="keyword">const</span> T val)
  730. <a name="l00891"></a>00891 {
  731. <a name="l00892"></a>00892 <span class="keywordflow">if</span> (val &lt; 0) {
  732. <a name="l00893"></a>00893 <span class="keywordflow">return</span> -val;
  733. <a name="l00894"></a>00894 }
  734. <a name="l00895"></a>00895 <span class="keywordflow">return</span> val;
  735. <a name="l00896"></a>00896 }
  736. <a name="l00897"></a>00897
  737. <a name="l00899"></a>00899 <span class="comment">// Macros</span>
  738. <a name="l00900"></a>00900
  739. <a name="l00901"></a>00901
  740. <a name="l00907"></a><a class="code" href="micropolis_8h.html#d4be1cfc63bd1761090d998ecf890fde">00907</a> <span class="preprocessor">#define LENGTH_OF(array) (sizeof(array) / sizeof((array)[0]))</span>
  741. <a name="l00908"></a>00908 <span class="preprocessor"></span>
  742. <a name="l00912"></a><a class="code" href="micropolis_8h.html#6c2edf1e500e498b687567418bf4fef6">00912</a> <span class="preprocessor">#define NOT_REACHED() not_reached(__LINE__, __FILE__)</span>
  743. <a name="l00913"></a>00913 <span class="preprocessor"></span>
  744. <a name="l00914"></a>00914
  745. <a name="l00922"></a><a class="code" href="micropolis_8h.html#3858dbef934335eb220207f7030ce236">00922</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="micropolis_8h.html#3858dbef934335eb220207f7030ce236">not_reached</a>(<span class="keywordtype">int</span> line, <span class="keyword">const</span> <span class="keywordtype">char</span> *fname)
  746. <a name="l00923"></a>00923 {
  747. <a name="l00924"></a>00924 fprintf(stderr, <span class="stringliteral">"Code unexpectedly executed at line %d, at file %s\n"</span>, line, fname);
  748. <a name="l00925"></a>00925 exit(1);
  749. <a name="l00926"></a>00926 }
  750. <a name="l00927"></a>00927
  751. <a name="l00928"></a>00928
  752. <a name="l00930"></a>00930 <span class="comment">// Forward class definitions</span>
  753. <a name="l00931"></a>00931
  754. <a name="l00932"></a>00932
  755. <a name="l00933"></a>00933 <span class="keyword">class </span><a class="code" href="classMicropolis.html">Micropolis</a>;
  756. <a name="l00934"></a>00934 <span class="keyword">class </span><a class="code" href="classToolEffects.html">ToolEffects</a>;
  757. <a name="l00935"></a>00935 <span class="keyword">class </span><a class="code" href="classBuildingProperties.html">BuildingProperties</a>;
  758. <a name="l00936"></a>00936
  759. <a name="l00937"></a>00937
  760. <a name="l00939"></a>00939 <span class="comment">// Typedefs</span>
  761. <a name="l00940"></a>00940
  762. <a name="l00941"></a>00941
  763. <a name="l00942"></a>00942 <span class="comment">// This is the signature of the scripting language independent</span>
  764. <a name="l00943"></a>00943 <span class="comment">// callback function.</span>
  765. <a name="l00944"></a>00944 <span class="keyword">typedef</span> void (*CallbackFunction)(
  766. <a name="l00945"></a>00945 <a class="code" href="classMicropolis.html">Micropolis</a> *micropolis,
  767. <a name="l00946"></a>00946 <span class="keywordtype">void</span> *data,
  768. <a name="l00947"></a>00947 <span class="keyword">const</span> <span class="keywordtype">char</span> *name,
  769. <a name="l00948"></a>00948 <span class="keyword">const</span> <span class="keywordtype">char</span> *params,
  770. <a name="l00949"></a>00949 va_list arglist);
  771. <a name="l00950"></a>00950
  772. <a name="l00951"></a>00951
  773. <a name="l00953"></a>00953 <span class="comment">// Classes</span>
  774. <a name="l00954"></a>00954
  775. <a name="l00955"></a>00955
  776. <a name="l00957"></a><a class="code" href="classResource.html">00957</a> <span class="keyword">class </span><a class="code" href="classResource.html">Resource</a> {
  777. <a name="l00958"></a>00958
  778. <a name="l00959"></a>00959 <span class="keyword">public</span>:
  779. <a name="l00960"></a>00960
  780. <a name="l00961"></a><a class="code" href="classResource.html#ad93065313d3cd6b2bf8349fdff3b531">00961</a> <span class="keywordtype">char</span> *<a class="code" href="classResource.html#ad93065313d3cd6b2bf8349fdff3b531" title="Pointer to loaded file data.">buf</a>;
  781. <a name="l00962"></a><a class="code" href="classResource.html#b9952a559fdb9c107695926cef1997f4">00962</a> Quad <a class="code" href="classResource.html#b9952a559fdb9c107695926cef1997f4" title="Size of the loaded file data.">size</a>;
  782. <a name="l00963"></a><a class="code" href="classResource.html#c8f77ad900255dbbf60b0ae553223ade">00963</a> <span class="keywordtype">char</span> <a class="code" href="classResource.html#c8f77ad900255dbbf60b0ae553223ade" title="Name of the resource (not zero-terminated).">name</a>[4];
  783. <a name="l00964"></a><a class="code" href="classResource.html#6b13566489b15f123cd881ef2e92da21">00964</a> Quad <a class="code" href="classResource.html#6b13566489b15f123cd881ef2e92da21" title="Identification of the resource.">id</a>;
  784. <a name="l00965"></a><a class="code" href="classResource.html#bc6ad886c5adab1e333208a38acb0720">00965</a> <a class="code" href="classResource.html">Resource</a> *<a class="code" href="classResource.html#bc6ad886c5adab1e333208a38acb0720" title="Pointer to next Resource.">next</a>;
  785. <a name="l00966"></a>00966 };
  786. <a name="l00967"></a>00967
  787. <a name="l00968"></a>00968
  788. <a name="l00970"></a><a class="code" href="classStringTable.html">00970</a> <span class="keyword">class </span><a class="code" href="classStringTable.html">StringTable</a> {
  789. <a name="l00971"></a>00971
  790. <a name="l00972"></a>00972 <span class="keyword">public</span>:
  791. <a name="l00973"></a>00973
  792. <a name="l00974"></a><a class="code" href="classStringTable.html#45616be8a40d562eb1bbb58c7a996f52">00974</a> Quad <a class="code" href="classStringTable.html#45616be8a40d562eb1bbb58c7a996f52" title="Identification of the string table.">id</a>;
  793. <a name="l00975"></a><a class="code" href="classStringTable.html#755200f6e45d78dcb35ad6a0371702d6">00975</a> <span class="keywordtype">int</span> <a class="code" href="classStringTable.html#755200f6e45d78dcb35ad6a0371702d6" title="Number of lines in the table.">lines</a>;
  794. <a name="l00976"></a><a class="code" href="classStringTable.html#9a56f33fffd784a1516285bb2b976b2c">00976</a> <span class="keywordtype">char</span> **<a class="code" href="classStringTable.html#9a56f33fffd784a1516285bb2b976b2c" title="Array of pointers to start of each line.">strings</a>;
  795. <a name="l00977"></a><a class="code" href="classStringTable.html#91cd9b77c86c9cf72d4b71d1011dc4ef">00977</a> <a class="code" href="classStringTable.html">StringTable</a> *<a class="code" href="classStringTable.html#91cd9b77c86c9cf72d4b71d1011dc4ef" title="Pointer to next StringTable.">next</a>;
  796. <a name="l00978"></a>00978 };
  797. <a name="l00979"></a>00979
  798. <a name="l00980"></a>00980
  799. <a name="l00985"></a><a class="code" href="classSimSprite.html">00985</a> <span class="keyword">class </span><a class="code" href="classSimSprite.html">SimSprite</a> {
  800. <a name="l00986"></a>00986
  801. <a name="l00987"></a>00987 <span class="keyword">public</span>:
  802. <a name="l00988"></a>00988
  803. <a name="l00989"></a><a class="code" href="classSimSprite.html#a4e9778d43f38a912cbe560b893637bc">00989</a> <a class="code" href="classSimSprite.html">SimSprite</a> *<a class="code" href="classSimSprite.html#a4e9778d43f38a912cbe560b893637bc" title="Pointer to next SimSprite object in the list.">next</a>;
  804. <a name="l00990"></a><a class="code" href="classSimSprite.html#00009c29518d182f8562608c62e9d4b9">00990</a> <span class="keywordtype">char</span> *<a class="code" href="classSimSprite.html#00009c29518d182f8562608c62e9d4b9" title="Name of the sprite.">name</a>;
  805. <a name="l00991"></a><a class="code" href="classSimSprite.html#5c8ac895626cad194a4ffa2a5a9eb79b">00991</a> <span class="keywordtype">int</span> <a class="code" href="classSimSprite.html#5c8ac895626cad194a4ffa2a5a9eb79b" title="Type of the sprite (TRA -- BUS).">type</a>;
  806. <a name="l00992"></a><a class="code" href="classSimSprite.html#eca631659008c33d7d04db407d575c75">00992</a> <span class="keywordtype">int</span> <a class="code" href="classSimSprite.html#eca631659008c33d7d04db407d575c75" title="Frame (0 means non-active sprite).">frame</a>;
  807. <a name="l00993"></a><a class="code" href="classSimSprite.html#0c2a65810a310e1e1fc95d00c3c6f394">00993</a> <span class="keywordtype">int</span> <a class="code" href="classSimSprite.html#0c2a65810a310e1e1fc95d00c3c6f394" title="X coordinate of the sprite in pixels?">x</a>;
  808. <a name="l00994"></a><a class="code" href="classSimSprite.html#e1600ecb4f1cb3899f7facc369c7e25e">00994</a> <span class="keywordtype">int</span> <a class="code" href="classSimSprite.html#e1600ecb4f1cb3899f7facc369c7e25e" title="Y coordinate of the sprite in pixels?">y</a>;
  809. <a name="l00995"></a>00995 <span class="keywordtype">int</span> width;
  810. <a name="l00996"></a>00996 <span class="keywordtype">int</span> height;
  811. <a name="l00997"></a>00997 <span class="keywordtype">int</span> xOffset;
  812. <a name="l00998"></a>00998 <span class="keywordtype">int</span> yOffset;
  813. <a name="l00999"></a><a class="code" href="classSimSprite.html#f5d68ae91b32b04fbc26d88b82ef1ccc">00999</a> <span class="keywordtype">int</span> <a class="code" href="classSimSprite.html#f5d68ae91b32b04fbc26d88b82ef1ccc" title="Offset of the hot-spot relative to SimSprite::x?">xHot</a>;
  814. <a name="l01000"></a><a class="code" href="classSimSprite.html#4ee651480a2baf67fa98727f1e9edab5">01000</a> <span class="keywordtype">int</span> <a class="code" href="classSimSprite.html#4ee651480a2baf67fa98727f1e9edab5" title="Offset of the hot-spot relative to SimSprite::y?">yHot</a>;
  815. <a name="l01001"></a>01001 <span class="keywordtype">int</span> origX;
  816. <a name="l01002"></a>01002 <span class="keywordtype">int</span> origY;
  817. <a name="l01003"></a><a class="code" href="classSimSprite.html#395260ef8e5d30c2ccb1955d35af7b12">01003</a> <span class="keywordtype">int</span> <a class="code" href="classSimSprite.html#395260ef8e5d30c2ccb1955d35af7b12" title="Destination X coordinate of the sprite.">destX</a>;
  818. <a name="l01004"></a><a class="code" href="classSimSprite.html#87f26f696fe313b0b6427decc8d50402">01004</a> <span class="keywordtype">int</span> <a class="code" href="classSimSprite.html#87f26f696fe313b0b6427decc8d50402" title="Destination Y coordinate of the sprite.">destY</a>;
  819. <a name="l01005"></a>01005 <span class="keywordtype">int</span> count;
  820. <a name="l01006"></a>01006 <span class="keywordtype">int</span> soundCount;
  821. <a name="l01007"></a>01007 <span class="keywordtype">int</span> dir;
  822. <a name="l01008"></a>01008 <span class="keywordtype">int</span> newDir;
  823. <a name="l01009"></a>01009 <span class="keywordtype">int</span> step;
  824. <a name="l01010"></a>01010 <span class="keywordtype">int</span> flag;
  825. <a name="l01011"></a>01011 <span class="keywordtype">int</span> control;
  826. <a name="l01012"></a>01012 <span class="keywordtype">int</span> turn;
  827. <a name="l01013"></a>01013 <span class="keywordtype">int</span> accel;
  828. <a name="l01014"></a>01014 <span class="keywordtype">int</span> speed;
  829. <a name="l01015"></a>01015 };
  830. <a name="l01016"></a>01016
  831. <a name="l01017"></a>01017
  832. <a name="l01025"></a><a class="code" href="classMicropolis.html">01025</a> <span class="keyword">class </span><a class="code" href="classMicropolis.html">Micropolis</a> {
  833. <a name="l01026"></a>01026
  834. <a name="l01027"></a>01027
  835. <a name="l01028"></a>01028 <span class="keyword">public</span>:
  836. <a name="l01029"></a>01029
  837. <a name="l01030"></a>01030
  838. <a name="l01032"></a>01032
  839. <a name="l01033"></a>01033
  840. <a name="l01034"></a>01034 <a class="code" href="classMicropolis.html#3c573ff6e69acab2df75d014da91688e">Micropolis</a>();
  841. <a name="l01035"></a>01035
  842. <a name="l01036"></a>01036 <a class="code" href="classMicropolis.html#1dccf54fb5607166edad1a51ee40392f">~Micropolis</a>();
  843. <a name="l01037"></a>01037
  844. <a name="l01038"></a>01038 <span class="keyword">private</span>:
  845. <a name="l01039"></a>01039
  846. <a name="l01040"></a>01040 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#f172a8a06f190bac7977bf2800d3a131">init</a>();
  847. <a name="l01041"></a>01041
  848. <a name="l01042"></a>01042 <span class="keywordtype">void</span> destroy();
  849. <a name="l01043"></a>01043
  850. <a name="l01044"></a>01044
  851. <a name="l01046"></a>01046 <span class="comment">// allocate.cpp</span>
  852. <a name="l01047"></a>01047
  853. <a name="l01048"></a>01048 <span class="keyword">public</span>:
  854. <a name="l01049"></a>01049
  855. <a name="l01050"></a>01050
  856. <a name="l01057"></a><a class="code" href="classMicropolis.html#f18fdce89580a5b8ffd2ce5f73214354">01057</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#f18fdce89580a5b8ffd2ce5f73214354">roadTotal</a>;
  857. <a name="l01058"></a>01058
  858. <a name="l01064"></a><a class="code" href="classMicropolis.html#e3da882b8a84cd8ccaf5250f250cc81d">01064</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#e3da882b8a84cd8ccaf5250f250cc81d">railTotal</a>;
  859. <a name="l01065"></a>01065
  860. <a name="l01069"></a><a class="code" href="classMicropolis.html#50c5229c0208ca4702eb840df90c8994">01069</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#50c5229c0208ca4702eb840df90c8994">firePop</a>;
  861. <a name="l01070"></a>01070
  862. <a name="l01076"></a><a class="code" href="classMicropolis.html#5d9fe750f7ef5fcb0a92439f5910babc">01076</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#5d9fe750f7ef5fcb0a92439f5910babc">resPop</a>;
  863. <a name="l01077"></a>01077
  864. <a name="l01083"></a><a class="code" href="classMicropolis.html#d7b75efb6c46396ce974ebf779da1df5">01083</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#d7b75efb6c46396ce974ebf779da1df5">comPop</a>;
  865. <a name="l01084"></a>01084
  866. <a name="l01090"></a><a class="code" href="classMicropolis.html#169e7adb32b85265280903adc267db05">01090</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#169e7adb32b85265280903adc267db05">indPop</a>;
  867. <a name="l01091"></a>01091
  868. <a name="l01098"></a><a class="code" href="classMicropolis.html#9a031709dddb583f85715eb66c454bc9">01098</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#9a031709dddb583f85715eb66c454bc9">totalPop</a>;
  869. <a name="l01099"></a>01099
  870. <a name="l01105"></a><a class="code" href="classMicropolis.html#7e91e07e2ea80d9439c4df7fdaacd858">01105</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#7e91e07e2ea80d9439c4df7fdaacd858">totalPopLast</a>;
  871. <a name="l01106"></a>01106
  872. <a name="l01107"></a><a class="code" href="classMicropolis.html#77e0925c07eea005399545262dbdec73">01107</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#77e0925c07eea005399545262dbdec73" title="Number of residential zones.">resZonePop</a>;
  873. <a name="l01108"></a><a class="code" href="classMicropolis.html#eadd0d1eb8d6fa75f1da3314b6d128af">01108</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#eadd0d1eb8d6fa75f1da3314b6d128af" title="Number of commercial zones.">comZonePop</a>;
  874. <a name="l01109"></a><a class="code" href="classMicropolis.html#194207770240257e6846970aa48a4726">01109</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#194207770240257e6846970aa48a4726" title="Number of industrial zones.">indZonePop</a>;
  875. <a name="l01110"></a>01110
  876. <a name="l01114"></a><a class="code" href="classMicropolis.html#7765e4fb378c51b82b759dcb0dcd2c5b">01114</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#7765e4fb378c51b82b759dcb0dcd2c5b">totalZonePop</a>;
  877. <a name="l01115"></a>01115
  878. <a name="l01116"></a><a class="code" href="classMicropolis.html#a5fb73cca3fbfc2af22e1f057911a9fe">01116</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#a5fb73cca3fbfc2af22e1f057911a9fe" title="Number of hospitals.">hospitalPop</a>;
  879. <a name="l01117"></a><a class="code" href="classMicropolis.html#4fec3d717a0ee7e254ab65d0057cc760">01117</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#4fec3d717a0ee7e254ab65d0057cc760" title="Number of churches.">churchPop</a>;
  880. <a name="l01118"></a><a class="code" href="classMicropolis.html#56fb9f7b32d176a3a8b36f98e5b2421d">01118</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#56fb9f7b32d176a3a8b36f98e5b2421d" title="Faith bias.">faith</a>;
  881. <a name="l01119"></a><a class="code" href="classMicropolis.html#17b834d794de4f039abc577a0598d462">01119</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#17b834d794de4f039abc577a0598d462" title="Number of stadiums.">stadiumPop</a>;
  882. <a name="l01120"></a>01120
  883. <a name="l01124"></a><a class="code" href="classMicropolis.html#86a3e831a797f585deadb6ca0f8853cf">01124</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#86a3e831a797f585deadb6ca0f8853cf">policeStationPop</a>;
  884. <a name="l01125"></a>01125
  885. <a name="l01129"></a><a class="code" href="classMicropolis.html#d220c3b9df967e59dd55dc6e8a60f919">01129</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#d220c3b9df967e59dd55dc6e8a60f919">fireStationPop</a>;
  886. <a name="l01130"></a>01130
  887. <a name="l01134"></a><a class="code" href="classMicropolis.html#a1cb3fbe06b4d038dbe6c532d4e82b2e">01134</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#a1cb3fbe06b4d038dbe6c532d4e82b2e">coalPowerPop</a>;
  888. <a name="l01135"></a>01135
  889. <a name="l01139"></a><a class="code" href="classMicropolis.html#c4e42eea13b171bd21b7559613223369">01139</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#c4e42eea13b171bd21b7559613223369">nuclearPowerPop</a>;
  890. <a name="l01140"></a>01140
  891. <a name="l01144"></a><a class="code" href="classMicropolis.html#f10b295810dc2414ed656e49158a0154">01144</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#f10b295810dc2414ed656e49158a0154">seaportPop</a>;
  892. <a name="l01145"></a>01145
  893. <a name="l01149"></a><a class="code" href="classMicropolis.html#80e963b01a9e47bc1d5fff33d9573d89">01149</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#80e963b01a9e47bc1d5fff33d9573d89">airportPop</a>;
  894. <a name="l01150"></a>01150
  895. <a name="l01157"></a><a class="code" href="classMicropolis.html#27cda86f25ab0a3bd1c2a276d980e0ca">01157</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#27cda86f25ab0a3bd1c2a276d980e0ca">crimeAverage</a>;
  896. <a name="l01158"></a>01158
  897. <a name="l01166"></a><a class="code" href="classMicropolis.html#781360d98ea08c94e29e255357d62c66">01166</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#781360d98ea08c94e29e255357d62c66">pollutionAverage</a>;
  898. <a name="l01167"></a>01167
  899. <a name="l01174"></a><a class="code" href="classMicropolis.html#9c909da1d2153c2b2a8fab69b6bde033">01174</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#9c909da1d2153c2b2a8fab69b6bde033">landValueAverage</a>;
  900. <a name="l01175"></a>01175
  901. <a name="l01178"></a>01178
  902. <a name="l01186"></a><a class="code" href="classMicropolis.html#559deb21709590d2d08e21da2dfb0518">01186</a> Quad <a class="code" href="classMicropolis.html#559deb21709590d2d08e21da2dfb0518">cityTime</a>;
  903. <a name="l01187"></a>01187
  904. <a name="l01192"></a><a class="code" href="classMicropolis.html#a71d26ee207df4cd364eb7f3c0df7a54">01192</a> Quad <a class="code" href="classMicropolis.html#a71d26ee207df4cd364eb7f3c0df7a54">cityMonth</a>;
  905. <a name="l01193"></a>01193
  906. <a name="l01198"></a><a class="code" href="classMicropolis.html#b678bdbc3ba92add6c86c79a75c3926a">01198</a> Quad <a class="code" href="classMicropolis.html#b678bdbc3ba92add6c86c79a75c3926a">cityYear</a>;
  907. <a name="l01199"></a>01199
  908. <a name="l01203"></a><a class="code" href="classMicropolis.html#af9e18042c751ff236508acf10cac6a8">01203</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#af9e18042c751ff236508acf10cac6a8">startingYear</a>;
  909. <a name="l01204"></a>01204
  910. <a name="l01206"></a>01206
  911. <a name="l01207"></a>01207 <span class="comment">/* Maps */</span>
  912. <a name="l01208"></a>01208
  913. <a name="l01214"></a><a class="code" href="classMicropolis.html#9caa2dda6edc913f82c4c48c77ae7859">01214</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> *<a class="code" href="classMicropolis.html#9caa2dda6edc913f82c4c48c77ae7859">map</a>[<a class="code" href="map__type_8h.html#e6df22d5005e60ca7b2da133fcff3c24">WORLD_W</a>];
  914. <a name="l01215"></a>01215
  915. <a name="l01219"></a><a class="code" href="classMicropolis.html#febd15bc28eff00248c924c0973cf625">01219</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#febd15bc28eff00248c924c0973cf625">resHist10Max</a>;
  916. <a name="l01220"></a>01220
  917. <a name="l01224"></a><a class="code" href="classMicropolis.html#7ab4f476cd37d4f40db7d3f4e79f9c54">01224</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#7ab4f476cd37d4f40db7d3f4e79f9c54">resHist120Max</a>;
  918. <a name="l01225"></a>01225
  919. <a name="l01229"></a><a class="code" href="classMicropolis.html#aba2b236a8e53b7158e4644f5789bc02">01229</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#aba2b236a8e53b7158e4644f5789bc02">comHist10Max</a>;
  920. <a name="l01230"></a>01230
  921. <a name="l01234"></a><a class="code" href="classMicropolis.html#f44197cbf106031d47986d97b0eb88d0">01234</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#f44197cbf106031d47986d97b0eb88d0">comHist120Max</a>;
  922. <a name="l01235"></a>01235
  923. <a name="l01239"></a><a class="code" href="classMicropolis.html#24f3d99fef591c5c11d5a662acfbeff1">01239</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#24f3d99fef591c5c11d5a662acfbeff1">indHist10Max</a>;
  924. <a name="l01240"></a>01240
  925. <a name="l01244"></a><a class="code" href="classMicropolis.html#ff3908d907f9eb082285fdf9ed8d3feb">01244</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#ff3908d907f9eb082285fdf9ed8d3feb">indHist120Max</a>;
  926. <a name="l01245"></a>01245
  927. <a name="l01251"></a><a class="code" href="classMicropolis.html#a7e9d8ace7ee9d4d30793a18766832d5">01251</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#a7e9d8ace7ee9d4d30793a18766832d5">censusChanged</a>;
  928. <a name="l01252"></a>01252
  929. <a name="l01255"></a>01255
  930. <a name="l01259"></a><a class="code" href="classMicropolis.html#853c2a9be70a79f5d742be8708ea2308">01259</a> Quad <a class="code" href="classMicropolis.html#853c2a9be70a79f5d742be8708ea2308">roadSpend</a>;
  931. <a name="l01260"></a>01260
  932. <a name="l01264"></a><a class="code" href="classMicropolis.html#c1f0af5774589522d883a4b4fb37e04a">01264</a> Quad <a class="code" href="classMicropolis.html#c1f0af5774589522d883a4b4fb37e04a">policeSpend</a>;
  933. <a name="l01265"></a>01265
  934. <a name="l01269"></a><a class="code" href="classMicropolis.html#56bb8d576aa2852d7198093a9b260d7c">01269</a> Quad <a class="code" href="classMicropolis.html#56bb8d576aa2852d7198093a9b260d7c">fireSpend</a>;
  935. <a name="l01270"></a>01270
  936. <a name="l01276"></a><a class="code" href="classMicropolis.html#10c581a3b3371c9e902fee4840661ce9">01276</a> Quad <a class="code" href="classMicropolis.html#10c581a3b3371c9e902fee4840661ce9">roadFund</a>;
  937. <a name="l01277"></a>01277
  938. <a name="l01283"></a><a class="code" href="classMicropolis.html#de0faabc0cc3a9fcae122bf0aee7bd59">01283</a> Quad <a class="code" href="classMicropolis.html#de0faabc0cc3a9fcae122bf0aee7bd59">policeFund</a>;
  939. <a name="l01284"></a>01284
  940. <a name="l01290"></a><a class="code" href="classMicropolis.html#3322ba8c396c44fb1f5e863896b9699e">01290</a> Quad <a class="code" href="classMicropolis.html#3322ba8c396c44fb1f5e863896b9699e">fireFund</a>;
  941. <a name="l01291"></a>01291
  942. <a name="l01295"></a><a class="code" href="classMicropolis.html#0238f1ad1707bb9d44bc5a8efea719de">01295</a> Quad <a class="code" href="classMicropolis.html#0238f1ad1707bb9d44bc5a8efea719de">roadEffect</a>;
  943. <a name="l01296"></a>01296
  944. <a name="l01300"></a><a class="code" href="classMicropolis.html#3849b48adc430f30c1113fa75feaeecc">01300</a> Quad <a class="code" href="classMicropolis.html#3849b48adc430f30c1113fa75feaeecc">policeEffect</a>;
  945. <a name="l01301"></a>01301
  946. <a name="l01305"></a><a class="code" href="classMicropolis.html#7e12a2a1929cbb4506b380957cd1d1e8">01305</a> Quad <a class="code" href="classMicropolis.html#7e12a2a1929cbb4506b380957cd1d1e8">fireEffect</a>;
  947. <a name="l01306"></a>01306
  948. <a name="l01313"></a><a class="code" href="classMicropolis.html#824044fdd27f25b49fab2370e6b47736">01313</a> Quad <a class="code" href="classMicropolis.html#824044fdd27f25b49fab2370e6b47736">taxFund</a>;
  949. <a name="l01314"></a>01314
  950. <a name="l01318"></a><a class="code" href="classMicropolis.html#e30007117c3d96ae144aa55efd9c7a68">01318</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#e30007117c3d96ae144aa55efd9c7a68">cityTax</a>;
  951. <a name="l01319"></a>01319
  952. <a name="l01331"></a><a class="code" href="classMicropolis.html#23430576d8ae376fd0cc217b9c829d1b">01331</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#23430576d8ae376fd0cc217b9c829d1b">taxFlag</a>;
  953. <a name="l01332"></a>01332
  954. <a name="l01334"></a>01334
  955. <a name="l01337"></a>01337
  956. <a name="l01338"></a><a class="code" href="classMicropolis.html#dacaca817fec3d849fea5319e284b492">01338</a> <a class="code" href="map__type_8h.html#5bd0e138337c1ab1e551ea56ea2f91af" title="Map of Byte, with cluster size 2.">MapByte2</a> <a class="code" href="classMicropolis.html#dacaca817fec3d849fea5319e284b492" title="Population density map.">populationDensityMap</a>;
  957. <a name="l01339"></a><a class="code" href="classMicropolis.html#bbcdc5868df96b13375d8732aaadaf70">01339</a> <a class="code" href="map__type_8h.html#5bd0e138337c1ab1e551ea56ea2f91af" title="Map of Byte, with cluster size 2.">MapByte2</a> <a class="code" href="classMicropolis.html#bbcdc5868df96b13375d8732aaadaf70" title="Traffic density map.">trafficDensityMap</a>;
  958. <a name="l01340"></a><a class="code" href="classMicropolis.html#b9e23d607c51d914f39e0ea6772c91d0">01340</a> <a class="code" href="map__type_8h.html#5bd0e138337c1ab1e551ea56ea2f91af" title="Map of Byte, with cluster size 2.">MapByte2</a> <a class="code" href="classMicropolis.html#b9e23d607c51d914f39e0ea6772c91d0" title="Pollution density map.">pollutionDensityMap</a>;
  959. <a name="l01341"></a><a class="code" href="classMicropolis.html#de09bda80cdd889c2f84dc14b1e071b0">01341</a> <a class="code" href="map__type_8h.html#5bd0e138337c1ab1e551ea56ea2f91af" title="Map of Byte, with cluster size 2.">MapByte2</a> <a class="code" href="classMicropolis.html#de09bda80cdd889c2f84dc14b1e071b0" title="Land value map.">landValueMap</a>;
  960. <a name="l01342"></a><a class="code" href="classMicropolis.html#4496e01df278c2fb025edb07a27a4b10">01342</a> <a class="code" href="map__type_8h.html#5bd0e138337c1ab1e551ea56ea2f91af" title="Map of Byte, with cluster size 2.">MapByte2</a> <a class="code" href="classMicropolis.html#4496e01df278c2fb025edb07a27a4b10" title="Crime rate map.">crimeRateMap</a>;
  961. <a name="l01343"></a>01343
  962. <a name="l01349"></a><a class="code" href="classMicropolis.html#47a214239424612b7a6dd29bc638b29f">01349</a> <a class="code" href="map__type_8h.html#6b909610d7fe3e7a2e6c3d7b083df886" title="Map of Byte, with cluster size 4.">MapByte4</a> <a class="code" href="classMicropolis.html#47a214239424612b7a6dd29bc638b29f">terrainDensityMap</a>;
  963. <a name="l01350"></a>01350
  964. <a name="l01356"></a><a class="code" href="classMicropolis.html#cb00550c724842eccd068b10d506aa32">01356</a> <a class="code" href="map__type_8h.html#5bd0e138337c1ab1e551ea56ea2f91af" title="Map of Byte, with cluster size 2.">MapByte2</a> <a class="code" href="classMicropolis.html#cb00550c724842eccd068b10d506aa32">tempMap1</a>;
  965. <a name="l01357"></a>01357
  966. <a name="l01363"></a><a class="code" href="classMicropolis.html#e0a318212167dac1b39176f52f8ed789">01363</a> <a class="code" href="map__type_8h.html#5bd0e138337c1ab1e551ea56ea2f91af" title="Map of Byte, with cluster size 2.">MapByte2</a> <a class="code" href="classMicropolis.html#e0a318212167dac1b39176f52f8ed789">tempMap2</a>;
  967. <a name="l01364"></a>01364
  968. <a name="l01370"></a><a class="code" href="classMicropolis.html#6ca183b776ab652e68da01aed9c720fe">01370</a> <a class="code" href="map__type_8h.html#6b909610d7fe3e7a2e6c3d7b083df886" title="Map of Byte, with cluster size 4.">MapByte4</a> <a class="code" href="classMicropolis.html#6ca183b776ab652e68da01aed9c720fe">tempMap3</a>;
  969. <a name="l01371"></a>01371
  970. <a name="l01375"></a><a class="code" href="classMicropolis.html#3ff1d3ea9d5d31ea38087d2df215858b">01375</a> <a class="code" href="map__type_8h.html#8def5f732b2ba00f2749859456a89113" title="Map of Byte, with cluster size 1.">MapByte1</a> <a class="code" href="classMicropolis.html#3ff1d3ea9d5d31ea38087d2df215858b">powerGridMap</a>;
  971. <a name="l01376"></a>01376
  972. <a name="l01384"></a><a class="code" href="classMicropolis.html#deb19ae202d9fa5e3252daccc8a46165">01384</a> <a class="code" href="classMap.html">MapShort8</a> <a class="code" href="classMicropolis.html#deb19ae202d9fa5e3252daccc8a46165">rateOfGrowthMap</a>;
  973. <a name="l01385"></a>01385
  974. <a name="l01395"></a><a class="code" href="classMicropolis.html#985dee2556bb07fe7497a5892e8716da">01395</a> <a class="code" href="classMap.html">MapShort8</a> <a class="code" href="classMicropolis.html#985dee2556bb07fe7497a5892e8716da">fireStationMap</a>;
  975. <a name="l01396"></a>01396
  976. <a name="l01400"></a><a class="code" href="classMicropolis.html#5cbd4ccd8b9bb804d025b5d1ed72ac02">01400</a> <a class="code" href="classMap.html">MapShort8</a> <a class="code" href="classMicropolis.html#5cbd4ccd8b9bb804d025b5d1ed72ac02">fireStationEffectMap</a>;
  977. <a name="l01401"></a>01401
  978. <a name="l01411"></a><a class="code" href="classMicropolis.html#b5f2a1dc89d1fad869fd324d0eae6a6b">01411</a> <a class="code" href="classMap.html">MapShort8</a> <a class="code" href="classMicropolis.html#b5f2a1dc89d1fad869fd324d0eae6a6b">policeStationMap</a>;
  979. <a name="l01412"></a>01412
  980. <a name="l01416"></a><a class="code" href="classMicropolis.html#175f532a306d7d5566655427ae42ce8b">01416</a> <a class="code" href="classMap.html">MapShort8</a> <a class="code" href="classMicropolis.html#175f532a306d7d5566655427ae42ce8b">policeStationEffectMap</a>;
  981. <a name="l01417"></a>01417
  982. <a name="l01424"></a><a class="code" href="classMicropolis.html#58159137f9aa8f633f371c881131defd">01424</a> <a class="code" href="classMap.html">MapShort8</a> <a class="code" href="classMicropolis.html#58159137f9aa8f633f371c881131defd">comRateMap</a>;
  983. <a name="l01425"></a>01425
  984. <a name="l01427"></a>01427
  985. <a name="l01428"></a>01428
  986. <a name="l01431"></a>01431
  987. <a name="l01435"></a><a class="code" href="classMicropolis.html#3aa2fd8af4ad557830a8c9677ded44f3">01435</a> <span class="keywordtype">short</span> *<a class="code" href="classMicropolis.html#3aa2fd8af4ad557830a8c9677ded44f3">resHist</a>;
  988. <a name="l01436"></a>01436
  989. <a name="l01440"></a><a class="code" href="classMicropolis.html#af42284eb1c7f337fd3eadd6ecb57ae9">01440</a> <span class="keywordtype">short</span> *<a class="code" href="classMicropolis.html#af42284eb1c7f337fd3eadd6ecb57ae9">comHist</a>;
  990. <a name="l01441"></a>01441
  991. <a name="l01445"></a><a class="code" href="classMicropolis.html#a8b3a322fafd536d0321829744bea508">01445</a> <span class="keywordtype">short</span> *<a class="code" href="classMicropolis.html#a8b3a322fafd536d0321829744bea508">indHist</a>;
  992. <a name="l01446"></a>01446
  993. <a name="l01450"></a><a class="code" href="classMicropolis.html#528303a1a67ab43c8bf96bcc07935e1c">01450</a> <span class="keywordtype">short</span> *<a class="code" href="classMicropolis.html#528303a1a67ab43c8bf96bcc07935e1c">moneyHist</a>;
  994. <a name="l01451"></a>01451
  995. <a name="l01455"></a><a class="code" href="classMicropolis.html#8018b7f8abc1d78e953ce4d617a8e07f">01455</a> <span class="keywordtype">short</span> *<a class="code" href="classMicropolis.html#8018b7f8abc1d78e953ce4d617a8e07f">pollutionHist</a>;
  996. <a name="l01456"></a>01456
  997. <a name="l01460"></a><a class="code" href="classMicropolis.html#8013d2fc2b5163a68d032775235d10e4">01460</a> <span class="keywordtype">short</span> *<a class="code" href="classMicropolis.html#8013d2fc2b5163a68d032775235d10e4">crimeHist</a>;
  998. <a name="l01461"></a>01461
  999. <a name="l01465"></a><a class="code" href="classMicropolis.html#e8e96d1adb850155aa16958fda24ed7d">01465</a> <span class="keywordtype">short</span> *<a class="code" href="classMicropolis.html#e8e96d1adb850155aa16958fda24ed7d">miscHist</a>;
  1000. <a name="l01466"></a>01466
  1001. <a name="l01468"></a>01468
  1002. <a name="l01469"></a>01469
  1003. <a name="l01470"></a>01470 <span class="keyword">private</span>:
  1004. <a name="l01471"></a>01471
  1005. <a name="l01477"></a><a class="code" href="classMicropolis.html#d9d17f39596bff6caee02c183936a1f8">01477</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#d9d17f39596bff6caee02c183936a1f8">needHospital</a>;
  1006. <a name="l01478"></a>01478
  1007. <a name="l01484"></a><a class="code" href="classMicropolis.html#dea54531343eb7f4c389ea5c311505c5">01484</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#dea54531343eb7f4c389ea5c311505c5">needChurch</a>;
  1008. <a name="l01485"></a>01485
  1009. <a name="l01486"></a>01486
  1010. <a name="l01490"></a><a class="code" href="classMicropolis.html#b59cffc8079ddeb04d55954b66dac288">01490</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> *<a class="code" href="classMicropolis.html#b59cffc8079ddeb04d55954b66dac288">mapBase</a>;
  1011. <a name="l01491"></a>01491
  1012. <a name="l01492"></a>01492
  1013. <a name="l01493"></a>01493 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#a048942aa0ec83146b29f263584cf9cd">initMapArrays</a>();
  1014. <a name="l01494"></a>01494
  1015. <a name="l01495"></a>01495 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#af06f90b03bf6398a6b58a4a0f43f818">destroyMapArrays</a>();
  1016. <a name="l01496"></a>01496
  1017. <a name="l01497"></a>01497
  1018. <a name="l01499"></a>01499 <span class="comment">// animate.cpp</span>
  1019. <a name="l01500"></a>01500
  1020. <a name="l01501"></a>01501 <span class="keyword">public</span>:
  1021. <a name="l01502"></a>01502
  1022. <a name="l01503"></a>01503
  1023. <a name="l01504"></a>01504 <span class="keywordtype">void</span> animateTiles();
  1024. <a name="l01505"></a>01505
  1025. <a name="l01506"></a>01506 <span class="keyword">static</span> <span class="keywordtype">int</span> getNextAnimatedTile(<span class="keywordtype">int</span> index);
  1026. <a name="l01507"></a>01507
  1027. <a name="l01508"></a>01508
  1028. <a name="l01510"></a>01510 <span class="comment">// budget.cpp</span>
  1029. <a name="l01511"></a>01511
  1030. <a name="l01512"></a>01512 <span class="keyword">public</span>:
  1031. <a name="l01513"></a>01513
  1032. <a name="l01514"></a>01514
  1033. <a name="l01521"></a><a class="code" href="classMicropolis.html#57e56232060b7facd86d938a1d19671f">01521</a> <span class="keywordtype">float</span> <a class="code" href="classMicropolis.html#57e56232060b7facd86d938a1d19671f">roadPercent</a>;
  1034. <a name="l01522"></a>01522
  1035. <a name="l01529"></a><a class="code" href="classMicropolis.html#f20de4d2d143903574a9b2530440f2fc">01529</a> <span class="keywordtype">float</span> <a class="code" href="classMicropolis.html#f20de4d2d143903574a9b2530440f2fc">policePercent</a>;
  1036. <a name="l01530"></a>01530
  1037. <a name="l01537"></a><a class="code" href="classMicropolis.html#0d70c3d19b5abc8a76ecfc0fbdab8ff3">01537</a> <span class="keywordtype">float</span> <a class="code" href="classMicropolis.html#0d70c3d19b5abc8a76ecfc0fbdab8ff3">firePercent</a>;
  1038. <a name="l01538"></a>01538
  1039. <a name="l01542"></a><a class="code" href="classMicropolis.html#6dfbb783312da600f08c5166d8d44b33">01542</a> Quad <a class="code" href="classMicropolis.html#6dfbb783312da600f08c5166d8d44b33">roadValue</a>;
  1040. <a name="l01543"></a>01543
  1041. <a name="l01547"></a><a class="code" href="classMicropolis.html#471206db8ecb3a174cff58b0ba14b3b5">01547</a> Quad <a class="code" href="classMicropolis.html#471206db8ecb3a174cff58b0ba14b3b5">policeValue</a>;
  1042. <a name="l01548"></a>01548
  1043. <a name="l01552"></a><a class="code" href="classMicropolis.html#7200d9830f505ce573785c8cdc885f1f">01552</a> Quad <a class="code" href="classMicropolis.html#7200d9830f505ce573785c8cdc885f1f">fireValue</a>;
  1044. <a name="l01553"></a>01553
  1045. <a name="l01557"></a><a class="code" href="classMicropolis.html#12f43707f2e4c6321c144a9cf3edf6b4">01557</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#12f43707f2e4c6321c144a9cf3edf6b4">mustDrawBudget</a>;
  1046. <a name="l01558"></a>01558
  1047. <a name="l01559"></a>01559
  1048. <a name="l01560"></a>01560 <span class="keywordtype">void</span> initFundingLevel();
  1049. <a name="l01561"></a>01561
  1050. <a name="l01562"></a>01562 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#f6100142ffced7ed5bf814e4599d51cf">doBudget</a>();
  1051. <a name="l01563"></a>01563
  1052. <a name="l01564"></a>01564 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#981638fa00fe222a4b7ab5543e85db5c">doBudgetFromMenu</a>();
  1053. <a name="l01565"></a>01565
  1054. <a name="l01566"></a>01566 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d2821eb5c05fd6a279ceaa32fd61fcdb">doBudgetNow</a>(<span class="keywordtype">bool</span> fromMenu);
  1055. <a name="l01567"></a>01567
  1056. <a name="l01568"></a>01568 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#4a1c82d6ffa1b806781ca4183973f60c">updateBudget</a>();
  1057. <a name="l01569"></a>01569
  1058. <a name="l01570"></a>01570 <span class="keywordtype">void</span> showBudgetWindowAndStartWaiting();
  1059. <a name="l01571"></a>01571
  1060. <a name="l01572"></a>01572 <span class="keywordtype">void</span> setCityTax(<span class="keywordtype">short</span> tax);
  1061. <a name="l01573"></a>01573
  1062. <a name="l01574"></a>01574
  1063. <a name="l01576"></a>01576 <span class="comment">// connect.cpp</span>
  1064. <a name="l01577"></a>01577
  1065. <a name="l01578"></a>01578 <span class="keyword">private</span>:
  1066. <a name="l01579"></a>01579
  1067. <a name="l01580"></a>01580
  1068. <a name="l01581"></a>01581 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#5ce3cd7399e74fb1eb7efa2c76a4e99e">connectTile</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y,
  1069. <a name="l01582"></a>01582 <a class="code" href="micropolis_8h.html#3378a83e0bc808728d9d3380011e8611">ConnectTileCommand</a> cmd, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  1070. <a name="l01583"></a>01583
  1071. <a name="l01584"></a>01584 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#571b33c84d5f9a23d27ea01f0fc976ab">layDoze</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  1072. <a name="l01585"></a>01585
  1073. <a name="l01586"></a>01586 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#d1cfa2762fc2da45940e1952756a9ff4">layRoad</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  1074. <a name="l01587"></a>01587
  1075. <a name="l01588"></a>01588 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#742f3b134751751dc21d7807c307c158">layRail</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  1076. <a name="l01589"></a>01589
  1077. <a name="l01590"></a>01590 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#6a90f95e93167afd2324d9419f312040">layWire</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  1078. <a name="l01591"></a>01591
  1079. <a name="l01592"></a>01592 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#02a89b10883a507ccadc8dc752a2d162">fixZone</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  1080. <a name="l01593"></a>01593
  1081. <a name="l01594"></a>01594 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#cc8740d2f29caa44c6a028ab23d4fbaa">fixSingle</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  1082. <a name="l01595"></a>01595
  1083. <a name="l01596"></a>01596
  1084. <a name="l01598"></a>01598 <span class="comment">// disasters.cpp</span>
  1085. <a name="l01599"></a>01599
  1086. <a name="l01600"></a>01600 <span class="keyword">public</span>:
  1087. <a name="l01601"></a>01601
  1088. <a name="l01602"></a>01602
  1089. <a name="l01606"></a><a class="code" href="classMicropolis.html#cc14a196ab8ebaac7bddc23085b83469">01606</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#cc14a196ab8ebaac7bddc23085b83469">floodCount</a>;
  1090. <a name="l01607"></a>01607
  1091. <a name="l01608"></a>01608
  1092. <a name="l01609"></a>01609 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#0a7d9c3fad204fa17587ddd7ff17ded4">makeMeltdown</a>();
  1093. <a name="l01610"></a>01610
  1094. <a name="l01611"></a>01611 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#28d87bd4966735d434a4de922581802f">makeFireBombs</a>();
  1095. <a name="l01612"></a>01612
  1096. <a name="l01613"></a>01613 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#145b88ac2ddb595d3fca91dcd66fe968">makeEarthquake</a>();
  1097. <a name="l01614"></a>01614
  1098. <a name="l01615"></a>01615 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#c5a148c21abbef3ce6759b8481fbec8c">makeFire</a>();
  1099. <a name="l01616"></a>01616
  1100. <a name="l01617"></a>01617 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ddaa05c4f90233098e928d6f92cb474c">makeFlood</a>();
  1101. <a name="l01618"></a>01618
  1102. <a name="l01619"></a>01619 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#9bebdc90672aae2764be29bddda1133d">setFire</a>();
  1103. <a name="l01620"></a>01620
  1104. <a name="l01621"></a>01621 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#71f71ff4a98a0045ea23e9c8b76114a6">fireBomb</a>();
  1105. <a name="l01622"></a>01622
  1106. <a name="l01623"></a>01623 <span class="keyword">private</span>:
  1107. <a name="l01624"></a>01624
  1108. <a name="l01625"></a>01625 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#7744e40fab0103bd71d694efb80a53a7">doDisasters</a>();
  1109. <a name="l01626"></a>01626
  1110. <a name="l01627"></a>01627 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#0305e5069c9c6c6e968d5fc01ba74e5b">scenarioDisaster</a>();
  1111. <a name="l01628"></a>01628
  1112. <a name="l01629"></a>01629 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#5e61a15f5fcdcca243aee16f38f38283">vulnerable</a>(<span class="keywordtype">int</span> tem);
  1113. <a name="l01630"></a>01630
  1114. <a name="l01631"></a>01631 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ed617818599ed1babda14e293fd5fa87">doFlood</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1115. <a name="l01632"></a>01632
  1116. <a name="l01633"></a>01633
  1117. <a name="l01635"></a>01635 <span class="comment">// evaluate.cpp</span>
  1118. <a name="l01636"></a>01636
  1119. <a name="l01637"></a>01637 <span class="keyword">public</span>:
  1120. <a name="l01638"></a>01638
  1121. <a name="l01639"></a>01639
  1122. <a name="l01645"></a><a class="code" href="classMicropolis.html#9b4374e8f3b6a580816760c83eab2a9b">01645</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#9b4374e8f3b6a580816760c83eab2a9b">cityYes</a>;
  1123. <a name="l01646"></a>01646
  1124. <a name="l01653"></a><a class="code" href="classMicropolis.html#081f5f4be1f8a6c7068a63c963d26d09">01653</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#081f5f4be1f8a6c7068a63c963d26d09">problemVotes</a>[PROBNUM];
  1125. <a name="l01654"></a>01654
  1126. <a name="l01661"></a><a class="code" href="classMicropolis.html#66193e334fcc2d2ab846536dc5f3ad00">01661</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#66193e334fcc2d2ab846536dc5f3ad00">problemOrder</a>[<a class="code" href="micropolis_8h.html#bcc5c3cd363c8fcfb49f97ac4a7abe6bfa322d53e9f278316add1373c12f582b" title="Number of problems to complain about.">CVP_PROBLEM_COMPLAINTS</a>];
  1127. <a name="l01662"></a>01662
  1128. <a name="l01668"></a><a class="code" href="classMicropolis.html#9761c140c6e84ea7b09c41b8d914ce33">01668</a> Quad <a class="code" href="classMicropolis.html#9761c140c6e84ea7b09c41b8d914ce33">cityPop</a>;
  1129. <a name="l01669"></a>01669
  1130. <a name="l01675"></a><a class="code" href="classMicropolis.html#29b0197809488d0f3f1ed801ce5043ba">01675</a> Quad <a class="code" href="classMicropolis.html#29b0197809488d0f3f1ed801ce5043ba">cityPopDelta</a>;
  1131. <a name="l01676"></a>01676
  1132. <a name="l01685"></a><a class="code" href="classMicropolis.html#9c1e6becd7cdb089ece2f6c7933978c4">01685</a> Quad <a class="code" href="classMicropolis.html#9c1e6becd7cdb089ece2f6c7933978c4">cityAssessedValue</a>;
  1133. <a name="l01686"></a>01686
  1134. <a name="l01687"></a><a class="code" href="classMicropolis.html#c4082a6b1766c10abf78c072f4a82bd8">01687</a> <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5">CityClass</a> <a class="code" href="classMicropolis.html#c4082a6b1766c10abf78c072f4a82bd8" title="City class, affected by city population.">cityClass</a>;
  1135. <a name="l01688"></a>01688
  1136. <a name="l01698"></a><a class="code" href="classMicropolis.html#bee816116369dbcd99c8afd507568c29">01698</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#bee816116369dbcd99c8afd507568c29">cityScore</a>;
  1137. <a name="l01699"></a>01699
  1138. <a name="l01705"></a><a class="code" href="classMicropolis.html#689c6661a572059696d6b9b5b59612b1">01705</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#689c6661a572059696d6b9b5b59612b1">cityScoreDelta</a>;
  1139. <a name="l01706"></a>01706
  1140. <a name="l01712"></a><a class="code" href="classMicropolis.html#ab112c63452ed6236b99d900f2435ab3">01712</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#ab112c63452ed6236b99d900f2435ab3">trafficAverage</a>;
  1141. <a name="l01713"></a>01713
  1142. <a name="l01714"></a>01714
  1143. <a name="l01715"></a>01715 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#f4424d7a8c1b73d4631e00af7eda608f">cityEvaluation</a>();
  1144. <a name="l01716"></a>01716
  1145. <a name="l01717"></a>01717 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#1a2e90f3403386a807337530427cbb8d">evalInit</a>();
  1146. <a name="l01718"></a>01718
  1147. <a name="l01719"></a>01719 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#b554c3f33fdfad13a5187aacd1a31ae1">doScoreCard</a>();
  1148. <a name="l01720"></a>01720
  1149. <a name="l01721"></a>01721 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#13cc0cb3d4155c3abe6c679686fe85c9">changeEval</a>();
  1150. <a name="l01722"></a>01722
  1151. <a name="l01723"></a>01723 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#4e63ae929c618c7f9130bdf797fe8932">scoreDoer</a>();
  1152. <a name="l01724"></a>01724
  1153. <a name="l01725"></a>01725 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#6253ccd76e632672cbd3d36fcf9cbab8">countProblems</a>();
  1154. <a name="l01726"></a>01726
  1155. <a name="l01727"></a>01727 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#8863b5d20cafa682e94f8b005bcd56a9">getProblemNumber</a>(<span class="keywordtype">int</span> i);
  1156. <a name="l01728"></a>01728
  1157. <a name="l01729"></a>01729 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#bab4ee620c99a993d6067de6b5789e72">getProblemVotes</a>(<span class="keywordtype">int</span> i);
  1158. <a name="l01730"></a>01730
  1159. <a name="l01731"></a>01731
  1160. <a name="l01732"></a>01732 <span class="keyword">private</span>:
  1161. <a name="l01733"></a>01733
  1162. <a name="l01734"></a>01734 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#92ecd9420f00e5e33dae6f033bec6341">getAssessedValue</a>();
  1163. <a name="l01735"></a>01735
  1164. <a name="l01736"></a>01736 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#9f4176c7ffa80cdbe0a74bb55020d074">doPopNum</a>();
  1165. <a name="l01737"></a>01737
  1166. <a name="l01738"></a>01738 Quad <a class="code" href="classMicropolis.html#730ff4bf04cc9aa4878793a83689038d">getPopulation</a>();
  1167. <a name="l01739"></a>01739 <a class="code" href="micropolis_8h.html#799233e0858aa81c56a4d0b5ce073bf5">CityClass</a> <a class="code" href="classMicropolis.html#39bb2f9a1593e59b8ab1c2a0246e7a7d">getCityClass</a>(Quad <a class="code" href="classMicropolis.html#9761c140c6e84ea7b09c41b8d914ce33">cityPop</a>);
  1168. <a name="l01740"></a>01740
  1169. <a name="l01741"></a>01741 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#809e41293fa3e350ea8a82f999b2fc71">doProblems</a>(<span class="keywordtype">short</span> problemTable[PROBNUM]);
  1170. <a name="l01742"></a>01742
  1171. <a name="l01743"></a>01743 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#42214838e4f2739ca192f223b3777e7b">voteProblems</a>(<span class="keyword">const</span> <span class="keywordtype">short</span> problemTable[PROBNUM]);
  1172. <a name="l01744"></a>01744
  1173. <a name="l01745"></a>01745 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#6dd04783cbdb309f49b480addeacc0ac">getTrafficAverage</a>();
  1174. <a name="l01746"></a>01746
  1175. <a name="l01747"></a>01747 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#649bbf590ffc1bbb3e48c5ad90bb02a9">getUnemployment</a>();
  1176. <a name="l01748"></a>01748
  1177. <a name="l01749"></a>01749 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#265a13addf6e5c0d3d2463f54f267b12">getFireSeverity</a>();
  1178. <a name="l01750"></a>01750
  1179. <a name="l01751"></a>01751 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#5c965a584af7d15711c22113a803db45">getScore</a>(<span class="keyword">const</span> <span class="keywordtype">short</span> problemTable[PROBNUM]);
  1180. <a name="l01752"></a>01752
  1181. <a name="l01753"></a>01753 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#6eb400583d0b1174594201ccdb129939">doVotes</a>();
  1182. <a name="l01754"></a>01754
  1183. <a name="l01756"></a>01756 <span class="comment">// fileio.cpp</span>
  1184. <a name="l01757"></a>01757
  1185. <a name="l01758"></a>01758 <span class="keyword">public</span>:
  1186. <a name="l01759"></a>01759
  1187. <a name="l01760"></a>01760
  1188. <a name="l01761"></a>01761 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#dbc19c162ac05f3ab6f536274a4b7547">loadFileDir</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename, <span class="keyword">const</span> <span class="keywordtype">char</span> *dir);
  1189. <a name="l01762"></a>01762
  1190. <a name="l01763"></a>01763 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#a15ca2a508026c76965ceefcf01fdd8b">loadFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
  1191. <a name="l01764"></a>01764
  1192. <a name="l01765"></a>01765 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#6b81a4a5dda6fa2b37c0e3a744ffd94d">saveFile</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
  1193. <a name="l01766"></a>01766
  1194. <a name="l01767"></a>01767 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#5d09f77d02dd6856a6947fdd3fffb07e">loadScenario</a>(<a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d">Scenario</a> s);
  1195. <a name="l01768"></a>01768
  1196. <a name="l01769"></a>01769 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#b39b9aada00739647582f1430605c368">didLoadScenario</a>();
  1197. <a name="l01770"></a>01770
  1198. <a name="l01771"></a>01771 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#d7c2148ccca8aaebdf48916a37174527">loadCity</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
  1199. <a name="l01772"></a>01772
  1200. <a name="l01773"></a>01773 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#787631bcdb4a9eee5c938d760506b1ea">didLoadCity</a>();
  1201. <a name="l01774"></a>01774
  1202. <a name="l01775"></a>01775 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#449879ae7a7c9e2549389b6d5a45b256">didntLoadCity</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *msg);
  1203. <a name="l01776"></a>01776
  1204. <a name="l01777"></a>01777 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#44d47073abdffada381b2803c3bda76c">saveCity</a>();
  1205. <a name="l01778"></a>01778
  1206. <a name="l01779"></a>01779 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#bf1fc85cf480d5f462b7378c2aecd768">doSaveCityAs</a>();
  1207. <a name="l01780"></a>01780
  1208. <a name="l01781"></a>01781 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#b197b1f4e89165c7171d4ae65a2be0aa">didSaveCity</a>();
  1209. <a name="l01782"></a>01782
  1210. <a name="l01783"></a>01783 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ec3c299761d649422d4378e6198c39aa">didntSaveCity</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *msg);
  1211. <a name="l01784"></a>01784
  1212. <a name="l01785"></a>01785 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e5b7e3f82e0ce4b2fd2d136b8827631b">saveCityAs</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
  1213. <a name="l01786"></a>01786
  1214. <a name="l01787"></a>01787
  1215. <a name="l01789"></a>01789 <span class="comment">// generate.cpp</span>
  1216. <a name="l01790"></a>01790
  1217. <a name="l01791"></a>01791 <span class="keyword">public</span>:
  1218. <a name="l01792"></a>01792
  1219. <a name="l01806"></a>01806
  1220. <a name="l01811"></a><a class="code" href="classMicropolis.html#28d7aa7f68c95733931bd958637d70dc">01811</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#28d7aa7f68c95733931bd958637d70dc">terrainTreeLevel</a>;
  1221. <a name="l01812"></a>01812
  1222. <a name="l01817"></a><a class="code" href="classMicropolis.html#a7eece842af55e6caaa5967b11b1b676">01817</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#a7eece842af55e6caaa5967b11b1b676">terrainLakeLevel</a>;
  1223. <a name="l01818"></a>01818
  1224. <a name="l01823"></a><a class="code" href="classMicropolis.html#579fb3170aa176a88c01ee835860371f">01823</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#579fb3170aa176a88c01ee835860371f">terrainCurveLevel</a>;
  1225. <a name="l01824"></a>01824
  1226. <a name="l01829"></a><a class="code" href="classMicropolis.html#0502f4c6c19629d6673fb92d6b84ce29">01829</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#0502f4c6c19629d6673fb92d6b84ce29">terrainCreateIsland</a>;
  1227. <a name="l01830"></a>01830
  1228. <a name="l01831"></a>01831
  1229. <a name="l01832"></a>01832 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#70a6ef5ee8b7f5f28dbf3f77d8f8b069">generateMap</a>() ;
  1230. <a name="l01833"></a>01833
  1231. <a name="l01834"></a>01834 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#cd556b78de65105b5477609a89b4cb77">clearMap</a>();
  1232. <a name="l01835"></a>01835
  1233. <a name="l01836"></a>01836 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d98573a69681561d0aef78c2954f1daf">clearUnnatural</a>();
  1234. <a name="l01837"></a>01837
  1235. <a name="l01838"></a>01838 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#72baf6c6edf6389797461f6e7b72992a">makeIsland</a>();
  1236. <a name="l01839"></a>01839
  1237. <a name="l01840"></a>01840 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d68f2b89e42e2db02f8e9c449076fb8f">treeSplash</a>(<span class="keywordtype">short</span> xloc, <span class="keywordtype">short</span> yloc);
  1238. <a name="l01841"></a>01841
  1239. <a name="l01842"></a>01842 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#00cb0896834d102f836c091d202ed5d5">makeSingleLake</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1240. <a name="l01843"></a>01843
  1241. <a name="l01844"></a>01844 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#eecfe2611ca3b4a0f7daad453ab4012e">plopBRiver</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1242. <a name="l01845"></a>01845 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ce23cbbef33f4610222bfa0869f83180">plopSRiver</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1243. <a name="l01846"></a>01846
  1244. <a name="l01847"></a>01847 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#138d1099b127ee05843b01bfb81d46e9">generateSomeCity</a>(<span class="keywordtype">int</span> seed);
  1245. <a name="l01848"></a>01848
  1246. <a name="l01849"></a>01849 <span class="keyword">private</span>:
  1247. <a name="l01850"></a>01850
  1248. <a name="l01851"></a>01851 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#70a6ef5ee8b7f5f28dbf3f77d8f8b069">generateMap</a>(<span class="keywordtype">int</span> seed);
  1249. <a name="l01852"></a>01852
  1250. <a name="l01853"></a>01853 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ca2c171845df566210b01a97b5e56340">makeNakedIsland</a>();
  1251. <a name="l01854"></a>01854
  1252. <a name="l01855"></a>01855 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#bcde72725c85078e05fa4f35d6039539">doTrees</a>();
  1253. <a name="l01856"></a>01856
  1254. <a name="l01857"></a>01857 <span class="keywordtype">bool</span> isTree(<a class="code" href="micropolis_8h.html#b028519b9cc0b89492159d43dd99587f">MapValue</a> cell);
  1255. <a name="l01858"></a>01858
  1256. <a name="l01859"></a>01859 <span class="keywordtype">void</span> smoothTrees();
  1257. <a name="l01860"></a>01860
  1258. <a name="l01861"></a>01861 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e199a0afad6028508b8fa469a6c86deb">smoothTreesAt</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">bool</span> preserve);
  1259. <a name="l01862"></a>01862 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e199a0afad6028508b8fa469a6c86deb">smoothTreesAt</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">bool</span> preserve, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  1260. <a name="l01863"></a>01863
  1261. <a name="l01864"></a>01864 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#8875a30f02e0dc0863f9349ad5de19f9">makeLakes</a>();
  1262. <a name="l01865"></a>01865
  1263. <a name="l01866"></a>01866 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#2468a41cf6335fc5067aaeac516ddd1f">doRivers</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;terrainPos);
  1264. <a name="l01867"></a>01867
  1265. <a name="l01868"></a>01868 <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> <a class="code" href="classMicropolis.html#c6d3142a81111d3f7adf3b789214fdc7">doBRiver</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;riverPos,
  1266. <a name="l01869"></a>01869 <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> riverDir, <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> terrainDir);
  1267. <a name="l01870"></a>01870 <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> <a class="code" href="classMicropolis.html#3d205c431738c4321d6434a520c164c2">doSRiver</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;riverPos,
  1268. <a name="l01871"></a>01871 <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> riverDir, <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> terrainDir);
  1269. <a name="l01872"></a>01872
  1270. <a name="l01873"></a>01873 <span class="keywordtype">void</span> smoothRiver();
  1271. <a name="l01874"></a>01874
  1272. <a name="l01875"></a>01875 <span class="keywordtype">void</span> smoothWater();
  1273. <a name="l01876"></a>01876
  1274. <a name="l01877"></a>01877 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#2b525947ae5c9495b7b124f5a03cdc42">putOnMap</a>(<a class="code" href="micropolis_8h.html#b028519b9cc0b89492159d43dd99587f">MapValue</a> mChar, <span class="keywordtype">short</span> xLoc, <span class="keywordtype">short</span> yLoc);
  1275. <a name="l01878"></a>01878
  1276. <a name="l01880"></a>01880
  1277. <a name="l01882"></a>01882 <span class="comment">// graph.cpp</span>
  1278. <a name="l01883"></a>01883
  1279. <a name="l01884"></a>01884 <span class="keyword">public</span>:
  1280. <a name="l01885"></a>01885
  1281. <a name="l01886"></a>01886
  1282. <a name="l01890"></a><a class="code" href="classMicropolis.html#756372b3b2f3f909c71928ac466f4d4d">01890</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#756372b3b2f3f909c71928ac466f4d4d">historyInitialized</a>;
  1283. <a name="l01891"></a>01891
  1284. <a name="l01895"></a><a class="code" href="classMicropolis.html#3fe5c73c6b6404505be7cdaf00a8fa9a">01895</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#3fe5c73c6b6404505be7cdaf00a8fa9a">graph10Max</a>;
  1285. <a name="l01896"></a>01896
  1286. <a name="l01900"></a><a class="code" href="classMicropolis.html#7404a90c9f6719661449e5beecaea9f2">01900</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#7404a90c9f6719661449e5beecaea9f2">graph120Max</a>;
  1287. <a name="l01901"></a>01901
  1288. <a name="l01902"></a>01902
  1289. <a name="l01903"></a>01903 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#8cc25d28c150c568151078ac80d5ae00">drawMonth</a>(<span class="keywordtype">short</span> *hist, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *s, <span class="keywordtype">float</span> scale);
  1290. <a name="l01904"></a>01904
  1291. <a name="l01905"></a>01905 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#3ce8917c2032102a76c8f437a4fb6a3b">changeCensus</a>();
  1292. <a name="l01906"></a>01906
  1293. <a name="l01907"></a>01907 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#5136c9709c22470e5f21495bb69d09b2">graphDoer</a>();
  1294. <a name="l01908"></a>01908
  1295. <a name="l01909"></a>01909 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#184065f20829c633c49365c2500bbbdb">initGraphs</a>();
  1296. <a name="l01910"></a>01910
  1297. <a name="l01911"></a>01911 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e94969adbdac02dbc2441b9ba91bf898">initGraphMax</a>();
  1298. <a name="l01912"></a>01912
  1299. <a name="l01913"></a>01913 <span class="preprocessor">#ifdef SWIG</span>
  1300. <a name="l01914"></a>01914 <span class="preprocessor"></span><span class="comment">// This tells SWIG that minValResult, maxValResult are output parameters,</span>
  1301. <a name="l01915"></a>01915 <span class="comment">// which will be returned in a tuple of length two.</span>
  1302. <a name="l01916"></a>01916 %apply <span class="keywordtype">short</span> *OUTPUT { <span class="keywordtype">short</span> *minValResult };
  1303. <a name="l01917"></a>01917 %apply <span class="keywordtype">short</span> *OUTPUT { <span class="keywordtype">short</span> *maxValResult };
  1304. <a name="l01918"></a>01918 <span class="preprocessor">#endif</span>
  1305. <a name="l01919"></a>01919 <span class="preprocessor"></span>
  1306. <a name="l01920"></a>01920 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#9a04c37d5f4d56a3c772954ba88b41d5">getHistoryRange</a>(<span class="keywordtype">int</span> historyType, <span class="keywordtype">int</span> historyScale,
  1307. <a name="l01921"></a>01921 <span class="keywordtype">short</span> *minValResult, <span class="keywordtype">short</span> *maxValResult);
  1308. <a name="l01922"></a>01922
  1309. <a name="l01923"></a>01923 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#84b0789afa4f51494ef5d417a85e3440">getHistory</a>(<span class="keywordtype">int</span> historyType, <span class="keywordtype">int</span> historyScale,
  1310. <a name="l01924"></a>01924 <span class="keywordtype">int</span> historyIndex);
  1311. <a name="l01925"></a>01925
  1312. <a name="l01926"></a>01926 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#27baf2f3c7d17ddc31f00067824a9c34">setHistory</a>(<span class="keywordtype">int</span> historyType, <span class="keywordtype">int</span> historyScale,
  1313. <a name="l01927"></a>01927 <span class="keywordtype">int</span> historyIndex, <span class="keywordtype">short</span> historyValue);
  1314. <a name="l01928"></a>01928
  1315. <a name="l01929"></a>01929
  1316. <a name="l01931"></a>01931 <span class="comment">// initialize.cpp</span>
  1317. <a name="l01932"></a>01932
  1318. <a name="l01933"></a>01933 <span class="keyword">private</span>:
  1319. <a name="l01934"></a>01934
  1320. <a name="l01935"></a>01935
  1321. <a name="l01936"></a>01936 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#db7f55e6134a7f9a5224facf9dc51c6c">initWillStuff</a>();
  1322. <a name="l01937"></a>01937
  1323. <a name="l01938"></a>01938 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#17dd8fcb3249c80c3e5ddb92d62a0bd0">resetMapState</a>();
  1324. <a name="l01939"></a>01939
  1325. <a name="l01940"></a>01940 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#7e2809b935cfd727972513106704438c">resetEditorState</a>();
  1326. <a name="l01941"></a>01941
  1327. <a name="l01942"></a>01942
  1328. <a name="l01944"></a>01944 <span class="comment">// main.cpp</span>
  1329. <a name="l01945"></a>01945
  1330. <a name="l01946"></a>01946 <span class="keyword">public</span>:
  1331. <a name="l01947"></a>01947
  1332. <a name="l01948"></a>01948
  1333. <a name="l01949"></a>01949 <span class="keywordtype">int</span> simLoops;
  1334. <a name="l01950"></a>01950
  1335. <a name="l01954"></a><a class="code" href="classMicropolis.html#199ca837ee1edba53e6972c4aa9add7b">01954</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#199ca837ee1edba53e6972c4aa9add7b">simPasses</a>;
  1336. <a name="l01955"></a>01955
  1337. <a name="l01959"></a><a class="code" href="classMicropolis.html#aba0b69c72f0f2e4501e424aff2d3353">01959</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#aba0b69c72f0f2e4501e424aff2d3353">simPass</a>;
  1338. <a name="l01960"></a>01960
  1339. <a name="l01965"></a><a class="code" href="classMicropolis.html#a85f358eb6142f6f10a098954209e422">01965</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#a85f358eb6142f6f10a098954209e422">simPaused</a>;
  1340. <a name="l01966"></a>01966
  1341. <a name="l01967"></a>01967 <span class="keywordtype">int</span> simPausedSpeed;
  1342. <a name="l01968"></a>01968
  1343. <a name="l01969"></a><a class="code" href="classMicropolis.html#407abb0cf61f23ed367c441b8e4827ff">01969</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#407abb0cf61f23ed367c441b8e4827ff">tilesAnimated</a>;
  1344. <a name="l01970"></a>01970
  1345. <a name="l01975"></a><a class="code" href="classMicropolis.html#61ce6bf454df68a934d7af6e8285a668">01975</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#61ce6bf454df68a934d7af6e8285a668">doAnimation</a>;
  1346. <a name="l01976"></a>01976
  1347. <a name="l01977"></a><a class="code" href="classMicropolis.html#9e565bd630dbeccb241d67c45566a424">01977</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#9e565bd630dbeccb241d67c45566a424">doMessages</a>;
  1348. <a name="l01978"></a>01978
  1349. <a name="l01979"></a><a class="code" href="classMicropolis.html#99ed8d9a09b945906d1704c077740531">01979</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#99ed8d9a09b945906d1704c077740531">doNotices</a>;
  1350. <a name="l01980"></a>01980
  1351. <a name="l01981"></a>01981
  1352. <a name="l01982"></a>01982 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classMicropolis.html#f4d8a4fffefaea0e94f775e0a01d9b6f">getMicropolisVersion</a>();
  1353. <a name="l01983"></a>01983
  1354. <a name="l01984"></a>01984 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#23fc5ff2157e389eb111d9a63ae9e2a8">simUpdate</a>();
  1355. <a name="l01985"></a>01985
  1356. <a name="l01986"></a>01986 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#50d3a632325dfa98bd1f44d78c1e5ba1">simTick</a>();
  1357. <a name="l01987"></a>01987
  1358. <a name="l01988"></a>01988 <span class="keywordtype">void</span> simRobots();
  1359. <a name="l01989"></a>01989
  1360. <a name="l01990"></a>01990 <span class="keyword">public</span>:
  1361. <a name="l01991"></a>01991
  1362. <a name="l01992"></a><a class="code" href="classMicropolis.html#4658e7cf85dc59adaa6ea74faf5a4f2c">01992</a> std::string <a class="code" href="classMicropolis.html#4658e7cf85dc59adaa6ea74faf5a4f2c" title="Filename of the last loaded city.">cityFileName</a>;
  1363. <a name="l01993"></a>01993
  1364. <a name="l01998"></a><a class="code" href="classMicropolis.html#82d40aefbe0233ccb0e31bf6eef25531">01998</a> std::string <a class="code" href="classMicropolis.html#82d40aefbe0233ccb0e31bf6eef25531" title="Name of the city.">cityName</a>;
  1365. <a name="l01999"></a>01999
  1366. <a name="l02000"></a>02000 <span class="keyword">private</span>:
  1367. <a name="l02001"></a>02001
  1368. <a name="l02002"></a>02002 <span class="keywordtype">int</span> heatSteps;
  1369. <a name="l02003"></a>02003
  1370. <a name="l02007"></a><a class="code" href="classMicropolis.html#dd4b5f00f68ddf4602a51be4e13c2f21">02007</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#dd4b5f00f68ddf4602a51be4e13c2f21">heatFlow</a>;
  1371. <a name="l02008"></a>02008
  1372. <a name="l02009"></a>02009 <span class="keywordtype">int</span> heatRule;
  1373. <a name="l02010"></a>02010
  1374. <a name="l02014"></a><a class="code" href="classMicropolis.html#f3dc43797bb9fe964dbc337fdd124e92">02014</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#f3dc43797bb9fe964dbc337fdd124e92">heatWrap</a>;
  1375. <a name="l02015"></a>02015
  1376. <a name="l02016"></a>02016 <span class="keywordtype">short</span> *cellSrc;
  1377. <a name="l02017"></a>02017
  1378. <a name="l02018"></a>02018 <span class="keywordtype">short</span> *cellDst;
  1379. <a name="l02019"></a>02019
  1380. <a name="l02020"></a>02020
  1381. <a name="l02021"></a>02021 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#28846acd0acb224c52d296846e6e648e">environmentInit</a>();
  1382. <a name="l02022"></a>02022
  1383. <a name="l02023"></a>02023 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#58595a2a61642a06826cd0a601cb72ec">simInit</a>();
  1384. <a name="l02024"></a>02024
  1385. <a name="l02025"></a>02025 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#a16b718075ea7067fd4f9a377d8d5e6a">simHeat</a>();
  1386. <a name="l02026"></a>02026
  1387. <a name="l02027"></a>02027 <span class="keywordtype">void</span> simLoop(<span class="keywordtype">bool</span> doSim);
  1388. <a name="l02028"></a>02028
  1389. <a name="l02029"></a>02029
  1390. <a name="l02030"></a>02030 <span class="preprocessor">#if 0</span>
  1391. <a name="l02031"></a>02031 <span class="preprocessor"></span>
  1392. <a name="l02033"></a>02033 <span class="comment">// map.cpp</span>
  1393. <a name="l02034"></a>02034 <span class="comment">//</span>
  1394. <a name="l02035"></a>02035 <span class="comment">// Disabled this small map drawing, filtering and overlaying code.</span>
  1395. <a name="l02036"></a>02036 <span class="comment">// Going to re-implement it in the tile engine and Python.</span>
  1396. <a name="l02037"></a>02037
  1397. <a name="l02038"></a>02038 <span class="keyword">public</span>:
  1398. <a name="l02039"></a>02039
  1399. <a name="l02040"></a>02040
  1400. <a name="l02041"></a>02041 <span class="keywordtype">int</span> dynamicData[32]; <span class="comment">// Read-only, it seems</span>
  1401. <a name="l02042"></a>02042
  1402. <a name="l02043"></a>02043
  1403. <a name="l02044"></a>02044 <span class="keywordtype">void</span> drawAll();
  1404. <a name="l02045"></a>02045
  1405. <a name="l02046"></a>02046 <span class="keywordtype">void</span> drawRes();
  1406. <a name="l02047"></a>02047
  1407. <a name="l02048"></a>02048 <span class="keywordtype">void</span> drawCom();
  1408. <a name="l02049"></a>02049
  1409. <a name="l02050"></a>02050 <span class="keywordtype">void</span> drawInd();
  1410. <a name="l02051"></a>02051
  1411. <a name="l02052"></a>02052 <span class="keywordtype">void</span> drawLilTransMap();
  1412. <a name="l02053"></a>02053
  1413. <a name="l02054"></a>02054 <span class="keywordtype">void</span> drawPower();
  1414. <a name="l02055"></a>02055
  1415. <a name="l02056"></a>02056 <span class="keywordtype">bool</span> dynamicFilter(<span class="keywordtype">int</span> col, <span class="keywordtype">int</span> row);
  1416. <a name="l02057"></a>02057
  1417. <a name="l02058"></a>02058 <span class="keywordtype">void</span> drawDynamic();
  1418. <a name="l02059"></a>02059
  1419. <a name="l02060"></a>02060 <span class="keywordtype">short</span> getCI(<span class="keywordtype">short</span> x);
  1420. <a name="l02061"></a>02061
  1421. <a name="l02062"></a>02062 <span class="keywordtype">void</span> drawPopulationDensity();
  1422. <a name="l02063"></a>02063
  1423. <a name="l02064"></a>02064 <span class="keywordtype">void</span> drawRateOfGrowth();
  1424. <a name="l02065"></a>02065
  1425. <a name="l02066"></a>02066 <span class="keywordtype">void</span> drawTrafficDensityMap();
  1426. <a name="l02067"></a>02067
  1427. <a name="l02068"></a>02068 <span class="keywordtype">void</span> drawPollutionDensityMap();
  1428. <a name="l02069"></a>02069
  1429. <a name="l02070"></a>02070 <span class="keywordtype">void</span> drawCrimeRateMap();
  1430. <a name="l02071"></a>02071
  1431. <a name="l02072"></a>02072 <span class="keywordtype">void</span> drawLandValueMap();
  1432. <a name="l02073"></a>02073
  1433. <a name="l02074"></a>02074 <span class="keywordtype">void</span> drawFireRadius();
  1434. <a name="l02075"></a>02075
  1435. <a name="l02076"></a>02076 <span class="keywordtype">void</span> drawPoliceRadius();
  1436. <a name="l02077"></a>02077
  1437. <a name="l02078"></a>02078 <span class="keywordtype">void</span> memDrawMap();
  1438. <a name="l02079"></a>02079
  1439. <a name="l02080"></a>02080 <span class="keywordtype">void</span> ditherMap();
  1440. <a name="l02081"></a>02081
  1441. <a name="l02082"></a>02082 <span class="keywordtype">void</span> maybeDrawRect(
  1442. <a name="l02083"></a>02083 <span class="keywordtype">int</span> val,
  1443. <a name="l02084"></a>02084 <span class="keywordtype">int</span> x,
  1444. <a name="l02085"></a>02085 <span class="keywordtype">int</span> y,
  1445. <a name="l02086"></a>02086 <span class="keywordtype">int</span> w,
  1446. <a name="l02087"></a>02087 <span class="keywordtype">int</span> h);
  1447. <a name="l02088"></a>02088
  1448. <a name="l02089"></a>02089 <span class="keywordtype">void</span> drawRect(
  1449. <a name="l02090"></a>02090 <span class="keywordtype">int</span> pixel,
  1450. <a name="l02091"></a>02091 <span class="keywordtype">int</span> solid,
  1451. <a name="l02092"></a>02092 <span class="keywordtype">int</span> x,
  1452. <a name="l02093"></a>02093 <span class="keywordtype">int</span> y,
  1453. <a name="l02094"></a>02094 <span class="keywordtype">int</span> w,
  1454. <a name="l02095"></a>02095 <span class="keywordtype">int</span> h);
  1455. <a name="l02096"></a>02096
  1456. <a name="l02097"></a>02097 <span class="preprocessor">#endif</span>
  1457. <a name="l02098"></a>02098 <span class="preprocessor"></span>
  1458. <a name="l02099"></a>02099
  1459. <a name="l02101"></a>02101 <span class="comment">// message.cpp</span>
  1460. <a name="l02102"></a>02102
  1461. <a name="l02103"></a>02103 <span class="keyword">public</span>:
  1462. <a name="l02104"></a>02104
  1463. <a name="l02105"></a>02105
  1464. <a name="l02106"></a><a class="code" href="classMicropolis.html#6da2af613f658a7a094ec54ef0d3d792">02106</a> Quad <a class="code" href="classMicropolis.html#6da2af613f658a7a094ec54ef0d3d792" title="Population of last city class check.">cityPopLast</a>;
  1465. <a name="l02107"></a><a class="code" href="classMicropolis.html#bf310c53490ef7423fd54e3b6b8b8aa4">02107</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#bf310c53490ef7423fd54e3b6b8b8aa4" title="City class of last city class check.">categoryLast</a>;
  1466. <a name="l02108"></a>02108
  1467. <a name="l02115"></a><a class="code" href="classMicropolis.html#dd98248d5b5b6fca81e169b8e06e3b22">02115</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#dd98248d5b5b6fca81e169b8e06e3b22">autoGoto</a>;
  1468. <a name="l02116"></a>02116
  1469. <a name="l02117"></a>02117
  1470. <a name="l02118"></a>02118 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#60fb2819c02b3b6b5a083f8f3b5a48e9">sendMessages</a>();
  1471. <a name="l02119"></a>02119
  1472. <a name="l02120"></a>02120 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#9b46cb98ba99698f58221ae0197b937b">checkGrowth</a>();
  1473. <a name="l02121"></a>02121
  1474. <a name="l02122"></a>02122 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#005fbad7e8feea7d9364a6b00d752583">doScenarioScore</a>(<a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d">Scenario</a> type);
  1475. <a name="l02123"></a>02123
  1476. <a name="l02124"></a>02124 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#b36d9f4787fb9e65e26d9fc53946db74">sendMessage</a>(
  1477. <a name="l02125"></a>02125 <span class="keywordtype">short</span> Mnum,
  1478. <a name="l02126"></a>02126 <span class="keywordtype">short</span> x=<a class="code" href="micropolis_8h.html#b5792fed3fec016a00f9889b92ee6ae5">NOWHERE</a>, <span class="keywordtype">short</span> y=<a class="code" href="micropolis_8h.html#b5792fed3fec016a00f9889b92ee6ae5">NOWHERE</a>,
  1479. <a name="l02127"></a>02127 <span class="keywordtype">bool</span> picture=<span class="keyword">false</span>, <span class="keywordtype">bool</span> important=<span class="keyword">false</span>);
  1480. <a name="l02128"></a>02128
  1481. <a name="l02129"></a>02129 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#a107f3106651c4cb262d6fa765d8d8c5">doMakeSound</a>(<span class="keywordtype">int</span> mesgNum, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1482. <a name="l02130"></a>02130
  1483. <a name="l02131"></a>02131 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#4acceaf4437af2c9b3482fe0a11d3858">doAutoGoto</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <span class="keywordtype">char</span> *msg);
  1484. <a name="l02132"></a>02132
  1485. <a name="l02133"></a>02133 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#392906db778c9af554c8ea6da1194bca">doLoseGame</a>();
  1486. <a name="l02134"></a>02134 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#cabf6aa93bb6fc74cfd95bce274d2e17">doWinGame</a>();
  1487. <a name="l02135"></a>02135
  1488. <a name="l02136"></a>02136
  1489. <a name="l02138"></a>02138 <span class="comment">// power.cpp</span>
  1490. <a name="l02139"></a>02139
  1491. <a name="l02140"></a>02140 <span class="keyword">private</span>:
  1492. <a name="l02141"></a>02141
  1493. <a name="l02142"></a>02142
  1494. <a name="l02147"></a>02147
  1495. <a name="l02148"></a><a class="code" href="classMicropolis.html#3fb9e01b03d7a2e31830f5f5aa979042">02148</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#3fb9e01b03d7a2e31830f5f5aa979042" title="Stack counter, points to top-most item.">powerStackPointer</a>;
  1496. <a name="l02149"></a>02149
  1497. <a name="l02151"></a><a class="code" href="classMicropolis.html#52394ae049364a0d1518c96e99a753c5">02151</a> <a class="code" href="classPosition.html">Position</a> <a class="code" href="classMicropolis.html#52394ae049364a0d1518c96e99a753c5">powerStackXY</a>[<a class="code" href="micropolis_8h.html#41df98861ceaaed418aede440a780b7a">POWER_STACK_SIZE</a>];
  1498. <a name="l02152"></a>02152
  1499. <a name="l02153"></a>02153
  1500. <a name="l02154"></a>02154 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e8d2f45d194eac18e4c00d0c32fa73a8">doPowerScan</a>();
  1501. <a name="l02155"></a>02155
  1502. <a name="l02156"></a>02156 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#a3fba98c6035ef07aecddb051d09add1">testForConductive</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> testDir);
  1503. <a name="l02157"></a>02157
  1504. <a name="l02158"></a>02158 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#7a3ad08a33768debf9e858197d3b9c49">pushPowerStack</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1505. <a name="l02159"></a>02159
  1506. <a name="l02160"></a>02160 <a class="code" href="classPosition.html">Position</a> <a class="code" href="classMicropolis.html#1d0024360c32cac4939527a4e8520769">pullPowerStack</a>();
  1507. <a name="l02161"></a>02161
  1508. <a name="l02163"></a>02163
  1509. <a name="l02164"></a>02164
  1510. <a name="l02166"></a>02166 <span class="comment">// random.cpp</span>
  1511. <a name="l02167"></a>02167
  1512. <a name="l02168"></a>02168 <span class="keyword">private</span>:
  1513. <a name="l02169"></a>02169
  1514. <a name="l02170"></a>02170
  1515. <a name="l02171"></a>02171 UQuad nextRandom;
  1516. <a name="l02172"></a>02172
  1517. <a name="l02173"></a>02173
  1518. <a name="l02174"></a>02174 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#ad789494442a575766252284bab57a35">simRandom</a>();
  1519. <a name="l02175"></a>02175
  1520. <a name="l02176"></a>02176 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#5db230dbb510ee57bedcfb1f92ff74eb">getRandom</a>(<span class="keywordtype">short</span> range);
  1521. <a name="l02177"></a>02177
  1522. <a name="l02178"></a>02178 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#65b8303764cfefd498ee1013a1c445ae">getRandom16</a>();
  1523. <a name="l02179"></a>02179
  1524. <a name="l02180"></a>02180 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#d44cba6d5961c40bcec6eee76dac7983">getRandom16Signed</a>();
  1525. <a name="l02181"></a>02181
  1526. <a name="l02182"></a>02182 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#e3ed3101d6edfbcbd0a2da39253451d5">getERandom</a>(<span class="keywordtype">short</span> limit);
  1527. <a name="l02183"></a>02183
  1528. <a name="l02184"></a>02184 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#9e1e857339c8bee18e8f366665149dc1">randomlySeedRandom</a>();
  1529. <a name="l02185"></a>02185
  1530. <a name="l02186"></a>02186 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#22d9b2573fc4ff00a6a1e1c6d2385d4a">seedRandom</a>(<span class="keywordtype">int</span> seed);
  1531. <a name="l02187"></a>02187
  1532. <a name="l02188"></a>02188
  1533. <a name="l02190"></a>02190 <span class="comment">// resource.cpp</span>
  1534. <a name="l02191"></a>02191
  1535. <a name="l02192"></a>02192 <span class="keyword">public</span>:
  1536. <a name="l02193"></a>02193
  1537. <a name="l02194"></a>02194
  1538. <a name="l02196"></a><a class="code" href="classMicropolis.html#83945d1fe03da54d62316db0a20297cb">02196</a> std::string <a class="code" href="classMicropolis.html#83945d1fe03da54d62316db0a20297cb">homeDir</a>;
  1539. <a name="l02197"></a>02197
  1540. <a name="l02199"></a><a class="code" href="classMicropolis.html#9fac09767a97060b673869135cd1977e">02199</a> std::string <a class="code" href="classMicropolis.html#9fac09767a97060b673869135cd1977e">resourceDir</a>;
  1541. <a name="l02200"></a>02200
  1542. <a name="l02201"></a><a class="code" href="classMicropolis.html#77cd475c3ffc71eb3d3ef86da2e50999">02201</a> <a class="code" href="classResource.html">Resource</a> *<a class="code" href="classMicropolis.html#77cd475c3ffc71eb3d3ef86da2e50999" title="Linked list of loaded resources.">resources</a>;
  1543. <a name="l02202"></a><a class="code" href="classMicropolis.html#275c58dda4b341f5fe072d183f712ecb">02202</a> <a class="code" href="classStringTable.html">StringTable</a> *<a class="code" href="classMicropolis.html#275c58dda4b341f5fe072d183f712ecb" title="Linked list of loaded string tables.">stringTables</a>;
  1544. <a name="l02203"></a>02203
  1545. <a name="l02204"></a>02204
  1546. <a name="l02205"></a>02205 <a class="code" href="classResource.html">Resource</a> *<a class="code" href="classMicropolis.html#0af844ac499e46bcba45f60bbbe7af7f">getResource</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, Quad <span class="keywordtype">id</span>);
  1547. <a name="l02206"></a>02206
  1548. <a name="l02207"></a>02207 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#23423a100e7230874dcf2bdc0db178a2">getIndString</a>(<span class="keywordtype">char</span> *str, <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">short</span> num);
  1549. <a name="l02208"></a>02208
  1550. <a name="l02209"></a>02209
  1551. <a name="l02211"></a>02211 <span class="comment">// scan.cpp</span>
  1552. <a name="l02212"></a>02212
  1553. <a name="l02213"></a>02213 <span class="keyword">private</span>:
  1554. <a name="l02214"></a>02214
  1555. <a name="l02215"></a>02215
  1556. <a name="l02217"></a><a class="code" href="classMicropolis.html#68a8a943747e432edfc50b761878b524">02217</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#68a8a943747e432edfc50b761878b524">newMap</a>;
  1557. <a name="l02218"></a>02218
  1558. <a name="l02220"></a><a class="code" href="classMicropolis.html#4f779e46cd28bab7f3ac49f89a75abce">02220</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#4f779e46cd28bab7f3ac49f89a75abce">newMapFlags</a>[<a class="code" href="micropolis_8h.html#4c73d8aa04c5b31558f468b95d4748b3d24a2b73e8d32e7e712ff25e5e4b38f0" title="Number of map types.">MAP_TYPE_COUNT</a>];
  1559. <a name="l02221"></a>02221
  1560. <a name="l02222"></a><a class="code" href="classMicropolis.html#993e50a2bd6480247b85b8f72fbaa4ee">02222</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#993e50a2bd6480247b85b8f72fbaa4ee" title="X coordinate of city center.">cityCenterX</a>;
  1561. <a name="l02223"></a><a class="code" href="classMicropolis.html#5856eb06c64cba2fc8377ca5a8ef8d17">02223</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#5856eb06c64cba2fc8377ca5a8ef8d17" title="Y coordinate of city center.">cityCenterY</a>;
  1562. <a name="l02224"></a>02224
  1563. <a name="l02225"></a><a class="code" href="classMicropolis.html#75662ccbb6b1260699fba7729cd16f67">02225</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#75662ccbb6b1260699fba7729cd16f67" title="X coordinate of most polluted area.">pollutionMaxX</a>;
  1564. <a name="l02226"></a><a class="code" href="classMicropolis.html#5e6fd13f9ab16aa4b791ef9c9d229c53">02226</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#5e6fd13f9ab16aa4b791ef9c9d229c53" title="Y coordinate of most polluted area.">pollutionMaxY</a>;
  1565. <a name="l02227"></a>02227
  1566. <a name="l02228"></a><a class="code" href="classMicropolis.html#0165f3e7024c92cfb6d182548a485743">02228</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#0165f3e7024c92cfb6d182548a485743" title="X coordinate of most criminal area. Not used.">crimeMaxX</a>;
  1567. <a name="l02229"></a><a class="code" href="classMicropolis.html#e999b10ada1790db355c6953976038b3">02229</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#e999b10ada1790db355c6953976038b3" title="Y coordinate of most criminal area. Not used.">crimeMaxY</a>;
  1568. <a name="l02230"></a>02230
  1569. <a name="l02236"></a><a class="code" href="classMicropolis.html#78fe339a793b27633c194236cb60b10b">02236</a> Quad <a class="code" href="classMicropolis.html#78fe339a793b27633c194236cb60b10b">donDither</a>;
  1570. <a name="l02237"></a>02237
  1571. <a name="l02238"></a>02238
  1572. <a name="l02239"></a>02239 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#64ca60787a0970e5d65475aff72682aa">fireAnalysis</a>();
  1573. <a name="l02240"></a>02240
  1574. <a name="l02241"></a>02241 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#eae8c405fe4d3e5346a6e85985c9e3de">populationDensityScan</a>();
  1575. <a name="l02242"></a>02242
  1576. <a name="l02243"></a>02243 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#da4db3412c78805a53be0fda919221a5">getPopulationDensity</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> tile);
  1577. <a name="l02244"></a>02244
  1578. <a name="l02245"></a>02245 <span class="keywordtype">void</span> pollutionTerrainLandValueScan();
  1579. <a name="l02246"></a>02246
  1580. <a name="l02247"></a>02247 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#7a533c660066fd00ef86deaee951780b">getPollutionValue</a>(<span class="keywordtype">int</span> loc);
  1581. <a name="l02248"></a>02248
  1582. <a name="l02249"></a>02249 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#d19fb6d3c76b23592a5ecc67e11a7c5f">getCityCenterDistance</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1583. <a name="l02250"></a>02250
  1584. <a name="l02251"></a>02251 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#a75fc627e17314b69bd3033603172f62">crimeScan</a>();
  1585. <a name="l02252"></a>02252
  1586. <a name="l02253"></a>02253 <span class="keywordtype">void</span> smoothTerrain();
  1587. <a name="l02254"></a>02254
  1588. <a name="l02255"></a>02255 <span class="keywordtype">void</span> doSmooth1();
  1589. <a name="l02256"></a>02256
  1590. <a name="l02257"></a>02257 <span class="keywordtype">void</span> doSmooth2();
  1591. <a name="l02258"></a>02258
  1592. <a name="l02259"></a>02259 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#7e54079bc61db27fa28adce145112a48">computeComRateMap</a>();
  1593. <a name="l02260"></a>02260
  1594. <a name="l02262"></a>02262 <span class="comment">// simulate.cpp</span>
  1595. <a name="l02263"></a>02263
  1596. <a name="l02264"></a>02264 <span class="keyword">public</span>:
  1597. <a name="l02265"></a>02265
  1598. <a name="l02266"></a>02266
  1599. <a name="l02267"></a>02267 <span class="keywordtype">bool</span> valveFlag;
  1600. <a name="l02268"></a>02268
  1601. <a name="l02269"></a>02269 <span class="keywordtype">short</span> crimeRamp;
  1602. <a name="l02270"></a>02270
  1603. <a name="l02271"></a>02271 <span class="keywordtype">short</span> pollutionRamp;
  1604. <a name="l02272"></a>02272
  1605. <a name="l02273"></a><a class="code" href="classMicropolis.html#7f49569045b9610edd3ebffecc52c9d6">02273</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#7f49569045b9610edd3ebffecc52c9d6" title="Block residential growth.">resCap</a>;
  1606. <a name="l02274"></a><a class="code" href="classMicropolis.html#bfe3e641c98cdc2d2255c9a704d13f84">02274</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#bfe3e641c98cdc2d2255c9a704d13f84" title="Block commercial growth.">comCap</a>;
  1607. <a name="l02275"></a><a class="code" href="classMicropolis.html#7ddfcdd36cf345c8609ca6c47972c23f">02275</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#7ddfcdd36cf345c8609ca6c47972c23f" title="Block industrial growth.">indCap</a>;
  1608. <a name="l02276"></a>02276
  1609. <a name="l02277"></a>02277 <span class="keywordtype">short</span> cashFlow;
  1610. <a name="l02278"></a>02278
  1611. <a name="l02279"></a>02279 <span class="keywordtype">float</span> externalMarket;
  1612. <a name="l02280"></a>02280
  1613. <a name="l02281"></a><a class="code" href="classMicropolis.html#b5002dd51f3b6af50818b495736ee4a8">02281</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d">Scenario</a> <a class="code" href="classMicropolis.html#b5002dd51f3b6af50818b495736ee4a8" title="The disaster for which a count-down is running.">disasterEvent</a>;
  1614. <a name="l02282"></a><a class="code" href="classMicropolis.html#8f0a06fd848a6ed4bc73a26473311f5b">02282</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#8f0a06fd848a6ed4bc73a26473311f5b" title="Count-down timer for the disaster.">disasterWait</a>;
  1615. <a name="l02283"></a>02283
  1616. <a name="l02284"></a><a class="code" href="classMicropolis.html#1cd0908b7976c8f2dbb92affdeda5b7f">02284</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d">Scenario</a> <a class="code" href="classMicropolis.html#1cd0908b7976c8f2dbb92affdeda5b7f" title="The type of score table to use.">scoreType</a>;
  1617. <a name="l02285"></a><a class="code" href="classMicropolis.html#7526784d5cb3d6d6e66b339a0be2165b">02285</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#7526784d5cb3d6d6e66b339a0be2165b" title="Time to wait before computing the score.">scoreWait</a>;
  1618. <a name="l02286"></a>02286
  1619. <a name="l02287"></a><a class="code" href="classMicropolis.html#37c8b02a7c7aa77bd40dbbe4835a190a">02287</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#37c8b02a7c7aa77bd40dbbe4835a190a" title="Number of powered tiles in all zone.">poweredZoneCount</a>;
  1620. <a name="l02288"></a><a class="code" href="classMicropolis.html#49504d8aa11ec5161f28b8af0e42de0d">02288</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#49504d8aa11ec5161f28b8af0e42de0d" title="Number of unpowered tiles in all zones.">unpoweredZoneCount</a>;
  1621. <a name="l02289"></a>02289
  1622. <a name="l02290"></a>02290 <span class="keywordtype">bool</span> newPower; <span class="comment">/* post */</span>
  1623. <a name="l02291"></a>02291
  1624. <a name="l02292"></a>02292 <span class="keywordtype">short</span> cityTaxAverage;
  1625. <a name="l02293"></a>02293
  1626. <a name="l02294"></a>02294 <span class="keywordtype">short</span> simCycle;
  1627. <a name="l02295"></a>02295
  1628. <a name="l02296"></a>02296 <span class="keywordtype">short</span> phaseCycle;
  1629. <a name="l02297"></a>02297
  1630. <a name="l02298"></a>02298 <span class="keywordtype">short</span> speedCycle;
  1631. <a name="l02299"></a>02299
  1632. <a name="l02300"></a><a class="code" href="classMicropolis.html#0fc9175e49a0b73af99ff1252fe1cf5c">02300</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#0fc9175e49a0b73af99ff1252fe1cf5c" title="Need to perform initial city evaluation.">doInitialEval</a>;
  1633. <a name="l02301"></a>02301
  1634. <a name="l02302"></a><a class="code" href="classMicropolis.html#ab79cac85b4b9640f9996aaed5b37050">02302</a> <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#ab79cac85b4b9640f9996aaed5b37050" title="The invalidateMaps method increases the map serial number every time the maps changes...">mapSerial</a>;
  1635. <a name="l02303"></a>02303
  1636. <a name="l02304"></a>02304 <span class="keyword">private</span>:
  1637. <a name="l02305"></a>02305
  1638. <a name="l02306"></a>02306 <span class="keywordtype">short</span> resValve;
  1639. <a name="l02307"></a>02307 <span class="keywordtype">short</span> comValve;
  1640. <a name="l02308"></a>02308 <span class="keywordtype">short</span> indValve;
  1641. <a name="l02309"></a>02309
  1642. <a name="l02310"></a>02310
  1643. <a name="l02311"></a>02311 <span class="keyword">public</span>:
  1644. <a name="l02312"></a>02312
  1645. <a name="l02313"></a>02313 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ea06620c11f0488fa190bc5ecd048d39">updateFundEffects</a>();
  1646. <a name="l02314"></a>02314
  1647. <a name="l02315"></a>02315
  1648. <a name="l02316"></a>02316 <span class="keyword">private</span>:
  1649. <a name="l02317"></a>02317
  1650. <a name="l02319"></a><a class="code" href="classMicropolis.html#8d4dac1a71df3f069159d198a360caf4">02319</a> <span class="keyword">inline</span> <a class="code" href="micropolis_8h.html#b028519b9cc0b89492159d43dd99587f">MapValue</a> <a class="code" href="classMicropolis.html#8d4dac1a71df3f069159d198a360caf4">randomFire</a>()
  1651. <a name="l02320"></a>02320 {
  1652. <a name="l02321"></a>02321 <span class="keywordflow">return</span> (FIRE + (<a class="code" href="classMicropolis.html#65b8303764cfefd498ee1013a1c445ae">getRandom16</a>() &amp; 7)) | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42e64f799e649a284bedb0bac81afb9446" title="bit 11, tile is animated.">ANIMBIT</a>;
  1653. <a name="l02322"></a>02322 };
  1654. <a name="l02323"></a>02323
  1655. <a name="l02325"></a><a class="code" href="classMicropolis.html#e69aaec596e858f9a1552148ce2cc078">02325</a> <span class="keyword">inline</span> <a class="code" href="micropolis_8h.html#b028519b9cc0b89492159d43dd99587f">MapValue</a> <a class="code" href="classMicropolis.html#e69aaec596e858f9a1552148ce2cc078">randomRubble</a>()
  1656. <a name="l02326"></a>02326 {
  1657. <a name="l02327"></a>02327 <span class="keywordflow">return</span> (RUBBLE + (<a class="code" href="classMicropolis.html#65b8303764cfefd498ee1013a1c445ae">getRandom16</a>() &amp; 3)) | <a class="code" href="micropolis_8h.html#93d97f16dc324013ff1e55444bddaf42b718f843cf91845b62b23fc03942d095" title="bit 12, tile is bulldozable.">BULLBIT</a>;
  1658. <a name="l02328"></a>02328 };
  1659. <a name="l02329"></a>02329
  1660. <a name="l02330"></a>02330 <span class="keywordtype">void</span> simFrame();
  1661. <a name="l02331"></a>02331
  1662. <a name="l02332"></a>02332 <span class="keywordtype">void</span> simulate();
  1663. <a name="l02333"></a>02333
  1664. <a name="l02334"></a>02334 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#fe8a202062ffa639e0f0a77df48c7b42">doSimInit</a>();
  1665. <a name="l02335"></a>02335
  1666. <a name="l02336"></a>02336 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d803f7bd23e783c36fb8c41f8e6c1c3a">doNilPower</a>();
  1667. <a name="l02337"></a>02337
  1668. <a name="l02338"></a>02338 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#c070667e0dc312f4bcfaadfd105c2933">decTrafficMap</a>();
  1669. <a name="l02339"></a>02339
  1670. <a name="l02340"></a>02340 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#65be61462ac3479ba298830326241f39">decRateOfGrowthMap</a>();
  1671. <a name="l02341"></a>02341
  1672. <a name="l02342"></a>02342 <span class="keywordtype">void</span> initSimMemory();
  1673. <a name="l02343"></a>02343
  1674. <a name="l02344"></a>02344 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#3677b147f78681a08d513502ecf76ec7">simLoadInit</a>();
  1675. <a name="l02345"></a>02345
  1676. <a name="l02346"></a>02346 <span class="keywordtype">void</span> setCommonInits();
  1677. <a name="l02347"></a>02347
  1678. <a name="l02348"></a>02348 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#7300690b0ab1a74d82eda568cd06ad6f">setValves</a>();
  1679. <a name="l02349"></a>02349
  1680. <a name="l02350"></a>02350 <span class="keywordtype">void</span> clearCensus();
  1681. <a name="l02351"></a>02351
  1682. <a name="l02352"></a>02352 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#38e6a348cdc3b637e975851aed325ee7">take10Census</a>();
  1683. <a name="l02353"></a>02353
  1684. <a name="l02354"></a>02354 <span class="keywordtype">void</span> take120Census();
  1685. <a name="l02355"></a>02355
  1686. <a name="l02356"></a>02356 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#78a28a803fc10d992196950f9caea3e5">collectTax</a>();
  1687. <a name="l02357"></a>02357
  1688. <a name="l02358"></a>02358 <span class="keywordtype">void</span> mapScan(<span class="keywordtype">int</span> x1, <span class="keywordtype">int</span> x2);
  1689. <a name="l02359"></a>02359
  1690. <a name="l02360"></a>02360 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#f194f666d81870f6783fb4dbd6637071">doRail</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1691. <a name="l02361"></a>02361
  1692. <a name="l02362"></a>02362 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#22ea18ad3677519f1b12cee07a13dbf9">doRadTile</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1693. <a name="l02363"></a>02363
  1694. <a name="l02364"></a>02364 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#4eca1661a738a9d424c74a4fb0a39776">doRoad</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1695. <a name="l02365"></a>02365
  1696. <a name="l02366"></a>02366 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#e2e05c10bf78edac49e5cc51ab722b6a">doBridge</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> tile);
  1697. <a name="l02367"></a>02367
  1698. <a name="l02368"></a>02368 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#652d803d49b7b707f976611d2218b54e">getBoatDistance</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1699. <a name="l02369"></a>02369
  1700. <a name="l02370"></a>02370 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#c09e70cd52a5fa08fa6d3cccc8a3d9bb">doFire</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1701. <a name="l02371"></a>02371
  1702. <a name="l02372"></a>02372 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#772b252c9bbc5feee92b2dab7112e050">fireZone</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <a class="code" href="micropolis_8h.html#b028519b9cc0b89492159d43dd99587f">MapValue</a> ch);
  1703. <a name="l02373"></a>02373
  1704. <a name="l02374"></a>02374 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#8ebda1ad9389b36743682d722d74eef4">repairZone</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> zCent, <span class="keywordtype">short</span> zSize);
  1705. <a name="l02375"></a>02375
  1706. <a name="l02376"></a>02376 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#3a25b6169871369b476c47b0452aa242">doSpecialZone</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">bool</span> PwrOn);
  1707. <a name="l02377"></a>02377
  1708. <a name="l02378"></a>02378 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#78ea7a73159e6ea21739168421b226fb">drawStadium</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;center, <a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> z);
  1709. <a name="l02379"></a>02379
  1710. <a name="l02380"></a>02380 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#b3f091b3745fe9287e201b1fc47f9eb3">doAirport</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1711. <a name="l02381"></a>02381
  1712. <a name="l02382"></a>02382 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#1e1b3a02ae7b574241b75fb844eb8fa2">coalSmoke</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1713. <a name="l02383"></a>02383
  1714. <a name="l02384"></a>02384 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#169af3d650517638b41c0597ca6b415e">doMeltdown</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1715. <a name="l02385"></a>02385
  1716. <a name="l02386"></a>02386
  1717. <a name="l02388"></a>02388 <span class="comment">// sprite.cpp</span>
  1718. <a name="l02389"></a>02389
  1719. <a name="l02390"></a>02390 <span class="keyword">public</span>:
  1720. <a name="l02391"></a>02391
  1721. <a name="l02392"></a>02392
  1722. <a name="l02393"></a><a class="code" href="classMicropolis.html#041df1c62a5c8d6b0379d003d3c509f6">02393</a> <a class="code" href="classSimSprite.html">SimSprite</a> *<a class="code" href="classMicropolis.html#041df1c62a5c8d6b0379d003d3c509f6" title="List of active sprites.">spriteList</a>;
  1723. <a name="l02394"></a>02394
  1724. <a name="l02395"></a>02395
  1725. <a name="l02396"></a>02396 <a class="code" href="classSimSprite.html">SimSprite</a> *<a class="code" href="classMicropolis.html#c704db0c9cdd214f77e69f58e4717d65">newSprite</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> type, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1726. <a name="l02397"></a>02397
  1727. <a name="l02398"></a>02398 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#234d173bdcc0780c131daf8be911e5e9">initSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1728. <a name="l02399"></a>02399
  1729. <a name="l02400"></a>02400 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#a3da67626c49a266b9349dacccaafefc">destroyAllSprites</a>();
  1730. <a name="l02401"></a>02401
  1731. <a name="l02402"></a>02402 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#3fe1ccc95da98b98f8ef5ac3725bc663">destroySprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1732. <a name="l02403"></a>02403
  1733. <a name="l02404"></a>02404 <a class="code" href="classSimSprite.html">SimSprite</a> *<a class="code" href="classMicropolis.html#904eb1872ee75c3ba18f47cefc8af4cd">getSprite</a>(<span class="keywordtype">int</span> type);
  1734. <a name="l02405"></a>02405
  1735. <a name="l02406"></a>02406 <a class="code" href="classSimSprite.html">SimSprite</a> *<a class="code" href="classMicropolis.html#d278d2acbb8c6597fa71486909b002b1">makeSprite</a>(<span class="keywordtype">int</span> type, <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1736. <a name="l02407"></a>02407
  1737. <a name="l02408"></a>02408
  1738. <a name="l02409"></a>02409 <span class="keyword">private</span>:
  1739. <a name="l02410"></a>02410
  1740. <a name="l02411"></a><a class="code" href="classMicropolis.html#48947512d497950ae91b99914b83f1e2">02411</a> <a class="code" href="classSimSprite.html">SimSprite</a> *<a class="code" href="classMicropolis.html#48947512d497950ae91b99914b83f1e2" title="Pool of free SimSprite objects.">freeSprites</a>;
  1741. <a name="l02412"></a>02412
  1742. <a name="l02413"></a>02413 <a class="code" href="classSimSprite.html">SimSprite</a> *globalSprites[<a class="code" href="micropolis_8h.html#c6fa10729dffeb6a192492f13c25e31adece9f846e44bbfdeaab16b3f32857fe" title="Number of sprite objects.">SPRITE_COUNT</a>];
  1743. <a name="l02414"></a>02414
  1744. <a name="l02415"></a>02415 <span class="keywordtype">int</span> absDist;
  1745. <a name="l02416"></a>02416
  1746. <a name="l02417"></a>02417 <span class="keywordtype">short</span> spriteCycle;
  1747. <a name="l02418"></a>02418
  1748. <a name="l02419"></a>02419
  1749. <a name="l02420"></a>02420 <span class="keyword">public</span>:
  1750. <a name="l02421"></a>02421
  1751. <a name="l02422"></a>02422 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#ba10028c93a44c1c2d462e2812380415">getChar</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1752. <a name="l02423"></a>02423
  1753. <a name="l02424"></a>02424 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#205e3b7c717aac7b5a628ab514dd17e7">turnTo</a>(<span class="keywordtype">int</span> p, <span class="keywordtype">int</span> d);
  1754. <a name="l02425"></a>02425
  1755. <a name="l02426"></a>02426 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#94a699f39d58aef4237e41e32e6a9921">tryOther</a>(<span class="keywordtype">int</span> Tpoo, <span class="keywordtype">int</span> Told, <span class="keywordtype">int</span> Tnew);
  1756. <a name="l02427"></a>02427
  1757. <a name="l02428"></a>02428 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#e9c63742971b513e121e467a10835abb">spriteNotInBounds</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1758. <a name="l02429"></a>02429
  1759. <a name="l02430"></a>02430 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#4929db3f8bb84bec029f7e1f99e42765">getDir</a>(<span class="keywordtype">int</span> orgX, <span class="keywordtype">int</span> orgY, <span class="keywordtype">int</span> desX, <span class="keywordtype">int</span> desY);
  1760. <a name="l02431"></a>02431
  1761. <a name="l02432"></a>02432 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#98e5158b4fa233b25461167c46b6beeb">getDistance</a>(<span class="keywordtype">int</span> x1, <span class="keywordtype">int</span> y1, <span class="keywordtype">int</span> x2, <span class="keywordtype">int</span> y2);
  1762. <a name="l02433"></a>02433
  1763. <a name="l02434"></a>02434 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#18cf1ce85bfc2ff40802b4c0a80dc754">checkSpriteCollision</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *s1, <a class="code" href="classSimSprite.html">SimSprite</a> *s2);
  1764. <a name="l02435"></a>02435
  1765. <a name="l02436"></a>02436 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#5f68de29ebe8f2a61ae9635006ec4538">moveObjects</a>();
  1766. <a name="l02437"></a>02437
  1767. <a name="l02438"></a>02438 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#8fc26778370ff4b58b77adad56dbd162">doTrainSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1768. <a name="l02439"></a>02439
  1769. <a name="l02440"></a>02440 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#01ae28d41bcf30b1e1ae8f028571a64c">doCopterSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1770. <a name="l02441"></a>02441
  1771. <a name="l02442"></a>02442 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#0992ddd3e88bf0cc80cec6738d514858">doAirplaneSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1772. <a name="l02443"></a>02443
  1773. <a name="l02444"></a>02444 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#776ba80a037de9e09e2b2428b6ca140f">doShipSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1774. <a name="l02445"></a>02445
  1775. <a name="l02446"></a>02446 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#cca73edb22102ee8eb2d6aa7552d65bf">doMonsterSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1776. <a name="l02447"></a>02447
  1777. <a name="l02448"></a>02448 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#0796e3cf542f474484a74897f27d6a89">doTornadoSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1778. <a name="l02449"></a>02449
  1779. <a name="l02450"></a>02450 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#80f5bb5c1a524fada8c92d23b55e151d">doExplosionSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1780. <a name="l02451"></a>02451
  1781. <a name="l02452"></a>02452 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#aa91cb8b64a824f87937223208ea2e5e">doBusSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1782. <a name="l02453"></a>02453
  1783. <a name="l02454"></a>02454 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#707bf68e4174539d4ad3653e4018a062">canDriveOn</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1784. <a name="l02455"></a>02455
  1785. <a name="l02456"></a>02456 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#066d0de15f9a85cc5c3d7beaec7e9b93">explodeSprite</a>(<a class="code" href="classSimSprite.html">SimSprite</a> *sprite);
  1786. <a name="l02457"></a>02457
  1787. <a name="l02458"></a>02458 <span class="keywordtype">bool</span> checkWet(<span class="keywordtype">int</span> x);
  1788. <a name="l02459"></a>02459
  1789. <a name="l02460"></a>02460 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#f8e90c53f354cae1aee048cddcd9bd09">destroyMapTile</a>(<span class="keywordtype">int</span> ox, <span class="keywordtype">int</span> oy);
  1790. <a name="l02461"></a>02461
  1791. <a name="l02462"></a>02462 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#19582762daeb556c56b42158922c3bfa">startFireInZone</a>(<span class="keywordtype">int</span> Xloc, <span class="keywordtype">int</span> Yloc, <span class="keywordtype">int</span> ch);
  1792. <a name="l02463"></a>02463
  1793. <a name="l02464"></a>02464 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#5b7cfd94c47bd468d19fa0635691c9e0">startFire</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1794. <a name="l02465"></a>02465
  1795. <a name="l02466"></a>02466 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ab534afa734549fec7e00bc34108e60b">generateTrain</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1796. <a name="l02467"></a>02467
  1797. <a name="l02468"></a>02468 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#bb799e8ecf284628b802fe728ca9d175">generateBus</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1798. <a name="l02469"></a>02469
  1799. <a name="l02470"></a>02470 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#85730dec6260ac2cf76edd4dfe24186b">generateShip</a>();
  1800. <a name="l02471"></a>02471
  1801. <a name="l02472"></a>02472 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e0a29d19ec96c0b461a31a29286d0624">makeShipHere</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1802. <a name="l02473"></a>02473
  1803. <a name="l02474"></a>02474 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#5802d50d928358a73d0369705b5f8472">makeMonster</a>();
  1804. <a name="l02475"></a>02475
  1805. <a name="l02476"></a>02476 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#58c7f8cc917b64b696f0d286f91433af">makeMonsterAt</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1806. <a name="l02477"></a>02477
  1807. <a name="l02478"></a>02478 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#05f399e07ed69d228f50cbf23bcaad38">generateCopter</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1808. <a name="l02479"></a>02479
  1809. <a name="l02480"></a>02480 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#6b7c5e165b56a69ffd1b5deee03f1938">generatePlane</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  1810. <a name="l02481"></a>02481
  1811. <a name="l02482"></a>02482 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#aa1328c8b2071e0a652fde874db04c56">makeTornado</a>();
  1812. <a name="l02483"></a>02483
  1813. <a name="l02484"></a>02484 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#3bf4f78a732b9fd1a044105a166987f9">makeExplosion</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1814. <a name="l02485"></a>02485
  1815. <a name="l02486"></a>02486 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d1bf05d303d7898887f9785695e34963">makeExplosionAt</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1816. <a name="l02487"></a>02487
  1817. <a name="l02488"></a>02488
  1818. <a name="l02490"></a>02490 <span class="comment">// stubs.cpp</span>
  1819. <a name="l02491"></a>02491
  1820. <a name="l02492"></a>02492 <span class="keyword">public</span>:
  1821. <a name="l02493"></a>02493
  1822. <a name="l02494"></a>02494
  1823. <a name="l02495"></a><a class="code" href="classMicropolis.html#f3535000ff4852f4e5809935576d8369">02495</a> Quad <a class="code" href="classMicropolis.html#f3535000ff4852f4e5809935576d8369" title="Funds of the player.">totalFunds</a>;
  1824. <a name="l02496"></a>02496
  1825. <a name="l02503"></a><a class="code" href="classMicropolis.html#fd389464112d08c4a01d3da05c15890b">02503</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#fd389464112d08c4a01d3da05c15890b">autoBulldoze</a>;
  1826. <a name="l02504"></a>02504
  1827. <a name="l02510"></a><a class="code" href="classMicropolis.html#bbe8cd05a48ee183eeb607c0d019d616">02510</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#bbe8cd05a48ee183eeb607c0d019d616">autoBudget</a>;
  1828. <a name="l02511"></a>02511
  1829. <a name="l02512"></a>02512 Quad messageTimeLast;
  1830. <a name="l02513"></a>02513
  1831. <a name="l02514"></a><a class="code" href="classMicropolis.html#2c151216bd34be7dde50beaf4da769ba">02514</a> <a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948">GameLevel</a> <a class="code" href="classMicropolis.html#2c151216bd34be7dde50beaf4da769ba" title="Difficulty level of the game (0..2).">gameLevel</a>;
  1832. <a name="l02515"></a>02515
  1833. <a name="l02516"></a>02516 <span class="keywordtype">short</span> initSimLoad;
  1834. <a name="l02517"></a>02517
  1835. <a name="l02518"></a><a class="code" href="classMicropolis.html#2ef685b0d3c202a6d03e62d6d745449b">02518</a> <a class="code" href="micropolis_8h.html#198c01cbf13aa7ce7b025ff7b7aba07d">Scenario</a> <a class="code" href="classMicropolis.html#2ef685b0d3c202a6d03e62d6d745449b" title="Scenario being played.">scenario</a>;
  1836. <a name="l02519"></a>02519
  1837. <a name="l02520"></a>02520 <span class="keywordtype">short</span> simSpeed;
  1838. <a name="l02521"></a>02521
  1839. <a name="l02522"></a>02522 <span class="keywordtype">short</span> simSpeedMeta;
  1840. <a name="l02523"></a>02523
  1841. <a name="l02524"></a><a class="code" href="classMicropolis.html#b3271452ac81e5fcc46a663941ee36ab">02524</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#b3271452ac81e5fcc46a663941ee36ab" title="Enable sound.">enableSound</a>;
  1842. <a name="l02525"></a>02525
  1843. <a name="l02526"></a><a class="code" href="classMicropolis.html#680a0861f9870a09279c685cfd077d96">02526</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#680a0861f9870a09279c685cfd077d96" title="Enable disasters.">enableDisasters</a>;
  1844. <a name="l02527"></a>02527
  1845. <a name="l02528"></a>02528 <span class="keywordtype">short</span> messageNumber;
  1846. <a name="l02529"></a>02529
  1847. <a name="l02530"></a><a class="code" href="classMicropolis.html#508820d2926056cf09dbb87dea3da2bb">02530</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#508820d2926056cf09dbb87dea3da2bb" title="The evaluation window should be shown to the user.">evalChanged</a>;
  1848. <a name="l02531"></a>02531
  1849. <a name="l02535"></a><a class="code" href="classMicropolis.html#1e9976c11328b53565ec3beeee4c6b02">02535</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#1e9976c11328b53565ec3beeee4c6b02">blinkFlag</a>;
  1850. <a name="l02536"></a>02536
  1851. <a name="l02541"></a><a class="code" href="classMicropolis.html#703abafa217efc4845b381d5658c398d">02541</a> CallbackFunction <a class="code" href="classMicropolis.html#703abafa217efc4845b381d5658c398d">callbackHook</a>;
  1852. <a name="l02542"></a>02542
  1853. <a name="l02547"></a><a class="code" href="classMicropolis.html#7eff57260a233c41142b569a2d2d2e9f">02547</a> <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#7eff57260a233c41142b569a2d2d2e9f">callbackData</a>;
  1854. <a name="l02548"></a>02548
  1855. <a name="l02553"></a><a class="code" href="classMicropolis.html#9bb5b7ea2a3da39b09cdc2cd83322c04">02553</a> <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#9bb5b7ea2a3da39b09cdc2cd83322c04">userData</a>;
  1856. <a name="l02554"></a>02554
  1857. <a name="l02555"></a>02555
  1858. <a name="l02562"></a><a class="code" href="classMicropolis.html#c88ae46202ab81120718c9f079d2dbfa">02562</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#c88ae46202ab81120718c9f079d2dbfa">testBounds</a>(<span class="keywordtype">int</span> wx, <span class="keywordtype">int</span> wy)
  1859. <a name="l02563"></a>02563 {
  1860. <a name="l02564"></a>02564 <span class="keywordflow">return</span> (wx &gt;= 0 &amp;&amp; wx &lt; WORLD_W &amp;&amp; wy &gt;= 0 &amp;&amp; wy &lt; <a class="code" href="map__type_8h.html#d649289f6f5a81082f7cceae8b94d137">WORLD_H</a>);
  1861. <a name="l02565"></a>02565 };
  1862. <a name="l02566"></a>02566
  1863. <a name="l02567"></a>02567 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#c69a7995a1a10bc0cf9d62f0f9adc9bf">spend</a>(<span class="keywordtype">int</span> dollars);
  1864. <a name="l02568"></a>02568
  1865. <a name="l02569"></a>02569 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#85129802f6c58308373d25ae06b20181">setFunds</a>(<span class="keywordtype">int</span> dollars);
  1866. <a name="l02570"></a>02570
  1867. <a name="l02571"></a>02571 Quad <a class="code" href="classMicropolis.html#3a752188c5dbf468c68c8840a6224d90">tickCount</a>();
  1868. <a name="l02572"></a>02572
  1869. <a name="l02573"></a>02573 Ptr <a class="code" href="classMicropolis.html#d501381b15fa6d05221f0b40df34c292">newPtr</a>(<span class="keywordtype">int</span> size);
  1870. <a name="l02574"></a>02574
  1871. <a name="l02575"></a>02575 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d36c964c0954aac11e20512c8ccd3c84">freePtr</a>(<span class="keywordtype">void</span> *data);
  1872. <a name="l02576"></a>02576
  1873. <a name="l02577"></a>02577 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e6757b7bf600d652c86a4903bdbcf8e4">doPlayNewCity</a>();
  1874. <a name="l02578"></a>02578
  1875. <a name="l02579"></a>02579 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#37285dd324f6f25c0f2bf15839f4bbc0">doReallyStartGame</a>();
  1876. <a name="l02580"></a>02580
  1877. <a name="l02581"></a>02581 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#289475ea691b0f57032c3470f3d85e92">doStartLoad</a>();
  1878. <a name="l02582"></a>02582
  1879. <a name="l02583"></a>02583 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d2f8e0155dad6cf825e59fa6f83a5559">doStartScenario</a>(<span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#2ef685b0d3c202a6d03e62d6d745449b" title="Scenario being played.">scenario</a>);
  1880. <a name="l02584"></a>02584
  1881. <a name="l02585"></a>02585 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#730c8a1936381bc775d7a4ee3d471a07">initGame</a>();
  1882. <a name="l02586"></a>02586
  1883. <a name="l02587"></a>02587 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#7c82ad1284fbd0a19b1b70f998d600c4">callback</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keyword">const</span> <span class="keywordtype">char</span> *params, ...);
  1884. <a name="l02588"></a>02588
  1885. <a name="l02589"></a>02589 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#fd5028482ce1f81ce577d9e592c7a124">doEarthquake</a>(<span class="keywordtype">int</span> strength);
  1886. <a name="l02590"></a>02590
  1887. <a name="l02591"></a>02591 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ca92337e6e069e3ca61396b0e2604d8e">invalidateMaps</a>();
  1888. <a name="l02592"></a>02592
  1889. <a name="l02593"></a>02593 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#a415366f5d827b0ed7a6c458f9704e2e">makeSound</a>(
  1890. <a name="l02594"></a>02594 <span class="keyword">const</span> <span class="keywordtype">char</span> *channel,
  1891. <a name="l02595"></a>02595 <span class="keyword">const</span> <span class="keywordtype">char</span> *sound,
  1892. <a name="l02596"></a>02596 <span class="keywordtype">int</span> x=-1,
  1893. <a name="l02597"></a>02597 <span class="keywordtype">int</span> y=-1);
  1894. <a name="l02598"></a>02598
  1895. <a name="l02599"></a>02599 <span class="comment">// Map</span>
  1896. <a name="l02600"></a>02600
  1897. <a name="l02601"></a>02601 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#bddf9e24f6844e8fdc66e5cf5736cb9f">getTile</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1898. <a name="l02602"></a>02602
  1899. <a name="l02603"></a>02603 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#19e18f9870070afdba99574120ae0baa">setTile</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> tile);
  1900. <a name="l02604"></a>02604
  1901. <a name="l02605"></a>02605 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#7f566d9484aaf4e3830eeac443c50064">getMapBuffer</a>();
  1902. <a name="l02606"></a>02606
  1903. <a name="l02607"></a>02607 <span class="comment">// Residential.</span>
  1904. <a name="l02608"></a>02608
  1905. <a name="l02609"></a>02609 <span class="comment">// Commercial.</span>
  1906. <a name="l02610"></a>02610
  1907. <a name="l02611"></a>02611 <span class="comment">// Industrial.</span>
  1908. <a name="l02612"></a>02612
  1909. <a name="l02613"></a>02613 <span class="comment">// Power.</span>
  1910. <a name="l02614"></a>02614
  1911. <a name="l02615"></a>02615 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#d94466b19c8533f08dab38d506e2f843">getPowerGrid</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1912. <a name="l02616"></a>02616
  1913. <a name="l02617"></a>02617 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e38ff154aee95864c4496e5f2b6d0843">setPowerGrid</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> power);
  1914. <a name="l02618"></a>02618
  1915. <a name="l02619"></a>02619 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#678ecff879ad069973c61f8199ca9ea5">getPowerGridMapBuffer</a>();
  1916. <a name="l02620"></a>02620
  1917. <a name="l02621"></a>02621 <span class="comment">// Roads.</span>
  1918. <a name="l02622"></a>02622
  1919. <a name="l02623"></a>02623 <span class="comment">// Population density.</span>
  1920. <a name="l02624"></a>02624
  1921. <a name="l02625"></a>02625 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#da4db3412c78805a53be0fda919221a5">getPopulationDensity</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1922. <a name="l02626"></a>02626
  1923. <a name="l02627"></a>02627 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ce934a6447ba679d93f1fb80a923dadc">setPopulationDensity</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> density);
  1924. <a name="l02628"></a>02628
  1925. <a name="l02629"></a>02629 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#0e0e6cd7d13d3df2422fe92452daa06d">getPopulationDensityMapBuffer</a>();
  1926. <a name="l02630"></a>02630
  1927. <a name="l02631"></a>02631 <span class="comment">// Rate of growth.</span>
  1928. <a name="l02632"></a>02632
  1929. <a name="l02633"></a>02633 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#6ccb62b52caf0831769ef7aea9037eca">getRateOfGrowth</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1930. <a name="l02634"></a>02634
  1931. <a name="l02635"></a>02635 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#df90b6ec87e5345b3fdcdc06cacf9009">setRateOfGrowth</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> rate);
  1932. <a name="l02636"></a>02636
  1933. <a name="l02637"></a>02637 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#46d98d539bc6cba174c0513c1a2b7684">getRateOfGrowthMapBuffer</a>();
  1934. <a name="l02638"></a>02638
  1935. <a name="l02639"></a>02639 <span class="comment">// Traffic density.</span>
  1936. <a name="l02640"></a>02640
  1937. <a name="l02641"></a>02641 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#358a6a7174c115df3eb8f4ebf7c6fc1c">getTrafficDensity</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1938. <a name="l02642"></a>02642
  1939. <a name="l02643"></a>02643 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#3bf33b88a4a9b4d55758e931283124f8">setTrafficDensity</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> density);
  1940. <a name="l02644"></a>02644
  1941. <a name="l02645"></a>02645 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#4b4bf5cc1515428b541f06c2b529d22e">getTrafficDensityMapBuffer</a>();
  1942. <a name="l02646"></a>02646
  1943. <a name="l02647"></a>02647 <span class="comment">// Pollution density.</span>
  1944. <a name="l02648"></a>02648
  1945. <a name="l02649"></a>02649 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#c1150cd07fecd9f27a4df09b3ffeb769">getPollutionDensity</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1946. <a name="l02650"></a>02650
  1947. <a name="l02651"></a>02651 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#32ec9cd9f62b4bba7551174f9c9f1cbf">setPollutionDensity</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> density);
  1948. <a name="l02652"></a>02652
  1949. <a name="l02653"></a>02653 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#d5bc96b7b9dd64cf3d2472704e4b0617">getPollutionDensityMapBuffer</a>();
  1950. <a name="l02654"></a>02654
  1951. <a name="l02655"></a>02655 <span class="comment">// Crime rate.</span>
  1952. <a name="l02656"></a>02656
  1953. <a name="l02657"></a>02657 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#0acdcd9d6568bde84d941575a51e1846">getCrimeRate</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1954. <a name="l02658"></a>02658
  1955. <a name="l02659"></a>02659 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e0c37a26553abbf6bd806a65eeb69095">setCrimeRate</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> rate);
  1956. <a name="l02660"></a>02660
  1957. <a name="l02661"></a>02661 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#5d51e11524c7954bc6ad046bf4edca26">getCrimeRateMapBuffer</a>();
  1958. <a name="l02662"></a>02662
  1959. <a name="l02663"></a>02663 <span class="comment">// Land value.</span>
  1960. <a name="l02664"></a>02664
  1961. <a name="l02665"></a>02665 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#9b59cc541449bda28ec92cd1631fd887">getLandValue</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1962. <a name="l02666"></a>02666
  1963. <a name="l02667"></a>02667 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ffac2f37bdab69af7c81d0ba63d5fcb2">setLandValue</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> value);
  1964. <a name="l02668"></a>02668
  1965. <a name="l02669"></a>02669 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#5d4add55c3d49779b5c17e98360fd006">getLandValueMapBuffer</a>();
  1966. <a name="l02670"></a>02670
  1967. <a name="l02671"></a>02671 <span class="comment">// Fire coverage.</span>
  1968. <a name="l02672"></a>02672
  1969. <a name="l02673"></a>02673 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#965c293fcf203b2554ec52ac5126cc3f">getFireCoverage</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1970. <a name="l02674"></a>02674
  1971. <a name="l02675"></a>02675 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#9fb748ea5d39d932bffc2ac3b9c35990">setFireCoverage</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> coverage);
  1972. <a name="l02676"></a>02676
  1973. <a name="l02677"></a>02677 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#c25da0479f9030a4e8651579445e8e93">getFireCoverageMapBuffer</a>();
  1974. <a name="l02678"></a>02678
  1975. <a name="l02679"></a>02679 <span class="comment">// Police coverage.</span>
  1976. <a name="l02680"></a>02680
  1977. <a name="l02681"></a>02681 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#90acfee86f3a5d58a3422fe4619f35c0">getPoliceCoverage</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  1978. <a name="l02682"></a>02682
  1979. <a name="l02683"></a>02683 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#1a86dd91e34fa9d4a9a58a525b35d2ae">setPoliceCoverage</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> coverage);
  1980. <a name="l02684"></a>02684
  1981. <a name="l02685"></a>02685 <span class="keywordtype">void</span> *<a class="code" href="classMicropolis.html#764bbd8cce225eae7cc05e9d028d3acc">getPoliceCoverageMapBuffer</a>();
  1982. <a name="l02686"></a>02686
  1983. <a name="l02687"></a>02687
  1984. <a name="l02689"></a>02689 <span class="comment">// tool.cpp</span>
  1985. <a name="l02690"></a>02690
  1986. <a name="l02691"></a>02691 <span class="keyword">public</span>:
  1987. <a name="l02692"></a>02692
  1988. <a name="l02693"></a>02693 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#aa09e14302436b6be6dc4d4180e406b1">doTool</a>(<a class="code" href="micropolis_8h.html#f1a7fa9e895239233ee096f80445b024">EditingTool</a> tool, <span class="keywordtype">short</span> tileX, <span class="keywordtype">short</span> tileY);
  1989. <a name="l02694"></a>02694
  1990. <a name="l02695"></a>02695 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#011016c57c92db8f720ff6b548a1585a">toolDown</a>(<a class="code" href="micropolis_8h.html#f1a7fa9e895239233ee096f80445b024">EditingTool</a> tool, <span class="keywordtype">short</span> tileX, <span class="keywordtype">short</span> tileY);
  1991. <a name="l02696"></a>02696
  1992. <a name="l02697"></a>02697 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#bfd715c85c5bbb53882813bce02b4a86">toolDrag</a>(<a class="code" href="micropolis_8h.html#f1a7fa9e895239233ee096f80445b024">EditingTool</a> tool, <span class="keywordtype">short</span> fromX, <span class="keywordtype">short</span> fromY,
  1993. <a name="l02698"></a>02698 <span class="keywordtype">short</span> toX, <span class="keywordtype">short</span> toY);
  1994. <a name="l02699"></a>02699
  1995. <a name="l02700"></a>02700 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#5f66f371db32bd13f9174c351e3d826d">didTool</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name, <span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y);
  1996. <a name="l02701"></a>02701
  1997. <a name="l02702"></a>02702 <span class="keyword">private</span>:
  1998. <a name="l02703"></a>02703
  1999. <a name="l02704"></a>02704 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#53a35c67d637e94ea43b59263b73d8bf">queryTool</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y);
  2000. <a name="l02705"></a>02705
  2001. <a name="l02706"></a>02706 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> bulldozerTool(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y);
  2002. <a name="l02707"></a>02707 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> bulldozerTool(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2003. <a name="l02708"></a>02708
  2004. <a name="l02709"></a>02709 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#e6b387da88c34aa36302d1233ee7995c">roadTool</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2005. <a name="l02710"></a>02710
  2006. <a name="l02711"></a>02711 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#4b2daba63af3daf2b1a9ddc2f9663229">railroadTool</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2007. <a name="l02712"></a>02712
  2008. <a name="l02713"></a>02713 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#2e3581e92e59f3be9dfb66bc6e22145b">wireTool</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2009. <a name="l02714"></a>02714
  2010. <a name="l02715"></a>02715 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#77699a84da554b32a6cab6d8c67df537">parkTool</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2011. <a name="l02716"></a>02716
  2012. <a name="l02717"></a>02717 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#ff5bb99f47a30a827d6fb85fda791d5c">buildBuildingTool</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y,
  2013. <a name="l02718"></a>02718 <span class="keyword">const</span> <a class="code" href="classBuildingProperties.html">BuildingProperties</a> *bprops,
  2014. <a name="l02719"></a>02719 <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2015. <a name="l02720"></a>02720
  2016. <a name="l02721"></a>02721
  2017. <a name="l02722"></a>02722 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#4a870b5dec12b33d19053c2a6d7b0bc9">networkTool</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2018. <a name="l02723"></a>02723
  2019. <a name="l02724"></a>02724 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> waterTool(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2020. <a name="l02725"></a>02725
  2021. <a name="l02726"></a>02726 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#d97ad792e58c2f72d1d101ca51cf8f28">landTool</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2022. <a name="l02727"></a>02727
  2023. <a name="l02728"></a>02728 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#ff48ce70c796f22b4e81723a7c164215">forestTool</a>(<span class="keywordtype">short</span> x, <span class="keywordtype">short</span> y, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2024. <a name="l02729"></a>02729
  2025. <a name="l02730"></a>02730 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#6b3e4c74c6854b1bbfa3314518edf49f">putDownPark</a>(<span class="keywordtype">short</span> mapH, <span class="keywordtype">short</span> mapV, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2026. <a name="l02731"></a>02731
  2027. <a name="l02732"></a>02732 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#331bf2d9f84d6904ab0b37012cce7a17">putDownNetwork</a>(<span class="keywordtype">short</span> mapH, <span class="keywordtype">short</span> mapV, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2028. <a name="l02733"></a>02733
  2029. <a name="l02734"></a>02734 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#bd4fbd71bb0a8d5c1b009816f42f4fbb">putDownWater</a>(<span class="keywordtype">short</span> mapH, <span class="keywordtype">short</span> mapV, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2030. <a name="l02735"></a>02735
  2031. <a name="l02736"></a>02736 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#626afd2b546b14b0f2fa93727fb24c91">putDownLand</a>(<span class="keywordtype">short</span> mapH, <span class="keywordtype">short</span> mapV, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2032. <a name="l02737"></a>02737
  2033. <a name="l02738"></a>02738 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#72e844683a0a2d3b975dcab2f0d8304a">putDownForest</a>(<span class="keywordtype">short</span> mapH, <span class="keywordtype">short</span> mapV, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2034. <a name="l02739"></a>02739
  2035. <a name="l02740"></a>02740 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#108f15f1291408139c0fcbf198c22410">doZoneStatus</a>(<span class="keywordtype">short</span> mapH, <span class="keywordtype">short</span> mapV);
  2036. <a name="l02741"></a>02741
  2037. <a name="l02742"></a>02742 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#115f95bcb742683e849a925f739dd93a">doShowZoneStatus</a>(
  2038. <a name="l02743"></a>02743 <span class="keywordtype">char</span> *str,
  2039. <a name="l02744"></a>02744 <span class="keywordtype">char</span> *s0, <span class="keywordtype">char</span> *s1, <span class="keywordtype">char</span> *s2, <span class="keywordtype">char</span> *s3, <span class="keywordtype">char</span> *s4,
  2040. <a name="l02745"></a>02745 <span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  2041. <a name="l02746"></a>02746
  2042. <a name="l02747"></a>02747 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e188e98c827ce74920b41afde7db57eb">putBuilding</a>(<span class="keywordtype">int</span> leftX, <span class="keywordtype">int</span> topY, <span class="keywordtype">int</span> sizeX, <span class="keywordtype">int</span> sizeY,
  2043. <a name="l02748"></a>02748 <a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> baseTile, <span class="keywordtype">bool</span> aniFlag,
  2044. <a name="l02749"></a>02749 <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2045. <a name="l02750"></a>02750
  2046. <a name="l02751"></a>02751 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#8fb86131d0546e927bcf158d67a8931c">prepareBuildingSite</a>(<span class="keywordtype">int</span> leftX, <span class="keywordtype">int</span> topY, <span class="keywordtype">int</span> sizeX, <span class="keywordtype">int</span> sizeY,
  2047. <a name="l02752"></a>02752 <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2048. <a name="l02753"></a>02753
  2049. <a name="l02754"></a>02754 <a class="code" href="micropolis_8h.html#a8279b68baa50fd03830c3ac57757f50">ToolResult</a> <a class="code" href="classMicropolis.html#1b1b775562a5822e139694612eb682ae">buildBuilding</a>(<span class="keywordtype">int</span> mapH, <span class="keywordtype">int</span> mapV,
  2050. <a name="l02755"></a>02755 <span class="keyword">const</span> <a class="code" href="classBuildingProperties.html">BuildingProperties</a> *bprops,
  2051. <a name="l02756"></a>02756 <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2052. <a name="l02757"></a>02757
  2053. <a name="l02758"></a>02758 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#d6d336b683fc03604ab2c82724b0fcfe">getDensityStr</a>(<span class="keywordtype">short</span> catNo, <span class="keywordtype">short</span> mapH, <span class="keywordtype">short</span> mapV);
  2054. <a name="l02759"></a>02759
  2055. <a name="l02760"></a>02760 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#206154d7473eeef26cfd14c4fb08acea">tally</a>(<span class="keywordtype">short</span> tileValue);
  2056. <a name="l02761"></a>02761
  2057. <a name="l02762"></a>02762 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#945ee03117346e19081599468dc74d2f">checkSize</a>(<span class="keywordtype">short</span> tileValue);
  2058. <a name="l02763"></a>02763
  2059. <a name="l02764"></a>02764 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#5067caba5c95e2705205ee1fa1d50fab">checkBorder</a>(<span class="keywordtype">short</span> xMap, <span class="keywordtype">short</span> yMap, <span class="keywordtype">int</span> sizeX, <span class="keywordtype">int</span> sizeY,
  2060. <a name="l02765"></a>02765 <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2061. <a name="l02766"></a>02766
  2062. <a name="l02767"></a>02767 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d3f920a264890accf26210eb73568980">putRubble</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> size, <a class="code" href="classToolEffects.html">ToolEffects</a> *effects);
  2063. <a name="l02768"></a>02768
  2064. <a name="l02769"></a>02769
  2065. <a name="l02771"></a>02771 <span class="comment">// traffic.cpp</span>
  2066. <a name="l02772"></a>02772
  2067. <a name="l02773"></a>02773 <span class="keyword">public</span>:
  2068. <a name="l02774"></a>02774
  2069. <a name="l02775"></a>02775 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#a16201f77ad8d1d285747e82f7ad79b8">makeTrafficAt</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea3">ZoneType</a> dest);
  2070. <a name="l02776"></a>02776
  2071. <a name="l02777"></a>02777 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#5ac5ab861d6e6f0eceb2b8d889180216">makeTraffic</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea3">ZoneType</a> dest);
  2072. <a name="l02778"></a>02778
  2073. <a name="l02779"></a>02779
  2074. <a name="l02780"></a>02780 <span class="keyword">private</span>:
  2075. <a name="l02781"></a>02781
  2076. <a name="l02782"></a>02782 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#5ac5ab861d6e6f0eceb2b8d889180216">makeTraffic</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;startPos, <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea3">ZoneType</a> dest);
  2077. <a name="l02783"></a>02783
  2078. <a name="l02784"></a>02784 <span class="comment">/* Position stack */</span>
  2079. <a name="l02785"></a>02785
  2080. <a name="l02787"></a><a class="code" href="classMicropolis.html#d65c8b0653af0aff0e209d2278c40fde">02787</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#d65c8b0653af0aff0e209d2278c40fde">curMapStackPointer</a>;
  2081. <a name="l02788"></a><a class="code" href="classMicropolis.html#5ddf80726b5707285f812262e7595621">02788</a> <a class="code" href="classPosition.html">Position</a> <a class="code" href="classMicropolis.html#5ddf80726b5707285f812262e7595621" title="Position stack.">curMapStackXY</a>[<a class="code" href="micropolis_8h.html#e778af742751f74134de7ba3b4856f19">MAX_TRAFFIC_DISTANCE</a> + 1];
  2082. <a name="l02789"></a>02789
  2083. <a name="l02790"></a><a class="code" href="classMicropolis.html#7f6ec3732d629c367c75990fb9d84959">02790</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#7f6ec3732d629c367c75990fb9d84959" title="X coordinate of a position with heavy traffic.">trafMaxX</a>;
  2084. <a name="l02791"></a><a class="code" href="classMicropolis.html#79f0aba9704ed9bc4b183d28106caa92">02791</a> <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#79f0aba9704ed9bc4b183d28106caa92" title="Y coordinate of a position with heavy traffic.">trafMaxY</a>;
  2085. <a name="l02792"></a>02792
  2086. <a name="l02793"></a>02793
  2087. <a name="l02794"></a>02794 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d4dd66d30459fcefbfeb54e8f52f5489">addToTrafficDensityMap</a>();
  2088. <a name="l02795"></a>02795
  2089. <a name="l02796"></a>02796 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#3199a426c077baad98b847df8d5def9b">pushPos</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  2090. <a name="l02797"></a>02797
  2091. <a name="l02798"></a>02798 <a class="code" href="classPosition.html">Position</a> <a class="code" href="classMicropolis.html#22a81e1a0875ba3472299c7188d3c423">pullPos</a>();
  2092. <a name="l02799"></a>02799
  2093. <a name="l02800"></a>02800 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#fb779f1ea726b28341c3d995f028432a">findPerimeterRoad</a>(<a class="code" href="classPosition.html">Position</a> *pos);
  2094. <a name="l02801"></a>02801
  2095. <a name="l02802"></a>02802 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#24276c65ab8a945f5e714e95dc961e2d">findPerimeterTelecom</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  2096. <a name="l02803"></a>02803
  2097. <a name="l02804"></a>02804 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#315c6cca38c43a717c8bdd084d159fda">tryDrive</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;startPos, <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea3">ZoneType</a> destZone);
  2098. <a name="l02805"></a>02805
  2099. <a name="l02806"></a>02806 <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> <a class="code" href="classMicropolis.html#a189c06c85888878e53a3cb276a0230b">tryGo</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> dirLast);
  2100. <a name="l02807"></a>02807
  2101. <a name="l02808"></a>02808 <a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> <a class="code" href="classMicropolis.html#42cecf852e0f49edb31e3549de2aee41">getTileFromMap</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos,
  2102. <a name="l02809"></a>02809 <a class="code" href="position_8h.html#5eeb72514d7760a3c22529e1d8412097">Direction2</a> dir, <a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> defaultTile);
  2103. <a name="l02810"></a>02810
  2104. <a name="l02811"></a>02811 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#1844e6ede11e18889759be9871c9b407">driveDone</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <a class="code" href="micropolis_8h.html#29fcc592f1c1254f2738a72794a16ea3">ZoneType</a> destZone);
  2105. <a name="l02812"></a>02812
  2106. <a name="l02813"></a>02813 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#e4f8b323bdd8ba186197f5e5241a1706">roadTest</a>(<a class="code" href="micropolis_8h.html#b028519b9cc0b89492159d43dd99587f">MapValue</a> tile);
  2107. <a name="l02814"></a>02814
  2108. <a name="l02815"></a>02815
  2109. <a name="l02817"></a>02817 <span class="comment">// update.cpp</span>
  2110. <a name="l02818"></a>02818
  2111. <a name="l02819"></a>02819 <span class="keyword">public</span>:
  2112. <a name="l02820"></a>02820
  2113. <a name="l02821"></a>02821
  2114. <a name="l02822"></a>02822 <span class="keywordtype">bool</span> mustUpdateFunds;
  2115. <a name="l02823"></a>02823
  2116. <a name="l02824"></a><a class="code" href="classMicropolis.html#90e10432e33bba0f5251b5457c7c4151">02824</a> <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#90e10432e33bba0f5251b5457c7c4151" title="Options displayed at user need updating.">mustUpdateOptions</a>;
  2117. <a name="l02825"></a>02825
  2118. <a name="l02826"></a>02826 Quad cityTimeLast;
  2119. <a name="l02827"></a>02827
  2120. <a name="l02828"></a>02828 Quad cityYearLast;
  2121. <a name="l02829"></a>02829
  2122. <a name="l02830"></a>02830 Quad cityMonthLast;
  2123. <a name="l02831"></a>02831
  2124. <a name="l02832"></a>02832 Quad totalFundsLast;
  2125. <a name="l02833"></a>02833
  2126. <a name="l02834"></a>02834 Quad resLast;
  2127. <a name="l02835"></a>02835
  2128. <a name="l02836"></a>02836 Quad comLast;
  2129. <a name="l02837"></a>02837
  2130. <a name="l02838"></a>02838 Quad indLast;
  2131. <a name="l02839"></a>02839
  2132. <a name="l02840"></a>02840
  2133. <a name="l02841"></a>02841 <span class="keywordtype">void</span> doUpdateHeads();
  2134. <a name="l02842"></a>02842
  2135. <a name="l02843"></a>02843 <span class="keywordtype">void</span> updateMaps();
  2136. <a name="l02844"></a>02844
  2137. <a name="l02845"></a>02845 <span class="keywordtype">void</span> updateGraphs();
  2138. <a name="l02846"></a>02846
  2139. <a name="l02847"></a>02847 <span class="keywordtype">void</span> updateEvaluation();
  2140. <a name="l02848"></a>02848
  2141. <a name="l02849"></a>02849 <span class="keywordtype">void</span> updateHeads();
  2142. <a name="l02850"></a>02850
  2143. <a name="l02851"></a>02851 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#86ae8470f3b07e64f8ae0a652e50945b">updateFunds</a>();
  2144. <a name="l02852"></a>02852
  2145. <a name="l02853"></a>02853 <span class="keywordtype">void</span> reallyUpdateFunds();
  2146. <a name="l02854"></a>02854
  2147. <a name="l02855"></a>02855 <span class="keywordtype">void</span> doTimeStuff();
  2148. <a name="l02856"></a>02856
  2149. <a name="l02857"></a>02857 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#f36815c0343c5c02116c381135ee1578">updateDate</a>();
  2150. <a name="l02858"></a>02858
  2151. <a name="l02859"></a>02859 <span class="keywordtype">void</span> showValves();
  2152. <a name="l02860"></a>02860
  2153. <a name="l02861"></a>02861 <span class="keywordtype">void</span> drawValve();
  2154. <a name="l02862"></a>02862
  2155. <a name="l02863"></a>02863 <span class="keywordtype">void</span> setDemand(<span class="keywordtype">float</span> r, <span class="keywordtype">float</span> c, <span class="keywordtype">float</span> i);
  2156. <a name="l02864"></a>02864
  2157. <a name="l02865"></a>02865 <span class="keywordtype">void</span> updateOptions();
  2158. <a name="l02866"></a>02866
  2159. <a name="l02867"></a>02867 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#7e4081c2153e1590a955efb2ba9948b6">updateUserInterface</a>();
  2160. <a name="l02868"></a>02868
  2161. <a name="l02869"></a>02869
  2162. <a name="l02871"></a>02871 <span class="comment">// utilities.cpp</span>
  2163. <a name="l02872"></a>02872
  2164. <a name="l02873"></a>02873 <span class="keyword">public</span>:
  2165. <a name="l02874"></a>02874
  2166. <a name="l02875"></a>02875 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#a295818b3dc5f977330a6fe548e8251a">pause</a>();
  2167. <a name="l02876"></a>02876
  2168. <a name="l02877"></a>02877 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#c54079c008cbcc41fe1b804869ccf201">resume</a>();
  2169. <a name="l02878"></a>02878
  2170. <a name="l02879"></a>02879 <span class="keywordtype">void</span> setSpeed(<span class="keywordtype">short</span> speed);
  2171. <a name="l02880"></a>02880
  2172. <a name="l02881"></a>02881 <span class="keywordtype">void</span> setPasses(<span class="keywordtype">int</span> passes);
  2173. <a name="l02882"></a>02882
  2174. <a name="l02883"></a>02883 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#02441fd5a983922daef1041090fb1495">setGameLevelFunds</a>(<a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948">GameLevel</a> level);
  2175. <a name="l02884"></a>02884
  2176. <a name="l02885"></a>02885 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#b8731570f5210acb35c3b17c789c13de">setGameLevel</a>(<a class="code" href="micropolis_8h.html#9d2c8df557e927eceec042cd07a5a948">GameLevel</a> level);
  2177. <a name="l02886"></a>02886
  2178. <a name="l02887"></a>02887 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#85702a1859804c2c724925934f116212">updateGameLevel</a>();
  2179. <a name="l02888"></a>02888
  2180. <a name="l02889"></a>02889 <span class="keywordtype">void</span> setCityName(<span class="keyword">const</span> std::string &amp;name);
  2181. <a name="l02890"></a>02890
  2182. <a name="l02891"></a>02891 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#d8c052cd92e97f05a54a4433324a6e6a">setCleanCityName</a>(<span class="keyword">const</span> std::string &amp;name);
  2183. <a name="l02892"></a>02892
  2184. <a name="l02893"></a>02893 <span class="keywordtype">void</span> setYear(<span class="keywordtype">int</span> year);
  2185. <a name="l02894"></a>02894
  2186. <a name="l02895"></a>02895 <span class="keywordtype">int</span> <a class="code" href="classMicropolis.html#893d87f91e61ae0ef43155d1b781a250">currentYear</a>();
  2187. <a name="l02896"></a>02896
  2188. <a name="l02897"></a>02897 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#e18ba624760196ed6e53306fe2d4e9c1">doNewGame</a>();
  2189. <a name="l02898"></a>02898
  2190. <a name="l02899"></a>02899 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#960a817e32b504b759afe05eba9d3013">setEnableDisasters</a>(<span class="keywordtype">bool</span> value);
  2191. <a name="l02900"></a>02900
  2192. <a name="l02901"></a>02901 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ff9ec6007fcc441982e21fd9164d4567">setAutoBudget</a>(<span class="keywordtype">bool</span> value);
  2193. <a name="l02902"></a>02902
  2194. <a name="l02903"></a>02903 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#8e95cce4bd06616588943dcfbbd54f58">setAutoBulldoze</a>(<span class="keywordtype">bool</span> value);
  2195. <a name="l02904"></a>02904
  2196. <a name="l02905"></a>02905 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#608f88beddf09330c8a416bfc9614287">setAutoGoto</a>(<span class="keywordtype">bool</span> value);
  2197. <a name="l02906"></a>02906
  2198. <a name="l02907"></a>02907 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#8fb42f8c13b003fcb72fc100922a0cb0">setEnableSound</a>(<span class="keywordtype">bool</span> value);
  2199. <a name="l02908"></a>02908
  2200. <a name="l02909"></a>02909 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#2240d4393d21043097aa42beb9bce428">setDoAnimation</a>(<span class="keywordtype">bool</span> value);
  2201. <a name="l02910"></a>02910
  2202. <a name="l02911"></a>02911 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#f7909d97a6756a45ed92dbd7f4ee24d5">setDoMessages</a>(<span class="keywordtype">bool</span> value);
  2203. <a name="l02912"></a>02912
  2204. <a name="l02913"></a>02913 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#27d7dc68d5be9f872cb14c34f7eaad18">setDoNotices</a>(<span class="keywordtype">bool</span> value);
  2205. <a name="l02914"></a>02914
  2206. <a name="l02915"></a>02915 <span class="preprocessor">#ifdef SWIG</span>
  2207. <a name="l02916"></a>02916 <span class="preprocessor"></span><span class="comment">// This tells SWIG that resDemandResult, comDemandResult and indDemandResult</span>
  2208. <a name="l02917"></a>02917 <span class="comment">// are output parameters, which will be returned in a tuple of length three.</span>
  2209. <a name="l02918"></a>02918 %apply <span class="keywordtype">float</span> *OUTPUT { <span class="keywordtype">float</span> *resDemandResult };
  2210. <a name="l02919"></a>02919 %apply <span class="keywordtype">float</span> *OUTPUT { <span class="keywordtype">float</span> *comDemandResult };
  2211. <a name="l02920"></a>02920 %apply <span class="keywordtype">float</span> *OUTPUT { <span class="keywordtype">float</span> *indDemandResult };
  2212. <a name="l02921"></a>02921 <span class="preprocessor">#endif</span>
  2213. <a name="l02922"></a>02922 <span class="preprocessor"></span>
  2214. <a name="l02923"></a>02923 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#5987a06d9cb699428790c6734a779aaa">getDemands</a>(
  2215. <a name="l02924"></a>02924 <span class="keywordtype">float</span> *resDemandResult,
  2216. <a name="l02925"></a>02925 <span class="keywordtype">float</span> *comDemandResult,
  2217. <a name="l02926"></a>02926 <span class="keywordtype">float</span> *indDemandResult);
  2218. <a name="l02927"></a>02927
  2219. <a name="l02928"></a>02928
  2220. <a name="l02929"></a>02929 <span class="keyword">private</span>:
  2221. <a name="l02930"></a>02930
  2222. <a name="l02931"></a>02931 <span class="keywordtype">void</span> makeDollarDecimalStr(<span class="keywordtype">char</span> *numStr, <span class="keywordtype">char</span> *dollarStr);
  2223. <a name="l02932"></a>02932
  2224. <a name="l02933"></a>02933
  2225. <a name="l02935"></a>02935 <span class="comment">// zone.cpp</span>
  2226. <a name="l02936"></a>02936
  2227. <a name="l02937"></a>02937 <span class="keyword">private</span>:
  2228. <a name="l02938"></a>02938
  2229. <a name="l02939"></a>02939
  2230. <a name="l02940"></a>02940 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#2c0c81b80f052cecbf3adb9ea2429b23">doZone</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  2231. <a name="l02941"></a>02941
  2232. <a name="l02942"></a>02942 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#b5cbd2292901c154ba077a28ac030044">doHospitalChurch</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  2233. <a name="l02943"></a>02943
  2234. <a name="l02944"></a>02944 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#705fa4a93cc01dbb96d08cbda5d346cd">setSmoke</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">bool</span> zonePower);
  2235. <a name="l02945"></a>02945
  2236. <a name="l02946"></a>02946 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#1b637aa65b14e6770b777977ed36763e">makeHospital</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  2237. <a name="l02947"></a>02947
  2238. <a name="l02948"></a>02948 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#0592168bba5589e0f6f73135d1710312">getLandPollutionValue</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  2239. <a name="l02949"></a>02949
  2240. <a name="l02950"></a>02950 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#dc802a675042701f0697e91da90e6b05">incRateOfGrowth</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> amount);
  2241. <a name="l02951"></a>02951
  2242. <a name="l02952"></a>02952 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#741facc00e6117d20ef366b348f50e5b">zonePlop</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> base);
  2243. <a name="l02953"></a>02953
  2244. <a name="l02954"></a>02954 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#1880e593daecf77c6a9835cff5f66d4a">doFreePop</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos);
  2245. <a name="l02955"></a>02955
  2246. <a name="l02956"></a>02956 <span class="keywordtype">bool</span> <a class="code" href="classMicropolis.html#4b7b16a79e84ab9a51d87b5d94711d0d">setZonePower</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a>&amp; pos);
  2247. <a name="l02957"></a>02957
  2248. <a name="l02958"></a>02958 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#302f5202df5d21e213279ba0f005a43f">buildHouse</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> value);
  2249. <a name="l02959"></a>02959
  2250. <a name="l02960"></a>02960 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#d9ddd43b60f42758cb69b20249d96325">evalLot</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);
  2251. <a name="l02961"></a>02961
  2252. <a name="l02962"></a>02962 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#36095679db688f0551e38b3ef7e0f6fe">doResidential</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">bool</span> zonePower);
  2253. <a name="l02963"></a>02963
  2254. <a name="l02964"></a>02964 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#a63cecb15cbb027f3d953feb5cd0b206">doResIn</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> pop, <span class="keywordtype">int</span> value);
  2255. <a name="l02965"></a>02965
  2256. <a name="l02966"></a>02966 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#92bccbbcc6d1b1b7a13b1c6d37e8d55d">doResOut</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> pop, <span class="keywordtype">int</span> value);
  2257. <a name="l02967"></a>02967
  2258. <a name="l02968"></a>02968 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#17627f90fcfd9300a69a86261b1e6cdc">getResZonePop</a>(<a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> mapTile);
  2259. <a name="l02969"></a>02969
  2260. <a name="l02970"></a>02970 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#1c32a6373887496fba11c25af5bf9b80">resPlop</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> Den, <span class="keywordtype">int</span> Value);
  2261. <a name="l02971"></a>02971
  2262. <a name="l02972"></a>02972 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#79050988e5f323ddc363f04ec399d662">evalRes</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> traf);
  2263. <a name="l02973"></a>02973
  2264. <a name="l02974"></a>02974 <span class="comment">// Commercial zone handling</span>
  2265. <a name="l02975"></a>02975
  2266. <a name="l02976"></a>02976 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#dd66db86f63ee5002b6499c09f1565a2">doCommercial</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">bool</span> zonePower);
  2267. <a name="l02977"></a>02977
  2268. <a name="l02978"></a>02978 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#ec38054b137348b6e11b5a8ccef66c8a">doComIn</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> pop, <span class="keywordtype">int</span> value);
  2269. <a name="l02979"></a>02979
  2270. <a name="l02980"></a>02980 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#94fc57ce49a49b285b5d9261d5b0ef85">doComOut</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> pop, <span class="keywordtype">int</span> value);
  2271. <a name="l02981"></a>02981
  2272. <a name="l02982"></a>02982 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#97f87f987a78ca95f94b69ee83bc8de0">getComZonePop</a>(<a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> tile);
  2273. <a name="l02983"></a>02983
  2274. <a name="l02984"></a>02984 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#4f630af1938d3dbbba132801cb41d30c">comPlop</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> Den, <span class="keywordtype">int</span> Value);
  2275. <a name="l02985"></a>02985
  2276. <a name="l02986"></a>02986 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#5b1cc329d6c3013a6e9baf8b650d7311">evalCom</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> traf);
  2277. <a name="l02987"></a>02987
  2278. <a name="l02988"></a>02988 <span class="comment">// Industrial zone handling</span>
  2279. <a name="l02989"></a>02989
  2280. <a name="l02990"></a>02990 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#6040641896657494b1ac51579951f991">doIndustrial</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">bool</span> zonePower);
  2281. <a name="l02991"></a>02991
  2282. <a name="l02992"></a>02992 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#89978bb6f729c48418843b3aeaba6005">doIndIn</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> pop, <span class="keywordtype">int</span> value);
  2283. <a name="l02993"></a>02993
  2284. <a name="l02994"></a>02994 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#8beec42bc1e1358e28b40ba925fa8cd9">doIndOut</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> pop, <span class="keywordtype">int</span> value);
  2285. <a name="l02995"></a>02995
  2286. <a name="l02996"></a>02996 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#30f0ddabf809591d57a1eb76422a2967">getIndZonePop</a>(<a class="code" href="micropolis_8h.html#4b5d03563ff6997e0271436af7105e7c">MapTile</a> tile);
  2287. <a name="l02997"></a>02997
  2288. <a name="l02998"></a>02998 <span class="keywordtype">void</span> <a class="code" href="classMicropolis.html#42d48d4d4ef658ba3122ec18fb4bce93">indPlop</a>(<span class="keyword">const</span> <a class="code" href="classPosition.html">Position</a> &amp;pos, <span class="keywordtype">int</span> den, <span class="keywordtype">int</span> value);
  2289. <a name="l02999"></a>02999
  2290. <a name="l03000"></a>03000 <span class="keywordtype">short</span> <a class="code" href="classMicropolis.html#8666ca74fd007352d641ce6f4c58ef3f">evalInd</a>(<span class="keywordtype">int</span> traf);
  2291. <a name="l03001"></a>03001
  2292. <a name="l03002"></a>03002
  2293. <a name="l03004"></a>03004
  2294. <a name="l03005"></a>03005
  2295. <a name="l03006"></a>03006 };
  2296. <a name="l03007"></a>03007
  2297. <a name="l03008"></a>03008
  2298. </pre></div></div>
  2299. <hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 2 09:19:22 2011 for Micropolis by&nbsp;
  2300. <a href="http://www.doxygen.org/index.html">
  2301. <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
  2302. </body>
  2303. </html>