tiles: transfer ZONEBIT knowledge to tiles.rc

and synthesize ZONEBIT when saving (for compatibility)

git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@740 d9718cc8-9f43-0410-858b-315f434eb58c
This commit is contained in:
jason@long.name 2013-07-20 21:10:29 +00:00
parent 9bf2e91783
commit 91b3736886
8 changed files with 83 additions and 70 deletions

View file

@ -248,7 +248,7 @@
241 res_zones@16,0 241 res_zones@16,0
242 res_zones@32,0 242 res_zones@32,0
243 res_zones@0,16 243 res_zones@0,16
244 res_zones@16,16 244 res_zones@16,16 (zone)
245 res_zones@32,16 245 res_zones@32,16
246 res_zones@0,32 246 res_zones@0,32
247 res_zones@16,32 247 res_zones@16,32
@ -269,7 +269,7 @@
262 res_zones@16,48 262 res_zones@16,48
263 res_zones@32,48 263 res_zones@32,48
264 res_zones@0,64 264 res_zones@0,64
265 res_zones@16,64 265 res_zones@16,64 (zone)
266 res_zones@32,64 266 res_zones@32,64
267 res_zones@0,80 267 res_zones@0,80
268 res_zones@16,80 268 res_zones@16,80
@ -278,7 +278,7 @@
271 res_zones@16,96 271 res_zones@16,96
272 res_zones@32,96 272 res_zones@32,96
273 res_zones@0,112 273 res_zones@0,112
274 res_zones@16,112 274 res_zones@16,112 (zone)
275 res_zones@32,112 275 res_zones@32,112
276 res_zones@0,128 276 res_zones@0,128
277 res_zones@16,128 277 res_zones@16,128
@ -287,7 +287,7 @@
280 res_zones@16,144 280 res_zones@16,144
281 res_zones@32,144 281 res_zones@32,144
282 res_zones@0,160 282 res_zones@0,160
283 res_zones@16,160 283 res_zones@16,160 (zone)
284 res_zones@32,160 284 res_zones@32,160
285 res_zones@0,176 285 res_zones@0,176
286 res_zones@16,176 286 res_zones@16,176
@ -296,7 +296,7 @@
289 res_zones@16,192 289 res_zones@16,192
290 res_zones@32,192 290 res_zones@32,192
291 res_zones@0,208 291 res_zones@0,208
292 res_zones@16,208 292 res_zones@16,208 (zone)
293 res_zones@32,208 293 res_zones@32,208
294 res_zones@0,224 294 res_zones@0,224
295 res_zones@16,224 295 res_zones@16,224
@ -305,7 +305,7 @@
298 res_zones@16,240 298 res_zones@16,240
299 res_zones@32,240 299 res_zones@32,240
300 res_zones@0,256 300 res_zones@0,256
301 res_zones@16,256 301 res_zones@16,256 (zone)
302 res_zones@32,256 302 res_zones@32,256
303 res_zones@0,272 303 res_zones@0,272
304 res_zones@16,272 304 res_zones@16,272
@ -314,7 +314,7 @@
307 res_zones@16,288 307 res_zones@16,288
308 res_zones@32,288 308 res_zones@32,288
309 res_zones@0,304 309 res_zones@0,304
310 res_zones@16,304 310 res_zones@16,304 (zone)
311 res_zones@32,304 311 res_zones@32,304
312 res_zones@0,320 312 res_zones@0,320
313 res_zones@16,320 313 res_zones@16,320
@ -323,7 +323,7 @@
316 res_zones@16,336 316 res_zones@16,336
317 res_zones@32,336 317 res_zones@32,336
318 res_zones@0,352 318 res_zones@0,352
319 res_zones@16,352 319 res_zones@16,352 (zone)
320 res_zones@32,352 320 res_zones@32,352
321 res_zones@0,368 321 res_zones@0,368
322 res_zones@16,368 322 res_zones@16,368
@ -332,7 +332,7 @@
325 res_zones@16,384 325 res_zones@16,384
326 res_zones@32,384 326 res_zones@32,384
327 res_zones@0,400 327 res_zones@0,400
328 res_zones@16,400 328 res_zones@16,400 (zone)
329 res_zones@32,400 329 res_zones@32,400
330 res_zones@0,416 330 res_zones@0,416
331 res_zones@16,416 331 res_zones@16,416
@ -341,7 +341,7 @@
334 res_zones@16,432 334 res_zones@16,432
335 res_zones@32,432 335 res_zones@32,432
336 res_zones@0,448 336 res_zones@0,448
337 res_zones@16,448 337 res_zones@16,448 (zone)
338 res_zones@32,448 338 res_zones@32,448
339 res_zones@0,464 339 res_zones@0,464
340 res_zones@16,464 340 res_zones@16,464
@ -350,7 +350,7 @@
343 res_zones@16,480 343 res_zones@16,480
344 res_zones@32,480 344 res_zones@32,480
345 res_zones@0,496 345 res_zones@0,496
346 res_zones@16,496 346 res_zones@16,496 (zone)
347 res_zones@32,496 347 res_zones@32,496
348 res_zones@0,512 348 res_zones@0,512
349 res_zones@16,512 349 res_zones@16,512
@ -359,7 +359,7 @@
352 res_zones@16,528 352 res_zones@16,528
353 res_zones@32,528 353 res_zones@32,528
354 res_zones@0,544 354 res_zones@0,544
355 res_zones@16,544 355 res_zones@16,544 (zone)
356 res_zones@32,544 356 res_zones@32,544
357 res_zones@0,560 357 res_zones@0,560
358 res_zones@16,560 358 res_zones@16,560
@ -368,7 +368,7 @@
361 res_zones@16,576 361 res_zones@16,576
362 res_zones@32,576 362 res_zones@32,576
363 res_zones@0,592 363 res_zones@0,592
364 res_zones@16,592 364 res_zones@16,592 (zone)
365 res_zones@32,592 365 res_zones@32,592
366 res_zones@0,608 366 res_zones@0,608
367 res_zones@16,608 367 res_zones@16,608
@ -377,7 +377,7 @@
370 res_zones@16,624 370 res_zones@16,624
371 res_zones@32,624 371 res_zones@32,624
372 res_zones@0,640 372 res_zones@0,640
373 res_zones@16,640 373 res_zones@16,640 (zone)
374 res_zones@32,640 374 res_zones@32,640
375 res_zones@0,656 375 res_zones@0,656
376 res_zones@16,656 376 res_zones@16,656
@ -386,7 +386,7 @@
379 res_zones@16,672 379 res_zones@16,672
380 res_zones@32,672 380 res_zones@32,672
381 res_zones@0,688 381 res_zones@0,688
382 res_zones@16,688 382 res_zones@16,688 (zone)
383 res_zones@32,688 383 res_zones@32,688
384 res_zones@0,704 384 res_zones@0,704
385 res_zones@16,704 385 res_zones@16,704
@ -395,7 +395,7 @@
388 res_zones@16,720 388 res_zones@16,720
389 res_zones@32,720 389 res_zones@32,720
390 res_zones@0,736 390 res_zones@0,736
391 res_zones@16,736 391 res_zones@16,736 (zone)
392 res_zones@32,736 392 res_zones@32,736
393 res_zones@0,752 393 res_zones@0,752
394 res_zones@16,752 394 res_zones@16,752
@ -404,7 +404,7 @@
397 res_zones@16,768 397 res_zones@16,768
398 res_zones@32,768 398 res_zones@32,768
399 res_zones@0,784 399 res_zones@0,784
400 res_zones@16,784 400 res_zones@16,784 (zone)
401 res_zones@32,784 401 res_zones@32,784
402 res_zones@0,800 402 res_zones@0,800
403 res_zones@16,800 403 res_zones@16,800
@ -413,7 +413,7 @@
406 res_zones@16,816 406 res_zones@16,816
407 res_zones@32,816 407 res_zones@32,816
408 res_zones@0,832 408 res_zones@0,832
409 res_zones@16,832 409 res_zones@16,832 (zone)
410 res_zones@32,832 410 res_zones@32,832
411 res_zones@0,848 411 res_zones@0,848
412 res_zones@16,848 412 res_zones@16,848
@ -422,7 +422,7 @@
415 res_zones@16,864 415 res_zones@16,864
416 res_zones@32,864 416 res_zones@32,864
417 res_zones@0,880 417 res_zones@0,880
418 res_zones@16,880 418 res_zones@16,880 (zone)
419 res_zones@32,880 419 res_zones@32,880
420 res_zones@0,896 420 res_zones@0,896
421 res_zones@16,896 421 res_zones@16,896
@ -432,7 +432,7 @@
424 com_zones@16,0 424 com_zones@16,0
425 com_zones@32,0 425 com_zones@32,0
426 com_zones@0,16 426 com_zones@0,16
427 com_zones@16,16 427 com_zones@16,16 (zone)
428 com_zones@32,16 428 com_zones@32,16
429 com_zones@0,32 429 com_zones@0,32
430 com_zones@16,32 430 com_zones@16,32
@ -441,7 +441,7 @@
433 com_zones@16,48 433 com_zones@16,48
434 com_zones@32,48 434 com_zones@32,48
435 com_zones@0,64 435 com_zones@0,64
436 com_zones@16,64 436 com_zones@16,64 (zone)
437 com_zones@32,64 437 com_zones@32,64
438 com_zones@0,80 438 com_zones@0,80
439 com_zones@16,80 439 com_zones@16,80
@ -450,7 +450,7 @@
442 com_zones@16,96 442 com_zones@16,96
443 com_zones@32,96 443 com_zones@32,96
444 com_zones@0,112 444 com_zones@0,112
445 com_zones@16,112 445 com_zones@16,112 (zone)
446 com_zones@32,112 446 com_zones@32,112
447 com_zones@0,128 447 com_zones@0,128
448 com_zones@16,128 448 com_zones@16,128
@ -459,7 +459,7 @@
451 com_zones@16,144 451 com_zones@16,144
452 com_zones@32,144 452 com_zones@32,144
453 com_zones@0,160 453 com_zones@0,160
454 com_zones@16,160 454 com_zones@16,160 (zone)
455 com_zones@32,160 455 com_zones@32,160
456 com_zones@0,176 456 com_zones@0,176
457 com_zones@16,176 457 com_zones@16,176
@ -468,7 +468,7 @@
460 com_zones@16,192 460 com_zones@16,192
461 com_zones@32,192 461 com_zones@32,192
462 com_zones@0,208 462 com_zones@0,208
463 com_zones@16,208 463 com_zones@16,208 (zone)
464 com_zones@32,208 464 com_zones@32,208
465 com_zones@0,224 465 com_zones@0,224
466 com_zones@16,224 466 com_zones@16,224
@ -477,7 +477,7 @@
469 com_zones@16,240 469 com_zones@16,240
470 com_zones@32,240 470 com_zones@32,240
471 com_zones@0,256 471 com_zones@0,256
472 com_zones@16,256 472 com_zones@16,256 (zone)
473 com_zones@32,256 473 com_zones@32,256
474 com_zones@0,272 474 com_zones@0,272
475 com_zones@16,272 475 com_zones@16,272
@ -486,7 +486,7 @@
478 com_zones@16,288 478 com_zones@16,288
479 com_zones@32,288 479 com_zones@32,288
480 com_zones@0,304 480 com_zones@0,304
481 com_zones@16,304 481 com_zones@16,304 (zone)
482 com_zones@32,304 482 com_zones@32,304
483 com_zones@0,320 483 com_zones@0,320
484 com_zones@16,320 484 com_zones@16,320
@ -495,7 +495,7 @@
487 com_zones@16,336 487 com_zones@16,336
488 com_zones@32,336 488 com_zones@32,336
489 com_zones@0,352 489 com_zones@0,352
490 com_zones@16,352 490 com_zones@16,352 (zone)
491 com_zones@32,352 491 com_zones@32,352
492 com_zones@0,368 492 com_zones@0,368
493 com_zones@16,368 493 com_zones@16,368
@ -504,7 +504,7 @@
496 com_zones@16,384 496 com_zones@16,384
497 com_zones@32,384 497 com_zones@32,384
498 com_zones@0,400 498 com_zones@0,400
499 com_zones@16,400 499 com_zones@16,400 (zone)
500 com_zones@32,400 500 com_zones@32,400
501 com_zones@0,416 501 com_zones@0,416
502 com_zones@16,416 502 com_zones@16,416
@ -513,7 +513,7 @@
505 com_zones@16,432 505 com_zones@16,432
506 com_zones@32,432 506 com_zones@32,432
507 com_zones@0,448 507 com_zones@0,448
508 com_zones@16,448 508 com_zones@16,448 (zone)
509 com_zones@32,448 509 com_zones@32,448
510 com_zones@0,464 510 com_zones@0,464
511 com_zones@16,464 511 com_zones@16,464
@ -522,7 +522,7 @@
514 com_zones@16,480 514 com_zones@16,480
515 com_zones@32,480 515 com_zones@32,480
516 com_zones@0,496 516 com_zones@0,496
517 com_zones@16,496 517 com_zones@16,496 (zone)
518 com_zones@32,496 518 com_zones@32,496
519 com_zones@0,512 519 com_zones@0,512
520 com_zones@16,512 520 com_zones@16,512
@ -531,7 +531,7 @@
523 com_zones@16,528 523 com_zones@16,528
524 com_zones@32,528 524 com_zones@32,528
525 com_zones@0,544 525 com_zones@0,544
526 com_zones@16,544 526 com_zones@16,544 (zone)
527 com_zones@32,544 527 com_zones@32,544
528 com_zones@0,560 528 com_zones@0,560
529 com_zones@16,560 529 com_zones@16,560
@ -540,7 +540,7 @@
532 com_zones@16,576 532 com_zones@16,576
533 com_zones@32,576 533 com_zones@32,576
534 com_zones@0,592 534 com_zones@0,592
535 com_zones@16,592 535 com_zones@16,592 (zone)
536 com_zones@32,592 536 com_zones@32,592
537 com_zones@0,608 537 com_zones@0,608
538 com_zones@16,608 538 com_zones@16,608
@ -549,7 +549,7 @@
541 com_zones@16,624 541 com_zones@16,624
542 com_zones@32,624 542 com_zones@32,624
543 com_zones@0,640 543 com_zones@0,640
544 com_zones@16,640 544 com_zones@16,640 (zone)
545 com_zones@32,640 545 com_zones@32,640
546 com_zones@0,656 546 com_zones@0,656
547 com_zones@16,656 547 com_zones@16,656
@ -558,7 +558,7 @@
550 com_zones@16,672 550 com_zones@16,672
551 com_zones@32,672 551 com_zones@32,672
552 com_zones@0,688 552 com_zones@0,688
553 com_zones@16,688 553 com_zones@16,688 (zone)
554 com_zones@32,688 554 com_zones@32,688
555 com_zones@0,704 555 com_zones@0,704
556 com_zones@16,704 556 com_zones@16,704
@ -567,7 +567,7 @@
559 com_zones@16,720 559 com_zones@16,720
560 com_zones@32,720 560 com_zones@32,720
561 com_zones@0,736 561 com_zones@0,736
562 com_zones@16,736 562 com_zones@16,736 (zone)
563 com_zones@32,736 563 com_zones@32,736
564 com_zones@0,752 564 com_zones@0,752
565 com_zones@16,752 565 com_zones@16,752
@ -576,7 +576,7 @@
568 com_zones@16,768 568 com_zones@16,768
569 com_zones@32,768 569 com_zones@32,768
570 com_zones@0,784 570 com_zones@0,784
571 com_zones@16,784 571 com_zones@16,784 (zone)
572 com_zones@32,784 572 com_zones@32,784
573 com_zones@0,800 573 com_zones@0,800
574 com_zones@16,800 574 com_zones@16,800
@ -585,7 +585,7 @@
577 com_zones@16,816 577 com_zones@16,816
578 com_zones@32,816 578 com_zones@32,816
579 com_zones@0,832 579 com_zones@0,832
580 com_zones@16,832 580 com_zones@16,832 (zone)
581 com_zones@32,832 581 com_zones@32,832
582 com_zones@0,848 582 com_zones@0,848
583 com_zones@16,848 583 com_zones@16,848
@ -594,7 +594,7 @@
586 com_zones@16,864 586 com_zones@16,864
587 com_zones@32,864 587 com_zones@32,864
588 com_zones@0,880 588 com_zones@0,880
589 com_zones@16,880 589 com_zones@16,880 (zone)
590 com_zones@32,880 590 com_zones@32,880
591 com_zones@0,896 591 com_zones@0,896
592 com_zones@16,896 592 com_zones@16,896
@ -603,7 +603,7 @@
595 com_zones@16,912 595 com_zones@16,912
596 com_zones@32,912 596 com_zones@32,912
597 com_zones@0,928 597 com_zones@0,928
598 com_zones@16,928 598 com_zones@16,928 (zone)
599 com_zones@32,928 599 com_zones@32,928
600 com_zones@0,944 600 com_zones@0,944
601 com_zones@16,944 601 com_zones@16,944
@ -612,7 +612,7 @@
604 com_zones@16,960 604 com_zones@16,960
605 com_zones@32,960 605 com_zones@32,960
606 com_zones@0,976 606 com_zones@0,976
607 com_zones@16,976 607 com_zones@16,976 (zone)
608 com_zones@32,976 608 com_zones@32,976
609 com_zones@0,992 609 com_zones@0,992
610 com_zones@16,992 610 com_zones@16,992
@ -622,7 +622,7 @@
613 ind_zones@16,0 613 ind_zones@16,0
614 ind_zones@32,0 614 ind_zones@32,0
615 ind_zones@0,16 615 ind_zones@0,16
616 ind_zones@16,16 616 ind_zones@16,16 (zone)
617 ind_zones@32,16 617 ind_zones@32,16
618 ind_zones@0,32 618 ind_zones@0,32
619 ind_zones@16,32 619 ind_zones@16,32
@ -631,7 +631,7 @@
622 ind_zones@16,48 622 ind_zones@16,48
623 ind_zones@32,48 623 ind_zones@32,48
624 ind_zones@0,64 624 ind_zones@0,64
625 ind_zones@16,64 625 ind_zones@16,64 (zone)
626 ind_zones@32,64 626 ind_zones@32,64
627 ind_zones@0,80 627 ind_zones@0,80
628 ind_zones@16,80 628 ind_zones@16,80
@ -640,7 +640,7 @@
631 ind_zones@16,96 631 ind_zones@16,96
632 ind_zones@32,96 632 ind_zones@32,96
633 ind_zones@0,112 633 ind_zones@0,112
634 ind_zones@16,112 634 ind_zones@16,112 (zone)
635 ind_zones@32,112 635 ind_zones@32,112
636 ind_zones@0,128 636 ind_zones@0,128
637 ind_zones@16,128 637 ind_zones@16,128
@ -649,7 +649,7 @@
640 ind_zones@16,144 640 ind_zones@16,144
641 ind_zones@32,144 641 ind_zones@32,144
642 ind_zones@0,160 642 ind_zones@0,160
643 ind_zones@16,160 643 ind_zones@16,160 (zone)
644 ind_zones@32,160 644 ind_zones@32,160
645 ind_zones@0,176 645 ind_zones@0,176
646 ind_zones@16,176 646 ind_zones@16,176
@ -658,7 +658,7 @@
649 ind_zones@16,192 649 ind_zones@16,192
650 ind_zones@32,192 650 ind_zones@32,192
651 ind_zones@0,208 651 ind_zones@0,208
652 ind_zones@16,208 652 ind_zones@16,208 (zone)
653 ind_zones@32,208 653 ind_zones@32,208
654 ind_zones@0,224 654 ind_zones@0,224
655 ind_zones@16,224 655 ind_zones@16,224
@ -667,7 +667,7 @@
658 ind_zones@16,240 658 ind_zones@16,240
659 ind_zones@32,240 659 ind_zones@32,240
660 ind_zones@0,256 660 ind_zones@0,256
661 ind_zones@16,256 661 ind_zones@16,256 (zone)
662 ind_zones@32,256 662 ind_zones@32,256
663 ind_zones@0,272 663 ind_zones@0,272
664 ind_zones@16,272 664 ind_zones@16,272
@ -676,7 +676,7 @@
667 ind_zones@16,288 667 ind_zones@16,288
668 ind_zones@32,288 668 ind_zones@32,288
669 ind_zones@0,304 669 ind_zones@0,304
670 ind_zones@16,304 670 ind_zones@16,304 (zone)
671 ind_zones@32,304 671 ind_zones@32,304
672 ind_zones@0,320 672 ind_zones@0,320
673 ind_zones@16,320 673 ind_zones@16,320
@ -685,7 +685,7 @@
676 ind_zones@16,336 676 ind_zones@16,336
677 ind_zones@32,336 677 ind_zones@32,336
678 ind_zones@0,352 678 ind_zones@0,352
679 ind_zones@16,352 679 ind_zones@16,352 (zone)
680 ind_zones@32,352 680 ind_zones@32,352
681 ind_zones@0,368 681 ind_zones@0,368
682 ind_zones@16,368 682 ind_zones@16,368
@ -694,7 +694,7 @@
685 ind_zones@16,384 685 ind_zones@16,384
686 ind_zones@32,384 686 ind_zones@32,384
687 ind_zones@0,400 687 ind_zones@0,400
688 ind_zones@16,400 688 ind_zones@16,400 (zone)
689 ind_zones@32,400 689 ind_zones@32,400
690 ind_zones@0,416 690 ind_zones@0,416
691 ind_zones@16,416 691 ind_zones@16,416
@ -705,7 +705,7 @@
695 seaport@32,0 695 seaport@32,0
696 seaport@48,0 696 seaport@48,0
697 seaport@0,16 697 seaport@0,16
698 seaport@16,16 698 seaport@16,16 (zone)
699 seaport@32,16 699 seaport@32,16
700 seaport@48,16 700 seaport@48,16
701 seaport@0,32 701 seaport@0,32
@ -724,7 +724,7 @@
713 airport@64,0 713 airport@64,0
714 airport@80,0 714 airport@80,0
715 airport@0,16 715 airport@0,16
716 airport@16,16 716 airport@16,16 (zone)
717 airport@32,16 717 airport@32,16
718 airport@48,16 718 airport@48,16
719 airport@64,16 719 airport@64,16
@ -759,7 +759,7 @@
747 coal@32,0 (becomes=916) 747 coal@32,0 (becomes=916)
748 coal@48,0 (becomes=920) 748 coal@48,0 (becomes=920)
749 coal@0,16 749 coal@0,16
750 coal@16,16 750 coal@16,16 (zone)
751 coal@32,16 (becomes=924) 751 coal@32,16 (becomes=924)
752 coal@48,16 (becomes=928) 752 coal@48,16 (becomes=928)
753 coal@0,32 753 coal@0,32
@ -775,7 +775,7 @@
762 firestation@16,0 762 firestation@16,0
763 firestation@32,0 763 firestation@32,0
764 firestation@0,16 764 firestation@0,16
765 firestation@16,16 765 firestation@16,16 (zone)
766 firestation@32,16 766 firestation@32,16
767 firestation@0,32 767 firestation@0,32
768 firestation@16,32 768 firestation@16,32
@ -784,7 +784,7 @@
771 police@16,0 771 police@16,0
772 police@32,0 772 police@32,0
773 police@0,16 773 police@0,16
774 police@16,16 774 police@16,16 (zone)
775 police@32,16 775 police@32,16
776 police@0,32 776 police@0,32
777 police@16,32 777 police@16,32
@ -795,7 +795,7 @@
781 stadium@32,0 781 stadium@32,0
782 stadium@48,0 782 stadium@48,0
783 stadium@0,16 783 stadium@0,16
784 stadium@16,16 784 stadium@16,16 (zone)
785 stadium@32,16 785 stadium@32,16
786 stadium@48,16 786 stadium@48,16
787 stadium@0,32 787 stadium@0,32
@ -812,7 +812,7 @@
797 stadium2@32,0 797 stadium2@32,0
798 stadium2@48,0 798 stadium2@48,0
799 stadium2@0,16 799 stadium2@0,16
800 stadium2@16,16 800 stadium2@16,16 (zone)
801 stadium2@32,16 801 stadium2@32,16
802 stadium2@48,16 802 stadium2@48,16
803 stadium2@0,32 803 stadium2@0,32
@ -829,7 +829,7 @@
813 nuclear@32,0 813 nuclear@32,0
814 nuclear@48,0 814 nuclear@48,0
815 nuclear@0,16 815 nuclear@0,16
816 nuclear@16,16 816 nuclear@16,16 (zone)
817 nuclear@32,16 817 nuclear@32,16
818 nuclear@48,16 818 nuclear@48,16
819 nuclear@0,32 819 nuclear@0,32

