scanTile: use annotations in tiles.rc to determine behavior of tiles

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@832 d9718cc8-9f43-0410-858b-315f434eb58c
This commit is contained in:
jason@long.name 2013-09-01 21:34:06 +00:00
parent 070cd90727
commit bef75adc90
3 changed files with 194 additions and 193 deletions

View file

@ -53,41 +53,42 @@
46 terrain@0,736 (noburn)(description=#3)
47 terrain@0,752 (noburn)(description=#3)
# BEGIN FLOODING (4 frames) #
48 terrain@0,768 (noburn)(description=#4)
49 terrain@0,784 (noburn)(description=#4)
50 terrain@0,800 (noburn)(description=#4)
51 terrain@0,816 (noburn)(description=#4)
48 terrain@0,768 (noburn)(description=#4)(behavior=FLOOD)
49 terrain@0,784 (noburn)(description=#4)(behavior=FLOOD)
50 terrain@0,800 (noburn)(description=#4)(behavior=FLOOD)
51 terrain@0,816 (noburn)(description=#4)(behavior=FLOOD)
# BEGIN RADIATION #
52 terrain@0,832 (noburn)(description=#5)
53 terrain@0,848 (noburn)(description=#5)
54 terrain@0,864 (noburn)(description=#5)
55 terrain@0,880 (noburn)(description=#5)
52 terrain@0,832 (noburn)(description=#5)(behavior=RADIOACTIVE)
53 terrain@0,848 (noburn)(description=#5)(behavior=RADIOACTIVE)
54 terrain@0,864 (noburn)(description=#5)(behavior=RADIOACTIVE)
55 terrain@0,880 (noburn)(description=#5)(behavior=RADIOACTIVE)
# BEGIN FIRE ANIMATION #
56 terrain@0,896 (noburn)(description=#6) (becomes=57)
57 terrain@0,912 (noburn)(description=#6) (becomes=58)
58 terrain@0,928 (noburn)(description=#6) (becomes=59)
59 terrain@0,944 (noburn)(description=#6) (becomes=60)
60 terrain@0,960 (noburn)(description=#6) (becomes=61)
61 terrain@0,976 (noburn)(description=#6) (becomes=62)
62 terrain@0,992 (noburn)(description=#6) (becomes=63)
63 terrain@0,1008 (noburn)(description=#6) (becomes=56)
56 terrain@0,896 (noburn)(description=#6)(behavior=FIRE)(becomes=57)
57 terrain@0,912 (noburn)(description=#6)(behavior=FIRE)(becomes=58)
58 terrain@0,928 (noburn)(description=#6)(behavior=FIRE)(becomes=59)
59 terrain@0,944 (noburn)(description=#6)(behavior=FIRE)(becomes=60)
60 terrain@0,960 (noburn)(description=#6)(behavior=FIRE)(becomes=61)
61 terrain@0,976 (noburn)(description=#6)(behavior=FIRE)(becomes=62)
62 terrain@0,992 (noburn)(description=#6)(behavior=FIRE)(becomes=63)
63 terrain@0,1008 (noburn)(description=#6)(behavior=FIRE)(becomes=56)
# BEGIN ROADS WITH NO TRAFFIC #
64 roads@0,0 (noburn)(description=#7)
65 roads@0,16 (noburn)(description=#7)
66 roads@0,32 (description=#7)
67 roads@0,48 (description=#7)
68 roads@0,64 (description=#7)
69 roads@0,80 (description=#7)
70 roads@0,96 (description=#7)
71 roads@0,112 (description=#7)
72 roads@0,128 (description=#7)
73 roads@0,144 (description=#7)
74 roads@0,160 (description=#7)
75 roads@0,176 (description=#7)
76 roads@0,192 (description=#7)
77 roads@0,32 |roadwire@0,0 (conducts)(description=#7)
78 roads@0,48 |roadwire@0,16 (conducts)(description=#7)
79 roads@0,240 (description=#7)
64 roads@0,0 (noburn)(description=#7)(behavior=ROAD)
65 roads@0,16 (noburn)(description=#7)(behavior=ROAD)
66 roads@0,32 (description=#7)(behavior=ROAD)
67 roads@0,48 (description=#7)(behavior=ROAD)
68 roads@0,64 (description=#7)(behavior=ROAD)
69 roads@0,80 (description=#7)(behavior=ROAD)
70 roads@0,96 (description=#7)(behavior=ROAD)
71 roads@0,112 (description=#7)(behavior=ROAD)
72 roads@0,128 (description=#7)(behavior=ROAD)
73 roads@0,144 (description=#7)(behavior=ROAD)
74 roads@0,160 (description=#7)(behavior=ROAD)
75 roads@0,176 (description=#7)(behavior=ROAD)
76 roads@0,192 (description=#7)(behavior=ROAD)
77 roads@0,32 |roadwire@0,0 (conducts)(description=#7)(behavior=ROAD)
78 roads@0,48 |roadwire@0,16 (conducts)(description=#7)(behavior=ROAD)
# open draw bridge (east-west) -
79 roads@0,240 (description=#7)(behavior=ROAD)
# BEGIN ROADS WITH LIGHT TRAFFIC #
80 (64) |traffic@0,0 (becomes=128)
81 (65) |traffic@0,16 (becomes=129)
@ -102,9 +103,10 @@
90 (74) |traffic@0,0 (becomes=138)
91 (75) |traffic@0,16 (becomes=139)
92 (76) |traffic@0,192 (becomes=140)
93 roads@0,32 |traffic@0,0 |roadwire@0,0 (conducts)(becomes=141)(description=#7)
94 roads@0,48 |traffic@0,16 |roadwire@0,16 (conducts)(becomes=142)(description=#7)
95 roads@0,240 (becomes=143)(description=#7)
93 roads@0,32 |traffic@0,0 |roadwire@0,0 (conducts)(becomes=141)(description=#7)(behavior=ROAD)
94 roads@0,48 |traffic@0,16 |roadwire@0,16 (conducts)(becomes=142)(description=#7)(behavior=ROAD)
# open draw bridge (north-south) -
95 roads@0,240 (becomes=143)(description=#7)(behavior=ROAD)
96 (64) |traffic@16,0 (becomes=80)
97 (65) |traffic@16,16 (becomes=81)
98 (66) |traffic@16,0 (becomes=82)
@ -118,9 +120,9 @@
106 (74) |traffic@16,0 (becomes=90)
107 (75) |traffic@16,16 (becomes=91)
108 (76) |traffic@16,192 (becomes=92)
109 roads@0,32 |traffic@16,0 |roadwire@0,0 (conducts)(becomes=93)(description=#7)
110 roads@0,48 |traffic@16,16 |roadwire@0,16 (conducts)(becomes=94)(description=#7)
111 roads@0,240 (becomes=95)(description=#7)
109 roads@0,32 |traffic@16,0 |roadwire@0,0 (conducts)(becomes=93)(description=#7)(behavior=ROAD)
110 roads@0,48 |traffic@16,16 |roadwire@0,16 (conducts)(becomes=94)(description=#7)(behavior=ROAD)
111 roads@0,240 (becomes=95)(description=#7)(behavior=ROAD)
112 (64) |traffic@32,0 (becomes=96)
113 (65) |traffic@32,16 (becomes=97)
114 (66) |traffic@32,0 (becomes=98)
@ -134,9 +136,9 @@
122 (74) |traffic@32,0 (becomes=106)
123 (75) |traffic@32,16 (becomes=107)
124 (76) |traffic@32,192 (becomes=108)
125 roads@0,32 |traffic@32,0 |roadwire@0,0 (conducts)(becomes=109)(description=#7)
126 roads@0,48 |traffic@32,16 |roadwire@0,16 (conducts)(becomes=110)(description=#7)
127 roads@0,240 (becomes=111)(description=#7)
125 roads@0,32 |traffic@32,0 |roadwire@0,0 (conducts)(becomes=109)(description=#7)(behavior=ROAD)
126 roads@0,48 |traffic@32,16 |roadwire@0,16 (conducts)(becomes=110)(description=#7)(behavior=ROAD)
127 roads@0,240 (becomes=111)(description=#7)(behavior=ROAD)
128 (64) |traffic@48,0 (becomes=112)
129 (65) |traffic@48,16 (becomes=113)
130 (66) |traffic@48,0 (becomes=114)
@ -150,9 +152,9 @@
138 (74) |traffic@48,0 (becomes=122)
139 (75) |traffic@48,16 (becomes=123)
140 (76) |traffic@48,192 (becomes=124)
141 roads@0,32 |traffic@48,0 |roadwire@0,0 (conducts)(becomes=125)(description=#7)
142 roads@0,48 |traffic@48,16 |roadwire@0,16 (conducts)(becomes=126)(description=#7)
143 roads@0,240 (becomes=127)(description=#7)
141 roads@0,32 |traffic@48,0 |roadwire@0,0 (conducts)(becomes=125)(description=#7)(behavior=ROAD)
142 roads@0,48 |traffic@48,16 |roadwire@0,16 (conducts)(becomes=126)(description=#7)(behavior=ROAD)
143 roads@0,240 (becomes=127)(description=#7)(behavior=ROAD)
# BEGIN ROADS WITH HEAVY TRAFFIC #
144 (64) |traffic@64,0 (becomes=192)
145 (65) |traffic@64,16 (becomes=193)
@ -167,9 +169,9 @@
154 (74) |traffic@64,0 (becomes=202)
155 (75) |traffic@64,16 (becomes=203)
156 (76) |traffic@64,192 (becomes=204)
157 roads@0,32 |traffic@64,0 |roadwire@0,0 (conducts)(becomes=205)(description=#7)
158 roads@0,48 |traffic@64,16 |roadwire@0,16 (conducts)(becomes=206)(description=#7)
159 roads@0,240 (becomes=207)(description=#7)
157 roads@0,32 |traffic@64,0 |roadwire@0,0 (conducts)(becomes=205)(description=#7)(behavior=ROAD)
158 roads@0,48 |traffic@64,16 |roadwire@0,16 (conducts)(becomes=206)(description=#7)(behavior=ROAD)
159 roads@0,240 (becomes=207)(description=#7)(behavior=ROAD)
160 (64) |traffic@80,0 (becomes=144)
161 (65) |traffic@80,16 (becomes=145)
162 (66) |traffic@80,0 (becomes=146)
@ -183,9 +185,9 @@
170 (74) |traffic@80,0 (becomes=154)
171 (75) |traffic@80,16 (becomes=155)
172 (76) |traffic@80,192 (becomes=156)
173 roads@0,32 |traffic@80,0 |roadwire@0,0 (conducts)(becomes=157)(description=#7)
174 roads@0,48 |traffic@80,16 |roadwire@0,16 (conducts)(becomes=158)(description=#7)
175 roads@0,240 (becomes=159)(description=#7)
173 roads@0,32 |traffic@80,0 |roadwire@0,0 (conducts)(becomes=157)(description=#7)(behavior=ROAD)
174 roads@0,48 |traffic@80,16 |roadwire@0,16 (conducts)(becomes=158)(description=#7)(behavior=ROAD)
175 roads@0,240 (becomes=159)(description=#7)(behavior=ROAD)
176 (64) |traffic@96,0 (becomes=160)
177 (65) |traffic@96,16 (becomes=161)
178 (66) |traffic@96,0 (becomes=162)
@ -199,9 +201,9 @@
186 (74) |traffic@96,0 (becomes=170)
187 (75) |traffic@96,16 (becomes=171)
188 (76) |traffic@96,192 (becomes=172)
189 roads@0,32 |traffic@96,0 |roadwire@0,0 (conducts)(becomes=173)(description=#7)
190 roads@0,48 |traffic@96,16 |roadwire@0,16 (conducts)(becomes=174)(description=#7)
191 roads@0,240 (becomes=175)(description=#7)
189 roads@0,32 |traffic@96,0 |roadwire@0,0 (conducts)(becomes=173)(description=#7)(behavior=ROAD)
190 roads@0,48 |traffic@96,16 |roadwire@0,16 (conducts)(becomes=174)(description=#7)(behavior=ROAD)
191 roads@0,240 (becomes=175)(description=#7)(behavior=ROAD)
192 (64) |traffic@112,0 (becomes=176)
193 (65) |traffic@112,16 (becomes=177)
194 (66) |traffic@112,0 (becomes=178)
@ -215,9 +217,9 @@
202 (74) |traffic@112,0 (becomes=186)
203 (75) |traffic@112,16 (becomes=187)
204 (76) |traffic@112,192 (becomes=188)
205 roads@0,32 |traffic@112,0 |roadwire@0,0 (conducts)(becomes=189)(description=#7)
206 roads@0,48 |traffic@112,16 |roadwire@0,16 (conducts)(becomes=190)(description=#7)
207 roads@0,240 (becomes=191)(description=#7)
205 roads@0,32 |traffic@112,0 |roadwire@0,0 (conducts)(becomes=189)(description=#7)(behavior=ROAD)
206 roads@0,48 |traffic@112,16 |roadwire@0,16 (conducts)(becomes=190)(description=#7)(behavior=ROAD)
207 roads@0,240 (becomes=191)(description=#7)(behavior=ROAD)
# BEGIN WIRES #
208 wires@0,0 (noburn)(conducts)(description=#8)
209 wires@0,16 (noburn)(conducts)(description=#8)
@ -236,28 +238,28 @@
222 wires@0,224 (conducts)(description=#8)
223 wires@0,240 (conducts)(description=#8)
# BEGIN RAILS #
224 rails@0,0 (noburn)(description=#9)
225 rails@0,16 (noburn)(description=#9)
226 rails@0,32 (description=#9)
227 rails@0,48 (description=#9)
228 rails@0,64 (description=#9)
229 rails@0,80 (description=#9)
230 rails@0,96 (description=#9)
231 rails@0,112 (description=#9)
232 rails@0,128 (description=#9)
233 rails@0,144 (description=#9)
234 rails@0,160 (description=#9)
235 rails@0,176 (description=#9)
236 rails@0,192 (description=#9)
237 rails@0,208 (description=#9)
238 rails@0,224 (description=#9)
239 rails@0,240 (description=#9)
224 rails@0,0 (noburn)(description=#9)(behavior=RAIL)
225 rails@0,16 (noburn)(description=#9)(behavior=RAIL)
226 rails@0,32 (description=#9)(behavior=RAIL)
227 rails@0,48 (description=#9)(behavior=RAIL)
228 rails@0,64 (description=#9)(behavior=RAIL)
229 rails@0,80 (description=#9)(behavior=RAIL)
230 rails@0,96 (description=#9)(behavior=RAIL)
231 rails@0,112 (description=#9)(behavior=RAIL)
232 rails@0,128 (description=#9)(behavior=RAIL)
233 rails@0,144 (description=#9)(behavior=RAIL)
234 rails@0,160 (description=#9)(behavior=RAIL)
235 rails@0,176 (description=#9)(behavior=RAIL)
236 rails@0,192 (description=#9)(behavior=RAIL)
237 rails@0,208 (description=#9)(behavior=RAIL)
238 rails@0,224 (description=#9)(behavior=RAIL)
239 rails@0,240 (description=#9)(behavior=RAIL)
# BEGIN RESIDENTIAL #
240 res_zones@0,0 (conducts)
241 res_zones@16,0 (conducts)
242 res_zones@32,0 (conducts)
243 res_zones@0,16 (conducts)
244 res_zones@16,16 (zone)(conducts)(building=3x3)(residential-zone)(population=0)(description=#10)
244 res_zones@16,16 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=0)(description=#10)
245 res_zones@32,16 (conducts)
246 res_zones@0,32 (conducts)
247 res_zones@16,32 (conducts)
@ -278,7 +280,7 @@
262 res_zones@16,48 (conducts)
263 res_zones@32,48 (conducts)
264 res_zones@0,64 (conducts)
265 res_zones@16,64 (zone)(conducts)(building=3x3)(residential-zone)(population=16)(description=#10)
265 res_zones@16,64 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=16)(description=#10)
266 res_zones@32,64 (conducts)
267 res_zones@0,80 (conducts)
268 res_zones@16,80 (conducts)
@ -287,7 +289,7 @@
271 res_zones@16,96 (conducts)
272 res_zones@32,96 (conducts)
273 res_zones@0,112 (conducts)
274 res_zones@16,112 (zone)(conducts)(building=3x3)(residential-zone)(population=24)(description=#10)
274 res_zones@16,112 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=24)(description=#10)
275 res_zones@32,112 (conducts)
276 res_zones@0,128 (conducts)
277 res_zones@16,128 (conducts)
@ -296,7 +298,7 @@
280 res_zones@16,144 (conducts)
281 res_zones@32,144 (conducts)
282 res_zones@0,160 (conducts)
283 res_zones@16,160 (zone)(conducts)(building=3x3)(residential-zone)(population=32)(description=#10)
283 res_zones@16,160 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=32)(description=#10)
284 res_zones@32,160 (conducts)
285 res_zones@0,176 (conducts)
286 res_zones@16,176 (conducts)
@ -305,7 +307,7 @@
289 res_zones@16,192 (conducts)
290 res_zones@32,192 (conducts)
291 res_zones@0,208 (conducts)
292 res_zones@16,208 (zone)(conducts)(building=3x3)(residential-zone)(population=40)(description=#10)
292 res_zones@16,208 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=40)(description=#10)
293 res_zones@32,208 (conducts)
294 res_zones@0,224 (conducts)
295 res_zones@16,224 (conducts)
@ -314,7 +316,7 @@
298 res_zones@16,240 (conducts)
299 res_zones@32,240 (conducts)
300 res_zones@0,256 (conducts)
301 res_zones@16,256 (zone)(conducts)(building=3x3)(residential-zone)(population=16)(description=#10)
301 res_zones@16,256 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=16)(description=#10)
302 res_zones@32,256 (conducts)
303 res_zones@0,272 (conducts)
304 res_zones@16,272 (conducts)
@ -323,7 +325,7 @@
307 res_zones@16,288 (conducts)
308 res_zones@32,288 (conducts)
309 res_zones@0,304 (conducts)
310 res_zones@16,304 (zone)(conducts)(building=3x3)(residential-zone)(population=24)(description=#10)
310 res_zones@16,304 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=24)(description=#10)
311 res_zones@32,304 (conducts)
312 res_zones@0,320 (conducts)
313 res_zones@16,320 (conducts)
@ -332,7 +334,7 @@
316 res_zones@16,336 (conducts)
317 res_zones@32,336 (conducts)
318 res_zones@0,352 (conducts)
319 res_zones@16,352 (zone)(conducts)(building=3x3)(residential-zone)(population=32)(description=#10)
319 res_zones@16,352 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=32)(description=#10)
320 res_zones@32,352 (conducts)
321 res_zones@0,368 (conducts)
322 res_zones@16,368 (conducts)
@ -341,7 +343,7 @@
325 res_zones@16,384 (conducts)
326 res_zones@32,384 (conducts)
327 res_zones@0,400 (conducts)
328 res_zones@16,400 (zone)(conducts)(building=3x3)(residential-zone)(population=40)(description=#10)
328 res_zones@16,400 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=40)(description=#10)
329 res_zones@32,400 (conducts)
330 res_zones@0,416 (conducts)
331 res_zones@16,416 (conducts)
@ -350,7 +352,7 @@
334 res_zones@16,432 (conducts)
335 res_zones@32,432 (conducts)
336 res_zones@0,448 (conducts)
337 res_zones@16,448 (zone)(conducts)(building=3x3)(residential-zone)(population=16)(description=#10)
337 res_zones@16,448 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=16)(description=#10)
338 res_zones@32,448 (conducts)
339 res_zones@0,464 (conducts)
340 res_zones@16,464 (conducts)
@ -359,7 +361,7 @@
343 res_zones@16,480 (conducts)
344 res_zones@32,480 (conducts)
345 res_zones@0,496 (conducts)
346 res_zones@16,496 (zone)(conducts)(building=3x3)(residential-zone)(population=24)(description=#10)
346 res_zones@16,496 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=24)(description=#10)
347 res_zones@32,496 (conducts)
348 res_zones@0,512 (conducts)
349 res_zones@16,512 (conducts)
@ -368,7 +370,7 @@
352 res_zones@16,528 (conducts)
353 res_zones@32,528 (conducts)
354 res_zones@0,544 (conducts)
355 res_zones@16,544 (zone)(conducts)(building=3x3)(residential-zone)(population=32)(description=#10)
355 res_zones@16,544 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=32)(description=#10)
356 res_zones@32,544 (conducts)
357 res_zones@0,560 (conducts)
358 res_zones@16,560 (conducts)
@ -377,7 +379,7 @@
361 res_zones@16,576 (conducts)
362 res_zones@32,576 (conducts)
363 res_zones@0,592 (conducts)
364 res_zones@16,592 (zone)(conducts)(building=3x3)(residential-zone)(population=40)(description=#10)
364 res_zones@16,592 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=40)(description=#10)
365 res_zones@32,592 (conducts)
366 res_zones@0,608 (conducts)
367 res_zones@16,608 (conducts)
@ -386,7 +388,7 @@
370 res_zones@16,624 (conducts)
371 res_zones@32,624 (conducts)
372 res_zones@0,640 (conducts)
373 res_zones@16,640 (zone)(conducts)(building=3x3)(residential-zone)(population=16)(description=#10)
373 res_zones@16,640 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=16)(description=#10)
374 res_zones@32,640 (conducts)
375 res_zones@0,656 (conducts)
376 res_zones@16,656 (conducts)
@ -395,7 +397,7 @@
379 res_zones@16,672 (conducts)
380 res_zones@32,672 (conducts)
381 res_zones@0,688 (conducts)
382 res_zones@16,688 (zone)(conducts)(building=3x3)(residential-zone)(population=24)(description=#10)
382 res_zones@16,688 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=24)(description=#10)
383 res_zones@32,688 (conducts)
384 res_zones@0,704 (conducts)
385 res_zones@16,704 (conducts)
@ -404,7 +406,7 @@
388 res_zones@16,720 (conducts)
389 res_zones@32,720 (conducts)
390 res_zones@0,736 (conducts)
391 res_zones@16,736 (zone)(conducts)(building=3x3)(residential-zone)(population=32)(description=#10)
391 res_zones@16,736 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=32)(description=#10)
392 res_zones@32,736 (conducts)
393 res_zones@0,752 (conducts)
394 res_zones@16,752 (conducts)
@ -413,7 +415,7 @@
397 res_zones@16,768 (conducts)
398 res_zones@32,768 (conducts)
399 res_zones@0,784 (conducts)
400 res_zones@16,784 (zone)(conducts)(building=3x3)(residential-zone)(population=40)(description=#10)
400 res_zones@16,784 (zone)(conducts)(building=3x3)(residential-zone)(behavior=RESIDENTIAL)(population=40)(description=#10)
401 res_zones@32,784 (conducts)
402 res_zones@0,800 (conducts)
403 res_zones@16,800 (conducts)
@ -423,7 +425,7 @@
406 res_zones@16,816 (conducts)
407 res_zones@32,816 (conducts)
408 res_zones@0,832 (conducts)
409 res_zones@16,832 (zone)(conducts)(building=3x3)(residential-zone)(description=#10)
409 res_zones@16,832 (zone)(conducts)(building=3x3)(residential-zone)(behavior=HOSPITAL_CHURCH)(description=#10)
410 res_zones@32,832 (conducts)
411 res_zones@0,848 (conducts)
412 res_zones@16,848 (conducts)
@ -432,7 +434,7 @@
415 res_zones@16,864 (conducts)
416 res_zones@32,864 (conducts)
417 res_zones@0,880 (conducts)
418 res_zones@16,880 (zone)(conducts)(building=3x3)(residential-zone)(description=#10)
418 res_zones@16,880 (zone)(conducts)(building=3x3)(residential-zone)(behavior=HOSPITAL_CHURCH)(description=#10)
419 res_zones@32,880 (conducts)
420 res_zones@0,896 (conducts)
421 res_zones@16,896 (conducts)
@ -442,7 +444,7 @@
424 com_zones@16,0 (conducts)
425 com_zones@32,0 (conducts)
426 com_zones@0,16 (conducts)
427 com_zones@16,16 (zone)(conducts)(building=3x3)(commercial-zone)(population=0)(description=#11)
427 com_zones@16,16 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=0)(description=#11)
428 com_zones@32,16 (conducts)
429 com_zones@0,32 (conducts)
430 com_zones@16,32 (conducts)
@ -451,7 +453,7 @@
433 com_zones@16,48 (conducts)
434 com_zones@32,48 (conducts)
435 com_zones@0,64 (conducts)
436 com_zones@16,64 (zone)(conducts)(building=3x3)(commercial-zone)(population=8)(description=#11)
436 com_zones@16,64 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=8)(description=#11)
437 com_zones@32,64 (conducts)
438 com_zones@0,80 (conducts)
439 com_zones@16,80 (conducts)
@ -460,7 +462,7 @@
442 com_zones@16,96 (conducts)
443 com_zones@32,96 (conducts)
444 com_zones@0,112 (conducts)
445 com_zones@16,112 (zone)(conducts)(building=3x3)(commercial-zone)(population=16)(description=#11)
445 com_zones@16,112 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=16)(description=#11)
446 com_zones@32,112 (conducts)
447 com_zones@0,128 (conducts)
448 com_zones@16,128 (conducts)
@ -469,7 +471,7 @@
451 com_zones@16,144 (conducts)
452 com_zones@32,144 (conducts)
453 com_zones@0,160 (conducts)
454 com_zones@16,160 (zone)(conducts)(building=3x3)(commercial-zone)(population=24)(description=#11)
454 com_zones@16,160 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=24)(description=#11)
455 com_zones@32,160 (conducts)
456 com_zones@0,176 (conducts)
457 com_zones@16,176 (conducts)
@ -478,7 +480,7 @@
460 com_zones@16,192 (conducts)
461 com_zones@32,192 (conducts)
462 com_zones@0,208 (conducts)
463 com_zones@16,208 (zone)(conducts)(building=3x3)(commercial-zone)(population=32)(description=#11)
463 com_zones@16,208 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=32)(description=#11)
464 com_zones@32,208 (conducts)
465 com_zones@0,224 (conducts)
466 com_zones@16,224 (conducts)
@ -487,7 +489,7 @@
469 com_zones@16,240 (conducts)
470 com_zones@32,240 (conducts)
471 com_zones@0,256 (conducts)
472 com_zones@16,256 (zone)(conducts)(building=3x3)(commercial-zone)(population=40)(description=#11)
472 com_zones@16,256 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=40)(description=#11)
473 com_zones@32,256 (conducts)
474 com_zones@0,272 (conducts)
475 com_zones@16,272 (conducts)
@ -496,7 +498,7 @@
478 com_zones@16,288 (conducts)
479 com_zones@32,288 (conducts)
480 com_zones@0,304 (conducts)
481 com_zones@16,304 (zone)(conducts)(building=3x3)(commercial-zone)(population=8)(description=#11)
481 com_zones@16,304 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=8)(description=#11)
482 com_zones@32,304 (conducts)
483 com_zones@0,320 (conducts)
484 com_zones@16,320 (conducts)
@ -505,7 +507,7 @@
487 com_zones@16,336 (conducts)
488 com_zones@32,336 (conducts)
489 com_zones@0,352 (conducts)
490 com_zones@16,352 (zone)(conducts)(building=3x3)(commercial-zone)(population=16)(description=#11)
490 com_zones@16,352 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=16)(description=#11)
491 com_zones@32,352 (conducts)
492 com_zones@0,368 (conducts)
493 com_zones@16,368 (conducts)
@ -514,7 +516,7 @@
496 com_zones@16,384 (conducts)
497 com_zones@32,384 (conducts)
498 com_zones@0,400 (conducts)
499 com_zones@16,400 (zone)(conducts)(building=3x3)(commercial-zone)(population=24)(description=#11)
499 com_zones@16,400 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=24)(description=#11)
500 com_zones@32,400 (conducts)
501 com_zones@0,416 (conducts)
502 com_zones@16,416 (conducts)
@ -523,7 +525,7 @@
505 com_zones@16,432 (conducts)
506 com_zones@32,432 (conducts)
507 com_zones@0,448 (conducts)
508 com_zones@16,448 (zone)(conducts)(building=3x3)(commercial-zone)(population=32)(description=#11)
508 com_zones@16,448 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=32)(description=#11)
509 com_zones@32,448 (conducts)
510 com_zones@0,464 (conducts)
511 com_zones@16,464 (conducts)
@ -532,7 +534,7 @@
514 com_zones@16,480 (conducts)
515 com_zones@32,480 (conducts)
516 com_zones@0,496 (conducts)
517 com_zones@16,496 (zone)(conducts)(building=3x3)(commercial-zone)(population=40)(description=#11)
517 com_zones@16,496 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=40)(description=#11)
518 com_zones@32,496 (conducts)
519 com_zones@0,512 (conducts)
520 com_zones@16,512 (conducts)
@ -541,7 +543,7 @@
523 com_zones@16,528 (conducts)
524 com_zones@32,528 (conducts)
525 com_zones@0,544 (conducts)
526 com_zones@16,544 (zone)(conducts)(building=3x3)(commercial-zone)(population=8)(description=#11)
526 com_zones@16,544 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=8)(description=#11)
527 com_zones@32,544 (conducts)
528 com_zones@0,560 (conducts)
529 com_zones@16,560 (conducts)
@ -550,7 +552,7 @@
532 com_zones@16,576 (conducts)
533 com_zones@32,576 (conducts)
534 com_zones@0,592 (conducts)
535 com_zones@16,592 (zone)(conducts)(building=3x3)(commercial-zone)(population=16)(description=#11)
535 com_zones@16,592 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=16)(description=#11)
536 com_zones@32,592 (conducts)
537 com_zones@0,608 (conducts)
538 com_zones@16,608 (conducts)
@ -559,7 +561,7 @@
541 com_zones@16,624 (conducts)
542 com_zones@32,624 (conducts)
543 com_zones@0,640 (conducts)
544 com_zones@16,640 (zone)(conducts)(building=3x3)(commercial-zone)(population=24)(description=#11)
544 com_zones@16,640 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=24)(description=#11)
545 com_zones@32,640 (conducts)
546 com_zones@0,656 (conducts)
547 com_zones@16,656 (conducts)
@ -568,7 +570,7 @@
550 com_zones@16,672 (conducts)
551 com_zones@32,672 (conducts)
552 com_zones@0,688 (conducts)
553 com_zones@16,688 (zone)(conducts)(building=3x3)(commercial-zone)(population=32)(description=#11)
553 com_zones@16,688 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=32)(description=#11)
554 com_zones@32,688 (conducts)
555 com_zones@0,704 (conducts)
556 com_zones@16,704 (conducts)
@ -577,7 +579,7 @@
559 com_zones@16,720 (conducts)
560 com_zones@32,720 (conducts)
561 com_zones@0,736 (conducts)
562 com_zones@16,736 (zone)(conducts)(building=3x3)(commercial-zone)(population=40)(description=#11)
562 com_zones@16,736 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=40)(description=#11)
563 com_zones@32,736 (conducts)
564 com_zones@0,752 (conducts)
565 com_zones@16,752 (conducts)
@ -586,7 +588,7 @@
568 com_zones@16,768 (conducts)
569 com_zones@32,768 (conducts)
570 com_zones@0,784 (conducts)
571 com_zones@16,784 (zone)(conducts)(building=3x3)(commercial-zone)(population=8)(description=#11)
571 com_zones@16,784 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=8)(description=#11)
572 com_zones@32,784 (conducts)
573 com_zones@0,800 (conducts)
574 com_zones@16,800 (conducts)
@ -595,7 +597,7 @@
577 com_zones@16,816 (conducts)
578 com_zones@32,816 (conducts)
579 com_zones@0,832 (conducts)
580 com_zones@16,832 (zone)(conducts)(building=3x3)(commercial-zone)(population=16)(description=#11)
580 com_zones@16,832 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=16)(description=#11)
581 com_zones@32,832 (conducts)
582 com_zones@0,848 (conducts)
583 com_zones@16,848 (conducts)
@ -604,7 +606,7 @@
586 com_zones@16,864 (conducts)
587 com_zones@32,864 (conducts)
588 com_zones@0,880 (conducts)
589 com_zones@16,880 (zone)(conducts)(building=3x3)(commercial-zone)(population=24)(description=#11)
589 com_zones@16,880 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=24)(description=#11)
590 com_zones@32,880 (conducts)
591 com_zones@0,896 (conducts)
592 com_zones@16,896 (conducts)
@ -613,7 +615,7 @@
595 com_zones@16,912 (conducts)
596 com_zones@32,912 (conducts)
597 com_zones@0,928 (conducts)
598 com_zones@16,928 (zone)(conducts)(building=3x3)(commercial-zone)(population=32)(description=#11)
598 com_zones@16,928 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=32)(description=#11)
599 com_zones@32,928 (conducts)
600 com_zones@0,944 (conducts)
601 com_zones@16,944 (conducts)
@ -622,7 +624,7 @@
604 com_zones@16,960 (conducts)
605 com_zones@32,960 (conducts)
606 com_zones@0,976 (conducts)
607 com_zones@16,976 (zone)(conducts)(building=3x3)(commercial-zone)(population=40)(description=#11)
607 com_zones@16,976 (zone)(conducts)(building=3x3)(commercial-zone)(behavior=COMMERCIAL)(population=40)(description=#11)
608 com_zones@32,976 (conducts)
609 com_zones@0,992 (conducts)
610 com_zones@16,992 (conducts)
@ -632,7 +634,7 @@
613 ind_zones@16,0 (conducts)
614 ind_zones@32,0 (conducts)
615 ind_zones@0,16 (conducts)
616 ind_zones@16,16 (zone)(conducts)(building=3x3)(industrial-zone)(population=0)(description=#12)
616 ind_zones@16,16 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=0)(description=#12)
617 ind_zones@32,16 (conducts)
618 ind_zones@0,32 (conducts)
619 ind_zones@16,32 (conducts)
@ -641,7 +643,7 @@
622 ind_zones@16,48 (conducts)
623 ind_zones@32,48 (conducts)
624 ind_zones@0,64 (conducts)
625 ind_zones@16,64 (zone)(conducts)(building=3x3)(industrial-zone)(population=8)(description=#12)
625 ind_zones@16,64 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=8)(description=#12)
626 ind_zones@32,64 (conducts)
627 ind_zones@0,80 (conducts)
628 ind_zones@16,80 (conducts)
@ -650,7 +652,7 @@
631 ind_zones@16,96 (conducts)
632 ind_zones@32,96 (conducts)
633 ind_zones@0,112 (conducts)
634 ind_zones@16,112 (zone)(conducts)(building=3x3)(industrial-zone)(population=16)(description=#12)
634 ind_zones@16,112 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=16)(description=#12)
635 ind_zones@32,112 (conducts)
636 ind_zones@0,128 (conducts)
637 ind_zones@16,128 (conducts)
@ -659,7 +661,7 @@
640 ind_zones@16,144 (conducts)
641 ind_zones@32,144 (conducts)(onpower=884)
642 ind_zones@0,160 (conducts)
643 ind_zones@16,160 (zone)(conducts)(building=3x3)(industrial-zone)(population=24)(description=#12)
643 ind_zones@16,160 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=24)(description=#12)
644 ind_zones@32,160 (conducts)(onpower=888)
645 ind_zones@0,176 (conducts)
646 ind_zones@16,176 (conducts)
@ -668,7 +670,7 @@
649 ind_zones@16,192 (conducts)(onpower=892)
650 ind_zones@32,192 (conducts)(onpower=896)
651 ind_zones@0,208 (conducts)
652 ind_zones@16,208 (zone)(conducts)(building=3x3)(industrial-zone)(population=32)(description=#12)
652 ind_zones@16,208 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=32)(description=#12)
653 ind_zones@32,208 (conducts)
654 ind_zones@0,224 (conducts)
655 ind_zones@16,224 (conducts)
@ -677,7 +679,7 @@
658 ind_zones@16,240 (conducts)
659 ind_zones@32,240 (conducts)
660 ind_zones@0,256 (conducts)
661 ind_zones@16,256 (zone)(conducts)(building=3x3)(industrial-zone)(population=8)(description=#12)
661 ind_zones@16,256 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=8)(description=#12)
662 ind_zones@32,256 (conducts)
663 ind_zones@0,272 (conducts)
664 ind_zones@16,272 (conducts)
@ -686,7 +688,7 @@
667 ind_zones@16,288 (conducts)
668 ind_zones@32,288 (conducts)
669 ind_zones@0,304 (conducts)
670 ind_zones@16,304 (zone)(conducts)(building=3x3)(industrial-zone)(population=16)(description=#12)
670 ind_zones@16,304 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=16)(description=#12)
671 ind_zones@32,304 (conducts)
672 ind_zones@0,320 (conducts)
673 ind_zones@16,320 (conducts)
@ -695,7 +697,7 @@
676 ind_zones@16,336 (conducts)(onpower=900)
677 ind_zones@32,336 (conducts)(onpower=904)
678 ind_zones@0,352 (conducts)
679 ind_zones@16,352 (zone)(conducts)(building=3x3)(industrial-zone)(population=24)(description=#12)
679 ind_zones@16,352 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=24)(description=#12)
680 ind_zones@32,352 (conducts)
681 ind_zones@0,368 (conducts)
682 ind_zones@16,368 (conducts)
@ -704,7 +706,7 @@
685 ind_zones@16,384 (conducts)
686 ind_zones@32,384 (conducts)(onpower=908)
687 ind_zones@0,400 (conducts)
688 ind_zones@16,400 (zone)(conducts)(building=3x3)(industrial-zone)(population=32)(description=#12)
688 ind_zones@16,400 (zone)(conducts)(building=3x3)(industrial-zone)(behavior=INDUSTRIAL)(population=32)(description=#12)
689 ind_zones@32,400 (conducts)(onpower=912)
690 ind_zones@0,416 (conducts)
691 ind_zones@16,416 (conducts)
@ -715,7 +717,7 @@
695 seaport@32,0 (conducts)
696 seaport@48,0 (conducts)
697 seaport@0,16 (conducts)
698 seaport@16,16 (zone)(conducts)(building=4x4)(description=#13)
698 seaport@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#13)
699 seaport@32,16 (conducts)
700 seaport@48,16 (conducts)
701 seaport@0,32 (conducts)
@ -734,7 +736,7 @@
713 airport@64,0 (conducts)
714 airport@80,0 (conducts)
715 airport@0,16 (conducts)
716 airport@16,16 (zone)(conducts)(building=6x6)(description=#14)
716 airport@16,16 (zone)(conducts)(building=6x6)(behavior=SPECIAL)(description=#14)
717 airport@32,16 (conducts)
718 airport@48,16 (conducts)
719 airport@64,16 (conducts)
@ -769,7 +771,7 @@
747 coal@32,0 (conducts) (onpower=916)
748 coal@48,0 (conducts) (onpower=920)
749 coal@0,16 (conducts)
750 coal@16,16 (zone)(conducts)(building=4x4)(description=#15)
750 coal@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#15)
751 coal@32,16 (conducts) (onpower=924)
752 coal@48,16 (conducts) (onpower=928)
753 coal@0,32 (conducts)
@ -785,7 +787,7 @@
762 firestation@16,0 (conducts)
763 firestation@32,0 (conducts)
764 firestation@0,16 (conducts)
765 firestation@16,16 (zone)(conducts)(building=3x3)(description=#16)
765 firestation@16,16 (zone)(conducts)(building=3x3)(behavior=SPECIAL)(description=#16)
766 firestation@32,16 (conducts)
767 firestation@0,32 (conducts)
768 firestation@16,32 (conducts)
@ -795,7 +797,7 @@
771 police@16,0 (conducts)
772 police@32,0 (conducts)
773 police@0,16 (conducts)
774 police@16,16 (zone)(conducts)(building=3x3)(description=#17)
774 police@16,16 (zone)(conducts)(building=3x3)(behavior=SPECIAL)(description=#17)
775 police@32,16 (conducts)
776 police@0,32 (conducts)
777 police@16,32 (conducts)
@ -806,7 +808,7 @@
781 stadium@32,0 (conducts)
782 stadium@48,0 (conducts)
783 stadium@0,16 (conducts)
784 stadium@16,16 (zone)(conducts)(building=4x4)(description=#18)
784 stadium@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#18)
785 stadium@32,16 (conducts)
786 stadium@48,16 (conducts)
787 stadium@0,32 (conducts)
@ -823,7 +825,7 @@
797 stadium2@32,0 (conducts)
798 stadium2@48,0 (conducts)
799 stadium2@0,16 (conducts)
800 stadium2@16,16 (zone)(conducts)(building=4x4)(description=#18)
800 stadium2@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#18)
801 stadium2@32,16 (conducts)
802 stadium2@48,16 (conducts)
803 stadium2@0,32 (conducts)
@ -840,7 +842,7 @@
813 nuclear@32,0 (conducts)
814 nuclear@48,0 (conducts)
815 nuclear@0,16 (conducts)
816 nuclear@16,16 (zone)(conducts)(building=4x4)(description=#19)
816 nuclear@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#19)
817 nuclear@32,16 (conducts)
818 nuclear@48,16 (conducts)
819 nuclear@0,32 (conducts)
@ -895,10 +897,10 @@
861 misc_animation@0,544 (noburn)(description=#3) (becomes=862)
862 misc_animation@0,560 (noburn)(description=#3) (becomes=863)
863 misc_animation@0,576 (noburn)(description=#3) (becomes=864)
864 misc_animation@0,592 (noburn)(description=#3) (becomes=865)
865 misc_animation@0,608 (noburn)(description=#3) (becomes=866)
866 misc_animation@0,624 (noburn)(description=#3) (becomes=867)
867 misc_animation@0,640 (noburn)(description=#3)
864 misc_animation@0,592 (noburn)(description=#3)(becomes=865) (behavior=EXPLOSION)
865 misc_animation@0,608 (noburn)(description=#3)(becomes=866) (behavior=EXPLOSION)
866 misc_animation@0,624 (noburn)(description=#3)(becomes=867) (behavior=EXPLOSION)
867 misc_animation@0,640 (noburn)(description=#3) (behavior=EXPLOSION)
# not used
868 misc_animation@0,656
869 misc_animation@0,672

View file

@ -33,51 +33,70 @@ class MapScanner
this.PRNG = city.PRNG;
}
static enum TileBehavior
{
FIRE,
FLOOD,
RADIOACTIVE,
ROAD,
RAIL,
EXPLOSION,
RESIDENTIAL,
HOSPITAL_CHURCH,
COMMERCIAL,
INDUSTRIAL,
SPECIAL;
}
/**
* Activate the tile identified by xpos and ypos properties.
*/
public void scanTile()
{
if (isFire(cchr))
{
doFire();
return;
}
else if (isFlood(cchr))
{
doFlood();
return;
}
else if (isRadioactive(cchr))
{
doRadioactiveTile();
return;
}
cchr9 = (char) (cchr & LOMASK);
if (isRoad(cchr))
{
String behaviorStr = getTileBehavior(cchr);
if (behaviorStr == null) {
return;
}
switch (TileBehavior.valueOf(behaviorStr)) {
case FIRE:
doFire();
return;
case FLOOD:
doFlood();
return;
case RADIOACTIVE:
doRadioactiveTile();
return;
case ROAD:
doRoad();
return;
}
if (isZoneCenter(cchr))
{
doZone();
return;
}
if (isRail(cchr))
{
case RAIL:
doRail();
return;
}
if (isTinyExplosion(cchr))
{
case EXPLOSION:
// clear AniRubble
city.setTile(xpos, ypos, (char)(RUBBLE + PRNG.nextInt(4) + BULLBIT));
return;
case RESIDENTIAL:
doResidential();
return;
case HOSPITAL_CHURCH:
doHospitalChurch();
return;
case COMMERCIAL:
doCommercial();
return;
case INDUSTRIAL:
doIndustrial();
return;
case SPECIAL:
doSpecialZone();
return;
default:
throw new Error("Unknown behavior: "+behaviorStr);
}
}
@ -409,34 +428,6 @@ class MapScanner
}
}
/**
* Called when the current tile is the key tile of any zone.
*/
void doZone()
{
if (isSpecialZone(cchr))
{
doSpecialZone();
}
else if (isResidentialZone(cchr))
{
doResidential();
}
else if (isHospitalOrChurch(cchr))
{
doHospitalChurch();
}
else if (isCommercialZone(cchr))
{
doCommercial();
}
else
{
assert isIndustrialZone(cchr);
doIndustrial();
}
}
boolean checkZonePower()
{
boolean zonePwrFlag = setZonePower();

View file

@ -242,6 +242,14 @@ public class TileConstants
}
}
//used by scanTile
public static String getTileBehavior(int tile)
{
tile &= LOMASK;
TileSpec ts = Tiles.get(tile);
return ts != null ? ts.getAttribute("behavior") : null;
}
//used by queryZoneStatus
public static int getDescriptionNumber(int tile)
{