From bef75adc901ce8b9422fa2f8957a4aed63861f64 Mon Sep 17 00:00:00 2001 From: "jason@long.name" Date: Sun, 1 Sep 2013 21:34:06 +0000 Subject: [PATCH] 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 --- graphics/tiles.rc | 268 +++++++++++----------- src/micropolisj/engine/MapScanner.java | 111 ++++----- src/micropolisj/engine/TileConstants.java | 8 + 3 files changed, 194 insertions(+), 193 deletions(-) diff --git a/graphics/tiles.rc b/graphics/tiles.rc index 92d1fa7..510f509 100644 --- a/graphics/tiles.rc +++ b/graphics/tiles.rc @@ -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 diff --git a/src/micropolisj/engine/MapScanner.java b/src/micropolisj/engine/MapScanner.java index 290905c..c1b66a3 100644 --- a/src/micropolisj/engine/MapScanner.java +++ b/src/micropolisj/engine/MapScanner.java @@ -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(); diff --git a/src/micropolisj/engine/TileConstants.java b/src/micropolisj/engine/TileConstants.java index 23d35dc..67e7779 100644 --- a/src/micropolisj/engine/TileConstants.java +++ b/src/micropolisj/engine/TileConstants.java @@ -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) {