View file

@ -509,7 +509,7 @@ class MapScanner
{ {
for (int x = xpos-1; x <= xpos+1; x++) for (int x = xpos-1; x <= xpos+1; x++)
{ {
city.setTile(x, y, (char)(base | BNCNBIT | (x == xpos && y == ypos ? ZONEBIT + BULLBIT : 0))); city.setTile(x, y, (char)(base | BNCNBIT | (x == xpos && y == ypos ? BULLBIT : 0)));
base++; base++;
} }
} }
@ -1207,7 +1207,7 @@ class MapScanner
{ {
// downgrade from full-size zone to 8 little houses // downgrade from full-size zone to 8 little houses
city.setTile(xpos, ypos, (char)(FREEZ | BLBNCNBIT | ZONEBIT)); city.setTile(xpos, ypos, (char)(FREEZ | BLBNCNBIT));
for (int x = xpos-1; x <= xpos+1; x++) for (int x = xpos-1; x <= xpos+1; x++)
{ {
for (int y = ypos-1; y <= ypos+1; y++) for (int y = ypos-1; y <= ypos+1; y++)
@ -1374,7 +1374,7 @@ class MapScanner
for (int x = 0; x < 4; x++, zoneBase++) for (int x = 0; x < 4; x++, zoneBase++)
{ {
city.setTile(xpos - 1 + x, ypos - 1 + y, city.setTile(xpos - 1 + x, ypos - 1 + y,
(char) (zoneBase | BNCNBIT | (x == 1 && y == 1 ? (ZONEBIT|PWRBIT) : 0))); (char) (zoneBase | BNCNBIT | (x == 1 && y == 1 ? (PWRBIT) : 0)));
} }
} }
} }

