12 <h3><a name="Landscape">Landscape</a></h3> |
12 <h3><a name="Landscape">Landscape</a></h3> |
13 <p> |
13 <p> |
14 Five attributes hold the information about a tile. |
14 Five attributes hold the information about a tile. |
15 These attributes are referred to as |
15 These attributes are referred to as |
16 "<span style="font-weight: bold;">type_height</span>", |
16 "<span style="font-weight: bold;">type_height</span>", |
17 "<span style="font-weight: bold;">owner</span>", |
17 "<span style="font-weight: bold;">m1</span>", |
18 "<span style="font-weight: bold;">m2</span>", |
18 "<span style="font-weight: bold;">m2</span>", |
19 "<span style="font-weight: bold;">m3</span>", |
19 "<span style="font-weight: bold;">m3</span>", |
20 "<span style="font-weight: bold;">m4</span>" and |
20 "<span style="font-weight: bold;">m4</span>" and |
21 "<span style="font-weight: bold;">m5</span>". |
21 "<span style="font-weight: bold;">m5</span>". |
22 The most important value is the class of a tile, stored in the upper 4 bits of the type_height array. |
22 The most important value is the class of a tile, stored in the upper 4 bits of the type_height array. |
50 </table> |
50 </table> |
51 </li> |
51 </li> |
52 <li>m5 bits 7..5: update counter, incremented on every periodic processing for tile types other than <tt>03</tt>, <tt>07</tt>, <tt>0B</tt> and <tt>10</tt> and above, on wraparound the tile is updated (for fields, the type of fields in m3 is increased, for other types the tile type in m5 is increased) |
52 <li>m5 bits 7..5: update counter, incremented on every periodic processing for tile types other than <tt>03</tt>, <tt>07</tt>, <tt>0B</tt> and <tt>10</tt> and above, on wraparound the tile is updated (for fields, the type of fields in m3 is increased, for other types the tile type in m5 is increased) |
53 <br>(for snow and desert, these bits are not used, tile is updated on every periodic processing) |
53 <br>(for snow and desert, these bits are not used, tile is updated on every periodic processing) |
54 </li> |
54 </li> |
55 <li>owner: <a href="#OwnershipInfo">owner</a> of the tile (normally <tt>10</tt>) |
55 <li>m1: <a href="#OwnershipInfo">owner</a> of the tile (normally <tt>10</tt>) |
56 </li> |
56 </li> |
57 <li>m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none); bits 4..2: same for the SE border |
57 <li>m4 bits 7..5: type of hedge on the SW border of the tile (1 through 6, or 0=none); bits 4..2: same for the SE border |
58 </li> |
58 </li> |
59 </ul> |
59 </ul> |
60 </td></tr> |
60 </td></tr> |
110 <tr><td nowrap valign=top><tt>011</tt>: </td><td align=left>combo-signals</td></tr> |
110 <tr><td nowrap valign=top><tt>011</tt>: </td><td align=left>combo-signals</td></tr> |
111 <tr><td nowrap valign=top><tt>100</tt>: </td><td align=left>PBS signals</td></tr> |
111 <tr><td nowrap valign=top><tt>100</tt>: </td><td align=left>PBS signals</td></tr> |
112 <tr><td nowrap valign=top>bit 3: </td><td align=left>set = semaphore signals, clear = light signals</td></tr> |
112 <tr><td nowrap valign=top>bit 3: </td><td align=left>set = semaphore signals, clear = light signals</td></tr> |
113 </table></li> |
113 </table></li> |
114 </ul></li> |
114 </ul></li> |
115 <li>owner: <a href="#OwnershipInfo">owner</a> of the track |
115 <li>m1: <a href="#OwnershipInfo">owner</a> of the track |
116 </li> |
116 </li> |
117 <li>m2 bits 0..3: |
117 <li>m2 bits 0..3: |
118 <table> |
118 <table> |
119 <tr><td nowrap valign=top><tt>0</tt> </td><td align=left>on bare land</td></tr> |
119 <tr><td nowrap valign=top><tt>0</tt> </td><td align=left>on bare land</td></tr> |
120 <tr><td nowrap valign=top><tt>1</tt> </td><td align=left>on grass, no fences</td></tr> |
120 <tr><td nowrap valign=top><tt>1</tt> </td><td align=left>on grass, no fences</td></tr> |
143 <br>m5 bits 1..0 - direction: exit towards: <tt>00</tt> = NE, <tt>01</tt> = SE, <tt>02</tt> = SW, <tt>03</tt> = NW</li> |
143 <br>m5 bits 1..0 - direction: exit towards: <tt>00</tt> = NE, <tt>01</tt> = SE, <tt>02</tt> = SW, <tt>03</tt> = NW</li> |
144 <li>m5 value C4..C5: checkpoint |
144 <li>m5 value C4..C5: checkpoint |
145 <br>bit 0: clear = in X direction, set = in Y direction |
145 <br>bit 0: clear = in X direction, set = in Y direction |
146 <br> |
146 <br> |
147 <br> |
147 <br> |
148 <li>owner: <a href="#OwnershipInfo">owner</a> of the depot / checkpoint</li> |
148 <li>m1: <a href="#OwnershipInfo">owner</a> of the depot / checkpoint</li> |
149 <li>m3 bits 0..3 = <a href="#TrackType">track type</a></li> |
149 <li>m3 bits 0..3 = <a href="#TrackType">track type</a></li> |
150 <li>m3 bit 4 = use custom sprite (valid only for the checkpoint)</li> |
150 <li>m3 bit 4 = use custom sprite (valid only for the checkpoint)</li> |
151 <li>m3 bit 6 = track on this tile is reserved by pbs</li> |
151 <li>m3 bit 6 = track on this tile is reserved by pbs</li> |
152 <li>m4 = custom station id</li> |
152 <li>m4 = custom station id</li> |
153 </ul> |
153 </ul> |
161 <tr><td nowrap valign=top>bit 0: </td><td align=left>NW piece</td></tr> |
161 <tr><td nowrap valign=top>bit 0: </td><td align=left>NW piece</td></tr> |
162 <tr><td nowrap valign=top>bit 1: </td><td align=left>SW piece</td></tr> |
162 <tr><td nowrap valign=top>bit 1: </td><td align=left>SW piece</td></tr> |
163 <tr><td nowrap valign=top>bit 2: </td><td align=left>SE piece</td></tr> |
163 <tr><td nowrap valign=top>bit 2: </td><td align=left>SE piece</td></tr> |
164 <tr><td nowrap valign=top>bit 3: </td><td align=left>NE piece</td></tr> |
164 <tr><td nowrap valign=top>bit 3: </td><td align=left>NE piece</td></tr> |
165 </table></li> |
165 </table></li> |
166 <li>owner: <a href="#OwnershipInfo">owner</a> of the road</li> |
166 <li>m1: <a href="#OwnershipInfo">owner</a> of the road</li> |
167 <li>m2: Index into the array of towns, 0 for non-town roads</li> |
167 <li>m2: Index into the array of towns, 0 for non-town roads</li> |
168 <li>m4 bits 0..3: counter for the roadworks</li> |
168 <li>m4 bits 0..3: counter for the roadworks</li> |
169 <li>m4 bits 4..6: <tt>0</tt> - on bare land, <tt>1</tt> - on grass, <tt>2</tt> - paved, <tt>3</tt> - with streetlights, <tt>5</tt> - tree-lined, <tt>6</tt> - on grass with road works, <tt>7</tt> - paved with road works</li> |
169 <li>m4 bits 4..6: <tt>0</tt> - on bare land, <tt>1</tt> - on grass, <tt>2</tt> - paved, <tt>3</tt> - with streetlights, <tt>5</tt> - tree-lined, <tt>6</tt> - on grass with road works, <tt>7</tt> - paved with road works</li> |
170 <li>m4 bit 7 set = on snow or desert</li> |
170 <li>m4 bit 7 set = on snow or desert</li> |
171 </ul> |
171 </ul> |
172 m5 bit 4 set, bits 7..5 clear: level crossing |
172 m5 bit 4 set, bits 7..5 clear: level crossing |
173 <ul> |
173 <ul> |
174 <li>m5 bit 3: clear - road in the X direction, set - road in the Y direction (railway track always perpendicular)</li> |
174 <li>m5 bit 3: clear - road in the X direction, set - road in the Y direction (railway track always perpendicular)</li> |
175 <li>m5 bit 2: set if crossing lights are on</li> |
175 <li>m5 bit 2: set if crossing lights are on</li> |
176 <li>m5 bit 0: set if rail track is reserved by pbs</li> |
176 <li>m5 bit 0: set if rail track is reserved by pbs</li> |
177 <li>owner: <a href="#OwnershipInfo">owner</a> of the railway track</li> |
177 <li>m1: <a href="#OwnershipInfo">owner</a> of the railway track</li> |
178 <li>m2: Index into the array of towns, 0 for non-town roads</li> |
178 <li>m2: Index into the array of towns, 0 for non-town roads</li> |
179 <li>m3 bits 0..7: <a href="#OwnershipInfo">owner</a> of the road</li> |
179 <li>m3 bits 0..7: <a href="#OwnershipInfo">owner</a> of the road</li> |
180 <li>m4 bits 3..0: <a href="#TrackType">track type</a></li> |
180 <li>m4 bits 3..0: <a href="#TrackType">track type</a></li> |
181 <li>m4 bits 4..6: <tt>0</tt> - on bare land, <tt>1</tt> - on grass, <tt>2</tt> or higher - paved</li> |
181 <li>m4 bits 4..6: <tt>0</tt> - on bare land, <tt>1</tt> - on grass, <tt>2</tt> or higher - paved</li> |
182 <li>m4 bit 7 set = on snow or desert</li> |
182 <li>m4 bit 7 set = on snow or desert</li> |
183 </ul> |
183 </ul> |
184 m5 bit 5 set: road depot |
184 m5 bit 5 set: road depot |
185 <ul> |
185 <ul> |
186 <li>m5 bits 3..0 - direction: exit towards: <tt>0</tt> = NE, <tt>1</tt> = SE, <tt>2</tt> = SW, <tt>3</tt> = NW</li> |
186 <li>m5 bits 3..0 - direction: exit towards: <tt>0</tt> = NE, <tt>1</tt> = SE, <tt>2</tt> = SW, <tt>3</tt> = NW</li> |
187 <li>owner: <a href="#OwnershipInfo">owner</a> of the depot</li> |
187 <li>m1: <a href="#OwnershipInfo">owner</a> of the depot</li> |
188 <li>m4 bit 7 set = on snow or desert (not displayed, but set internally)</li> |
188 <li>m4 bit 7 set = on snow or desert (not displayed, but set internally)</li> |
189 </ul> |
189 </ul> |
190 </td></tr> |
190 </td></tr> |
191 |
191 |
192 <tr><td valign=top nowrap><a name="Class3"><tt> 3 </tt></a></td><td> |
192 <tr><td valign=top nowrap><a name="Class3"><tt> 3 </tt></a></td><td> |
285 </table></li> |
285 </table></li> |
286 <li>m3 bits 7..6: stage of construction (<tt>3</tt> = completed)</li> |
286 <li>m3 bits 7..6: stage of construction (<tt>3</tt> = completed)</li> |
287 <li>m5 bits 2..0: construction counter, for buildings under construction incremented on every periodic tile processing, on wraparound the stage of construction in m3 is increased</li> |
287 <li>m5 bits 2..0: construction counter, for buildings under construction incremented on every periodic tile processing, on wraparound the stage of construction in m3 is increased</li> |
288 <li>for large office blocks (types <tt>04</tt> and <tt>05</tt>): |
288 <li>for large office blocks (types <tt>04</tt> and <tt>05</tt>): |
289 <ul> |
289 <ul> |
290 <li>owner bits 6..0: position of the lift</li> |
290 <li>m1 bits 6..0: position of the lift</li> |
291 <li>owner bit 7: if set the lift is moving</li> |
291 <li>m1 bit 7: if set the lift is moving</li> |
292 <li>m5 bit 7: if set then m5 bits 5..0 hold the final position of the lift divided by 6 (valid values 0..6 except 1)</li> |
292 <li>m5 bit 7: if set then m5 bits 5..0 hold the final position of the lift divided by 6 (valid values 0..6 except 1)</li> |
293 </ul></li> |
293 </ul></li> |
294 </ul> |
294 </ul> |
295 </td></tr> |
295 </td></tr> |
296 |
296 |
318 <tr><td nowrap valign=top><tt>1</tt> </td><td align=left>on rough land</td></tr> |
318 <tr><td nowrap valign=top><tt>1</tt> </td><td align=left>on rough land</td></tr> |
319 <tr><td nowrap valign=top><tt>2</tt> </td><td align=left>on snow or desert; m2 bits 7..6 - amount of snow or desert (for desert always set to 3 in TTD) |
319 <tr><td nowrap valign=top><tt>2</tt> </td><td align=left>on snow or desert; m2 bits 7..6 - amount of snow or desert (for desert always set to 3 in TTD) |
320 </td></tr> |
320 </td></tr> |
321 </table></li> |
321 </table></li> |
322 <li>m2 bits 3..0: update counter, incremented on every periodic processing, on wraparound the growth status is updated (or, if it's <tt>3</tt>, a random action is taken)</li> |
322 <li>m2 bits 3..0: update counter, incremented on every periodic processing, on wraparound the growth status is updated (or, if it's <tt>3</tt>, a random action is taken)</li> |
323 <li>owner: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li> |
323 <li>m1: <a href="#OwnershipInfo">owner</a> (normally <tt>10</tt>)</li> |
324 </ul> |
324 </ul> |
325 </td></tr> |
325 </td></tr> |
326 |
326 |
327 <tr><td valign=top nowrap><a name="Class5"><tt> 5 </tt></a></td><td> |
327 <tr><td valign=top nowrap><a name="Class5"><tt> 5 </tt></a></td><td> |
328 Station tile |
328 Station tile |
383 <tr><td nowrap valign=top><tt>52</tt> </td><td align=left>buoy</td></tr> |
383 <tr><td nowrap valign=top><tt>52</tt> </td><td align=left>buoy</td></tr> |
384 </td></tr> |
384 </td></tr> |
385 <tr><td colspan=2></td></tr> <!-- spacer --> |
385 <tr><td colspan=2></td></tr> <!-- spacer --> |
386 </table> |
386 </table> |
387 </li> |
387 </li> |
388 <li>owner: <a href="#OwnershipInfo">owner</a> of the station</li> |
388 <li>m1: <a href="#OwnershipInfo">owner</a> of the station</li> |
389 <li>m2: index into the <a href="#_StationArray">array of stations</a></li> |
389 <li>m2: index into the <a href="#_StationArray">array of stations</a></li> |
390 <li>m3 bits 0..3: <a href="#TrackType">track type</a> for railway stations, must be 0 for all the other stations</li> |
390 <li>m3 bits 0..3: <a href="#TrackType">track type</a> for railway stations, must be 0 for all the other stations</li> |
391 <li>m3 bit 4 = use custom sprite (valid only railway stations FOR NOW)</li> |
391 <li>m3 bit 4 = use custom sprite (valid only railway stations FOR NOW)</li> |
392 <li>m3 bit 6 set = track is reserved by pbs (railway stations only)</li> |
392 <li>m3 bit 6 set = track is reserved by pbs (railway stations only)</li> |
393 <li>m4 = custom station id</li> |
393 <li>m4 = custom station id</li> |
445 <br><small>(note: this is not the same as the <a href="#industry.type">industry type</a> stored in the <a href="#_IndustryArray">array of industries</a>)</small> |
445 <br><small>(note: this is not the same as the <a href="#industry.type">industry type</a> stored in the <a href="#_IndustryArray">array of industries</a>)</small> |
446 <table> |
446 <table> |
447 <tr><td nowrap valign=top><tt>00</tt>..<tt>06</tt> </td><td align=left>coal mine |
447 <tr><td nowrap valign=top><tt>00</tt>..<tt>06</tt> </td><td align=left>coal mine |
448 <table> |
448 <table> |
449 <tr><td nowrap valign=top><tt>00</tt> </td><td align=left>wheel tower when not animated</td></tr> |
449 <tr><td nowrap valign=top><tt>00</tt> </td><td align=left>wheel tower when not animated</td></tr> |
450 <tr><td nowrap valign=top><tt>01</tt> </td><td align=left>wheel tower when animated; animation state in owner bits 5..0; owner bit 6 set = sound already generated</td></tr> |
450 <tr><td nowrap valign=top><tt>01</tt> </td><td align=left>wheel tower when animated; animation state in m1 bits 5..0; m1 bit 6 set = sound already generated</td></tr> |
451 </table> |
451 </table> |
452 </td></tr> |
452 </td></tr> |
453 <tr><td nowrap valign=top><tt>07</tt>..<tt>0A</tt> </td><td align=left>power station |
453 <tr><td nowrap valign=top><tt>07</tt>..<tt>0A</tt> </td><td align=left>power station |
454 <table> |
454 <table> |
455 <tr><td nowrap valign=top><tt>08</tt> </td><td align=left>chimney</td></tr> |
455 <tr><td nowrap valign=top><tt>08</tt> </td><td align=left>chimney</td></tr> |
456 <tr><td nowrap valign=top><tt>0A</tt> </td><td align=left>transformer; animation progress in owner bits 5..2 (valid range <tt>0</tt>..<tt>7</tt>)</td></tr> |
456 <tr><td nowrap valign=top><tt>0A</tt> </td><td align=left>transformer; animation progress in m1 bits 5..2 (valid range <tt>0</tt>..<tt>7</tt>)</td></tr> |
457 </table> |
457 </table> |
458 </td></tr> |
458 </td></tr> |
459 <tr><td nowrap valign=top><tt>0B</tt>..<tt>0F</tt> </td><td align=left>sawmill</td></tr> |
459 <tr><td nowrap valign=top><tt>0B</tt>..<tt>0F</tt> </td><td align=left>sawmill</td></tr> |
460 <tr><td nowrap valign=top><tt>10</tt>..<tt>11</tt> </td><td align=left>forest |
460 <tr><td nowrap valign=top><tt>10</tt>..<tt>11</tt> </td><td align=left>forest |
461 <table> |
461 <table> |
465 <tr><td nowrap valign=top><tt>12</tt>..<tt>17</tt> </td><td align=left>oil refinery</td></tr> |
465 <tr><td nowrap valign=top><tt>12</tt>..<tt>17</tt> </td><td align=left>oil refinery</td></tr> |
466 <tr><td nowrap valign=top><tt>18</tt>..<tt>1C</tt> </td><td align=left>oil rig</td></tr> |
466 <tr><td nowrap valign=top><tt>18</tt>..<tt>1C</tt> </td><td align=left>oil rig</td></tr> |
467 <tr><td nowrap valign=top><tt>1D</tt>..<tt>20</tt> </td><td align=left>oil wells |
467 <tr><td nowrap valign=top><tt>1D</tt>..<tt>20</tt> </td><td align=left>oil wells |
468 <table> |
468 <table> |
469 <tr><td nowrap valign=top><tt>1D</tt> </td><td align=left>not animated</td></tr> |
469 <tr><td nowrap valign=top><tt>1D</tt> </td><td align=left>not animated</td></tr> |
470 <tr><td nowrap valign=top><tt>1E</tt>..<tt>20</tt> </td><td align=left>various stages of animation; progress of animation in owner bits 1..0</td></tr> |
470 <tr><td nowrap valign=top><tt>1E</tt>..<tt>20</tt> </td><td align=left>various stages of animation; progress of animation in m1 bits 1..0</td></tr> |
471 </table> |
471 </table> |
472 </td></tr> |
472 </td></tr> |
473 <tr><td nowrap valign=top><tt>21</tt>..<tt>26</tt> </td><td align=left>farm</td></tr> |
473 <tr><td nowrap valign=top><tt>21</tt>..<tt>26</tt> </td><td align=left>farm</td></tr> |
474 <tr><td nowrap valign=top><tt>27</tt>..<tt>2A</tt> </td><td align=left>factory (temperate climate)</td></tr> |
474 <tr><td nowrap valign=top><tt>27</tt>..<tt>2A</tt> </td><td align=left>factory (temperate climate)</td></tr> |
475 <tr><td nowrap valign=top><tt>2B</tt>..<tt>2E</tt> </td><td align=left>printing works</td></tr> |
475 <tr><td nowrap valign=top><tt>2B</tt>..<tt>2E</tt> </td><td align=left>printing works</td></tr> |
476 <tr><td nowrap valign=top><tt>2F</tt>..<tt>33</tt> </td><td align=left>copper ore mine |
476 <tr><td nowrap valign=top><tt>2F</tt>..<tt>33</tt> </td><td align=left>copper ore mine |
477 <table> |
477 <table> |
478 <tr><td nowrap valign=top><tt>2F</tt> </td><td align=left>wheel tower when not animated</td></tr> |
478 <tr><td nowrap valign=top><tt>2F</tt> </td><td align=left>wheel tower when not animated</td></tr> |
479 <tr><td nowrap valign=top><tt>30</tt> </td><td align=left>wheel tower when animated; animation state in owner bits 5..0; owner bit 6 set = sound already generated</td></tr> |
479 <tr><td nowrap valign=top><tt>30</tt> </td><td align=left>wheel tower when animated; animation state in m1 bits 5..0; m1 bit 6 set = sound already generated</td></tr> |
480 <tr><td nowrap valign=top><tt>31</tt> </td><td align=left>chimney</td></tr> |
480 <tr><td nowrap valign=top><tt>31</tt> </td><td align=left>chimney</td></tr> |
481 </table> |
481 </table> |
482 </td></tr> |
482 </td></tr> |
483 <tr><td nowrap valign=top><tt>34</tt>..<tt>39</tt> </td><td align=left>steel mill</td></tr> |
483 <tr><td nowrap valign=top><tt>34</tt>..<tt>39</tt> </td><td align=left>steel mill</td></tr> |
484 <tr><td nowrap valign=top><tt>3A</tt>..<tt>3B</tt> </td><td align=left>bank (temperate climate)</td></tr> |
484 <tr><td nowrap valign=top><tt>3A</tt>..<tt>3B</tt> </td><td align=left>bank (temperate climate)</td></tr> |
485 <tr><td nowrap valign=top><tt>3C</tt>..<tt>3F</tt> </td><td align=left>food processing plant</td></tr> |
485 <tr><td nowrap valign=top><tt>3C</tt>..<tt>3F</tt> </td><td align=left>food processing plant</td></tr> |
486 <tr><td nowrap valign=top><tt>40</tt>..<tt>47</tt> </td><td align=left>paper mill</td></tr> |
486 <tr><td nowrap valign=top><tt>40</tt>..<tt>47</tt> </td><td align=left>paper mill</td></tr> |
487 <tr><td nowrap valign=top><tt>48</tt>..<tt>58</tt> </td><td align=left>gold mine |
487 <tr><td nowrap valign=top><tt>48</tt>..<tt>58</tt> </td><td align=left>gold mine |
488 <table> |
488 <table> |
489 <tr><td nowrap valign=top><tt>4F</tt> </td><td align=left>wheel tower when not animated</td></tr> |
489 <tr><td nowrap valign=top><tt>4F</tt> </td><td align=left>wheel tower when not animated</td></tr> |
490 <tr><td nowrap valign=top><tt>58</tt> </td><td align=left>wheel tower when animated; animation state in owner bits 5..0; owner bit 6 set = sound already generated</td></tr> |
490 <tr><td nowrap valign=top><tt>58</tt> </td><td align=left>wheel tower when animated; animation state in m1 bits 5..0; m1 bit 6 set = sound already generated</td></tr> |
491 </table> |
491 </table> |
492 </td></tr> |
492 </td></tr> |
493 <tr><td nowrap valign=top><tt>59</tt>..<tt>5A</tt> </td><td align=left>bank (sub-arctic or sub-tropical climate)</td></tr> |
493 <tr><td nowrap valign=top><tt>59</tt>..<tt>5A</tt> </td><td align=left>bank (sub-arctic or sub-tropical climate)</td></tr> |
494 <tr><td nowrap valign=top><tt>5B</tt>..<tt>63</tt> </td><td align=left>diamond mine</td></tr> |
494 <tr><td nowrap valign=top><tt>5B</tt>..<tt>63</tt> </td><td align=left>diamond mine</td></tr> |
495 <tr><td nowrap valign=top><tt>64</tt>..<tt>73</tt> </td><td align=left>iron ore mine</td></tr> |
495 <tr><td nowrap valign=top><tt>64</tt>..<tt>73</tt> </td><td align=left>iron ore mine</td></tr> |
539 </td></tr> |
539 </td></tr> |
540 <tr><td colspan=2></td></tr> <!-- spacer --> |
540 <tr><td colspan=2></td></tr> <!-- spacer --> |
541 </table></li> |
541 </table></li> |
542 <li>m2: index into the <a href="#_IndustryArray">array of industries</a> |
542 <li>m2: index into the <a href="#_IndustryArray">array of industries</a> |
543 </li> |
543 </li> |
544 <li>owner bit 7: clear = under construction |
544 <li>m1 bit 7: clear = under construction |
545 <ul> |
545 <ul> |
546 <li>owner bits 4..2: construction counter, for buildings under construction incremented on every periodic tile processing |
546 <li>m1 bits 4..2: construction counter, for buildings under construction incremented on every periodic tile processing |
547 </li> |
547 </li> |
548 </ul></li> |
548 </ul></li> |
549 <li>owner bits 1..0: stage of construction (<tt>3</tt> = completed), incremented when the construction counter wraps around |
549 <li>m1 bits 1..0: stage of construction (<tt>3</tt> = completed), incremented when the construction counter wraps around |
550 <br>the meaning is different for some animated tiles which are never under construction (types <tt>01</tt>, <tt>1E</tt>..<tt>20</tt>, <tt>30</tt>, <tt>58</tt>; see above) |
550 <br>the meaning is different for some animated tiles which are never under construction (types <tt>01</tt>, <tt>1E</tt>..<tt>20</tt>, <tt>30</tt>, <tt>58</tt>; see above) |
551 </li> |
551 </li> |
552 </ul> |
552 </ul> |
553 </td></tr> |
553 </td></tr> |
554 |
554 |
555 <tr><td valign=top nowrap><a name="Class9"><tt> 9 </tt></a></td><td> |
555 <tr><td valign=top nowrap><a name="Class9"><tt> 9 </tt></a></td><td> |
556 m5 bits 7..4 clear: tunnel entrance/exit |
556 m5 bits 7..4 clear: tunnel entrance/exit |
557 <ul> |
557 <ul> |
558 <li>m5 bits 3..2: <tt>0</tt> - railway tunnel, <tt>1</tt> - road tunnel</li> |
558 <li>m5 bits 3..2: <tt>0</tt> - railway tunnel, <tt>1</tt> - road tunnel</li> |
559 <li>m5 bits 1..0 - direction: entrance towards: <tt>0</tt> = NE, <tt>1</tt> = SE, <tt>2</tt> = SW, <tt>3</tt> = NW</li> |
559 <li>m5 bits 1..0 - direction: entrance towards: <tt>0</tt> = NE, <tt>1</tt> = SE, <tt>2</tt> = SW, <tt>3</tt> = NW</li> |
560 <li>owner: <a href="#OwnershipInfo">owner</a> of the tunnel</li> |
560 <li>m1: <a href="#OwnershipInfo">owner</a> of the tunnel</li> |
561 <li>m3 bits 3..0 = <a href="#TrackType">track type</a> for railway tunnel, must be 0 for road tunnel</li> |
561 <li>m3 bits 3..0 = <a href="#TrackType">track type</a> for railway tunnel, must be 0 for road tunnel</li> |
562 <li>m4 bit 7 set = on snow or desert</li> |
562 <li>m4 bit 7 set = on snow or desert</li> |
563 <li>m4 bit 0 set = track with 'Track'number 0 is reserved by pbs</li> |
563 <li>m4 bit 0 set = track with 'Track'number 0 is reserved by pbs</li> |
564 <li>m4 bit 1 set = track with 'Track'number 1 is reserved by pbs</li> |
564 <li>m4 bit 1 set = track with 'Track'number 1 is reserved by pbs</li> |
565 </ul> |
565 </ul> |
582 <li>m5 bits 4..3: transport route under bridge: <tt>0</tt> - railway, <tt>1</tt> - road</li> |
582 <li>m5 bits 4..3: transport route under bridge: <tt>0</tt> - railway, <tt>1</tt> - road</li> |
583 </ul> |
583 </ul> |
584 <li>m3 bits 7..4 = <a href="#TrackType">type of track</a> on the bridge, must be 0 for road bridge</li> |
584 <li>m3 bits 7..4 = <a href="#TrackType">type of track</a> on the bridge, must be 0 for road bridge</li> |
585 <li>m3 bits 3..0 = <a href="#TrackType">type of track</a> under the bridge, if any</li> |
585 <li>m3 bits 3..0 = <a href="#TrackType">type of track</a> under the bridge, if any</li> |
586 <li>m2 bits 3..0: bridge piece (<tt>0</tt>..<tt>5</tt>) |
586 <li>m2 bits 3..0: bridge piece (<tt>0</tt>..<tt>5</tt>) |
587 <li>owner: <a href="#OwnershipInfo">owner</a> of the land under bridge</li> |
587 <li>m1: <a href="#OwnershipInfo">owner</a> of the land under bridge</li> |
588 </ul></li> |
588 </ul></li> |
589 <li>m5 bits 2..1: <tt>0</tt> - railway bridge, <tt>1</tt> - road bridge</li> |
589 <li>m5 bits 2..1: <tt>0</tt> - railway bridge, <tt>1</tt> - road bridge</li> |
590 <li>m5 bit 0: clear - bridge in the X direction, set - bridge in the Y direction</li> |
590 <li>m5 bit 0: clear - bridge in the X direction, set - bridge in the Y direction</li> |
591 <li>m2 bits 7..4: <a name="BridgeType">bridge type</a>: |
591 <li>m2 bits 7..4: <a name="BridgeType">bridge type</a>: |
592 <table> |
592 <table> |
616 <tr><td nowrap valign=top><tt>02</tt> </td><td align=left>company statue</td></tr> |
616 <tr><td nowrap valign=top><tt>02</tt> </td><td align=left>company statue</td></tr> |
617 <tr><td nowrap valign=top><tt>03</tt> </td><td align=left>company-owned land</td></tr> |
617 <tr><td nowrap valign=top><tt>03</tt> </td><td align=left>company-owned land</td></tr> |
618 <tr><td nowrap valign=top><tt>80</tt>..<tt>93</tt> </td><td align=left>company headquarters (5 sets of 4 tiles each, updated quarterly depending on the company performance)</td></tr> |
618 <tr><td nowrap valign=top><tt>80</tt>..<tt>93</tt> </td><td align=left>company headquarters (5 sets of 4 tiles each, updated quarterly depending on the company performance)</td></tr> |
619 </table> |
619 </table> |
620 </li> |
620 </li> |
621 <li>owner: <a href="#OwnershipInfo">owner</a> of the object (for lighthouses and transmitters normally <tt>10</tt>)</li> |
621 <li>m1: <a href="#OwnershipInfo">owner</a> of the object (for lighthouses and transmitters normally <tt>10</tt>)</li> |
622 </ul> |
622 </ul> |
623 </td></tr> |
623 </td></tr> |
624 |
624 |
625 <tr><td colspan=2> |
625 <tr><td colspan=2> |
626 Classes <tt>B</tt> through <tt>F</tt> are reserved. The presence of a tile in one of the reserved classes will crash OTTD. |
626 Classes <tt>B</tt> through <tt>F</tt> are reserved. The presence of a tile in one of the reserved classes will crash OTTD. |