View file

@ -1965,7 +1965,7 @@ public class Micropolis
for (int y = 0; y < DEFAULT_HEIGHT; y++) for (int y = 0; y < DEFAULT_HEIGHT; y++)
{ {
int z = dis.readShort(); int z = dis.readShort();
z &= ~(2048); // clear ANIMBIT on import z &= ~(1024 | 2048); // clear ZONEBIT,ANIMBIT on import
map[y][x] = (char) z; map[y][x] = (char) z;
} }
} }
@ -1982,6 +1982,9 @@ public class Micropolis
if (isAnimated(z)) { if (isAnimated(z)) {
z |= 2048; //synthesize ANIMBIT on export z |= 2048; //synthesize ANIMBIT on export
} }
if (isZoneCenter(z)) {
z |= 1024; //synthesize ZONEBIT
}
out.writeShort(z); out.writeShort(z);
} }
} }

View file

@ -213,7 +213,7 @@ public class TileConstants
public static final char BURNBIT = 8192; // bit 13 ... is combustible public static final char BURNBIT = 8192; // bit 13 ... is combustible
public static final char BULLBIT = 4096; // bit 12 ... is bulldozable public static final char BULLBIT = 4096; // bit 12 ... is bulldozable
// bit 11 ... unused // bit 11 ... unused
public static final char ZONEBIT = 1024; // bit 10 ... is the special tile for a zone // bit 10 ... unused
public static final char ALLBITS = 64512; // mask for upper 6 bits public static final char ALLBITS = 64512; // mask for upper 6 bits
public static final char LOMASK = 1023; //mask for low 10 bits public static final char LOMASK = 1023; //mask for low 10 bits
@ -290,7 +290,7 @@ public class TileConstants
public static boolean isArsonable(int tile) public static boolean isArsonable(int tile)
{ {
return ( return (
(tile & ZONEBIT) == 0 && !isZoneCenter(tile) &&
(tile & LOMASK) >= LHTHR && (tile & LOMASK) >= LHTHR &&
(tile & LOMASK) <= LASTZONE (tile & LOMASK) <= LASTZONE
); );
@ -372,7 +372,7 @@ public class TileConstants
int tem2 = tile & LOMASK; int tem2 = tile & LOMASK;
if (tem2 < RESBASE || if (tem2 < RESBASE ||
tem2 > LASTZONE || tem2 > LASTZONE ||
(tile & ZONEBIT) != 0 isZoneCenter(tile)
) { ) {
return false; return false;
} else { } else {
@ -473,7 +473,8 @@ public class TileConstants
public static boolean isZoneCenter(int tile) public static boolean isZoneCenter(int tile)
{ {
return tile >= 0 && (tile & ZONEBIT) != 0; TileSpec spec = Tiles.get(tile & LOMASK);
return spec != null && spec.zone;
} }
/** /**

View file

@ -6,6 +6,8 @@ public class TileSpec
{ {
int tileNumber; int tileNumber;
TileSpec animNext; TileSpec animNext;
boolean zone;
Map<String,String> attributes; Map<String,String> attributes;
List<String> images; List<String> images;
@ -28,6 +30,12 @@ public class TileSpec
return attributes.get(key); return attributes.get(key);
} }
public boolean getBooleanAttribute(String key)
{
String v = getAttribute(key);
return (v != null && v.equals("true"));
}
public String [] getImages() public String [] getImages()
{ {
return images.toArray(new String[0]); return images.toArray(new String[0]);
@ -42,7 +50,7 @@ public class TileSpec
if (in.peekChar() == '(') { if (in.peekChar() == '(') {
in.eatChar('('); in.eatChar('(');
String k = in.readAttributeKey(); String k = in.readAttributeKey();
String v = "1"; String v = "true";
if (in.peekChar() == '=') { if (in.peekChar() == '=') {
in.eatChar('='); in.eatChar('=');
v = in.readAttributeValue(); v = in.readAttributeValue();
@ -60,6 +68,8 @@ public class TileSpec
images.add(v); images.add(v);
} }
} }
this.zone = getBooleanAttribute("zone");
} }
static class Scanner static class Scanner

View file

@ -182,8 +182,7 @@ public class ToolStroke
for (int columnNum = 0; columnNum < width; columnNum++) for (int columnNum = 0; columnNum < width; columnNum++)
{ {
eff.setTile(columnNum, rowNum, (char) ( eff.setTile(columnNum, rowNum, (char) (
tileBase + BNCNBIT + tileBase + BNCNBIT
(columnNum == centerColNum && rowNum == centerRowNum ? ZONEBIT : 0)
)); ));
tileBase++; tileBase++;
} }

View file

@ -164,7 +164,7 @@ public class MicropolisDrawingArea extends JComponent
{ {
int cell = m.getTile(x,y); int cell = m.getTile(x,y);
if (blinkUnpoweredZones && if (blinkUnpoweredZones &&
(cell & ZONEBIT) != 0 && isZoneCenter(cell) &&
(cell & PWRBIT) == 0) (cell & PWRBIT) == 0)
{ {
unpoweredZones.add(new Point(x,y)); unpoweredZones.add(new Point(x,y));

View file

@ -256,7 +256,7 @@ public class OverlayMapView extends JComponent
if ((rawTile & LOMASK) <= 63) { if ((rawTile & LOMASK) <= 63) {
return rawTile & LOMASK; return rawTile & LOMASK;
} }
else if ((rawTile & ZONEBIT) != 0) { else if (isZoneCenter(rawTile)) {
// zone // zone
pix = ((rawTile & PWRBIT) != 0) ? POWERED : UNPOWERED; pix = ((rawTile & PWRBIT) != 0) ? POWERED : UNPOWERED;
} }