From 5f7cefb98e64d36fa08df2706540411af0cd7e86 Mon Sep 17 00:00:00 2001 From: Tony Bark Date: Fri, 3 May 2024 22:50:34 -0400 Subject: [PATCH] Initial source commit --- .github/workflows/build.yml | 45 + .gitignore | 525 ++++ .vscode/tasks.json | 22 + COPYING | 674 ++++ LICENSE | 47 + README.md | 22 + build.zig | 113 + build.zig.zon | 36 + core/allocate.cpp | 173 ++ core/animate.cpp | 244 ++ core/budget.cpp | 352 +++ core/callback.cpp | 302 ++ core/callback.h | 177 ++ core/connect.cpp | 745 +++++ core/data_types.h | 90 + core/disasters.cpp | 418 +++ core/emscripten.cpp | 1159 +++++++ core/evaluate.cpp | 573 ++++ core/fileio.cpp | 646 ++++ core/frontendmessage.cpp | 149 + core/frontendmessage.h | 141 + core/generate.cpp | 761 +++++ core/graph.cpp | 399 +++ core/initialize.cpp | 146 + core/map.cpp | 1025 +++++++ core/map_type.h | 354 +++ core/message.cpp | 477 +++ core/micropolis.cpp | 1599 ++++++++++ core/micropolis.h | 2702 +++++++++++++++++ core/micropolisengine_lib.js | 1 + core/micropolisengine_template.html | 13 + core/position.cpp | 238 ++ core/position.h | 197 ++ core/power.cpp | 195 ++ core/random.cpp | 183 ++ core/scan.cpp | 600 ++++ core/simulate.cpp | 1723 +++++++++++ core/sprite.cpp | 2039 +++++++++++++ core/text.h | 178 ++ core/tool.cpp | 1617 ++++++++++ core/tool.h | 347 +++ core/traffic.cpp | 519 ++++ core/update.cpp | 281 ++ core/utilities.cpp | 435 +++ core/zone.cpp | 1037 +++++++ docs/HAR2009Transcript.html | 1374 +++++++++ docs/HackingAtRandomTalk.txt | 93 + docs/MicropolisHARTalk.key/Contents/PkgInfo | 1 + .../QuickLook/Thumbnail.jpg | Bin 0 -> 107178 bytes docs/MicropolisHARTalk.key/color-profile | Bin 0 -> 54500 bytes docs/MicropolisHARTalk.key/index.apxl.gz | Bin 0 -> 165960 bytes .../presentation_micropolis1-3.jpg | Bin 0 -> 350166 bytes .../presentation_micropolis2-5.jpg | Bin 0 -> 362278 bytes .../presentation_micropolis3-3.jpg | Bin 0 -> 200358 bytes .../presentation_micropolis4-3.jpg | Bin 0 -> 181647 bytes .../presentation_micropolis5-3.jpg | Bin 0 -> 156541 bytes .../presentation_micropolis6-3.jpg | Bin 0 -> 171605 bytes .../presentation_micropolis7-3.jpg | Bin 0 -> 185384 bytes docs/MicropolisHARTalk.key/thumbs/st0.tiff | Bin 0 -> 15468 bytes docs/MicropolisHARTalk.key/thumbs/st1.tiff | Bin 0 -> 15468 bytes docs/MicropolisHARTalk.key/thumbs/st11-2.tiff | Bin 0 -> 13116 bytes docs/MicropolisHARTalk.key/thumbs/st11-3.tiff | Bin 0 -> 14052 bytes docs/MicropolisHARTalk.key/thumbs/st11-4.tiff | Bin 0 -> 14396 bytes docs/MicropolisHARTalk.key/thumbs/st11-5.tiff | Bin 0 -> 12818 bytes docs/MicropolisHARTalk.key/thumbs/st11-6.tiff | Bin 0 -> 14046 bytes docs/MicropolisHARTalk.key/thumbs/st11-7.tiff | Bin 0 -> 13320 bytes docs/MicropolisHARTalk.key/thumbs/st11-8.tiff | Bin 0 -> 13124 bytes docs/MicropolisHARTalk.key/thumbs/st2.tiff | Bin 0 -> 15468 bytes docs/MicropolisHARTalk.key/thumbs/st3-1.tiff | Bin 0 -> 15468 bytes docs/MicropolisHARTalk.key/thumbs/st3-2.tiff | Bin 0 -> 15468 bytes docs/MicropolisHARTalk.key/thumbs/st3-3.tiff | Bin 0 -> 15468 bytes docs/MicropolisHARTalk.key/thumbs/st3-4.tiff | Bin 0 -> 15468 bytes docs/MicropolisHARTalk.key/thumbs/st3-5.tiff | Bin 0 -> 15468 bytes docs/MicropolisHARTalk.key/thumbs/st3-6.tiff | Bin 0 -> 15468 bytes docs/MicropolisHARTalk.key/thumbs/st3-7.tiff | Bin 0 -> 15468 bytes docs/bibliography.html | 196 ++ docs/credits.html | 131 + docs/history.html | 698 +++++ docs/images/Alan_Kay.jpg | Bin 0 -> 23580 bytes docs/images/Alan_Kay_Thumb.jpg | Bin 0 -> 34411 bytes docs/images/Don_Hopkins_Handwaving.jpg | Bin 0 -> 65729 bytes docs/images/Don_Hopkins_Handwaving_Thumb.jpg | Bin 0 -> 33659 bytes docs/images/Don_Hopkins_OLPC.jpg | Bin 0 -> 69659 bytes docs/images/Don_Hopkins_OLPC_Thumb.jpg | Bin 0 -> 51240 bytes docs/images/Don_Hopkins_Talk_1.jpg | Bin 0 -> 68624 bytes docs/images/Don_Hopkins_Talk_1_Thumb.jpg | Bin 0 -> 39555 bytes docs/images/Don_Hopkins_Talk_2.jpg | Bin 0 -> 61418 bytes docs/images/Don_Hopkins_Talk_2_Thumb.jpg | Bin 0 -> 38915 bytes docs/images/Don_Hopkins_Talk_3.jpg | Bin 0 -> 78093 bytes docs/images/Don_Hopkins_Talk_3_Thumb.jpg | Bin 0 -> 38463 bytes docs/images/Facebook.png | Bin 0 -> 54417 bytes docs/images/Facebook_Thumb.png | Bin 0 -> 34848 bytes docs/images/HAR2009_Slides_001.png | Bin 0 -> 1601868 bytes docs/images/HAR2009_Slides_002.png | Bin 0 -> 1606958 bytes docs/images/HAR2009_Slides_003.png | Bin 0 -> 1623215 bytes docs/images/HAR2009_Slides_004.png | Bin 0 -> 1628197 bytes docs/images/HAR2009_Slides_005.png | Bin 0 -> 1616633 bytes docs/images/HAR2009_Slides_006.png | Bin 0 -> 1612235 bytes docs/images/HAR2009_Slides_007.png | Bin 0 -> 1618055 bytes docs/images/HAR2009_Slides_008.png | Bin 0 -> 1629087 bytes docs/images/HAR2009_Slides_009.png | Bin 0 -> 1624766 bytes docs/images/HAR2009_Slides_010.png | Bin 0 -> 1627752 bytes docs/images/HAR2009_Slides_011.png | Bin 0 -> 635613 bytes docs/images/HAR2009_Slides_011_Thumb.png | Bin 0 -> 123102 bytes docs/images/HAR2009_Slides_012.png | Bin 0 -> 723658 bytes docs/images/HAR2009_Slides_012_Thumb.png | Bin 0 -> 136519 bytes docs/images/HAR2009_Slides_013.png | Bin 0 -> 726571 bytes docs/images/HAR2009_Slides_013_Thumb.png | Bin 0 -> 137358 bytes docs/images/HAR2009_Slides_014.png | Bin 0 -> 854524 bytes docs/images/HAR2009_Slides_014_Thumb.png | Bin 0 -> 161011 bytes docs/images/HAR2009_Slides_015.png | Bin 0 -> 772665 bytes docs/images/HAR2009_Slides_015_Thumb.png | Bin 0 -> 147543 bytes docs/images/HAR2009_Slides_016.png | Bin 0 -> 1142103 bytes docs/images/HAR2009_Slides_016_Thumb.png | Bin 0 -> 207783 bytes docs/images/HAR2009_Slides_017.png | Bin 0 -> 1142317 bytes docs/images/HAR2009_Slides_017_Thumb.png | Bin 0 -> 209145 bytes docs/images/MediaWiki.png | Bin 0 -> 175113 bytes docs/images/MediaWiki_Thumb.png | Bin 0 -> 49193 bytes docs/images/Micropolis_Demo_01.jpg | Bin 0 -> 103011 bytes docs/images/Micropolis_Demo_01_Thumb.jpg | Bin 0 -> 45487 bytes docs/images/Micropolis_Demo_02.jpg | Bin 0 -> 102821 bytes docs/images/Micropolis_Demo_02_Thumb.jpg | Bin 0 -> 44881 bytes docs/images/Micropolis_Demo_03.jpg | Bin 0 -> 101139 bytes docs/images/Micropolis_Demo_03_Thumb.jpg | Bin 0 -> 44908 bytes docs/images/Micropolis_Demo_04.jpg | Bin 0 -> 119547 bytes docs/images/Micropolis_Demo_04_Thumb.jpg | Bin 0 -> 50979 bytes docs/images/Micropolis_Demo_05.jpg | Bin 0 -> 115894 bytes docs/images/Micropolis_Demo_05_Thumb.jpg | Bin 0 -> 49098 bytes docs/images/Micropolis_Demo_06.jpg | Bin 0 -> 109247 bytes docs/images/Micropolis_Demo_06_Thumb.jpg | Bin 0 -> 47583 bytes docs/images/Micropolis_Demo_07.jpg | Bin 0 -> 97677 bytes docs/images/Micropolis_Demo_07_Thumb.jpg | Bin 0 -> 43663 bytes docs/images/Micropolis_Demo_08.jpg | Bin 0 -> 112975 bytes docs/images/Micropolis_Demo_08_Thumb.jpg | Bin 0 -> 48305 bytes docs/images/Micropolis_Demo_09.jpg | Bin 0 -> 90507 bytes docs/images/Micropolis_Demo_09_Thumb.jpg | Bin 0 -> 41093 bytes docs/images/Micropolis_Demo_10.jpg | Bin 0 -> 93060 bytes docs/images/Micropolis_Demo_10_Thumb.jpg | Bin 0 -> 41561 bytes docs/images/Micropolis_Demo_11.jpg | Bin 0 -> 122281 bytes docs/images/Micropolis_Demo_11_Thumb.jpg | Bin 0 -> 52605 bytes docs/images/Micropolis_Demo_12.jpg | Bin 0 -> 124708 bytes docs/images/Micropolis_Demo_12_Thumb.jpg | Bin 0 -> 53444 bytes docs/images/Micropolis_Demo_13.jpg | Bin 0 -> 105777 bytes docs/images/Micropolis_Demo_13_Thumb.jpg | Bin 0 -> 46484 bytes docs/images/Micropolis_Facebook.png | Bin 0 -> 467127 bytes docs/images/Micropolis_Facebook_Medium.png | Bin 0 -> 420815 bytes .../Micropolis_Facebook_MediumSmall.png | Bin 0 -> 201728 bytes docs/images/Micropolis_Facebook_Thumb.png | Bin 0 -> 62412 bytes docs/images/Micropolis_GTK.png | Bin 0 -> 150730 bytes docs/images/Micropolis_GTK_Thumb.png | Bin 0 -> 36496 bytes docs/images/Micropolis_Google_Code.jpg | Bin 0 -> 83433 bytes docs/images/Micropolis_Google_Code_Thumb.jpg | Bin 0 -> 38349 bytes docs/images/Micropolis_OpenLaszlo.png | Bin 0 -> 357800 bytes docs/images/Micropolis_OpenLaszlo_Thumb.png | Bin 0 -> 75582 bytes docs/images/Micropolis_Robot_Code.jpg | Bin 0 -> 75084 bytes docs/images/Micropolis_Robot_Code_Thumb.jpg | Bin 0 -> 35478 bytes docs/images/Micropolis_Translations.jpg | Bin 0 -> 89007 bytes docs/images/Micropolis_Translations_Thumb.jpg | Bin 0 -> 40643 bytes docs/images/Robot_Odyssey_1.gif | Bin 0 -> 72742 bytes docs/images/Robot_Odyssey_2.png | Bin 0 -> 858 bytes docs/images/Robot_Odyssey_3.png | Bin 0 -> 1907 bytes docs/images/Robot_Odyssey_4.jpg | Bin 0 -> 1771 bytes docs/images/Robot_Odyssey_5.jpg | Bin 0 -> 2186 bytes docs/images/Robot_Odyssey_6.gif | Bin 0 -> 8712 bytes docs/images/Robot_Odyssey_7.jpg | Bin 0 -> 14682 bytes docs/images/Robot_Odyssey_8.png | Bin 0 -> 1996 bytes docs/images/Schoolhouse_Rock.jpg | Bin 0 -> 45853 bytes docs/images/Seymour_Papert.jpg | Bin 0 -> 19458 bytes docs/images/SimCity_Classic_Cover_Art.jpg | Bin 0 -> 123340 bytes .../SimCity_Classic_Cover_Art_Thumb.jpg | Bin 0 -> 52799 bytes docs/images/SimCity_HyperLook.gif | Bin 0 -> 120895 bytes docs/images/SimCity_HyperLook_Thumb.jpg | Bin 0 -> 55697 bytes docs/images/SimCity_Indigo.gif | Bin 0 -> 121110 bytes docs/images/SimCity_Indigo_Thumb.jpg | Bin 0 -> 59469 bytes docs/images/SimCity_NCD.gif | Bin 0 -> 152007 bytes docs/images/SimCity_NCD_Thumb.jpg | Bin 0 -> 59233 bytes docs/images/SimCity_OLPC.jpg | Bin 0 -> 1159045 bytes docs/images/SimCity_OLPC_Thumb.jpg | Bin 0 -> 43809 bytes docs/images/SimCity_Sun.gif | Bin 0 -> 146621 bytes docs/images/SimCity_Sun_Thumb.jpg | Bin 0 -> 61438 bytes docs/images/SimCity_X11.gif | Bin 0 -> 117588 bytes docs/images/SimCity_X11_Thumb.jpg | Bin 0 -> 58688 bytes docs/images/Terrapin_Turtle.jpg | Bin 0 -> 230142 bytes docs/images/Terrapin_Turtle_Thumb.jpg | Bin 0 -> 39798 bytes docs/images/The_Sims_Box.jpg | Bin 0 -> 38484 bytes docs/images/The_Sims_Box_Thumb.jpg | Bin 0 -> 53912 bytes docs/images/Tux.jpg | Bin 0 -> 45185 bytes docs/images/Tux_Thumb.jpg | Bin 0 -> 27766 bytes docs/images/WikiMedia.png | Bin 0 -> 23297 bytes docs/images/WikiMedia_Thumb.png | Bin 0 -> 22796 bytes docs/images/Wikipedia.png | Bin 0 -> 215944 bytes docs/images/Wikipedia_Thumb.png | Bin 0 -> 55995 bytes docs/images/Will_Wright.jpg | Bin 0 -> 135510 bytes docs/images/Will_Wright_Thumb.jpg | Bin 0 -> 29697 bytes docs/index.html | 102 + docs/inside.html | 412 +++ docs/intro.html | 273 ++ docs/reference.html | 1300 ++++++++ docs/tutorial.html | 453 +++ icon.png | Bin 0 -> 10336 bytes notes/ASSETS.txt | 322 ++ notes/AnimationSequences.txt | 197 ++ notes/CALLBACKS.txt | 79 + notes/CODING-STYLE.txt | 57 + notes/DevelopmentPlan.md | 48 + notes/DocTCL.txt | 88 + notes/MultiPlayerIdeas.txt | 474 +++ notes/OLPC-notes.txt | 366 +++ notes/PLAN.txt | 317 ++ notes/ROADMAP.txt | 263 ++ notes/SIMULATOR.txt | 96 + notes/SharedData.txt | 62 + notes/TODO.txt | 68 + notes/Tiles.txt | 305 ++ notes/UserInterfacePlan.txt | 262 ++ notes/outline.txt | 475 +++ notes/prompt-code-review-file.txt | 12 + notes/prompt-code-review-member.txt | 18 + resources/cities/about.cty | Bin 0 -> 27120 bytes resources/cities/badnews.cty | Bin 0 -> 27120 bytes resources/cities/bluebird.cty | Bin 0 -> 27120 bytes resources/cities/bruce.cty | Bin 0 -> 27120 bytes resources/cities/deadwood.cty | Bin 0 -> 27120 bytes resources/cities/finnigan.cty | Bin 0 -> 27120 bytes resources/cities/freds.cty | Bin 0 -> 27120 bytes resources/cities/haight.cty | Bin 0 -> 27120 bytes resources/cities/happisle.cty | Bin 0 -> 27120 bytes resources/cities/joffburg.cty | Bin 0 -> 27120 bytes resources/cities/kamakura.cty | Bin 0 -> 27120 bytes resources/cities/kobe.cty | Bin 0 -> 27120 bytes resources/cities/kowloon.cty | Bin 0 -> 27120 bytes resources/cities/kyoto.cty | Bin 0 -> 27120 bytes resources/cities/linecity.cty | Bin 0 -> 27120 bytes resources/cities/med_isle.cty | Bin 0 -> 27120 bytes resources/cities/ndulls.cty | Bin 0 -> 27120 bytes resources/cities/neatmap.cty | Bin 0 -> 27120 bytes resources/cities/radial.cty | Bin 0 -> 27120 bytes resources/cities/scenario_bern.cty | Bin 0 -> 27120 bytes resources/cities/scenario_boston.cty | Bin 0 -> 27120 bytes resources/cities/scenario_detroit.cty | Bin 0 -> 27120 bytes resources/cities/scenario_dullsville.cty | Bin 0 -> 27120 bytes resources/cities/scenario_hamburg.cty | Bin 0 -> 27120 bytes resources/cities/scenario_rio_de_janeiro.cty | Bin 0 -> 27120 bytes resources/cities/scenario_san_francisco.cty | Bin 0 -> 27120 bytes resources/cities/scenario_tokyo.cty | Bin 0 -> 27120 bytes resources/cities/senri.cty | Bin 0 -> 27120 bytes resources/cities/southpac.cty | Bin 0 -> 27120 bytes resources/cities/splats.cty | Bin 0 -> 27120 bytes resources/cities/wetcity.cty | Bin 0 -> 27120 bytes resources/cities/yokohama.cty | Bin 0 -> 27120 bytes resources/data/cities.xml | 123 + resources/data/disasters.xml | 27 + resources/data/notices.xml | 331 ++ resources/data/overlays.xml | 63 + resources/data/scenarios.xml | 75 + resources/data/stri.202.txt | 20 + resources/data/stri.219.txt | 27 + resources/data/stri.301.txt | 64 + resources/data/stri.356.txt | 19 + resources/data/strings_cs-CZ.xml | 1389 +++++++++ resources/data/strings_de-DE.xml | 1103 +++++++ resources/data/strings_en-US.xml | 1419 +++++++++ resources/data/strings_fr-FR.xml | 1103 +++++++ resources/data/strings_kr-KR.xml | 1103 +++++++ resources/data/strings_nl-NL.xml | 1103 +++++++ resources/images/cursor_pan_down.png | Bin 0 -> 6500 bytes resources/images/cursor_pan_up.png | Bin 0 -> 6587 bytes resources/images/cursor_pie_down.png | Bin 0 -> 6409 bytes resources/images/cursor_pie_up.png | Bin 0 -> 6427 bytes resources/images/cursor_template.psd | Bin 0 -> 50350 bytes resources/images/dataColorMap.png | Bin 0 -> 2959 bytes resources/images/generate_map.png | Bin 0 -> 23033 bytes resources/images/icairp.png | Bin 0 -> 1695 bytes resources/images/icairphi.png | Bin 0 -> 1967 bytes resources/images/icchlk.png | Bin 0 -> 425 bytes resources/images/icchlkhi.png | Bin 0 -> 400 bytes resources/images/iccoal.png | Bin 0 -> 1178 bytes resources/images/iccoalhi.png | Bin 0 -> 1225 bytes resources/images/iccom.png | Bin 0 -> 697 bytes resources/images/iccomhi.png | Bin 0 -> 661 bytes resources/images/icdozr.png | Bin 0 -> 605 bytes resources/images/icdozrhi.png | Bin 0 -> 575 bytes resources/images/icersr.png | Bin 0 -> 473 bytes resources/images/icersrhi.png | Bin 0 -> 389 bytes resources/images/icfire.png | Bin 0 -> 752 bytes resources/images/icfirehi.png | Bin 0 -> 851 bytes resources/images/icind.png | Bin 0 -> 689 bytes resources/images/icindhi.png | Bin 0 -> 623 bytes resources/images/icnuc.png | Bin 0 -> 1044 bytes resources/images/icnuchi.png | Bin 0 -> 1155 bytes resources/images/icon_about.png | Bin 0 -> 4737 bytes resources/images/icon_capital.png | Bin 0 -> 4516 bytes resources/images/icon_city.png | Bin 0 -> 4406 bytes resources/images/icon_crime.png | Bin 0 -> 4448 bytes resources/images/icon_impeached.png | Bin 0 -> 4693 bytes resources/images/icon_keytothecity.png | Bin 0 -> 4948 bytes resources/images/icon_megalopolis.png | Bin 0 -> 4809 bytes resources/images/icon_metropolis.png | Bin 0 -> 4726 bytes resources/images/icon_pollution.png | Bin 0 -> 4488 bytes resources/images/icon_town.png | Bin 0 -> 4443 bytes resources/images/icon_traffic.png | Bin 0 -> 4383 bytes resources/images/icpark.png | Bin 0 -> 744 bytes resources/images/icparkhi.png | Bin 0 -> 688 bytes resources/images/icpol.png | Bin 0 -> 790 bytes resources/images/icpolhi.png | Bin 0 -> 856 bytes resources/images/icqry.png | Bin 0 -> 436 bytes resources/images/icqryhi.png | Bin 0 -> 389 bytes resources/images/icrail.png | Bin 0 -> 581 bytes resources/images/icrailhi.png | Bin 0 -> 540 bytes resources/images/icres.png | Bin 0 -> 637 bytes resources/images/icreshi.png | Bin 0 -> 651 bytes resources/images/icroad.png | Bin 0 -> 272 bytes resources/images/icroadhi.png | Bin 0 -> 256 bytes resources/images/icseap.png | Bin 0 -> 917 bytes resources/images/icseaphi.png | Bin 0 -> 1317 bytes resources/images/icstad.png | Bin 0 -> 888 bytes resources/images/icstadhi.png | Bin 0 -> 1056 bytes resources/images/icwire.png | Bin 0 -> 490 bytes resources/images/icwirehi.png | Bin 0 -> 407 bytes resources/images/logo_micropolis.png | Bin 0 -> 4725 bytes resources/images/powerGridColorMap.png | Bin 0 -> 2806 bytes resources/images/rateColorMap.png | Bin 0 -> 3088 bytes resources/images/robot_odyssey.png | Bin 0 -> 68826 bytes resources/images/scenario_1.png | Bin 0 -> 28815 bytes resources/images/scenario_2.png | Bin 0 -> 25847 bytes resources/images/scenario_3.png | Bin 0 -> 30371 bytes resources/images/scenario_4.png | Bin 0 -> 31100 bytes resources/images/scenario_5.png | Bin 0 -> 26033 bytes resources/images/scenario_6.png | Bin 0 -> 28322 bytes resources/images/scenario_7.png | Bin 0 -> 28108 bytes resources/images/scenario_8.png | Bin 0 -> 30714 bytes resources/images/sprite_1_0.png | Bin 0 -> 2980 bytes resources/images/sprite_1_1.png | Bin 0 -> 2974 bytes resources/images/sprite_1_2.png | Bin 0 -> 3049 bytes resources/images/sprite_1_3.png | Bin 0 -> 3034 bytes resources/images/sprite_1_4.png | Bin 0 -> 2822 bytes resources/images/sprite_2_0.png | Bin 0 -> 3135 bytes resources/images/sprite_2_1.png | Bin 0 -> 3175 bytes resources/images/sprite_2_2.png | Bin 0 -> 3058 bytes resources/images/sprite_2_3.png | Bin 0 -> 3177 bytes resources/images/sprite_2_4.png | Bin 0 -> 3145 bytes resources/images/sprite_2_5.png | Bin 0 -> 3155 bytes resources/images/sprite_2_6.png | Bin 0 -> 3090 bytes resources/images/sprite_2_7.png | Bin 0 -> 3184 bytes resources/images/sprite_3_0.png | Bin 0 -> 3230 bytes resources/images/sprite_3_1.png | Bin 0 -> 3271 bytes resources/images/sprite_3_10.png | Bin 0 -> 3119 bytes resources/images/sprite_3_2.png | Bin 0 -> 3192 bytes resources/images/sprite_3_3.png | Bin 0 -> 3256 bytes resources/images/sprite_3_4.png | Bin 0 -> 3256 bytes resources/images/sprite_3_5.png | Bin 0 -> 3259 bytes resources/images/sprite_3_6.png | Bin 0 -> 3192 bytes resources/images/sprite_3_7.png | Bin 0 -> 3257 bytes resources/images/sprite_3_8.png | Bin 0 -> 3210 bytes resources/images/sprite_3_9.png | Bin 0 -> 3176 bytes resources/images/sprite_4_0.png | Bin 0 -> 3331 bytes resources/images/sprite_4_1.png | Bin 0 -> 3449 bytes resources/images/sprite_4_2.png | Bin 0 -> 3288 bytes resources/images/sprite_4_3.png | Bin 0 -> 3420 bytes resources/images/sprite_4_4.png | Bin 0 -> 3373 bytes resources/images/sprite_4_5.png | Bin 0 -> 3419 bytes resources/images/sprite_4_6.png | Bin 0 -> 3235 bytes resources/images/sprite_4_7.png | Bin 0 -> 3422 bytes resources/images/sprite_5_0.png | Bin 0 -> 3266 bytes resources/images/sprite_5_1.png | Bin 0 -> 3217 bytes resources/images/sprite_5_10.png | Bin 0 -> 3323 bytes resources/images/sprite_5_11.png | Bin 0 -> 3297 bytes resources/images/sprite_5_12.png | Bin 0 -> 3284 bytes resources/images/sprite_5_13.png | Bin 0 -> 3202 bytes resources/images/sprite_5_14.png | Bin 0 -> 3209 bytes resources/images/sprite_5_15.png | Bin 0 -> 3204 bytes resources/images/sprite_5_2.png | Bin 0 -> 3264 bytes resources/images/sprite_5_3.png | Bin 0 -> 3303 bytes resources/images/sprite_5_4.png | Bin 0 -> 3278 bytes resources/images/sprite_5_5.png | Bin 0 -> 3260 bytes resources/images/sprite_5_6.png | Bin 0 -> 3289 bytes resources/images/sprite_5_7.png | Bin 0 -> 3280 bytes resources/images/sprite_5_8.png | Bin 0 -> 3265 bytes resources/images/sprite_5_9.png | Bin 0 -> 3299 bytes resources/images/sprite_6_0.png | Bin 0 -> 3410 bytes resources/images/sprite_6_1.png | Bin 0 -> 3384 bytes resources/images/sprite_6_2.png | Bin 0 -> 3397 bytes resources/images/sprite_7_0.png | Bin 0 -> 2983 bytes resources/images/sprite_7_1.png | Bin 0 -> 3152 bytes resources/images/sprite_7_2.png | Bin 0 -> 3437 bytes resources/images/sprite_7_3.png | Bin 0 -> 3527 bytes resources/images/sprite_7_4.png | Bin 0 -> 3459 bytes resources/images/sprite_7_5.png | Bin 0 -> 3156 bytes resources/images/sprite_8_0.png | Bin 0 -> 2977 bytes resources/images/sprite_8_1.png | Bin 0 -> 2978 bytes resources/images/sprite_8_2.png | Bin 0 -> 3040 bytes resources/images/sprite_8_3.png | Bin 0 -> 3029 bytes resources/images/terrainColorMap.png | Bin 0 -> 2801 bytes resources/images/tiles.png | Bin 0 -> 85506 bytes resources/images/tiles/makezone.py | 244 ++ .../images/tiles/micropolis_tile_0000.png | Bin 0 -> 147 bytes .../images/tiles/micropolis_tile_0001.png | Bin 0 -> 118 bytes .../images/tiles/micropolis_tile_0002.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0003.png | Bin 0 -> 172 bytes .../images/tiles/micropolis_tile_0004.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0005.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0006.png | Bin 0 -> 240 bytes .../images/tiles/micropolis_tile_0007.png | Bin 0 -> 250 bytes .../images/tiles/micropolis_tile_0008.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0009.png | Bin 0 -> 271 bytes .../images/tiles/micropolis_tile_0010.png | Bin 0 -> 233 bytes .../images/tiles/micropolis_tile_0011.png | Bin 0 -> 265 bytes .../images/tiles/micropolis_tile_0012.png | Bin 0 -> 266 bytes .../images/tiles/micropolis_tile_0013.png | Bin 0 -> 222 bytes .../images/tiles/micropolis_tile_0014.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0015.png | Bin 0 -> 260 bytes .../images/tiles/micropolis_tile_0016.png | Bin 0 -> 253 bytes .../images/tiles/micropolis_tile_0017.png | Bin 0 -> 256 bytes .../images/tiles/micropolis_tile_0018.png | Bin 0 -> 203 bytes .../images/tiles/micropolis_tile_0019.png | Bin 0 -> 231 bytes .../images/tiles/micropolis_tile_0020.png | Bin 0 -> 249 bytes .../images/tiles/micropolis_tile_0021.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0022.png | Bin 0 -> 262 bytes .../images/tiles/micropolis_tile_0023.png | Bin 0 -> 296 bytes .../images/tiles/micropolis_tile_0024.png | Bin 0 -> 294 bytes .../images/tiles/micropolis_tile_0025.png | Bin 0 -> 267 bytes .../images/tiles/micropolis_tile_0026.png | Bin 0 -> 307 bytes .../images/tiles/micropolis_tile_0027.png | Bin 0 -> 267 bytes .../images/tiles/micropolis_tile_0028.png | Bin 0 -> 251 bytes .../images/tiles/micropolis_tile_0029.png | Bin 0 -> 229 bytes .../images/tiles/micropolis_tile_0030.png | Bin 0 -> 289 bytes .../images/tiles/micropolis_tile_0031.png | Bin 0 -> 278 bytes .../images/tiles/micropolis_tile_0032.png | Bin 0 -> 305 bytes .../images/tiles/micropolis_tile_0033.png | Bin 0 -> 271 bytes .../images/tiles/micropolis_tile_0034.png | Bin 0 -> 293 bytes .../images/tiles/micropolis_tile_0035.png | Bin 0 -> 261 bytes .../images/tiles/micropolis_tile_0036.png | Bin 0 -> 259 bytes .../images/tiles/micropolis_tile_0037.png | Bin 0 -> 230 bytes .../images/tiles/micropolis_tile_0038.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0039.png | Bin 0 -> 158 bytes .../images/tiles/micropolis_tile_0040.png | Bin 0 -> 249 bytes .../images/tiles/micropolis_tile_0041.png | Bin 0 -> 249 bytes .../images/tiles/micropolis_tile_0042.png | Bin 0 -> 244 bytes .../images/tiles/micropolis_tile_0043.png | Bin 0 -> 252 bytes .../images/tiles/micropolis_tile_0044.png | Bin 0 -> 269 bytes .../images/tiles/micropolis_tile_0045.png | Bin 0 -> 276 bytes .../images/tiles/micropolis_tile_0046.png | Bin 0 -> 262 bytes .../images/tiles/micropolis_tile_0047.png | Bin 0 -> 257 bytes .../images/tiles/micropolis_tile_0048.png | Bin 0 -> 248 bytes .../images/tiles/micropolis_tile_0049.png | Bin 0 -> 225 bytes .../images/tiles/micropolis_tile_0050.png | Bin 0 -> 209 bytes .../images/tiles/micropolis_tile_0051.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0052.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0053.png | Bin 0 -> 239 bytes .../images/tiles/micropolis_tile_0054.png | Bin 0 -> 229 bytes .../images/tiles/micropolis_tile_0055.png | Bin 0 -> 239 bytes .../images/tiles/micropolis_tile_0056.png | Bin 0 -> 276 bytes .../images/tiles/micropolis_tile_0057.png | Bin 0 -> 289 bytes .../images/tiles/micropolis_tile_0058.png | Bin 0 -> 288 bytes .../images/tiles/micropolis_tile_0059.png | Bin 0 -> 289 bytes .../images/tiles/micropolis_tile_0060.png | Bin 0 -> 275 bytes .../images/tiles/micropolis_tile_0061.png | Bin 0 -> 268 bytes .../images/tiles/micropolis_tile_0062.png | Bin 0 -> 294 bytes .../images/tiles/micropolis_tile_0063.png | Bin 0 -> 297 bytes .../images/tiles/micropolis_tile_0064.png | Bin 0 -> 165 bytes .../images/tiles/micropolis_tile_0065.png | Bin 0 -> 166 bytes .../images/tiles/micropolis_tile_0066.png | Bin 0 -> 129 bytes .../images/tiles/micropolis_tile_0067.png | Bin 0 -> 135 bytes .../images/tiles/micropolis_tile_0068.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0069.png | Bin 0 -> 176 bytes .../images/tiles/micropolis_tile_0070.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0071.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0072.png | Bin 0 -> 149 bytes .../images/tiles/micropolis_tile_0073.png | Bin 0 -> 173 bytes .../images/tiles/micropolis_tile_0074.png | Bin 0 -> 150 bytes .../images/tiles/micropolis_tile_0075.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0076.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0077.png | Bin 0 -> 161 bytes .../images/tiles/micropolis_tile_0078.png | Bin 0 -> 155 bytes .../images/tiles/micropolis_tile_0079.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0080.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0081.png | Bin 0 -> 230 bytes .../images/tiles/micropolis_tile_0082.png | Bin 0 -> 171 bytes .../images/tiles/micropolis_tile_0083.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0084.png | Bin 0 -> 231 bytes .../images/tiles/micropolis_tile_0085.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0086.png | Bin 0 -> 215 bytes .../images/tiles/micropolis_tile_0087.png | Bin 0 -> 228 bytes .../images/tiles/micropolis_tile_0088.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0089.png | Bin 0 -> 226 bytes .../images/tiles/micropolis_tile_0090.png | Bin 0 -> 191 bytes .../images/tiles/micropolis_tile_0091.png | Bin 0 -> 230 bytes .../images/tiles/micropolis_tile_0092.png | Bin 0 -> 265 bytes .../images/tiles/micropolis_tile_0093.png | Bin 0 -> 207 bytes .../images/tiles/micropolis_tile_0094.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0095.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0096.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0097.png | Bin 0 -> 231 bytes .../images/tiles/micropolis_tile_0098.png | Bin 0 -> 175 bytes .../images/tiles/micropolis_tile_0099.png | Bin 0 -> 196 bytes .../images/tiles/micropolis_tile_0100.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0101.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0102.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0103.png | Bin 0 -> 240 bytes .../images/tiles/micropolis_tile_0104.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0105.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0106.png | Bin 0 -> 196 bytes .../images/tiles/micropolis_tile_0107.png | Bin 0 -> 219 bytes .../images/tiles/micropolis_tile_0108.png | Bin 0 -> 260 bytes .../images/tiles/micropolis_tile_0109.png | Bin 0 -> 211 bytes .../images/tiles/micropolis_tile_0110.png | Bin 0 -> 204 bytes .../images/tiles/micropolis_tile_0111.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0112.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0113.png | Bin 0 -> 230 bytes .../images/tiles/micropolis_tile_0114.png | Bin 0 -> 172 bytes .../images/tiles/micropolis_tile_0115.png | Bin 0 -> 196 bytes .../images/tiles/micropolis_tile_0116.png | Bin 0 -> 243 bytes .../images/tiles/micropolis_tile_0117.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0118.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0119.png | Bin 0 -> 234 bytes .../images/tiles/micropolis_tile_0120.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0121.png | Bin 0 -> 229 bytes .../images/tiles/micropolis_tile_0122.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0123.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0124.png | Bin 0 -> 282 bytes .../images/tiles/micropolis_tile_0125.png | Bin 0 -> 218 bytes .../images/tiles/micropolis_tile_0126.png | Bin 0 -> 207 bytes .../images/tiles/micropolis_tile_0127.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0128.png | Bin 0 -> 217 bytes .../images/tiles/micropolis_tile_0129.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0130.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0131.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0132.png | Bin 0 -> 226 bytes .../images/tiles/micropolis_tile_0133.png | Bin 0 -> 211 bytes .../images/tiles/micropolis_tile_0134.png | Bin 0 -> 234 bytes .../images/tiles/micropolis_tile_0135.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_0136.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0137.png | Bin 0 -> 229 bytes .../images/tiles/micropolis_tile_0138.png | Bin 0 -> 207 bytes .../images/tiles/micropolis_tile_0139.png | Bin 0 -> 229 bytes .../images/tiles/micropolis_tile_0140.png | Bin 0 -> 284 bytes .../images/tiles/micropolis_tile_0141.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0142.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0143.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0144.png | Bin 0 -> 209 bytes .../images/tiles/micropolis_tile_0145.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0146.png | Bin 0 -> 176 bytes .../images/tiles/micropolis_tile_0147.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0148.png | Bin 0 -> 262 bytes .../images/tiles/micropolis_tile_0149.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0150.png | Bin 0 -> 267 bytes .../images/tiles/micropolis_tile_0151.png | Bin 0 -> 262 bytes .../images/tiles/micropolis_tile_0152.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0153.png | Bin 0 -> 233 bytes .../images/tiles/micropolis_tile_0154.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0155.png | Bin 0 -> 233 bytes .../images/tiles/micropolis_tile_0156.png | Bin 0 -> 237 bytes .../images/tiles/micropolis_tile_0157.png | Bin 0 -> 225 bytes .../images/tiles/micropolis_tile_0158.png | Bin 0 -> 214 bytes .../images/tiles/micropolis_tile_0159.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0160.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0161.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0162.png | Bin 0 -> 172 bytes .../images/tiles/micropolis_tile_0163.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0164.png | Bin 0 -> 261 bytes .../images/tiles/micropolis_tile_0165.png | Bin 0 -> 239 bytes .../images/tiles/micropolis_tile_0166.png | Bin 0 -> 274 bytes .../images/tiles/micropolis_tile_0167.png | Bin 0 -> 276 bytes .../images/tiles/micropolis_tile_0168.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0169.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_0170.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0171.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_0172.png | Bin 0 -> 248 bytes .../images/tiles/micropolis_tile_0173.png | Bin 0 -> 229 bytes .../images/tiles/micropolis_tile_0174.png | Bin 0 -> 212 bytes .../images/tiles/micropolis_tile_0175.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0176.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0177.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0178.png | Bin 0 -> 192 bytes .../images/tiles/micropolis_tile_0179.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0180.png | Bin 0 -> 269 bytes .../images/tiles/micropolis_tile_0181.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0182.png | Bin 0 -> 257 bytes .../images/tiles/micropolis_tile_0183.png | Bin 0 -> 252 bytes .../images/tiles/micropolis_tile_0184.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0185.png | Bin 0 -> 240 bytes .../images/tiles/micropolis_tile_0186.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0187.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0188.png | Bin 0 -> 310 bytes .../images/tiles/micropolis_tile_0189.png | Bin 0 -> 225 bytes .../images/tiles/micropolis_tile_0190.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0191.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0192.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0193.png | Bin 0 -> 225 bytes .../images/tiles/micropolis_tile_0194.png | Bin 0 -> 180 bytes .../images/tiles/micropolis_tile_0195.png | Bin 0 -> 203 bytes .../images/tiles/micropolis_tile_0196.png | Bin 0 -> 274 bytes .../images/tiles/micropolis_tile_0197.png | Bin 0 -> 241 bytes .../images/tiles/micropolis_tile_0198.png | Bin 0 -> 264 bytes .../images/tiles/micropolis_tile_0199.png | Bin 0 -> 264 bytes .../images/tiles/micropolis_tile_0200.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0201.png | Bin 0 -> 245 bytes .../images/tiles/micropolis_tile_0202.png | Bin 0 -> 200 bytes .../images/tiles/micropolis_tile_0203.png | Bin 0 -> 248 bytes .../images/tiles/micropolis_tile_0204.png | Bin 0 -> 317 bytes .../images/tiles/micropolis_tile_0205.png | Bin 0 -> 234 bytes .../images/tiles/micropolis_tile_0206.png | Bin 0 -> 225 bytes .../images/tiles/micropolis_tile_0207.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0208.png | Bin 0 -> 130 bytes .../images/tiles/micropolis_tile_0209.png | Bin 0 -> 120 bytes .../images/tiles/micropolis_tile_0210.png | Bin 0 -> 178 bytes .../images/tiles/micropolis_tile_0211.png | Bin 0 -> 174 bytes .../images/tiles/micropolis_tile_0212.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0213.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0214.png | Bin 0 -> 182 bytes .../images/tiles/micropolis_tile_0215.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0216.png | Bin 0 -> 190 bytes .../images/tiles/micropolis_tile_0217.png | Bin 0 -> 204 bytes .../images/tiles/micropolis_tile_0218.png | Bin 0 -> 192 bytes .../images/tiles/micropolis_tile_0219.png | Bin 0 -> 203 bytes .../images/tiles/micropolis_tile_0220.png | Bin 0 -> 200 bytes .../images/tiles/micropolis_tile_0221.png | Bin 0 -> 222 bytes .../images/tiles/micropolis_tile_0222.png | Bin 0 -> 209 bytes .../images/tiles/micropolis_tile_0223.png | Bin 0 -> 141 bytes .../images/tiles/micropolis_tile_0224.png | Bin 0 -> 121 bytes .../images/tiles/micropolis_tile_0225.png | Bin 0 -> 119 bytes .../images/tiles/micropolis_tile_0226.png | Bin 0 -> 178 bytes .../images/tiles/micropolis_tile_0227.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0228.png | Bin 0 -> 287 bytes .../images/tiles/micropolis_tile_0229.png | Bin 0 -> 263 bytes .../images/tiles/micropolis_tile_0230.png | Bin 0 -> 301 bytes .../images/tiles/micropolis_tile_0231.png | Bin 0 -> 295 bytes .../images/tiles/micropolis_tile_0232.png | Bin 0 -> 268 bytes .../images/tiles/micropolis_tile_0233.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0234.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0235.png | Bin 0 -> 243 bytes .../images/tiles/micropolis_tile_0236.png | Bin 0 -> 180 bytes .../images/tiles/micropolis_tile_0237.png | Bin 0 -> 154 bytes .../images/tiles/micropolis_tile_0238.png | Bin 0 -> 187 bytes .../images/tiles/micropolis_tile_0239.png | Bin 0 -> 145 bytes .../images/tiles/micropolis_tile_0240.png | Bin 0 -> 113 bytes .../images/tiles/micropolis_tile_0241.png | Bin 0 -> 106 bytes .../images/tiles/micropolis_tile_0242.png | Bin 0 -> 114 bytes .../images/tiles/micropolis_tile_0243.png | Bin 0 -> 106 bytes .../images/tiles/micropolis_tile_0244.png | Bin 0 -> 203 bytes .../images/tiles/micropolis_tile_0245.png | Bin 0 -> 108 bytes .../images/tiles/micropolis_tile_0246.png | Bin 0 -> 116 bytes .../images/tiles/micropolis_tile_0247.png | Bin 0 -> 107 bytes .../images/tiles/micropolis_tile_0248.png | Bin 0 -> 115 bytes .../images/tiles/micropolis_tile_0249.png | Bin 0 -> 263 bytes .../images/tiles/micropolis_tile_0250.png | Bin 0 -> 282 bytes .../images/tiles/micropolis_tile_0251.png | Bin 0 -> 324 bytes .../images/tiles/micropolis_tile_0252.png | Bin 0 -> 263 bytes .../images/tiles/micropolis_tile_0253.png | Bin 0 -> 266 bytes .../images/tiles/micropolis_tile_0254.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0255.png | Bin 0 -> 295 bytes .../images/tiles/micropolis_tile_0256.png | Bin 0 -> 261 bytes .../images/tiles/micropolis_tile_0257.png | Bin 0 -> 273 bytes .../images/tiles/micropolis_tile_0258.png | Bin 0 -> 260 bytes .../images/tiles/micropolis_tile_0259.png | Bin 0 -> 317 bytes .../images/tiles/micropolis_tile_0260.png | Bin 0 -> 261 bytes .../images/tiles/micropolis_tile_0261.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0262.png | Bin 0 -> 171 bytes .../images/tiles/micropolis_tile_0263.png | Bin 0 -> 168 bytes .../images/tiles/micropolis_tile_0264.png | Bin 0 -> 244 bytes .../images/tiles/micropolis_tile_0265.png | Bin 0 -> 219 bytes .../images/tiles/micropolis_tile_0266.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0267.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0268.png | Bin 0 -> 262 bytes .../images/tiles/micropolis_tile_0269.png | Bin 0 -> 204 bytes .../images/tiles/micropolis_tile_0270.png | Bin 0 -> 214 bytes .../images/tiles/micropolis_tile_0271.png | Bin 0 -> 129 bytes .../images/tiles/micropolis_tile_0272.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0273.png | Bin 0 -> 253 bytes .../images/tiles/micropolis_tile_0274.png | Bin 0 -> 187 bytes .../images/tiles/micropolis_tile_0275.png | Bin 0 -> 204 bytes .../images/tiles/micropolis_tile_0276.png | Bin 0 -> 262 bytes .../images/tiles/micropolis_tile_0277.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0278.png | Bin 0 -> 204 bytes .../images/tiles/micropolis_tile_0279.png | Bin 0 -> 234 bytes .../images/tiles/micropolis_tile_0280.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0281.png | Bin 0 -> 191 bytes .../images/tiles/micropolis_tile_0282.png | Bin 0 -> 181 bytes .../images/tiles/micropolis_tile_0283.png | Bin 0 -> 230 bytes .../images/tiles/micropolis_tile_0284.png | Bin 0 -> 258 bytes .../images/tiles/micropolis_tile_0285.png | Bin 0 -> 238 bytes .../images/tiles/micropolis_tile_0286.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0287.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0288.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0289.png | Bin 0 -> 228 bytes .../images/tiles/micropolis_tile_0290.png | Bin 0 -> 157 bytes .../images/tiles/micropolis_tile_0291.png | Bin 0 -> 212 bytes .../images/tiles/micropolis_tile_0292.png | Bin 0 -> 200 bytes .../images/tiles/micropolis_tile_0293.png | Bin 0 -> 155 bytes .../images/tiles/micropolis_tile_0294.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0295.png | Bin 0 -> 145 bytes .../images/tiles/micropolis_tile_0296.png | Bin 0 -> 217 bytes .../images/tiles/micropolis_tile_0297.png | Bin 0 -> 160 bytes .../images/tiles/micropolis_tile_0298.png | Bin 0 -> 232 bytes .../images/tiles/micropolis_tile_0299.png | Bin 0 -> 174 bytes .../images/tiles/micropolis_tile_0300.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0301.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0302.png | Bin 0 -> 190 bytes .../images/tiles/micropolis_tile_0303.png | Bin 0 -> 174 bytes .../images/tiles/micropolis_tile_0304.png | Bin 0 -> 237 bytes .../images/tiles/micropolis_tile_0305.png | Bin 0 -> 203 bytes .../images/tiles/micropolis_tile_0306.png | Bin 0 -> 174 bytes .../images/tiles/micropolis_tile_0307.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0308.png | Bin 0 -> 151 bytes .../images/tiles/micropolis_tile_0309.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0310.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0311.png | Bin 0 -> 173 bytes .../images/tiles/micropolis_tile_0312.png | Bin 0 -> 186 bytes .../images/tiles/micropolis_tile_0313.png | Bin 0 -> 159 bytes .../images/tiles/micropolis_tile_0314.png | Bin 0 -> 219 bytes .../images/tiles/micropolis_tile_0315.png | Bin 0 -> 228 bytes .../images/tiles/micropolis_tile_0316.png | Bin 0 -> 209 bytes .../images/tiles/micropolis_tile_0317.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0318.png | Bin 0 -> 173 bytes .../images/tiles/micropolis_tile_0319.png | Bin 0 -> 182 bytes .../images/tiles/micropolis_tile_0320.png | Bin 0 -> 227 bytes .../images/tiles/micropolis_tile_0321.png | Bin 0 -> 227 bytes .../images/tiles/micropolis_tile_0322.png | Bin 0 -> 162 bytes .../images/tiles/micropolis_tile_0323.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0324.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0325.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0326.png | Bin 0 -> 178 bytes .../images/tiles/micropolis_tile_0327.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0328.png | Bin 0 -> 217 bytes .../images/tiles/micropolis_tile_0329.png | Bin 0 -> 190 bytes .../images/tiles/micropolis_tile_0330.png | Bin 0 -> 226 bytes .../images/tiles/micropolis_tile_0331.png | Bin 0 -> 125 bytes .../images/tiles/micropolis_tile_0332.png | Bin 0 -> 180 bytes .../images/tiles/micropolis_tile_0333.png | Bin 0 -> 166 bytes .../images/tiles/micropolis_tile_0334.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0335.png | Bin 0 -> 157 bytes .../images/tiles/micropolis_tile_0336.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0337.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0338.png | Bin 0 -> 176 bytes .../images/tiles/micropolis_tile_0339.png | Bin 0 -> 255 bytes .../images/tiles/micropolis_tile_0340.png | Bin 0 -> 274 bytes .../images/tiles/micropolis_tile_0341.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_0342.png | Bin 0 -> 190 bytes .../images/tiles/micropolis_tile_0343.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0344.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0345.png | Bin 0 -> 171 bytes .../images/tiles/micropolis_tile_0346.png | Bin 0 -> 237 bytes .../images/tiles/micropolis_tile_0347.png | Bin 0 -> 222 bytes .../images/tiles/micropolis_tile_0348.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0349.png | Bin 0 -> 161 bytes .../images/tiles/micropolis_tile_0350.png | Bin 0 -> 196 bytes .../images/tiles/micropolis_tile_0351.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0352.png | Bin 0 -> 229 bytes .../images/tiles/micropolis_tile_0353.png | Bin 0 -> 215 bytes .../images/tiles/micropolis_tile_0354.png | Bin 0 -> 227 bytes .../images/tiles/micropolis_tile_0355.png | Bin 0 -> 286 bytes .../images/tiles/micropolis_tile_0356.png | Bin 0 -> 233 bytes .../images/tiles/micropolis_tile_0357.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0358.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0359.png | Bin 0 -> 234 bytes .../images/tiles/micropolis_tile_0360.png | Bin 0 -> 228 bytes .../images/tiles/micropolis_tile_0361.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0362.png | Bin 0 -> 181 bytes .../images/tiles/micropolis_tile_0363.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0364.png | Bin 0 -> 173 bytes .../images/tiles/micropolis_tile_0365.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0366.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0367.png | Bin 0 -> 129 bytes .../images/tiles/micropolis_tile_0368.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0369.png | Bin 0 -> 168 bytes .../images/tiles/micropolis_tile_0370.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0371.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0372.png | Bin 0 -> 180 bytes .../images/tiles/micropolis_tile_0373.png | Bin 0 -> 237 bytes .../images/tiles/micropolis_tile_0374.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0375.png | Bin 0 -> 192 bytes .../images/tiles/micropolis_tile_0376.png | Bin 0 -> 180 bytes .../images/tiles/micropolis_tile_0377.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0378.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0379.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0380.png | Bin 0 -> 196 bytes .../images/tiles/micropolis_tile_0381.png | Bin 0 -> 156 bytes .../images/tiles/micropolis_tile_0382.png | Bin 0 -> 263 bytes .../images/tiles/micropolis_tile_0383.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0384.png | Bin 0 -> 228 bytes .../images/tiles/micropolis_tile_0385.png | Bin 0 -> 162 bytes .../images/tiles/micropolis_tile_0386.png | Bin 0 -> 243 bytes .../images/tiles/micropolis_tile_0387.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0388.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0389.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0390.png | Bin 0 -> 259 bytes .../images/tiles/micropolis_tile_0391.png | Bin 0 -> 251 bytes .../images/tiles/micropolis_tile_0392.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0393.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0394.png | Bin 0 -> 284 bytes .../images/tiles/micropolis_tile_0395.png | Bin 0 -> 255 bytes .../images/tiles/micropolis_tile_0396.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0397.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0398.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0399.png | Bin 0 -> 159 bytes .../images/tiles/micropolis_tile_0400.png | Bin 0 -> 255 bytes .../images/tiles/micropolis_tile_0401.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0402.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0403.png | Bin 0 -> 211 bytes .../images/tiles/micropolis_tile_0404.png | Bin 0 -> 218 bytes .../images/tiles/micropolis_tile_0405.png | Bin 0 -> 167 bytes .../images/tiles/micropolis_tile_0406.png | Bin 0 -> 204 bytes .../images/tiles/micropolis_tile_0407.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0408.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0409.png | Bin 0 -> 191 bytes .../images/tiles/micropolis_tile_0410.png | Bin 0 -> 231 bytes .../images/tiles/micropolis_tile_0411.png | Bin 0 -> 227 bytes .../images/tiles/micropolis_tile_0412.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0413.png | Bin 0 -> 175 bytes .../images/tiles/micropolis_tile_0414.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0415.png | Bin 0 -> 180 bytes .../images/tiles/micropolis_tile_0416.png | Bin 0 -> 171 bytes .../images/tiles/micropolis_tile_0417.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0418.png | Bin 0 -> 180 bytes .../images/tiles/micropolis_tile_0419.png | Bin 0 -> 186 bytes .../images/tiles/micropolis_tile_0420.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0421.png | Bin 0 -> 196 bytes .../images/tiles/micropolis_tile_0422.png | Bin 0 -> 186 bytes .../images/tiles/micropolis_tile_0423.png | Bin 0 -> 114 bytes .../images/tiles/micropolis_tile_0424.png | Bin 0 -> 107 bytes .../images/tiles/micropolis_tile_0425.png | Bin 0 -> 116 bytes .../images/tiles/micropolis_tile_0426.png | Bin 0 -> 106 bytes .../images/tiles/micropolis_tile_0427.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0428.png | Bin 0 -> 108 bytes .../images/tiles/micropolis_tile_0429.png | Bin 0 -> 117 bytes .../images/tiles/micropolis_tile_0430.png | Bin 0 -> 108 bytes .../images/tiles/micropolis_tile_0431.png | Bin 0 -> 116 bytes .../images/tiles/micropolis_tile_0432.png | Bin 0 -> 182 bytes .../images/tiles/micropolis_tile_0433.png | Bin 0 -> 152 bytes .../images/tiles/micropolis_tile_0434.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0435.png | Bin 0 -> 219 bytes .../images/tiles/micropolis_tile_0436.png | Bin 0 -> 243 bytes .../images/tiles/micropolis_tile_0437.png | Bin 0 -> 181 bytes .../images/tiles/micropolis_tile_0438.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0439.png | Bin 0 -> 219 bytes .../images/tiles/micropolis_tile_0440.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0441.png | Bin 0 -> 211 bytes .../images/tiles/micropolis_tile_0442.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0443.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_0444.png | Bin 0 -> 243 bytes .../images/tiles/micropolis_tile_0445.png | Bin 0 -> 290 bytes .../images/tiles/micropolis_tile_0446.png | Bin 0 -> 255 bytes .../images/tiles/micropolis_tile_0447.png | Bin 0 -> 229 bytes .../images/tiles/micropolis_tile_0448.png | Bin 0 -> 256 bytes .../images/tiles/micropolis_tile_0449.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0450.png | Bin 0 -> 153 bytes .../images/tiles/micropolis_tile_0451.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0452.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0453.png | Bin 0 -> 153 bytes .../images/tiles/micropolis_tile_0454.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0455.png | Bin 0 -> 190 bytes .../images/tiles/micropolis_tile_0456.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0457.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0458.png | Bin 0 -> 192 bytes .../images/tiles/micropolis_tile_0459.png | Bin 0 -> 191 bytes .../images/tiles/micropolis_tile_0460.png | Bin 0 -> 167 bytes .../images/tiles/micropolis_tile_0461.png | Bin 0 -> 190 bytes .../images/tiles/micropolis_tile_0462.png | Bin 0 -> 176 bytes .../images/tiles/micropolis_tile_0463.png | Bin 0 -> 200 bytes .../images/tiles/micropolis_tile_0464.png | Bin 0 -> 154 bytes .../images/tiles/micropolis_tile_0465.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0466.png | Bin 0 -> 168 bytes .../images/tiles/micropolis_tile_0467.png | Bin 0 -> 181 bytes .../images/tiles/micropolis_tile_0468.png | Bin 0 -> 203 bytes .../images/tiles/micropolis_tile_0469.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0470.png | Bin 0 -> 153 bytes .../images/tiles/micropolis_tile_0471.png | Bin 0 -> 178 bytes .../images/tiles/micropolis_tile_0472.png | Bin 0 -> 218 bytes .../images/tiles/micropolis_tile_0473.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0474.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0475.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0476.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0477.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0478.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0479.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0480.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0481.png | Bin 0 -> 231 bytes .../images/tiles/micropolis_tile_0482.png | Bin 0 -> 233 bytes .../images/tiles/micropolis_tile_0483.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0484.png | Bin 0 -> 151 bytes .../images/tiles/micropolis_tile_0485.png | Bin 0 -> 207 bytes .../images/tiles/micropolis_tile_0486.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0487.png | Bin 0 -> 251 bytes .../images/tiles/micropolis_tile_0488.png | Bin 0 -> 184 bytes .../images/tiles/micropolis_tile_0489.png | Bin 0 -> 192 bytes .../images/tiles/micropolis_tile_0490.png | Bin 0 -> 248 bytes .../images/tiles/micropolis_tile_0491.png | Bin 0 -> 168 bytes .../images/tiles/micropolis_tile_0492.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0493.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0494.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0495.png | Bin 0 -> 163 bytes .../images/tiles/micropolis_tile_0496.png | Bin 0 -> 207 bytes .../images/tiles/micropolis_tile_0497.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0498.png | Bin 0 -> 141 bytes .../images/tiles/micropolis_tile_0499.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0500.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0501.png | Bin 0 -> 222 bytes .../images/tiles/micropolis_tile_0502.png | Bin 0 -> 222 bytes .../images/tiles/micropolis_tile_0503.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0504.png | Bin 0 -> 182 bytes .../images/tiles/micropolis_tile_0505.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0506.png | Bin 0 -> 155 bytes .../images/tiles/micropolis_tile_0507.png | Bin 0 -> 149 bytes .../images/tiles/micropolis_tile_0508.png | Bin 0 -> 171 bytes .../images/tiles/micropolis_tile_0509.png | Bin 0 -> 144 bytes .../images/tiles/micropolis_tile_0510.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0511.png | Bin 0 -> 182 bytes .../images/tiles/micropolis_tile_0512.png | Bin 0 -> 191 bytes .../images/tiles/micropolis_tile_0513.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0514.png | Bin 0 -> 186 bytes .../images/tiles/micropolis_tile_0515.png | Bin 0 -> 146 bytes .../images/tiles/micropolis_tile_0516.png | Bin 0 -> 147 bytes .../images/tiles/micropolis_tile_0517.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0518.png | Bin 0 -> 146 bytes .../images/tiles/micropolis_tile_0519.png | Bin 0 -> 191 bytes .../images/tiles/micropolis_tile_0520.png | Bin 0 -> 116 bytes .../images/tiles/micropolis_tile_0521.png | Bin 0 -> 217 bytes .../images/tiles/micropolis_tile_0522.png | Bin 0 -> 214 bytes .../images/tiles/micropolis_tile_0523.png | Bin 0 -> 214 bytes .../images/tiles/micropolis_tile_0524.png | Bin 0 -> 218 bytes .../images/tiles/micropolis_tile_0525.png | Bin 0 -> 256 bytes .../images/tiles/micropolis_tile_0526.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0527.png | Bin 0 -> 192 bytes .../images/tiles/micropolis_tile_0528.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0529.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0530.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0531.png | Bin 0 -> 238 bytes .../images/tiles/micropolis_tile_0532.png | Bin 0 -> 167 bytes .../images/tiles/micropolis_tile_0533.png | Bin 0 -> 175 bytes .../images/tiles/micropolis_tile_0534.png | Bin 0 -> 243 bytes .../images/tiles/micropolis_tile_0535.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0536.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0537.png | Bin 0 -> 222 bytes .../images/tiles/micropolis_tile_0538.png | Bin 0 -> 212 bytes .../images/tiles/micropolis_tile_0539.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0540.png | Bin 0 -> 280 bytes .../images/tiles/micropolis_tile_0541.png | Bin 0 -> 260 bytes .../images/tiles/micropolis_tile_0542.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0543.png | Bin 0 -> 154 bytes .../images/tiles/micropolis_tile_0544.png | Bin 0 -> 157 bytes .../images/tiles/micropolis_tile_0545.png | Bin 0 -> 171 bytes .../images/tiles/micropolis_tile_0546.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0547.png | Bin 0 -> 241 bytes .../images/tiles/micropolis_tile_0548.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0549.png | Bin 0 -> 211 bytes .../images/tiles/micropolis_tile_0550.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0551.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0552.png | Bin 0 -> 159 bytes .../images/tiles/micropolis_tile_0553.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0554.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0555.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0556.png | Bin 0 -> 196 bytes .../images/tiles/micropolis_tile_0557.png | Bin 0 -> 234 bytes .../images/tiles/micropolis_tile_0558.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0559.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0560.png | Bin 0 -> 166 bytes .../images/tiles/micropolis_tile_0561.png | Bin 0 -> 176 bytes .../images/tiles/micropolis_tile_0562.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0563.png | Bin 0 -> 219 bytes .../images/tiles/micropolis_tile_0564.png | Bin 0 -> 244 bytes .../images/tiles/micropolis_tile_0565.png | Bin 0 -> 218 bytes .../images/tiles/micropolis_tile_0566.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0567.png | Bin 0 -> 158 bytes .../images/tiles/micropolis_tile_0568.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0569.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0570.png | Bin 0 -> 149 bytes .../images/tiles/micropolis_tile_0571.png | Bin 0 -> 171 bytes .../images/tiles/micropolis_tile_0572.png | Bin 0 -> 182 bytes .../images/tiles/micropolis_tile_0573.png | Bin 0 -> 141 bytes .../images/tiles/micropolis_tile_0574.png | Bin 0 -> 163 bytes .../images/tiles/micropolis_tile_0575.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0576.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0577.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0578.png | Bin 0 -> 158 bytes .../images/tiles/micropolis_tile_0579.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0580.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0581.png | Bin 0 -> 240 bytes .../images/tiles/micropolis_tile_0582.png | Bin 0 -> 230 bytes .../images/tiles/micropolis_tile_0583.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0584.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0585.png | Bin 0 -> 204 bytes .../images/tiles/micropolis_tile_0586.png | Bin 0 -> 191 bytes .../images/tiles/micropolis_tile_0587.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0588.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0589.png | Bin 0 -> 231 bytes .../images/tiles/micropolis_tile_0590.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0591.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0592.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0593.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0594.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0595.png | Bin 0 -> 163 bytes .../images/tiles/micropolis_tile_0596.png | Bin 0 -> 207 bytes .../images/tiles/micropolis_tile_0597.png | Bin 0 -> 190 bytes .../images/tiles/micropolis_tile_0598.png | Bin 0 -> 168 bytes .../images/tiles/micropolis_tile_0599.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0600.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0601.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0602.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0603.png | Bin 0 -> 190 bytes .../images/tiles/micropolis_tile_0604.png | Bin 0 -> 222 bytes .../images/tiles/micropolis_tile_0605.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0606.png | Bin 0 -> 200 bytes .../images/tiles/micropolis_tile_0607.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0608.png | Bin 0 -> 212 bytes .../images/tiles/micropolis_tile_0609.png | Bin 0 -> 241 bytes .../images/tiles/micropolis_tile_0610.png | Bin 0 -> 232 bytes .../images/tiles/micropolis_tile_0611.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0612.png | Bin 0 -> 113 bytes .../images/tiles/micropolis_tile_0613.png | Bin 0 -> 106 bytes .../images/tiles/micropolis_tile_0614.png | Bin 0 -> 115 bytes .../images/tiles/micropolis_tile_0615.png | Bin 0 -> 106 bytes .../images/tiles/micropolis_tile_0616.png | Bin 0 -> 146 bytes .../images/tiles/micropolis_tile_0617.png | Bin 0 -> 108 bytes .../images/tiles/micropolis_tile_0618.png | Bin 0 -> 117 bytes .../images/tiles/micropolis_tile_0619.png | Bin 0 -> 107 bytes .../images/tiles/micropolis_tile_0620.png | Bin 0 -> 115 bytes .../images/tiles/micropolis_tile_0621.png | Bin 0 -> 247 bytes .../images/tiles/micropolis_tile_0622.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_0623.png | Bin 0 -> 167 bytes .../images/tiles/micropolis_tile_0624.png | Bin 0 -> 275 bytes .../images/tiles/micropolis_tile_0625.png | Bin 0 -> 264 bytes .../images/tiles/micropolis_tile_0626.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0627.png | Bin 0 -> 145 bytes .../images/tiles/micropolis_tile_0628.png | Bin 0 -> 276 bytes .../images/tiles/micropolis_tile_0629.png | Bin 0 -> 253 bytes .../images/tiles/micropolis_tile_0630.png | Bin 0 -> 166 bytes .../images/tiles/micropolis_tile_0631.png | Bin 0 -> 171 bytes .../images/tiles/micropolis_tile_0632.png | Bin 0 -> 217 bytes .../images/tiles/micropolis_tile_0633.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0634.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0635.png | Bin 0 -> 136 bytes .../images/tiles/micropolis_tile_0636.png | Bin 0 -> 234 bytes .../images/tiles/micropolis_tile_0637.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0638.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0639.png | Bin 0 -> 158 bytes .../images/tiles/micropolis_tile_0640.png | Bin 0 -> 218 bytes .../images/tiles/micropolis_tile_0641.png | Bin 0 -> 177 bytes .../images/tiles/micropolis_tile_0642.png | Bin 0 -> 247 bytes .../images/tiles/micropolis_tile_0643.png | Bin 0 -> 227 bytes .../images/tiles/micropolis_tile_0644.png | Bin 0 -> 183 bytes .../images/tiles/micropolis_tile_0645.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0646.png | Bin 0 -> 251 bytes .../images/tiles/micropolis_tile_0647.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0648.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0649.png | Bin 0 -> 178 bytes .../images/tiles/micropolis_tile_0650.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0651.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0652.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0653.png | Bin 0 -> 238 bytes .../images/tiles/micropolis_tile_0654.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0655.png | Bin 0 -> 155 bytes .../images/tiles/micropolis_tile_0656.png | Bin 0 -> 257 bytes .../images/tiles/micropolis_tile_0657.png | Bin 0 -> 157 bytes .../images/tiles/micropolis_tile_0658.png | Bin 0 -> 160 bytes .../images/tiles/micropolis_tile_0659.png | Bin 0 -> 228 bytes .../images/tiles/micropolis_tile_0660.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0661.png | Bin 0 -> 269 bytes .../images/tiles/micropolis_tile_0662.png | Bin 0 -> 178 bytes .../images/tiles/micropolis_tile_0663.png | Bin 0 -> 254 bytes .../images/tiles/micropolis_tile_0664.png | Bin 0 -> 281 bytes .../images/tiles/micropolis_tile_0665.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0666.png | Bin 0 -> 262 bytes .../images/tiles/micropolis_tile_0667.png | Bin 0 -> 176 bytes .../images/tiles/micropolis_tile_0668.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0669.png | Bin 0 -> 245 bytes .../images/tiles/micropolis_tile_0670.png | Bin 0 -> 134 bytes .../images/tiles/micropolis_tile_0671.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0672.png | Bin 0 -> 240 bytes .../images/tiles/micropolis_tile_0673.png | Bin 0 -> 272 bytes .../images/tiles/micropolis_tile_0674.png | Bin 0 -> 248 bytes .../images/tiles/micropolis_tile_0675.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0676.png | Bin 0 -> 211 bytes .../images/tiles/micropolis_tile_0677.png | Bin 0 -> 175 bytes .../images/tiles/micropolis_tile_0678.png | Bin 0 -> 255 bytes .../images/tiles/micropolis_tile_0679.png | Bin 0 -> 234 bytes .../images/tiles/micropolis_tile_0680.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0681.png | Bin 0 -> 239 bytes .../images/tiles/micropolis_tile_0682.png | Bin 0 -> 260 bytes .../images/tiles/micropolis_tile_0683.png | Bin 0 -> 183 bytes .../images/tiles/micropolis_tile_0684.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0685.png | Bin 0 -> 233 bytes .../images/tiles/micropolis_tile_0686.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0687.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0688.png | Bin 0 -> 183 bytes .../images/tiles/micropolis_tile_0689.png | Bin 0 -> 135 bytes .../images/tiles/micropolis_tile_0690.png | Bin 0 -> 234 bytes .../images/tiles/micropolis_tile_0691.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0692.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0693.png | Bin 0 -> 207 bytes .../images/tiles/micropolis_tile_0694.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0695.png | Bin 0 -> 249 bytes .../images/tiles/micropolis_tile_0696.png | Bin 0 -> 293 bytes .../images/tiles/micropolis_tile_0697.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0698.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0699.png | Bin 0 -> 215 bytes .../images/tiles/micropolis_tile_0700.png | Bin 0 -> 260 bytes .../images/tiles/micropolis_tile_0701.png | Bin 0 -> 274 bytes .../images/tiles/micropolis_tile_0702.png | Bin 0 -> 212 bytes .../images/tiles/micropolis_tile_0703.png | Bin 0 -> 191 bytes .../images/tiles/micropolis_tile_0704.png | Bin 0 -> 266 bytes .../images/tiles/micropolis_tile_0705.png | Bin 0 -> 251 bytes .../images/tiles/micropolis_tile_0706.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0707.png | Bin 0 -> 303 bytes .../images/tiles/micropolis_tile_0708.png | Bin 0 -> 248 bytes .../images/tiles/micropolis_tile_0709.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0710.png | Bin 0 -> 152 bytes .../images/tiles/micropolis_tile_0711.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0712.png | Bin 0 -> 170 bytes .../images/tiles/micropolis_tile_0713.png | Bin 0 -> 229 bytes .../images/tiles/micropolis_tile_0714.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0715.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0716.png | Bin 0 -> 153 bytes .../images/tiles/micropolis_tile_0717.png | Bin 0 -> 167 bytes .../images/tiles/micropolis_tile_0718.png | Bin 0 -> 163 bytes .../images/tiles/micropolis_tile_0719.png | Bin 0 -> 164 bytes .../images/tiles/micropolis_tile_0720.png | Bin 0 -> 280 bytes .../images/tiles/micropolis_tile_0721.png | Bin 0 -> 212 bytes .../images/tiles/micropolis_tile_0722.png | Bin 0 -> 227 bytes .../images/tiles/micropolis_tile_0723.png | Bin 0 -> 232 bytes .../images/tiles/micropolis_tile_0724.png | Bin 0 -> 175 bytes .../images/tiles/micropolis_tile_0725.png | Bin 0 -> 146 bytes .../images/tiles/micropolis_tile_0726.png | Bin 0 -> 176 bytes .../images/tiles/micropolis_tile_0727.png | Bin 0 -> 275 bytes .../images/tiles/micropolis_tile_0728.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0729.png | Bin 0 -> 249 bytes .../images/tiles/micropolis_tile_0730.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0731.png | Bin 0 -> 143 bytes .../images/tiles/micropolis_tile_0732.png | Bin 0 -> 178 bytes .../images/tiles/micropolis_tile_0733.png | Bin 0 -> 209 bytes .../images/tiles/micropolis_tile_0734.png | Bin 0 -> 222 bytes .../images/tiles/micropolis_tile_0735.png | Bin 0 -> 272 bytes .../images/tiles/micropolis_tile_0736.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0737.png | Bin 0 -> 174 bytes .../images/tiles/micropolis_tile_0738.png | Bin 0 -> 175 bytes .../images/tiles/micropolis_tile_0739.png | Bin 0 -> 217 bytes .../images/tiles/micropolis_tile_0740.png | Bin 0 -> 231 bytes .../images/tiles/micropolis_tile_0741.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0742.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0743.png | Bin 0 -> 225 bytes .../images/tiles/micropolis_tile_0744.png | Bin 0 -> 167 bytes .../images/tiles/micropolis_tile_0745.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0746.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0747.png | Bin 0 -> 196 bytes .../images/tiles/micropolis_tile_0748.png | Bin 0 -> 155 bytes .../images/tiles/micropolis_tile_0749.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0750.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0751.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0752.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0753.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0754.png | Bin 0 -> 240 bytes .../images/tiles/micropolis_tile_0755.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0756.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0757.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0758.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0759.png | Bin 0 -> 235 bytes .../images/tiles/micropolis_tile_0760.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0761.png | Bin 0 -> 219 bytes .../images/tiles/micropolis_tile_0762.png | Bin 0 -> 181 bytes .../images/tiles/micropolis_tile_0763.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_0764.png | Bin 0 -> 209 bytes .../images/tiles/micropolis_tile_0765.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0766.png | Bin 0 -> 214 bytes .../images/tiles/micropolis_tile_0767.png | Bin 0 -> 253 bytes .../images/tiles/micropolis_tile_0768.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0769.png | Bin 0 -> 228 bytes .../images/tiles/micropolis_tile_0770.png | Bin 0 -> 237 bytes .../images/tiles/micropolis_tile_0771.png | Bin 0 -> 215 bytes .../images/tiles/micropolis_tile_0772.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0773.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0774.png | Bin 0 -> 246 bytes .../images/tiles/micropolis_tile_0775.png | Bin 0 -> 248 bytes .../images/tiles/micropolis_tile_0776.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0777.png | Bin 0 -> 204 bytes .../images/tiles/micropolis_tile_0778.png | Bin 0 -> 218 bytes .../images/tiles/micropolis_tile_0779.png | Bin 0 -> 184 bytes .../images/tiles/micropolis_tile_0780.png | Bin 0 -> 252 bytes .../images/tiles/micropolis_tile_0781.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0782.png | Bin 0 -> 252 bytes .../images/tiles/micropolis_tile_0783.png | Bin 0 -> 141 bytes .../images/tiles/micropolis_tile_0784.png | Bin 0 -> 245 bytes .../images/tiles/micropolis_tile_0785.png | Bin 0 -> 175 bytes .../images/tiles/micropolis_tile_0786.png | Bin 0 -> 173 bytes .../images/tiles/micropolis_tile_0787.png | Bin 0 -> 136 bytes .../images/tiles/micropolis_tile_0788.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_0789.png | Bin 0 -> 182 bytes .../images/tiles/micropolis_tile_0790.png | Bin 0 -> 200 bytes .../images/tiles/micropolis_tile_0791.png | Bin 0 -> 212 bytes .../images/tiles/micropolis_tile_0792.png | Bin 0 -> 273 bytes .../images/tiles/micropolis_tile_0793.png | Bin 0 -> 251 bytes .../images/tiles/micropolis_tile_0794.png | Bin 0 -> 279 bytes .../images/tiles/micropolis_tile_0795.png | Bin 0 -> 233 bytes .../images/tiles/micropolis_tile_0796.png | Bin 0 -> 311 bytes .../images/tiles/micropolis_tile_0797.png | Bin 0 -> 323 bytes .../images/tiles/micropolis_tile_0798.png | Bin 0 -> 316 bytes .../images/tiles/micropolis_tile_0799.png | Bin 0 -> 274 bytes .../images/tiles/micropolis_tile_0800.png | Bin 0 -> 295 bytes .../images/tiles/micropolis_tile_0801.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0802.png | Bin 0 -> 296 bytes .../images/tiles/micropolis_tile_0803.png | Bin 0 -> 262 bytes .../images/tiles/micropolis_tile_0804.png | Bin 0 -> 286 bytes .../images/tiles/micropolis_tile_0805.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0806.png | Bin 0 -> 339 bytes .../images/tiles/micropolis_tile_0807.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0808.png | Bin 0 -> 301 bytes .../images/tiles/micropolis_tile_0809.png | Bin 0 -> 341 bytes .../images/tiles/micropolis_tile_0810.png | Bin 0 -> 306 bytes .../images/tiles/micropolis_tile_0811.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0812.png | Bin 0 -> 219 bytes .../images/tiles/micropolis_tile_0813.png | Bin 0 -> 299 bytes .../images/tiles/micropolis_tile_0814.png | Bin 0 -> 182 bytes .../images/tiles/micropolis_tile_0815.png | Bin 0 -> 200 bytes .../images/tiles/micropolis_tile_0816.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0817.png | Bin 0 -> 223 bytes .../images/tiles/micropolis_tile_0818.png | Bin 0 -> 232 bytes .../images/tiles/micropolis_tile_0819.png | Bin 0 -> 226 bytes .../images/tiles/micropolis_tile_0820.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0821.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0822.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0823.png | Bin 0 -> 243 bytes .../images/tiles/micropolis_tile_0824.png | Bin 0 -> 157 bytes .../images/tiles/micropolis_tile_0825.png | Bin 0 -> 217 bytes .../images/tiles/micropolis_tile_0826.png | Bin 0 -> 183 bytes .../images/tiles/micropolis_tile_0827.png | Bin 0 -> 218 bytes .../images/tiles/micropolis_tile_0828.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0829.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0830.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0831.png | Bin 0 -> 210 bytes .../images/tiles/micropolis_tile_0832.png | Bin 0 -> 208 bytes .../images/tiles/micropolis_tile_0833.png | Bin 0 -> 200 bytes .../images/tiles/micropolis_tile_0834.png | Bin 0 -> 211 bytes .../images/tiles/micropolis_tile_0835.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0836.png | Bin 0 -> 231 bytes .../images/tiles/micropolis_tile_0837.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0838.png | Bin 0 -> 251 bytes .../images/tiles/micropolis_tile_0839.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0840.png | Bin 0 -> 252 bytes .../images/tiles/micropolis_tile_0841.png | Bin 0 -> 259 bytes .../images/tiles/micropolis_tile_0842.png | Bin 0 -> 253 bytes .../images/tiles/micropolis_tile_0843.png | Bin 0 -> 251 bytes .../images/tiles/micropolis_tile_0844.png | Bin 0 -> 200 bytes .../images/tiles/micropolis_tile_0845.png | Bin 0 -> 195 bytes .../images/tiles/micropolis_tile_0846.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0847.png | Bin 0 -> 192 bytes .../images/tiles/micropolis_tile_0848.png | Bin 0 -> 216 bytes .../images/tiles/micropolis_tile_0849.png | Bin 0 -> 197 bytes .../images/tiles/micropolis_tile_0850.png | Bin 0 -> 243 bytes .../images/tiles/micropolis_tile_0851.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0852.png | Bin 0 -> 264 bytes .../images/tiles/micropolis_tile_0853.png | Bin 0 -> 253 bytes .../images/tiles/micropolis_tile_0854.png | Bin 0 -> 239 bytes .../images/tiles/micropolis_tile_0855.png | Bin 0 -> 265 bytes .../images/tiles/micropolis_tile_0856.png | Bin 0 -> 267 bytes .../images/tiles/micropolis_tile_0857.png | Bin 0 -> 269 bytes .../images/tiles/micropolis_tile_0858.png | Bin 0 -> 236 bytes .../images/tiles/micropolis_tile_0859.png | Bin 0 -> 269 bytes .../images/tiles/micropolis_tile_0860.png | Bin 0 -> 133 bytes .../images/tiles/micropolis_tile_0861.png | Bin 0 -> 179 bytes .../images/tiles/micropolis_tile_0862.png | Bin 0 -> 242 bytes .../images/tiles/micropolis_tile_0863.png | Bin 0 -> 318 bytes .../images/tiles/micropolis_tile_0864.png | Bin 0 -> 366 bytes .../images/tiles/micropolis_tile_0865.png | Bin 0 -> 365 bytes .../images/tiles/micropolis_tile_0866.png | Bin 0 -> 385 bytes .../images/tiles/micropolis_tile_0867.png | Bin 0 -> 276 bytes .../images/tiles/micropolis_tile_0868.png | Bin 0 -> 183 bytes .../images/tiles/micropolis_tile_0869.png | Bin 0 -> 162 bytes .../images/tiles/micropolis_tile_0870.png | Bin 0 -> 162 bytes .../images/tiles/micropolis_tile_0871.png | Bin 0 -> 162 bytes .../images/tiles/micropolis_tile_0872.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0873.png | Bin 0 -> 187 bytes .../images/tiles/micropolis_tile_0874.png | Bin 0 -> 184 bytes .../images/tiles/micropolis_tile_0875.png | Bin 0 -> 183 bytes .../images/tiles/micropolis_tile_0876.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0877.png | Bin 0 -> 181 bytes .../images/tiles/micropolis_tile_0878.png | Bin 0 -> 184 bytes .../images/tiles/micropolis_tile_0879.png | Bin 0 -> 185 bytes .../images/tiles/micropolis_tile_0880.png | Bin 0 -> 184 bytes .../images/tiles/micropolis_tile_0881.png | Bin 0 -> 187 bytes .../images/tiles/micropolis_tile_0882.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0883.png | Bin 0 -> 190 bytes .../images/tiles/micropolis_tile_0884.png | Bin 0 -> 258 bytes .../images/tiles/micropolis_tile_0885.png | Bin 0 -> 261 bytes .../images/tiles/micropolis_tile_0886.png | Bin 0 -> 271 bytes .../images/tiles/micropolis_tile_0887.png | Bin 0 -> 265 bytes .../images/tiles/micropolis_tile_0888.png | Bin 0 -> 271 bytes .../images/tiles/micropolis_tile_0889.png | Bin 0 -> 271 bytes .../images/tiles/micropolis_tile_0890.png | Bin 0 -> 276 bytes .../images/tiles/micropolis_tile_0891.png | Bin 0 -> 293 bytes .../images/tiles/micropolis_tile_0892.png | Bin 0 -> 276 bytes .../images/tiles/micropolis_tile_0893.png | Bin 0 -> 286 bytes .../images/tiles/micropolis_tile_0894.png | Bin 0 -> 304 bytes .../images/tiles/micropolis_tile_0895.png | Bin 0 -> 300 bytes .../images/tiles/micropolis_tile_0896.png | Bin 0 -> 343 bytes .../images/tiles/micropolis_tile_0897.png | Bin 0 -> 343 bytes .../images/tiles/micropolis_tile_0898.png | Bin 0 -> 350 bytes .../images/tiles/micropolis_tile_0899.png | Bin 0 -> 345 bytes .../images/tiles/micropolis_tile_0900.png | Bin 0 -> 273 bytes .../images/tiles/micropolis_tile_0901.png | Bin 0 -> 294 bytes .../images/tiles/micropolis_tile_0902.png | Bin 0 -> 314 bytes .../images/tiles/micropolis_tile_0903.png | Bin 0 -> 326 bytes .../images/tiles/micropolis_tile_0904.png | Bin 0 -> 206 bytes .../images/tiles/micropolis_tile_0905.png | Bin 0 -> 227 bytes .../images/tiles/micropolis_tile_0906.png | Bin 0 -> 231 bytes .../images/tiles/micropolis_tile_0907.png | Bin 0 -> 256 bytes .../images/tiles/micropolis_tile_0908.png | Bin 0 -> 318 bytes .../images/tiles/micropolis_tile_0909.png | Bin 0 -> 354 bytes .../images/tiles/micropolis_tile_0910.png | Bin 0 -> 334 bytes .../images/tiles/micropolis_tile_0911.png | Bin 0 -> 338 bytes .../images/tiles/micropolis_tile_0912.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0913.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_0914.png | Bin 0 -> 219 bytes .../images/tiles/micropolis_tile_0915.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_0916.png | Bin 0 -> 310 bytes .../images/tiles/micropolis_tile_0917.png | Bin 0 -> 363 bytes .../images/tiles/micropolis_tile_0918.png | Bin 0 -> 363 bytes .../images/tiles/micropolis_tile_0919.png | Bin 0 -> 324 bytes .../images/tiles/micropolis_tile_0920.png | Bin 0 -> 321 bytes .../images/tiles/micropolis_tile_0921.png | Bin 0 -> 314 bytes .../images/tiles/micropolis_tile_0922.png | Bin 0 -> 327 bytes .../images/tiles/micropolis_tile_0923.png | Bin 0 -> 344 bytes .../images/tiles/micropolis_tile_0924.png | Bin 0 -> 300 bytes .../images/tiles/micropolis_tile_0925.png | Bin 0 -> 347 bytes .../images/tiles/micropolis_tile_0926.png | Bin 0 -> 347 bytes .../images/tiles/micropolis_tile_0927.png | Bin 0 -> 339 bytes .../images/tiles/micropolis_tile_0928.png | Bin 0 -> 251 bytes .../images/tiles/micropolis_tile_0929.png | Bin 0 -> 286 bytes .../images/tiles/micropolis_tile_0930.png | Bin 0 -> 296 bytes .../images/tiles/micropolis_tile_0931.png | Bin 0 -> 347 bytes .../images/tiles/micropolis_tile_0932.png | Bin 0 -> 221 bytes .../images/tiles/micropolis_tile_0933.png | Bin 0 -> 194 bytes .../images/tiles/micropolis_tile_0934.png | Bin 0 -> 188 bytes .../images/tiles/micropolis_tile_0935.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0936.png | Bin 0 -> 230 bytes .../images/tiles/micropolis_tile_0937.png | Bin 0 -> 240 bytes .../images/tiles/micropolis_tile_0938.png | Bin 0 -> 238 bytes .../images/tiles/micropolis_tile_0939.png | Bin 0 -> 239 bytes .../images/tiles/micropolis_tile_0940.png | Bin 0 -> 227 bytes .../images/tiles/micropolis_tile_0941.png | Bin 0 -> 248 bytes .../images/tiles/micropolis_tile_0942.png | Bin 0 -> 249 bytes .../images/tiles/micropolis_tile_0943.png | Bin 0 -> 241 bytes .../images/tiles/micropolis_tile_0944.png | Bin 0 -> 220 bytes .../images/tiles/micropolis_tile_0945.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0946.png | Bin 0 -> 198 bytes .../images/tiles/micropolis_tile_0947.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0948.png | Bin 0 -> 228 bytes .../images/tiles/micropolis_tile_0949.png | Bin 0 -> 213 bytes .../images/tiles/micropolis_tile_0950.png | Bin 0 -> 193 bytes .../images/tiles/micropolis_tile_0951.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0952.png | Bin 0 -> 2948 bytes .../images/tiles/micropolis_tile_0953.png | Bin 0 -> 2930 bytes .../images/tiles/micropolis_tile_0954.png | Bin 0 -> 2932 bytes .../images/tiles/micropolis_tile_0955.png | Bin 0 -> 2936 bytes .../images/tiles/micropolis_tile_0956.png | Bin 0 -> 332 bytes .../images/tiles/micropolis_tile_0957.png | Bin 0 -> 321 bytes .../images/tiles/micropolis_tile_0958.png | Bin 0 -> 412 bytes .../images/tiles/micropolis_tile_0959.png | Bin 0 -> 438 bytes .../images/tiles/micropolis_tile_0960.png | Bin 0 -> 140 bytes .../images/tiles/micropolis_tile_0961.png | Bin 0 -> 327 bytes .../images/tiles/micropolis_tile_0962.png | Bin 0 -> 351 bytes .../images/tiles/micropolis_tile_0963.png | Bin 0 -> 473 bytes .../images/tiles/micropolis_tile_0964.png | Bin 0 -> 442 bytes .../images/tiles/micropolis_tile_0965.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0966.png | Bin 0 -> 653 bytes .../images/tiles/micropolis_tile_0967.png | Bin 0 -> 267 bytes .../images/tiles/micropolis_tile_0968.png | Bin 0 -> 171 bytes .../images/tiles/micropolis_tile_0969.png | Bin 0 -> 759 bytes .../images/tiles/micropolis_tile_0970.png | Bin 0 -> 378 bytes .../images/tiles/micropolis_tile_0971.png | Bin 0 -> 205 bytes .../images/tiles/micropolis_tile_0972.png | Bin 0 -> 240 bytes .../images/tiles/micropolis_tile_0973.png | Bin 0 -> 189 bytes .../images/tiles/micropolis_tile_0974.png | Bin 0 -> 187 bytes .../images/tiles/micropolis_tile_0975.png | Bin 0 -> 438 bytes .../images/tiles/micropolis_tile_0976.png | Bin 0 -> 406 bytes .../images/tiles/micropolis_tile_0977.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0978.png | Bin 0 -> 669 bytes .../images/tiles/micropolis_tile_0979.png | Bin 0 -> 417 bytes .../images/tiles/micropolis_tile_0980.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0981.png | Bin 0 -> 272 bytes .../images/tiles/micropolis_tile_0982.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_0983.png | Bin 0 -> 187 bytes .../images/tiles/micropolis_tile_0984.png | Bin 0 -> 531 bytes .../images/tiles/micropolis_tile_0985.png | Bin 0 -> 316 bytes .../images/tiles/micropolis_tile_0986.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0987.png | Bin 0 -> 676 bytes .../images/tiles/micropolis_tile_0988.png | Bin 0 -> 469 bytes .../images/tiles/micropolis_tile_0989.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0990.png | Bin 0 -> 238 bytes .../images/tiles/micropolis_tile_0991.png | Bin 0 -> 204 bytes .../images/tiles/micropolis_tile_0992.png | Bin 0 -> 187 bytes .../images/tiles/micropolis_tile_0993.png | Bin 0 -> 436 bytes .../images/tiles/micropolis_tile_0994.png | Bin 0 -> 398 bytes .../images/tiles/micropolis_tile_0995.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_0996.png | Bin 0 -> 631 bytes .../images/tiles/micropolis_tile_0997.png | Bin 0 -> 453 bytes .../images/tiles/micropolis_tile_0998.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_0999.png | Bin 0 -> 271 bytes .../images/tiles/micropolis_tile_1000.png | Bin 0 -> 199 bytes .../images/tiles/micropolis_tile_1001.png | Bin 0 -> 187 bytes .../images/tiles/micropolis_tile_1002.png | Bin 0 -> 513 bytes .../images/tiles/micropolis_tile_1003.png | Bin 0 -> 403 bytes .../images/tiles/micropolis_tile_1004.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_1005.png | Bin 0 -> 724 bytes .../images/tiles/micropolis_tile_1006.png | Bin 0 -> 460 bytes .../images/tiles/micropolis_tile_1007.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_1008.png | Bin 0 -> 253 bytes .../images/tiles/micropolis_tile_1009.png | Bin 0 -> 202 bytes .../images/tiles/micropolis_tile_1010.png | Bin 0 -> 187 bytes .../images/tiles/micropolis_tile_1011.png | Bin 0 -> 430 bytes .../images/tiles/micropolis_tile_1012.png | Bin 0 -> 440 bytes .../images/tiles/micropolis_tile_1013.png | Bin 0 -> 169 bytes .../images/tiles/micropolis_tile_1014.png | Bin 0 -> 615 bytes .../images/tiles/micropolis_tile_1015.png | Bin 0 -> 224 bytes .../images/tiles/micropolis_tile_1016.png | Bin 0 -> 201 bytes .../images/tiles/micropolis_tile_1017.png | Bin 0 -> 316 bytes .../images/tiles/micropolis_tile_1018.png | Bin 0 -> 186 bytes .../images/tiles/micropolis_tile_1019.png | Bin 0 -> 2809 bytes .../images/tiles/micropolis_tile_1020.png | Bin 0 -> 2809 bytes .../images/tiles/micropolis_tile_1021.png | Bin 0 -> 2809 bytes .../images/tiles/micropolis_tile_1022.png | Bin 0 -> 2809 bytes .../images/tiles/micropolis_tile_1023.png | Bin 0 -> 2809 bytes resources/images/tiles/micropolis_tiles.png | Bin 0 -> 83027 bytes resources/images/tiles/zone_church.psd | Bin 0 -> 164660 bytes resources/images/tiles/zone_church0.png | Bin 0 -> 3234 bytes resources/images/tiles/zone_church1.png | Bin 0 -> 4759 bytes resources/images/tiles/zone_church2.png | Bin 0 -> 4484 bytes resources/images/tiles/zone_church3.png | Bin 0 -> 4389 bytes resources/images/tiles/zone_church4.png | Bin 0 -> 4429 bytes resources/images/tiles/zone_church5.png | Bin 0 -> 4361 bytes resources/images/tiles/zone_church6.png | Bin 0 -> 4524 bytes resources/images/tiles/zone_church7.png | Bin 0 -> 4228 bytes resources/images/tiles/zone_church_pacbot.psd | Bin 0 -> 42043 bytes resources/images/tiles_pixels.png | Bin 0 -> 3420 bytes resources/images/tool_airport.png | Bin 0 -> 10243 bytes resources/images/tool_airporthi.png | Bin 0 -> 11233 bytes resources/images/tool_bulldozer.png | Bin 0 -> 6869 bytes resources/images/tool_bulldozerhi.png | Bin 0 -> 6993 bytes resources/images/tool_center.png | Bin 0 -> 8401 bytes resources/images/tool_centerhi.png | Bin 0 -> 9169 bytes resources/images/tool_chalk.png | Bin 0 -> 3042 bytes resources/images/tool_chalkhi.png | Bin 0 -> 3025 bytes resources/images/tool_coalpower.png | Bin 0 -> 5836 bytes resources/images/tool_coalpowerhi.png | Bin 0 -> 6994 bytes resources/images/tool_commercial.png | Bin 0 -> 6046 bytes resources/images/tool_commercialhi.png | Bin 0 -> 6606 bytes resources/images/tool_eraser.png | Bin 0 -> 3091 bytes resources/images/tool_eraserhi.png | Bin 0 -> 3027 bytes resources/images/tool_firestation.png | Bin 0 -> 6162 bytes resources/images/tool_firestationhi.png | Bin 0 -> 6598 bytes resources/images/tool_industrial.png | Bin 0 -> 6490 bytes resources/images/tool_industrialhi.png | Bin 0 -> 6945 bytes resources/images/tool_nuclearpower.png | Bin 0 -> 4850 bytes resources/images/tool_nuclearpowerhi.png | Bin 0 -> 5987 bytes resources/images/tool_pacbot.png | Bin 0 -> 6290 bytes resources/images/tool_pacbothi.png | Bin 0 -> 6324 bytes resources/images/tool_park.png | Bin 0 -> 6895 bytes resources/images/tool_parkhi.png | Bin 0 -> 7498 bytes resources/images/tool_policestation.png | Bin 0 -> 5897 bytes resources/images/tool_policestationhi.png | Bin 0 -> 6656 bytes resources/images/tool_query.png | Bin 0 -> 7079 bytes resources/images/tool_queryhi.png | Bin 0 -> 7478 bytes resources/images/tool_railroad.png | Bin 0 -> 6222 bytes resources/images/tool_railroadhi.png | Bin 0 -> 6335 bytes resources/images/tool_residential.png | Bin 0 -> 6732 bytes resources/images/tool_residentialhi.png | Bin 0 -> 7479 bytes resources/images/tool_road.png | Bin 0 -> 5334 bytes resources/images/tool_roadhi.png | Bin 0 -> 5788 bytes resources/images/tool_seaport.png | Bin 0 -> 5570 bytes resources/images/tool_seaporthi.png | Bin 0 -> 6725 bytes resources/images/tool_stadium.png | Bin 0 -> 5996 bytes resources/images/tool_stadiumhi.png | Bin 0 -> 6451 bytes resources/images/tool_wire.png | Bin 0 -> 5953 bytes resources/images/tool_wirehi.png | Bin 0 -> 6029 bytes resources/sounds/HeavyTraffic.mp3 | Bin 0 -> 26252 bytes resources/sounds/Monster.mp3 | Bin 0 -> 12142 bytes resources/sounds/Siren.mp3 | Bin 0 -> 34196 bytes resources/sounds/Sorry.mp3 | Bin 0 -> 6041 bytes resources/sounds/UhUh.mp3 | Bin 0 -> 5885 bytes resources/sounds/a.mp3 | Bin 0 -> 2078 bytes resources/sounds/aaah.mp3 | Bin 0 -> 13137 bytes resources/sounds/airport.mp3 | Bin 0 -> 5313 bytes resources/sounds/beep.mp3 | Bin 0 -> 2312 bytes resources/sounds/boing.mp3 | Bin 0 -> 5885 bytes resources/sounds/bop.mp3 | Bin 0 -> 2522 bytes resources/sounds/build.mp3 | Bin 0 -> 6563 bytes resources/sounds/bulldozer.mp3 | Bin 0 -> 6327 bytes resources/sounds/chalk.mp3 | Bin 0 -> 4997 bytes resources/sounds/coal.mp3 | Bin 0 -> 10630 bytes resources/sounds/computer.mp3 | Bin 0 -> 40685 bytes resources/sounds/cuckoo.mp3 | Bin 0 -> 12874 bytes resources/sounds/e.mp3 | Bin 0 -> 1974 bytes resources/sounds/eraser.mp3 | Bin 0 -> 8051 bytes resources/sounds/explosion-hi.mp3 | Bin 0 -> 6165 bytes resources/sounds/explosion-high.mp3 | Bin 0 -> 24287 bytes resources/sounds/explosion-low.mp3 | Bin 0 -> 71431 bytes resources/sounds/fire.mp3 | Bin 0 -> 9275 bytes resources/sounds/honkhonk-hi.mp3 | Bin 0 -> 3645 bytes resources/sounds/honkhonk-high.mp3 | Bin 0 -> 9717 bytes resources/sounds/honkhonk-med.mp3 | Bin 0 -> 11153 bytes resources/sounds/ignition.mp3 | Bin 0 -> 44311 bytes resources/sounds/ind.mp3 | Bin 0 -> 7111 bytes resources/sounds/o.mp3 | Bin 0 -> 2078 bytes resources/sounds/oop.mp3 | Bin 0 -> 2235 bytes resources/sounds/park.mp3 | Bin 0 -> 5678 bytes resources/sounds/police.mp3 | Bin 0 -> 10972 bytes resources/sounds/quack.mp3 | Bin 0 -> 5085 bytes resources/sounds/quackquack.mp3 | Bin 0 -> 13604 bytes resources/sounds/query.mp3 | Bin 0 -> 5232 bytes resources/sounds/rail.mp3 | Bin 0 -> 5180 bytes resources/sounds/res.mp3 | Bin 0 -> 7398 bytes resources/sounds/road.mp3 | Bin 0 -> 4582 bytes resources/sounds/rumble.mp3 | Bin 0 -> 4008 bytes resources/sounds/seaport.mp3 | Bin 0 -> 6513 bytes resources/sounds/skid.mp3 | Bin 0 -> 11962 bytes resources/sounds/stadium.mp3 | Bin 0 -> 8832 bytes resources/sounds/whip.mp3 | Bin 0 -> 25855 bytes resources/sounds/wire.mp3 | Bin 0 -> 5572 bytes resources/sounds/woosh.mp3 | Bin 0 -> 3563 bytes resources/sounds/zone.mp3 | Bin 0 -> 6564 bytes resources/tilesets/ancientasia/asia.bmp | Bin 0 -> 246838 bytes resources/tilesets/ancientasia/bmp00001.bmp | Bin 0 -> 206 bytes resources/tilesets/ancientasia/chopper.bmp | Bin 0 -> 9270 bytes resources/tilesets/ancientasia/cmdbar.bmp | Bin 0 -> 2118 bytes resources/tilesets/ancientasia/edittool.bmp | Bin 0 -> 2580 bytes resources/tilesets/ancientasia/explode.bmp | Bin 0 -> 14902 bytes resources/tilesets/ancientasia/graphtoo.bmp | Bin 0 -> 1306 bytes resources/tilesets/ancientasia/icon1.ico | Bin 0 -> 1078 bytes resources/tilesets/ancientasia/idr_grap.ico | Bin 0 -> 1078 bytes resources/tilesets/ancientasia/idr_mapf.ico | Bin 0 -> 1078 bytes resources/tilesets/ancientasia/mapchopp.bmp | Bin 0 -> 206 bytes resources/tilesets/ancientasia/mapmonst.bmp | Bin 0 -> 206 bytes resources/tilesets/ancientasia/mapplane.bmp | Bin 0 -> 206 bytes resources/tilesets/ancientasia/maptools.bmp | Bin 0 -> 2148 bytes resources/tilesets/ancientasia/maptorna.bmp | Bin 0 -> 206 bytes resources/tilesets/ancientasia/maptrain.bmp | Bin 0 -> 206 bytes resources/tilesets/ancientasia/monster.bmp | Bin 0 -> 18550 bytes resources/tilesets/ancientasia/mptesdoc.ico | Bin 0 -> 1078 bytes resources/tilesets/ancientasia/mptest.ico | Bin 0 -> 1078 bytes resources/tilesets/ancientasia/plane.bmp | Bin 0 -> 19510 bytes resources/tilesets/ancientasia/scen0u.bmp | Bin 0 -> 5366 bytes resources/tilesets/ancientasia/scen1u.bmp | Bin 0 -> 5366 bytes resources/tilesets/ancientasia/scen2u.bmp | Bin 0 -> 5366 bytes resources/tilesets/ancientasia/scen3u.bmp | Bin 0 -> 5366 bytes resources/tilesets/ancientasia/scen4u.bmp | Bin 0 -> 5366 bytes resources/tilesets/ancientasia/scen5u.bmp | Bin 0 -> 5366 bytes resources/tilesets/ancientasia/scen6u.bmp | Bin 0 -> 5366 bytes resources/tilesets/ancientasia/scen7u.bmp | Bin 0 -> 5366 bytes resources/tilesets/ancientasia/scusasia.rc2 | 13 + resources/tilesets/ancientasia/ship.bmp | Bin 0 -> 19510 bytes resources/tilesets/ancientasia/smltitle.bmp | Bin 0 -> 188578 bytes resources/tilesets/ancientasia/tiles.bmp | Bin 0 -> 246838 bytes resources/tilesets/ancientasia/toolbar.bmp | Bin 0 -> 1200 bytes resources/tilesets/ancientasia/tornado.bmp | Bin 0 -> 7990 bytes resources/tilesets/ancientasia/train.bmp | Bin 0 -> 10294 bytes resources/tilesets/classic/bmp00001.bmp | Bin 0 -> 206 bytes resources/tilesets/classic/chopper.bmp | Bin 0 -> 9270 bytes resources/tilesets/classic/cmdbar.bmp | Bin 0 -> 2118 bytes resources/tilesets/classic/edittool.bmp | Bin 0 -> 2816 bytes resources/tilesets/classic/explode.bmp | Bin 0 -> 14902 bytes resources/tilesets/classic/graphtoo.bmp | Bin 0 -> 1306 bytes resources/tilesets/classic/icon1.ico | Bin 0 -> 1078 bytes resources/tilesets/classic/idr_grap.ico | Bin 0 -> 1078 bytes resources/tilesets/classic/idr_mapf.ico | Bin 0 -> 1078 bytes resources/tilesets/classic/mapchopp.bmp | Bin 0 -> 206 bytes resources/tilesets/classic/mapmonst.bmp | Bin 0 -> 206 bytes resources/tilesets/classic/mapplane.bmp | Bin 0 -> 206 bytes resources/tilesets/classic/maptools.bmp | Bin 0 -> 2148 bytes resources/tilesets/classic/maptorna.bmp | Bin 0 -> 206 bytes resources/tilesets/classic/maptrain.bmp | Bin 0 -> 206 bytes resources/tilesets/classic/monster.bmp | Bin 0 -> 18550 bytes resources/tilesets/classic/mptesdoc.ico | Bin 0 -> 1078 bytes resources/tilesets/classic/mptest.ico | Bin 0 -> 1078 bytes resources/tilesets/classic/plane.bmp | Bin 0 -> 19510 bytes resources/tilesets/classic/scen0u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic/scen1u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic/scen2u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic/scen3u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic/scen4u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic/scen5u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic/scen6u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic/scen7u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic/scusclas.rc2 | 13 + resources/tilesets/classic/ship.bmp | Bin 0 -> 19510 bytes resources/tilesets/classic/smltitle.bmp | Bin 0 -> 188578 bytes resources/tilesets/classic/splash.bmp | Bin 0 -> 143526 bytes resources/tilesets/classic/tiles.bmp | Bin 0 -> 246838 bytes resources/tilesets/classic/toolbar.bmp | Bin 0 -> 1200 bytes resources/tilesets/classic/tornado.bmp | Bin 0 -> 7990 bytes resources/tilesets/classic/train.bmp | Bin 0 -> 10294 bytes resources/tilesets/classic95/bmp00001.bmp | Bin 0 -> 206 bytes resources/tilesets/classic95/chopper.bmp | Bin 0 -> 9270 bytes resources/tilesets/classic95/cmdbar.bmp | Bin 0 -> 2118 bytes resources/tilesets/classic95/edittool.bmp | Bin 0 -> 2818 bytes resources/tilesets/classic95/explode.bmp | Bin 0 -> 14902 bytes resources/tilesets/classic95/graphtoo.bmp | Bin 0 -> 1306 bytes resources/tilesets/classic95/icon1.ico | Bin 0 -> 1078 bytes resources/tilesets/classic95/idr_grap.ico | Bin 0 -> 1078 bytes resources/tilesets/classic95/idr_mapf.ico | Bin 0 -> 1078 bytes resources/tilesets/classic95/mapchopp.bmp | Bin 0 -> 206 bytes resources/tilesets/classic95/mapmonst.bmp | Bin 0 -> 206 bytes resources/tilesets/classic95/mapplane.bmp | Bin 0 -> 206 bytes resources/tilesets/classic95/maptools.bmp | Bin 0 -> 2148 bytes resources/tilesets/classic95/maptorna.bmp | Bin 0 -> 206 bytes resources/tilesets/classic95/maptrain.bmp | Bin 0 -> 206 bytes resources/tilesets/classic95/monster.bmp | Bin 0 -> 18550 bytes resources/tilesets/classic95/mptesdoc.ico | Bin 0 -> 1078 bytes resources/tilesets/classic95/mptest.ico | Bin 0 -> 1078 bytes resources/tilesets/classic95/plane.bmp | Bin 0 -> 19510 bytes resources/tilesets/classic95/scen0u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic95/scen1u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic95/scen2u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic95/scen3u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic95/scen4u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic95/scen5u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic95/scen6u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic95/scen7u.bmp | Bin 0 -> 5366 bytes resources/tilesets/classic95/scuscl95.rc2 | 13 + resources/tilesets/classic95/ship.bmp | Bin 0 -> 19510 bytes resources/tilesets/classic95/smltitle.bmp | Bin 0 -> 188578 bytes resources/tilesets/classic95/splash.bmp | Bin 0 -> 143526 bytes resources/tilesets/classic95/tiles.bmp | Bin 0 -> 246838 bytes resources/tilesets/classic95/toolbar.bmp | Bin 0 -> 1200 bytes resources/tilesets/classic95/tornado.bmp | Bin 0 -> 7990 bytes resources/tilesets/classic95/train.bmp | Bin 0 -> 10294 bytes resources/tilesets/futureeurope/bmp00001.bmp | Bin 0 -> 206 bytes resources/tilesets/futureeurope/chopper.bmp | Bin 0 -> 9270 bytes resources/tilesets/futureeurope/cmdbar.bmp | Bin 0 -> 2118 bytes resources/tilesets/futureeurope/edittool.bmp | Bin 0 -> 2734 bytes resources/tilesets/futureeurope/explode.bmp | Bin 0 -> 14902 bytes resources/tilesets/futureeurope/graphtoo.bmp | Bin 0 -> 1306 bytes resources/tilesets/futureeurope/icon1.ico | Bin 0 -> 1078 bytes resources/tilesets/futureeurope/idr_grap.ico | Bin 0 -> 1078 bytes resources/tilesets/futureeurope/idr_mapf.ico | Bin 0 -> 1078 bytes resources/tilesets/futureeurope/mapchopp.bmp | Bin 0 -> 206 bytes resources/tilesets/futureeurope/mapmonst.bmp | Bin 0 -> 206 bytes resources/tilesets/futureeurope/mapplane.bmp | Bin 0 -> 206 bytes resources/tilesets/futureeurope/maptools.bmp | Bin 0 -> 2148 bytes resources/tilesets/futureeurope/maptorna.bmp | Bin 0 -> 206 bytes resources/tilesets/futureeurope/maptrain.bmp | Bin 0 -> 206 bytes resources/tilesets/futureeurope/monster.bmp | Bin 0 -> 37942 bytes resources/tilesets/futureeurope/mptesdoc.ico | Bin 0 -> 1078 bytes resources/tilesets/futureeurope/mptest.ico | Bin 0 -> 1078 bytes resources/tilesets/futureeurope/plane.bmp | Bin 0 -> 19510 bytes resources/tilesets/futureeurope/scen0u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureeurope/scen1u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureeurope/scen2u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureeurope/scen3u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureeurope/scen4u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureeurope/scen5u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureeurope/scen6u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureeurope/scen7u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureeurope/scusfeur.rc2 | 13 + resources/tilesets/futureeurope/ship.bmp | Bin 0 -> 19510 bytes resources/tilesets/futureeurope/smltitle.bmp | Bin 0 -> 188578 bytes resources/tilesets/futureeurope/tiles.bmp | Bin 0 -> 246838 bytes resources/tilesets/futureeurope/toolbar.bmp | Bin 0 -> 1200 bytes resources/tilesets/futureeurope/tornado.bmp | Bin 0 -> 7990 bytes resources/tilesets/futureeurope/train.bmp | Bin 0 -> 10294 bytes resources/tilesets/futureusa/bmp00001.bmp | Bin 0 -> 206 bytes resources/tilesets/futureusa/chopper.bmp | Bin 0 -> 9270 bytes resources/tilesets/futureusa/cmdbar.bmp | Bin 0 -> 2118 bytes resources/tilesets/futureusa/edittool.bmp | Bin 0 -> 2752 bytes resources/tilesets/futureusa/explode.bmp | Bin 0 -> 14902 bytes resources/tilesets/futureusa/graphtoo.bmp | Bin 0 -> 1306 bytes resources/tilesets/futureusa/icon1.ico | Bin 0 -> 1078 bytes resources/tilesets/futureusa/idr_grap.ico | Bin 0 -> 1078 bytes resources/tilesets/futureusa/idr_mapf.ico | Bin 0 -> 1078 bytes resources/tilesets/futureusa/mapchopp.bmp | Bin 0 -> 206 bytes resources/tilesets/futureusa/mapmonst.bmp | Bin 0 -> 206 bytes resources/tilesets/futureusa/mapplane.bmp | Bin 0 -> 206 bytes resources/tilesets/futureusa/maptools.bmp | Bin 0 -> 2148 bytes resources/tilesets/futureusa/maptorna.bmp | Bin 0 -> 206 bytes resources/tilesets/futureusa/maptrain.bmp | Bin 0 -> 206 bytes resources/tilesets/futureusa/monster.bmp | Bin 0 -> 37942 bytes resources/tilesets/futureusa/mptesdoc.ico | Bin 0 -> 1078 bytes resources/tilesets/futureusa/mptest.ico | Bin 0 -> 1078 bytes resources/tilesets/futureusa/plane.bmp | Bin 0 -> 19510 bytes resources/tilesets/futureusa/scen0u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureusa/scen1u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureusa/scen2u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureusa/scen3u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureusa/scen4u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureusa/scen5u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureusa/scen6u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureusa/scen7u.bmp | Bin 0 -> 5366 bytes resources/tilesets/futureusa/scusfusa.rc2 | 13 + resources/tilesets/futureusa/ship.bmp | Bin 0 -> 19510 bytes resources/tilesets/futureusa/smltitle.bmp | Bin 0 -> 188578 bytes resources/tilesets/futureusa/tiles.bmp | Bin 0 -> 246838 bytes resources/tilesets/futureusa/toolbar.bmp | Bin 0 -> 1200 bytes resources/tilesets/futureusa/tornado.bmp | Bin 0 -> 7990 bytes resources/tilesets/futureusa/train.bmp | Bin 0 -> 9270 bytes resources/tilesets/medievaltimes/bmp00001.bmp | Bin 0 -> 206 bytes resources/tilesets/medievaltimes/chopper.bmp | Bin 0 -> 9270 bytes resources/tilesets/medievaltimes/cmdbar.bmp | Bin 0 -> 2118 bytes resources/tilesets/medievaltimes/edittool.bmp | Bin 0 -> 2660 bytes resources/tilesets/medievaltimes/explode.bmp | Bin 0 -> 14902 bytes resources/tilesets/medievaltimes/graphtoo.bmp | Bin 0 -> 1306 bytes resources/tilesets/medievaltimes/icon1.ico | Bin 0 -> 1078 bytes resources/tilesets/medievaltimes/idr_grap.ico | Bin 0 -> 1078 bytes resources/tilesets/medievaltimes/idr_mapf.ico | Bin 0 -> 1078 bytes resources/tilesets/medievaltimes/mapchopp.bmp | Bin 0 -> 206 bytes resources/tilesets/medievaltimes/mapmonst.bmp | Bin 0 -> 206 bytes resources/tilesets/medievaltimes/mapplane.bmp | Bin 0 -> 206 bytes resources/tilesets/medievaltimes/maptools.bmp | Bin 0 -> 2148 bytes resources/tilesets/medievaltimes/maptorna.bmp | Bin 0 -> 206 bytes resources/tilesets/medievaltimes/maptrain.bmp | Bin 0 -> 206 bytes resources/tilesets/medievaltimes/monster.bmp | Bin 0 -> 37942 bytes resources/tilesets/medievaltimes/mptesdoc.ico | Bin 0 -> 1078 bytes resources/tilesets/medievaltimes/mptest.ico | Bin 0 -> 1078 bytes resources/tilesets/medievaltimes/plane.bmp | Bin 0 -> 19510 bytes resources/tilesets/medievaltimes/scen0u.bmp | Bin 0 -> 5366 bytes resources/tilesets/medievaltimes/scen1u.bmp | Bin 0 -> 5366 bytes resources/tilesets/medievaltimes/scen2u.bmp | Bin 0 -> 5366 bytes resources/tilesets/medievaltimes/scen3u.bmp | Bin 0 -> 5366 bytes resources/tilesets/medievaltimes/scen4u.bmp | Bin 0 -> 5366 bytes resources/tilesets/medievaltimes/scen5u.bmp | Bin 0 -> 5366 bytes resources/tilesets/medievaltimes/scen6u.bmp | Bin 0 -> 5366 bytes resources/tilesets/medievaltimes/scen7u.bmp | Bin 0 -> 5366 bytes resources/tilesets/medievaltimes/scusmedi.rc2 | 13 + resources/tilesets/medievaltimes/ship.bmp | Bin 0 -> 19510 bytes resources/tilesets/medievaltimes/smltitle.bmp | Bin 0 -> 188578 bytes resources/tilesets/medievaltimes/tiles.bmp | Bin 0 -> 246838 bytes resources/tilesets/medievaltimes/toolbar.bmp | Bin 0 -> 1200 bytes resources/tilesets/medievaltimes/tornado.bmp | Bin 0 -> 7990 bytes resources/tilesets/medievaltimes/train.bmp | Bin 0 -> 10294 bytes resources/tilesets/mooncolony/bmp00001.bmp | Bin 0 -> 206 bytes resources/tilesets/mooncolony/chopper.bmp | Bin 0 -> 9270 bytes resources/tilesets/mooncolony/cmdbar.bmp | Bin 0 -> 2118 bytes resources/tilesets/mooncolony/edittool.bmp | Bin 0 -> 2986 bytes resources/tilesets/mooncolony/explode.bmp | Bin 0 -> 14902 bytes resources/tilesets/mooncolony/graphtoo.bmp | Bin 0 -> 1306 bytes resources/tilesets/mooncolony/icon1.ico | Bin 0 -> 1078 bytes resources/tilesets/mooncolony/idr_grap.ico | Bin 0 -> 1078 bytes resources/tilesets/mooncolony/idr_mapf.ico | Bin 0 -> 1078 bytes resources/tilesets/mooncolony/mapchopp.bmp | Bin 0 -> 206 bytes resources/tilesets/mooncolony/mapmonst.bmp | Bin 0 -> 206 bytes resources/tilesets/mooncolony/mapplane.bmp | Bin 0 -> 206 bytes resources/tilesets/mooncolony/maptools.bmp | Bin 0 -> 2148 bytes resources/tilesets/mooncolony/maptorna.bmp | Bin 0 -> 206 bytes resources/tilesets/mooncolony/maptrain.bmp | Bin 0 -> 206 bytes resources/tilesets/mooncolony/monster.bmp | Bin 0 -> 37942 bytes resources/tilesets/mooncolony/mptesdoc.ico | Bin 0 -> 1078 bytes resources/tilesets/mooncolony/mptest.ico | Bin 0 -> 1078 bytes resources/tilesets/mooncolony/plane.bmp | Bin 0 -> 19510 bytes resources/tilesets/mooncolony/scen0u.bmp | Bin 0 -> 5366 bytes resources/tilesets/mooncolony/scen1u.bmp | Bin 0 -> 5366 bytes resources/tilesets/mooncolony/scen2u.bmp | Bin 0 -> 5366 bytes resources/tilesets/mooncolony/scen3u.bmp | Bin 0 -> 5366 bytes resources/tilesets/mooncolony/scen4u.bmp | Bin 0 -> 5366 bytes resources/tilesets/mooncolony/scen5u.bmp | Bin 0 -> 5366 bytes resources/tilesets/mooncolony/scen6u.bmp | Bin 0 -> 5366 bytes resources/tilesets/mooncolony/scen7u.bmp | Bin 0 -> 5366 bytes resources/tilesets/mooncolony/scusmoon.rc2 | 13 + resources/tilesets/mooncolony/ship.bmp | Bin 0 -> 19510 bytes resources/tilesets/mooncolony/smltitle.bmp | Bin 0 -> 188578 bytes resources/tilesets/mooncolony/tiles.bmp | Bin 0 -> 246838 bytes resources/tilesets/mooncolony/toolbar.bmp | Bin 0 -> 1200 bytes resources/tilesets/mooncolony/tornado.bmp | Bin 0 -> 7990 bytes resources/tilesets/mooncolony/train.bmp | Bin 0 -> 10294 bytes resources/tilesets/wildwest/bmp00001.bmp | Bin 0 -> 206 bytes resources/tilesets/wildwest/chopper.bmp | Bin 0 -> 9270 bytes resources/tilesets/wildwest/cmdbar.bmp | Bin 0 -> 2118 bytes resources/tilesets/wildwest/edittool.bmp | Bin 0 -> 2766 bytes resources/tilesets/wildwest/explode.bmp | Bin 0 -> 14902 bytes resources/tilesets/wildwest/graphtoo.bmp | Bin 0 -> 1306 bytes resources/tilesets/wildwest/icon1.ico | Bin 0 -> 1078 bytes resources/tilesets/wildwest/idr_grap.ico | Bin 0 -> 1078 bytes resources/tilesets/wildwest/idr_mapf.ico | Bin 0 -> 1078 bytes resources/tilesets/wildwest/mapchopp.bmp | Bin 0 -> 206 bytes resources/tilesets/wildwest/mapmonst.bmp | Bin 0 -> 206 bytes resources/tilesets/wildwest/mapplane.bmp | Bin 0 -> 206 bytes resources/tilesets/wildwest/maptools.bmp | Bin 0 -> 2148 bytes resources/tilesets/wildwest/maptorna.bmp | Bin 0 -> 206 bytes resources/tilesets/wildwest/maptrain.bmp | Bin 0 -> 206 bytes resources/tilesets/wildwest/monster.bmp | Bin 0 -> 37942 bytes resources/tilesets/wildwest/mptesdoc.ico | Bin 0 -> 1078 bytes resources/tilesets/wildwest/mptest.ico | Bin 0 -> 1078 bytes resources/tilesets/wildwest/plane.bmp | Bin 0 -> 19510 bytes resources/tilesets/wildwest/scen0u.bmp | Bin 0 -> 5366 bytes resources/tilesets/wildwest/scen1u.bmp | Bin 0 -> 5366 bytes resources/tilesets/wildwest/scen2u.bmp | Bin 0 -> 5366 bytes resources/tilesets/wildwest/scen3u.bmp | Bin 0 -> 5366 bytes resources/tilesets/wildwest/scen4u.bmp | Bin 0 -> 5366 bytes resources/tilesets/wildwest/scen5u.bmp | Bin 0 -> 5366 bytes resources/tilesets/wildwest/scen6u.bmp | Bin 0 -> 5366 bytes resources/tilesets/wildwest/scen7u.bmp | Bin 0 -> 5366 bytes resources/tilesets/wildwest/scuswest.rc2 | 13 + resources/tilesets/wildwest/ship.bmp | Bin 0 -> 19510 bytes resources/tilesets/wildwest/smltitle.bmp | Bin 0 -> 188578 bytes resources/tilesets/wildwest/tiles.bmp | Bin 0 -> 246838 bytes resources/tilesets/wildwest/toolbar.bmp | Bin 0 -> 1200 bytes resources/tilesets/wildwest/tornado.bmp | Bin 0 -> 7990 bytes resources/tilesets/wildwest/train.bmp | Bin 0 -> 10294 bytes src/main.zig | 27 + src/root.zig | 10 + 1794 files changed, 40615 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 .gitignore create mode 100644 .vscode/tasks.json create mode 100644 COPYING create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.zig create mode 100644 build.zig.zon create mode 100644 core/allocate.cpp create mode 100644 core/animate.cpp create mode 100644 core/budget.cpp create mode 100644 core/callback.cpp create mode 100644 core/callback.h create mode 100644 core/connect.cpp create mode 100644 core/data_types.h create mode 100644 core/disasters.cpp create mode 100644 core/emscripten.cpp create mode 100644 core/evaluate.cpp create mode 100644 core/fileio.cpp create mode 100644 core/frontendmessage.cpp create mode 100644 core/frontendmessage.h create mode 100644 core/generate.cpp create mode 100644 core/graph.cpp create mode 100644 core/initialize.cpp create mode 100644 core/map.cpp create mode 100644 core/map_type.h create mode 100644 core/message.cpp create mode 100644 core/micropolis.cpp create mode 100644 core/micropolis.h create mode 100644 core/micropolisengine_lib.js create mode 100644 core/micropolisengine_template.html create mode 100644 core/position.cpp create mode 100644 core/position.h create mode 100644 core/power.cpp create mode 100644 core/random.cpp create mode 100644 core/scan.cpp create mode 100644 core/simulate.cpp create mode 100644 core/sprite.cpp create mode 100644 core/text.h create mode 100644 core/tool.cpp create mode 100644 core/tool.h create mode 100644 core/traffic.cpp create mode 100644 core/update.cpp create mode 100644 core/utilities.cpp create mode 100644 core/zone.cpp create mode 100644 docs/HAR2009Transcript.html create mode 100644 docs/HackingAtRandomTalk.txt create mode 100644 docs/MicropolisHARTalk.key/Contents/PkgInfo create mode 100644 docs/MicropolisHARTalk.key/QuickLook/Thumbnail.jpg create mode 100644 docs/MicropolisHARTalk.key/color-profile create mode 100644 docs/MicropolisHARTalk.key/index.apxl.gz create mode 100644 docs/MicropolisHARTalk.key/presentation_micropolis1-3.jpg create mode 100644 docs/MicropolisHARTalk.key/presentation_micropolis2-5.jpg create mode 100644 docs/MicropolisHARTalk.key/presentation_micropolis3-3.jpg create mode 100644 docs/MicropolisHARTalk.key/presentation_micropolis4-3.jpg create mode 100644 docs/MicropolisHARTalk.key/presentation_micropolis5-3.jpg create mode 100644 docs/MicropolisHARTalk.key/presentation_micropolis6-3.jpg create mode 100644 docs/MicropolisHARTalk.key/presentation_micropolis7-3.jpg create mode 100644 docs/MicropolisHARTalk.key/thumbs/st0.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st1.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st11-2.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st11-3.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st11-4.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st11-5.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st11-6.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st11-7.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st11-8.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st2.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st3-1.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st3-2.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st3-3.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st3-4.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st3-5.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st3-6.tiff create mode 100644 docs/MicropolisHARTalk.key/thumbs/st3-7.tiff create mode 100755 docs/bibliography.html create mode 100755 docs/credits.html create mode 100755 docs/history.html create mode 100644 docs/images/Alan_Kay.jpg create mode 100644 docs/images/Alan_Kay_Thumb.jpg create mode 100644 docs/images/Don_Hopkins_Handwaving.jpg create mode 100644 docs/images/Don_Hopkins_Handwaving_Thumb.jpg create mode 100644 docs/images/Don_Hopkins_OLPC.jpg create mode 100644 docs/images/Don_Hopkins_OLPC_Thumb.jpg create mode 100644 docs/images/Don_Hopkins_Talk_1.jpg create mode 100644 docs/images/Don_Hopkins_Talk_1_Thumb.jpg create mode 100644 docs/images/Don_Hopkins_Talk_2.jpg create mode 100644 docs/images/Don_Hopkins_Talk_2_Thumb.jpg create mode 100644 docs/images/Don_Hopkins_Talk_3.jpg create mode 100644 docs/images/Don_Hopkins_Talk_3_Thumb.jpg create mode 100644 docs/images/Facebook.png create mode 100644 docs/images/Facebook_Thumb.png create mode 100644 docs/images/HAR2009_Slides_001.png create mode 100644 docs/images/HAR2009_Slides_002.png create mode 100644 docs/images/HAR2009_Slides_003.png create mode 100644 docs/images/HAR2009_Slides_004.png create mode 100644 docs/images/HAR2009_Slides_005.png create mode 100644 docs/images/HAR2009_Slides_006.png create mode 100644 docs/images/HAR2009_Slides_007.png create mode 100644 docs/images/HAR2009_Slides_008.png create mode 100644 docs/images/HAR2009_Slides_009.png create mode 100644 docs/images/HAR2009_Slides_010.png create mode 100644 docs/images/HAR2009_Slides_011.png create mode 100644 docs/images/HAR2009_Slides_011_Thumb.png create mode 100644 docs/images/HAR2009_Slides_012.png create mode 100644 docs/images/HAR2009_Slides_012_Thumb.png create mode 100644 docs/images/HAR2009_Slides_013.png create mode 100644 docs/images/HAR2009_Slides_013_Thumb.png create mode 100644 docs/images/HAR2009_Slides_014.png create mode 100644 docs/images/HAR2009_Slides_014_Thumb.png create mode 100644 docs/images/HAR2009_Slides_015.png create mode 100644 docs/images/HAR2009_Slides_015_Thumb.png create mode 100644 docs/images/HAR2009_Slides_016.png create mode 100644 docs/images/HAR2009_Slides_016_Thumb.png create mode 100644 docs/images/HAR2009_Slides_017.png create mode 100644 docs/images/HAR2009_Slides_017_Thumb.png create mode 100644 docs/images/MediaWiki.png create mode 100644 docs/images/MediaWiki_Thumb.png create mode 100644 docs/images/Micropolis_Demo_01.jpg create mode 100644 docs/images/Micropolis_Demo_01_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_02.jpg create mode 100644 docs/images/Micropolis_Demo_02_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_03.jpg create mode 100644 docs/images/Micropolis_Demo_03_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_04.jpg create mode 100644 docs/images/Micropolis_Demo_04_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_05.jpg create mode 100644 docs/images/Micropolis_Demo_05_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_06.jpg create mode 100644 docs/images/Micropolis_Demo_06_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_07.jpg create mode 100644 docs/images/Micropolis_Demo_07_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_08.jpg create mode 100644 docs/images/Micropolis_Demo_08_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_09.jpg create mode 100644 docs/images/Micropolis_Demo_09_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_10.jpg create mode 100644 docs/images/Micropolis_Demo_10_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_11.jpg create mode 100644 docs/images/Micropolis_Demo_11_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_12.jpg create mode 100644 docs/images/Micropolis_Demo_12_Thumb.jpg create mode 100644 docs/images/Micropolis_Demo_13.jpg create mode 100644 docs/images/Micropolis_Demo_13_Thumb.jpg create mode 100644 docs/images/Micropolis_Facebook.png create mode 100644 docs/images/Micropolis_Facebook_Medium.png create mode 100644 docs/images/Micropolis_Facebook_MediumSmall.png create mode 100644 docs/images/Micropolis_Facebook_Thumb.png create mode 100644 docs/images/Micropolis_GTK.png create mode 100644 docs/images/Micropolis_GTK_Thumb.png create mode 100644 docs/images/Micropolis_Google_Code.jpg create mode 100644 docs/images/Micropolis_Google_Code_Thumb.jpg create mode 100644 docs/images/Micropolis_OpenLaszlo.png create mode 100644 docs/images/Micropolis_OpenLaszlo_Thumb.png create mode 100644 docs/images/Micropolis_Robot_Code.jpg create mode 100644 docs/images/Micropolis_Robot_Code_Thumb.jpg create mode 100644 docs/images/Micropolis_Translations.jpg create mode 100644 docs/images/Micropolis_Translations_Thumb.jpg create mode 100644 docs/images/Robot_Odyssey_1.gif create mode 100644 docs/images/Robot_Odyssey_2.png create mode 100644 docs/images/Robot_Odyssey_3.png create mode 100644 docs/images/Robot_Odyssey_4.jpg create mode 100644 docs/images/Robot_Odyssey_5.jpg create mode 100644 docs/images/Robot_Odyssey_6.gif create mode 100644 docs/images/Robot_Odyssey_7.jpg create mode 100644 docs/images/Robot_Odyssey_8.png create mode 100644 docs/images/Schoolhouse_Rock.jpg create mode 100644 docs/images/Seymour_Papert.jpg create mode 100644 docs/images/SimCity_Classic_Cover_Art.jpg create mode 100644 docs/images/SimCity_Classic_Cover_Art_Thumb.jpg create mode 100644 docs/images/SimCity_HyperLook.gif create mode 100644 docs/images/SimCity_HyperLook_Thumb.jpg create mode 100755 docs/images/SimCity_Indigo.gif create mode 100644 docs/images/SimCity_Indigo_Thumb.jpg create mode 100755 docs/images/SimCity_NCD.gif create mode 100644 docs/images/SimCity_NCD_Thumb.jpg create mode 100644 docs/images/SimCity_OLPC.jpg create mode 100644 docs/images/SimCity_OLPC_Thumb.jpg create mode 100755 docs/images/SimCity_Sun.gif create mode 100644 docs/images/SimCity_Sun_Thumb.jpg create mode 100755 docs/images/SimCity_X11.gif create mode 100644 docs/images/SimCity_X11_Thumb.jpg create mode 100644 docs/images/Terrapin_Turtle.jpg create mode 100644 docs/images/Terrapin_Turtle_Thumb.jpg create mode 100644 docs/images/The_Sims_Box.jpg create mode 100644 docs/images/The_Sims_Box_Thumb.jpg create mode 100644 docs/images/Tux.jpg create mode 100644 docs/images/Tux_Thumb.jpg create mode 100644 docs/images/WikiMedia.png create mode 100644 docs/images/WikiMedia_Thumb.png create mode 100644 docs/images/Wikipedia.png create mode 100644 docs/images/Wikipedia_Thumb.png create mode 100644 docs/images/Will_Wright.jpg create mode 100644 docs/images/Will_Wright_Thumb.jpg create mode 100755 docs/index.html create mode 100755 docs/inside.html create mode 100755 docs/intro.html create mode 100755 docs/reference.html create mode 100755 docs/tutorial.html create mode 100644 icon.png create mode 100644 notes/ASSETS.txt create mode 100644 notes/AnimationSequences.txt create mode 100644 notes/CALLBACKS.txt create mode 100644 notes/CODING-STYLE.txt create mode 100644 notes/DevelopmentPlan.md create mode 100644 notes/DocTCL.txt create mode 100644 notes/MultiPlayerIdeas.txt create mode 100644 notes/OLPC-notes.txt create mode 100644 notes/PLAN.txt create mode 100644 notes/ROADMAP.txt create mode 100644 notes/SIMULATOR.txt create mode 100644 notes/SharedData.txt create mode 100644 notes/TODO.txt create mode 100644 notes/Tiles.txt create mode 100644 notes/UserInterfacePlan.txt create mode 100644 notes/outline.txt create mode 100644 notes/prompt-code-review-file.txt create mode 100644 notes/prompt-code-review-member.txt create mode 100644 resources/cities/about.cty create mode 100644 resources/cities/badnews.cty create mode 100644 resources/cities/bluebird.cty create mode 100644 resources/cities/bruce.cty create mode 100644 resources/cities/deadwood.cty create mode 100644 resources/cities/finnigan.cty create mode 100644 resources/cities/freds.cty create mode 100644 resources/cities/haight.cty create mode 100644 resources/cities/happisle.cty create mode 100644 resources/cities/joffburg.cty create mode 100644 resources/cities/kamakura.cty create mode 100644 resources/cities/kobe.cty create mode 100644 resources/cities/kowloon.cty create mode 100644 resources/cities/kyoto.cty create mode 100644 resources/cities/linecity.cty create mode 100644 resources/cities/med_isle.cty create mode 100644 resources/cities/ndulls.cty create mode 100644 resources/cities/neatmap.cty create mode 100644 resources/cities/radial.cty create mode 100644 resources/cities/scenario_bern.cty create mode 100644 resources/cities/scenario_boston.cty create mode 100644 resources/cities/scenario_detroit.cty create mode 100644 resources/cities/scenario_dullsville.cty create mode 100644 resources/cities/scenario_hamburg.cty create mode 100644 resources/cities/scenario_rio_de_janeiro.cty create mode 100644 resources/cities/scenario_san_francisco.cty create mode 100644 resources/cities/scenario_tokyo.cty create mode 100644 resources/cities/senri.cty create mode 100644 resources/cities/southpac.cty create mode 100644 resources/cities/splats.cty create mode 100644 resources/cities/wetcity.cty create mode 100644 resources/cities/yokohama.cty create mode 100644 resources/data/cities.xml create mode 100644 resources/data/disasters.xml create mode 100644 resources/data/notices.xml create mode 100644 resources/data/overlays.xml create mode 100644 resources/data/scenarios.xml create mode 100644 resources/data/stri.202.txt create mode 100644 resources/data/stri.219.txt create mode 100644 resources/data/stri.301.txt create mode 100644 resources/data/stri.356.txt create mode 100644 resources/data/strings_cs-CZ.xml create mode 100644 resources/data/strings_de-DE.xml create mode 100644 resources/data/strings_en-US.xml create mode 100644 resources/data/strings_fr-FR.xml create mode 100644 resources/data/strings_kr-KR.xml create mode 100644 resources/data/strings_nl-NL.xml create mode 100644 resources/images/cursor_pan_down.png create mode 100644 resources/images/cursor_pan_up.png create mode 100644 resources/images/cursor_pie_down.png create mode 100644 resources/images/cursor_pie_up.png create mode 100644 resources/images/cursor_template.psd create mode 100644 resources/images/dataColorMap.png create mode 100644 resources/images/generate_map.png create mode 100755 resources/images/icairp.png create mode 100755 resources/images/icairphi.png create mode 100755 resources/images/icchlk.png create mode 100755 resources/images/icchlkhi.png create mode 100755 resources/images/iccoal.png create mode 100755 resources/images/iccoalhi.png create mode 100755 resources/images/iccom.png create mode 100755 resources/images/iccomhi.png create mode 100755 resources/images/icdozr.png create mode 100755 resources/images/icdozrhi.png create mode 100755 resources/images/icersr.png create mode 100755 resources/images/icersrhi.png create mode 100755 resources/images/icfire.png create mode 100755 resources/images/icfirehi.png create mode 100755 resources/images/icind.png create mode 100755 resources/images/icindhi.png create mode 100755 resources/images/icnuc.png create mode 100755 resources/images/icnuchi.png create mode 100644 resources/images/icon_about.png create mode 100644 resources/images/icon_capital.png create mode 100644 resources/images/icon_city.png create mode 100644 resources/images/icon_crime.png create mode 100644 resources/images/icon_impeached.png create mode 100644 resources/images/icon_keytothecity.png create mode 100644 resources/images/icon_megalopolis.png create mode 100644 resources/images/icon_metropolis.png create mode 100644 resources/images/icon_pollution.png create mode 100644 resources/images/icon_town.png create mode 100644 resources/images/icon_traffic.png create mode 100755 resources/images/icpark.png create mode 100755 resources/images/icparkhi.png create mode 100755 resources/images/icpol.png create mode 100755 resources/images/icpolhi.png create mode 100755 resources/images/icqry.png create mode 100755 resources/images/icqryhi.png create mode 100755 resources/images/icrail.png create mode 100755 resources/images/icrailhi.png create mode 100755 resources/images/icres.png create mode 100755 resources/images/icreshi.png create mode 100755 resources/images/icroad.png create mode 100755 resources/images/icroadhi.png create mode 100755 resources/images/icseap.png create mode 100755 resources/images/icseaphi.png create mode 100755 resources/images/icstad.png create mode 100755 resources/images/icstadhi.png create mode 100755 resources/images/icwire.png create mode 100755 resources/images/icwirehi.png create mode 100644 resources/images/logo_micropolis.png create mode 100644 resources/images/powerGridColorMap.png create mode 100644 resources/images/rateColorMap.png create mode 100644 resources/images/robot_odyssey.png create mode 100644 resources/images/scenario_1.png create mode 100644 resources/images/scenario_2.png create mode 100644 resources/images/scenario_3.png create mode 100644 resources/images/scenario_4.png create mode 100644 resources/images/scenario_5.png create mode 100644 resources/images/scenario_6.png create mode 100644 resources/images/scenario_7.png create mode 100644 resources/images/scenario_8.png create mode 100644 resources/images/sprite_1_0.png create mode 100644 resources/images/sprite_1_1.png create mode 100644 resources/images/sprite_1_2.png create mode 100644 resources/images/sprite_1_3.png create mode 100644 resources/images/sprite_1_4.png create mode 100644 resources/images/sprite_2_0.png create mode 100644 resources/images/sprite_2_1.png create mode 100644 resources/images/sprite_2_2.png create mode 100644 resources/images/sprite_2_3.png create mode 100644 resources/images/sprite_2_4.png create mode 100644 resources/images/sprite_2_5.png create mode 100644 resources/images/sprite_2_6.png create mode 100644 resources/images/sprite_2_7.png create mode 100644 resources/images/sprite_3_0.png create mode 100644 resources/images/sprite_3_1.png create mode 100644 resources/images/sprite_3_10.png create mode 100644 resources/images/sprite_3_2.png create mode 100644 resources/images/sprite_3_3.png create mode 100644 resources/images/sprite_3_4.png create mode 100644 resources/images/sprite_3_5.png create mode 100644 resources/images/sprite_3_6.png create mode 100644 resources/images/sprite_3_7.png create mode 100644 resources/images/sprite_3_8.png create mode 100644 resources/images/sprite_3_9.png create mode 100644 resources/images/sprite_4_0.png create mode 100644 resources/images/sprite_4_1.png create mode 100644 resources/images/sprite_4_2.png create mode 100644 resources/images/sprite_4_3.png create mode 100644 resources/images/sprite_4_4.png create mode 100644 resources/images/sprite_4_5.png create mode 100644 resources/images/sprite_4_6.png create mode 100644 resources/images/sprite_4_7.png create mode 100644 resources/images/sprite_5_0.png create mode 100644 resources/images/sprite_5_1.png create mode 100644 resources/images/sprite_5_10.png create mode 100644 resources/images/sprite_5_11.png create mode 100644 resources/images/sprite_5_12.png create mode 100644 resources/images/sprite_5_13.png create mode 100644 resources/images/sprite_5_14.png create mode 100644 resources/images/sprite_5_15.png create mode 100644 resources/images/sprite_5_2.png create mode 100644 resources/images/sprite_5_3.png create mode 100644 resources/images/sprite_5_4.png create mode 100644 resources/images/sprite_5_5.png create mode 100644 resources/images/sprite_5_6.png create mode 100644 resources/images/sprite_5_7.png create mode 100644 resources/images/sprite_5_8.png create mode 100644 resources/images/sprite_5_9.png create mode 100644 resources/images/sprite_6_0.png create mode 100644 resources/images/sprite_6_1.png create mode 100644 resources/images/sprite_6_2.png create mode 100644 resources/images/sprite_7_0.png create mode 100644 resources/images/sprite_7_1.png create mode 100644 resources/images/sprite_7_2.png create mode 100644 resources/images/sprite_7_3.png create mode 100644 resources/images/sprite_7_4.png create mode 100644 resources/images/sprite_7_5.png create mode 100644 resources/images/sprite_8_0.png create mode 100644 resources/images/sprite_8_1.png create mode 100644 resources/images/sprite_8_2.png create mode 100644 resources/images/sprite_8_3.png create mode 100644 resources/images/terrainColorMap.png create mode 100644 resources/images/tiles.png create mode 100644 resources/images/tiles/makezone.py create mode 100644 resources/images/tiles/micropolis_tile_0000.png create mode 100644 resources/images/tiles/micropolis_tile_0001.png create mode 100644 resources/images/tiles/micropolis_tile_0002.png create mode 100644 resources/images/tiles/micropolis_tile_0003.png create mode 100644 resources/images/tiles/micropolis_tile_0004.png create mode 100644 resources/images/tiles/micropolis_tile_0005.png create mode 100644 resources/images/tiles/micropolis_tile_0006.png create mode 100644 resources/images/tiles/micropolis_tile_0007.png create mode 100644 resources/images/tiles/micropolis_tile_0008.png create mode 100644 resources/images/tiles/micropolis_tile_0009.png create mode 100644 resources/images/tiles/micropolis_tile_0010.png create mode 100644 resources/images/tiles/micropolis_tile_0011.png create mode 100644 resources/images/tiles/micropolis_tile_0012.png create mode 100644 resources/images/tiles/micropolis_tile_0013.png create mode 100644 resources/images/tiles/micropolis_tile_0014.png create mode 100644 resources/images/tiles/micropolis_tile_0015.png create mode 100644 resources/images/tiles/micropolis_tile_0016.png create mode 100644 resources/images/tiles/micropolis_tile_0017.png create mode 100644 resources/images/tiles/micropolis_tile_0018.png create mode 100644 resources/images/tiles/micropolis_tile_0019.png create mode 100644 resources/images/tiles/micropolis_tile_0020.png create mode 100644 resources/images/tiles/micropolis_tile_0021.png create mode 100644 resources/images/tiles/micropolis_tile_0022.png create mode 100644 resources/images/tiles/micropolis_tile_0023.png create mode 100644 resources/images/tiles/micropolis_tile_0024.png create mode 100644 resources/images/tiles/micropolis_tile_0025.png create mode 100644 resources/images/tiles/micropolis_tile_0026.png create mode 100644 resources/images/tiles/micropolis_tile_0027.png create mode 100644 resources/images/tiles/micropolis_tile_0028.png create mode 100644 resources/images/tiles/micropolis_tile_0029.png create mode 100644 resources/images/tiles/micropolis_tile_0030.png create mode 100644 resources/images/tiles/micropolis_tile_0031.png create mode 100644 resources/images/tiles/micropolis_tile_0032.png create mode 100644 resources/images/tiles/micropolis_tile_0033.png create mode 100644 resources/images/tiles/micropolis_tile_0034.png create mode 100644 resources/images/tiles/micropolis_tile_0035.png create mode 100644 resources/images/tiles/micropolis_tile_0036.png create mode 100644 resources/images/tiles/micropolis_tile_0037.png create mode 100644 resources/images/tiles/micropolis_tile_0038.png create mode 100644 resources/images/tiles/micropolis_tile_0039.png create mode 100644 resources/images/tiles/micropolis_tile_0040.png create mode 100644 resources/images/tiles/micropolis_tile_0041.png create mode 100644 resources/images/tiles/micropolis_tile_0042.png create mode 100644 resources/images/tiles/micropolis_tile_0043.png create mode 100644 resources/images/tiles/micropolis_tile_0044.png create mode 100644 resources/images/tiles/micropolis_tile_0045.png create mode 100644 resources/images/tiles/micropolis_tile_0046.png create mode 100644 resources/images/tiles/micropolis_tile_0047.png create mode 100644 resources/images/tiles/micropolis_tile_0048.png create mode 100644 resources/images/tiles/micropolis_tile_0049.png create mode 100644 resources/images/tiles/micropolis_tile_0050.png create mode 100644 resources/images/tiles/micropolis_tile_0051.png create mode 100644 resources/images/tiles/micropolis_tile_0052.png create mode 100644 resources/images/tiles/micropolis_tile_0053.png create mode 100644 resources/images/tiles/micropolis_tile_0054.png create mode 100644 resources/images/tiles/micropolis_tile_0055.png create mode 100644 resources/images/tiles/micropolis_tile_0056.png create mode 100644 resources/images/tiles/micropolis_tile_0057.png create mode 100644 resources/images/tiles/micropolis_tile_0058.png create mode 100644 resources/images/tiles/micropolis_tile_0059.png create mode 100644 resources/images/tiles/micropolis_tile_0060.png create mode 100644 resources/images/tiles/micropolis_tile_0061.png create mode 100644 resources/images/tiles/micropolis_tile_0062.png create mode 100644 resources/images/tiles/micropolis_tile_0063.png create mode 100644 resources/images/tiles/micropolis_tile_0064.png create mode 100644 resources/images/tiles/micropolis_tile_0065.png create mode 100644 resources/images/tiles/micropolis_tile_0066.png create mode 100644 resources/images/tiles/micropolis_tile_0067.png create mode 100644 resources/images/tiles/micropolis_tile_0068.png create mode 100644 resources/images/tiles/micropolis_tile_0069.png create mode 100644 resources/images/tiles/micropolis_tile_0070.png create mode 100644 resources/images/tiles/micropolis_tile_0071.png create mode 100644 resources/images/tiles/micropolis_tile_0072.png create mode 100644 resources/images/tiles/micropolis_tile_0073.png create mode 100644 resources/images/tiles/micropolis_tile_0074.png create mode 100644 resources/images/tiles/micropolis_tile_0075.png create mode 100644 resources/images/tiles/micropolis_tile_0076.png create mode 100644 resources/images/tiles/micropolis_tile_0077.png create mode 100644 resources/images/tiles/micropolis_tile_0078.png create mode 100644 resources/images/tiles/micropolis_tile_0079.png create mode 100644 resources/images/tiles/micropolis_tile_0080.png create mode 100644 resources/images/tiles/micropolis_tile_0081.png create mode 100644 resources/images/tiles/micropolis_tile_0082.png create mode 100644 resources/images/tiles/micropolis_tile_0083.png create mode 100644 resources/images/tiles/micropolis_tile_0084.png create mode 100644 resources/images/tiles/micropolis_tile_0085.png create mode 100644 resources/images/tiles/micropolis_tile_0086.png create mode 100644 resources/images/tiles/micropolis_tile_0087.png create mode 100644 resources/images/tiles/micropolis_tile_0088.png create mode 100644 resources/images/tiles/micropolis_tile_0089.png create mode 100644 resources/images/tiles/micropolis_tile_0090.png create mode 100644 resources/images/tiles/micropolis_tile_0091.png create mode 100644 resources/images/tiles/micropolis_tile_0092.png create mode 100644 resources/images/tiles/micropolis_tile_0093.png create mode 100644 resources/images/tiles/micropolis_tile_0094.png create mode 100644 resources/images/tiles/micropolis_tile_0095.png create mode 100644 resources/images/tiles/micropolis_tile_0096.png create mode 100644 resources/images/tiles/micropolis_tile_0097.png create mode 100644 resources/images/tiles/micropolis_tile_0098.png create mode 100644 resources/images/tiles/micropolis_tile_0099.png create mode 100644 resources/images/tiles/micropolis_tile_0100.png create mode 100644 resources/images/tiles/micropolis_tile_0101.png create mode 100644 resources/images/tiles/micropolis_tile_0102.png create mode 100644 resources/images/tiles/micropolis_tile_0103.png create mode 100644 resources/images/tiles/micropolis_tile_0104.png create mode 100644 resources/images/tiles/micropolis_tile_0105.png create mode 100644 resources/images/tiles/micropolis_tile_0106.png create mode 100644 resources/images/tiles/micropolis_tile_0107.png create mode 100644 resources/images/tiles/micropolis_tile_0108.png create mode 100644 resources/images/tiles/micropolis_tile_0109.png create mode 100644 resources/images/tiles/micropolis_tile_0110.png create mode 100644 resources/images/tiles/micropolis_tile_0111.png create mode 100644 resources/images/tiles/micropolis_tile_0112.png create mode 100644 resources/images/tiles/micropolis_tile_0113.png create mode 100644 resources/images/tiles/micropolis_tile_0114.png create mode 100644 resources/images/tiles/micropolis_tile_0115.png create mode 100644 resources/images/tiles/micropolis_tile_0116.png create mode 100644 resources/images/tiles/micropolis_tile_0117.png create mode 100644 resources/images/tiles/micropolis_tile_0118.png create mode 100644 resources/images/tiles/micropolis_tile_0119.png create mode 100644 resources/images/tiles/micropolis_tile_0120.png create mode 100644 resources/images/tiles/micropolis_tile_0121.png create mode 100644 resources/images/tiles/micropolis_tile_0122.png create mode 100644 resources/images/tiles/micropolis_tile_0123.png create mode 100644 resources/images/tiles/micropolis_tile_0124.png create mode 100644 resources/images/tiles/micropolis_tile_0125.png create mode 100644 resources/images/tiles/micropolis_tile_0126.png create mode 100644 resources/images/tiles/micropolis_tile_0127.png create mode 100644 resources/images/tiles/micropolis_tile_0128.png create mode 100644 resources/images/tiles/micropolis_tile_0129.png create mode 100644 resources/images/tiles/micropolis_tile_0130.png create mode 100644 resources/images/tiles/micropolis_tile_0131.png create mode 100644 resources/images/tiles/micropolis_tile_0132.png create mode 100644 resources/images/tiles/micropolis_tile_0133.png create mode 100644 resources/images/tiles/micropolis_tile_0134.png create mode 100644 resources/images/tiles/micropolis_tile_0135.png create mode 100644 resources/images/tiles/micropolis_tile_0136.png create mode 100644 resources/images/tiles/micropolis_tile_0137.png create mode 100644 resources/images/tiles/micropolis_tile_0138.png create mode 100644 resources/images/tiles/micropolis_tile_0139.png create mode 100644 resources/images/tiles/micropolis_tile_0140.png create mode 100644 resources/images/tiles/micropolis_tile_0141.png create mode 100644 resources/images/tiles/micropolis_tile_0142.png create mode 100644 resources/images/tiles/micropolis_tile_0143.png create mode 100644 resources/images/tiles/micropolis_tile_0144.png create mode 100644 resources/images/tiles/micropolis_tile_0145.png create mode 100644 resources/images/tiles/micropolis_tile_0146.png create mode 100644 resources/images/tiles/micropolis_tile_0147.png create mode 100644 resources/images/tiles/micropolis_tile_0148.png create mode 100644 resources/images/tiles/micropolis_tile_0149.png create mode 100644 resources/images/tiles/micropolis_tile_0150.png create mode 100644 resources/images/tiles/micropolis_tile_0151.png create mode 100644 resources/images/tiles/micropolis_tile_0152.png create mode 100644 resources/images/tiles/micropolis_tile_0153.png create mode 100644 resources/images/tiles/micropolis_tile_0154.png create mode 100644 resources/images/tiles/micropolis_tile_0155.png create mode 100644 resources/images/tiles/micropolis_tile_0156.png create mode 100644 resources/images/tiles/micropolis_tile_0157.png create mode 100644 resources/images/tiles/micropolis_tile_0158.png create mode 100644 resources/images/tiles/micropolis_tile_0159.png create mode 100644 resources/images/tiles/micropolis_tile_0160.png create mode 100644 resources/images/tiles/micropolis_tile_0161.png create mode 100644 resources/images/tiles/micropolis_tile_0162.png create mode 100644 resources/images/tiles/micropolis_tile_0163.png create mode 100644 resources/images/tiles/micropolis_tile_0164.png create mode 100644 resources/images/tiles/micropolis_tile_0165.png create mode 100644 resources/images/tiles/micropolis_tile_0166.png create mode 100644 resources/images/tiles/micropolis_tile_0167.png create mode 100644 resources/images/tiles/micropolis_tile_0168.png create mode 100644 resources/images/tiles/micropolis_tile_0169.png create mode 100644 resources/images/tiles/micropolis_tile_0170.png create mode 100644 resources/images/tiles/micropolis_tile_0171.png create mode 100644 resources/images/tiles/micropolis_tile_0172.png create mode 100644 resources/images/tiles/micropolis_tile_0173.png create mode 100644 resources/images/tiles/micropolis_tile_0174.png create mode 100644 resources/images/tiles/micropolis_tile_0175.png create mode 100644 resources/images/tiles/micropolis_tile_0176.png create mode 100644 resources/images/tiles/micropolis_tile_0177.png create mode 100644 resources/images/tiles/micropolis_tile_0178.png create mode 100644 resources/images/tiles/micropolis_tile_0179.png create mode 100644 resources/images/tiles/micropolis_tile_0180.png create mode 100644 resources/images/tiles/micropolis_tile_0181.png create mode 100644 resources/images/tiles/micropolis_tile_0182.png create mode 100644 resources/images/tiles/micropolis_tile_0183.png create mode 100644 resources/images/tiles/micropolis_tile_0184.png create mode 100644 resources/images/tiles/micropolis_tile_0185.png create mode 100644 resources/images/tiles/micropolis_tile_0186.png create mode 100644 resources/images/tiles/micropolis_tile_0187.png create mode 100644 resources/images/tiles/micropolis_tile_0188.png create mode 100644 resources/images/tiles/micropolis_tile_0189.png create mode 100644 resources/images/tiles/micropolis_tile_0190.png create mode 100644 resources/images/tiles/micropolis_tile_0191.png create mode 100644 resources/images/tiles/micropolis_tile_0192.png create mode 100644 resources/images/tiles/micropolis_tile_0193.png create mode 100644 resources/images/tiles/micropolis_tile_0194.png create mode 100644 resources/images/tiles/micropolis_tile_0195.png create mode 100644 resources/images/tiles/micropolis_tile_0196.png create mode 100644 resources/images/tiles/micropolis_tile_0197.png create mode 100644 resources/images/tiles/micropolis_tile_0198.png create mode 100644 resources/images/tiles/micropolis_tile_0199.png create mode 100644 resources/images/tiles/micropolis_tile_0200.png create mode 100644 resources/images/tiles/micropolis_tile_0201.png create mode 100644 resources/images/tiles/micropolis_tile_0202.png create mode 100644 resources/images/tiles/micropolis_tile_0203.png create mode 100644 resources/images/tiles/micropolis_tile_0204.png create mode 100644 resources/images/tiles/micropolis_tile_0205.png create mode 100644 resources/images/tiles/micropolis_tile_0206.png create mode 100644 resources/images/tiles/micropolis_tile_0207.png create mode 100644 resources/images/tiles/micropolis_tile_0208.png create mode 100644 resources/images/tiles/micropolis_tile_0209.png create mode 100644 resources/images/tiles/micropolis_tile_0210.png create mode 100644 resources/images/tiles/micropolis_tile_0211.png create mode 100644 resources/images/tiles/micropolis_tile_0212.png create mode 100644 resources/images/tiles/micropolis_tile_0213.png create mode 100644 resources/images/tiles/micropolis_tile_0214.png create mode 100644 resources/images/tiles/micropolis_tile_0215.png create mode 100644 resources/images/tiles/micropolis_tile_0216.png create mode 100644 resources/images/tiles/micropolis_tile_0217.png create mode 100644 resources/images/tiles/micropolis_tile_0218.png create mode 100644 resources/images/tiles/micropolis_tile_0219.png create mode 100644 resources/images/tiles/micropolis_tile_0220.png create mode 100644 resources/images/tiles/micropolis_tile_0221.png create mode 100644 resources/images/tiles/micropolis_tile_0222.png create mode 100644 resources/images/tiles/micropolis_tile_0223.png create mode 100644 resources/images/tiles/micropolis_tile_0224.png create mode 100644 resources/images/tiles/micropolis_tile_0225.png create mode 100644 resources/images/tiles/micropolis_tile_0226.png create mode 100644 resources/images/tiles/micropolis_tile_0227.png create mode 100644 resources/images/tiles/micropolis_tile_0228.png create mode 100644 resources/images/tiles/micropolis_tile_0229.png create mode 100644 resources/images/tiles/micropolis_tile_0230.png create mode 100644 resources/images/tiles/micropolis_tile_0231.png create mode 100644 resources/images/tiles/micropolis_tile_0232.png create mode 100644 resources/images/tiles/micropolis_tile_0233.png create mode 100644 resources/images/tiles/micropolis_tile_0234.png create mode 100644 resources/images/tiles/micropolis_tile_0235.png create mode 100644 resources/images/tiles/micropolis_tile_0236.png create mode 100644 resources/images/tiles/micropolis_tile_0237.png create mode 100644 resources/images/tiles/micropolis_tile_0238.png create mode 100644 resources/images/tiles/micropolis_tile_0239.png create mode 100644 resources/images/tiles/micropolis_tile_0240.png create mode 100644 resources/images/tiles/micropolis_tile_0241.png create mode 100644 resources/images/tiles/micropolis_tile_0242.png create mode 100644 resources/images/tiles/micropolis_tile_0243.png create mode 100644 resources/images/tiles/micropolis_tile_0244.png create mode 100644 resources/images/tiles/micropolis_tile_0245.png create mode 100644 resources/images/tiles/micropolis_tile_0246.png create mode 100644 resources/images/tiles/micropolis_tile_0247.png create mode 100644 resources/images/tiles/micropolis_tile_0248.png create mode 100644 resources/images/tiles/micropolis_tile_0249.png create mode 100644 resources/images/tiles/micropolis_tile_0250.png create mode 100644 resources/images/tiles/micropolis_tile_0251.png create mode 100644 resources/images/tiles/micropolis_tile_0252.png create mode 100644 resources/images/tiles/micropolis_tile_0253.png create mode 100644 resources/images/tiles/micropolis_tile_0254.png create mode 100644 resources/images/tiles/micropolis_tile_0255.png create mode 100644 resources/images/tiles/micropolis_tile_0256.png create mode 100644 resources/images/tiles/micropolis_tile_0257.png create mode 100644 resources/images/tiles/micropolis_tile_0258.png create mode 100644 resources/images/tiles/micropolis_tile_0259.png create mode 100644 resources/images/tiles/micropolis_tile_0260.png create mode 100644 resources/images/tiles/micropolis_tile_0261.png create mode 100644 resources/images/tiles/micropolis_tile_0262.png create mode 100644 resources/images/tiles/micropolis_tile_0263.png create mode 100644 resources/images/tiles/micropolis_tile_0264.png create mode 100644 resources/images/tiles/micropolis_tile_0265.png create mode 100644 resources/images/tiles/micropolis_tile_0266.png create mode 100644 resources/images/tiles/micropolis_tile_0267.png create mode 100644 resources/images/tiles/micropolis_tile_0268.png create mode 100644 resources/images/tiles/micropolis_tile_0269.png create mode 100644 resources/images/tiles/micropolis_tile_0270.png create mode 100644 resources/images/tiles/micropolis_tile_0271.png create mode 100644 resources/images/tiles/micropolis_tile_0272.png create mode 100644 resources/images/tiles/micropolis_tile_0273.png create mode 100644 resources/images/tiles/micropolis_tile_0274.png create mode 100644 resources/images/tiles/micropolis_tile_0275.png create mode 100644 resources/images/tiles/micropolis_tile_0276.png create mode 100644 resources/images/tiles/micropolis_tile_0277.png create mode 100644 resources/images/tiles/micropolis_tile_0278.png create mode 100644 resources/images/tiles/micropolis_tile_0279.png create mode 100644 resources/images/tiles/micropolis_tile_0280.png create mode 100644 resources/images/tiles/micropolis_tile_0281.png create mode 100644 resources/images/tiles/micropolis_tile_0282.png create mode 100644 resources/images/tiles/micropolis_tile_0283.png create mode 100644 resources/images/tiles/micropolis_tile_0284.png create mode 100644 resources/images/tiles/micropolis_tile_0285.png create mode 100644 resources/images/tiles/micropolis_tile_0286.png create mode 100644 resources/images/tiles/micropolis_tile_0287.png create mode 100644 resources/images/tiles/micropolis_tile_0288.png create mode 100644 resources/images/tiles/micropolis_tile_0289.png create mode 100644 resources/images/tiles/micropolis_tile_0290.png create mode 100644 resources/images/tiles/micropolis_tile_0291.png create mode 100644 resources/images/tiles/micropolis_tile_0292.png create mode 100644 resources/images/tiles/micropolis_tile_0293.png create mode 100644 resources/images/tiles/micropolis_tile_0294.png create mode 100644 resources/images/tiles/micropolis_tile_0295.png create mode 100644 resources/images/tiles/micropolis_tile_0296.png create mode 100644 resources/images/tiles/micropolis_tile_0297.png create mode 100644 resources/images/tiles/micropolis_tile_0298.png create mode 100644 resources/images/tiles/micropolis_tile_0299.png create mode 100644 resources/images/tiles/micropolis_tile_0300.png create mode 100644 resources/images/tiles/micropolis_tile_0301.png create mode 100644 resources/images/tiles/micropolis_tile_0302.png create mode 100644 resources/images/tiles/micropolis_tile_0303.png create mode 100644 resources/images/tiles/micropolis_tile_0304.png create mode 100644 resources/images/tiles/micropolis_tile_0305.png create mode 100644 resources/images/tiles/micropolis_tile_0306.png create mode 100644 resources/images/tiles/micropolis_tile_0307.png create mode 100644 resources/images/tiles/micropolis_tile_0308.png create mode 100644 resources/images/tiles/micropolis_tile_0309.png create mode 100644 resources/images/tiles/micropolis_tile_0310.png create mode 100644 resources/images/tiles/micropolis_tile_0311.png create mode 100644 resources/images/tiles/micropolis_tile_0312.png create mode 100644 resources/images/tiles/micropolis_tile_0313.png create mode 100644 resources/images/tiles/micropolis_tile_0314.png create mode 100644 resources/images/tiles/micropolis_tile_0315.png create mode 100644 resources/images/tiles/micropolis_tile_0316.png create mode 100644 resources/images/tiles/micropolis_tile_0317.png create mode 100644 resources/images/tiles/micropolis_tile_0318.png create mode 100644 resources/images/tiles/micropolis_tile_0319.png create mode 100644 resources/images/tiles/micropolis_tile_0320.png create mode 100644 resources/images/tiles/micropolis_tile_0321.png create mode 100644 resources/images/tiles/micropolis_tile_0322.png create mode 100644 resources/images/tiles/micropolis_tile_0323.png create mode 100644 resources/images/tiles/micropolis_tile_0324.png create mode 100644 resources/images/tiles/micropolis_tile_0325.png create mode 100644 resources/images/tiles/micropolis_tile_0326.png create mode 100644 resources/images/tiles/micropolis_tile_0327.png create mode 100644 resources/images/tiles/micropolis_tile_0328.png create mode 100644 resources/images/tiles/micropolis_tile_0329.png create mode 100644 resources/images/tiles/micropolis_tile_0330.png create mode 100644 resources/images/tiles/micropolis_tile_0331.png create mode 100644 resources/images/tiles/micropolis_tile_0332.png create mode 100644 resources/images/tiles/micropolis_tile_0333.png create mode 100644 resources/images/tiles/micropolis_tile_0334.png create mode 100644 resources/images/tiles/micropolis_tile_0335.png create mode 100644 resources/images/tiles/micropolis_tile_0336.png create mode 100644 resources/images/tiles/micropolis_tile_0337.png create mode 100644 resources/images/tiles/micropolis_tile_0338.png create mode 100644 resources/images/tiles/micropolis_tile_0339.png create mode 100644 resources/images/tiles/micropolis_tile_0340.png create mode 100644 resources/images/tiles/micropolis_tile_0341.png create mode 100644 resources/images/tiles/micropolis_tile_0342.png create mode 100644 resources/images/tiles/micropolis_tile_0343.png create mode 100644 resources/images/tiles/micropolis_tile_0344.png create mode 100644 resources/images/tiles/micropolis_tile_0345.png create mode 100644 resources/images/tiles/micropolis_tile_0346.png create mode 100644 resources/images/tiles/micropolis_tile_0347.png create mode 100644 resources/images/tiles/micropolis_tile_0348.png create mode 100644 resources/images/tiles/micropolis_tile_0349.png create mode 100644 resources/images/tiles/micropolis_tile_0350.png create mode 100644 resources/images/tiles/micropolis_tile_0351.png create mode 100644 resources/images/tiles/micropolis_tile_0352.png create mode 100644 resources/images/tiles/micropolis_tile_0353.png create mode 100644 resources/images/tiles/micropolis_tile_0354.png create mode 100644 resources/images/tiles/micropolis_tile_0355.png create mode 100644 resources/images/tiles/micropolis_tile_0356.png create mode 100644 resources/images/tiles/micropolis_tile_0357.png create mode 100644 resources/images/tiles/micropolis_tile_0358.png create mode 100644 resources/images/tiles/micropolis_tile_0359.png create mode 100644 resources/images/tiles/micropolis_tile_0360.png create mode 100644 resources/images/tiles/micropolis_tile_0361.png create mode 100644 resources/images/tiles/micropolis_tile_0362.png create mode 100644 resources/images/tiles/micropolis_tile_0363.png create mode 100644 resources/images/tiles/micropolis_tile_0364.png create mode 100644 resources/images/tiles/micropolis_tile_0365.png create mode 100644 resources/images/tiles/micropolis_tile_0366.png create mode 100644 resources/images/tiles/micropolis_tile_0367.png create mode 100644 resources/images/tiles/micropolis_tile_0368.png create mode 100644 resources/images/tiles/micropolis_tile_0369.png create mode 100644 resources/images/tiles/micropolis_tile_0370.png create mode 100644 resources/images/tiles/micropolis_tile_0371.png create mode 100644 resources/images/tiles/micropolis_tile_0372.png create mode 100644 resources/images/tiles/micropolis_tile_0373.png create mode 100644 resources/images/tiles/micropolis_tile_0374.png create mode 100644 resources/images/tiles/micropolis_tile_0375.png create mode 100644 resources/images/tiles/micropolis_tile_0376.png create mode 100644 resources/images/tiles/micropolis_tile_0377.png create mode 100644 resources/images/tiles/micropolis_tile_0378.png create mode 100644 resources/images/tiles/micropolis_tile_0379.png create mode 100644 resources/images/tiles/micropolis_tile_0380.png create mode 100644 resources/images/tiles/micropolis_tile_0381.png create mode 100644 resources/images/tiles/micropolis_tile_0382.png create mode 100644 resources/images/tiles/micropolis_tile_0383.png create mode 100644 resources/images/tiles/micropolis_tile_0384.png create mode 100644 resources/images/tiles/micropolis_tile_0385.png create mode 100644 resources/images/tiles/micropolis_tile_0386.png create mode 100644 resources/images/tiles/micropolis_tile_0387.png create mode 100644 resources/images/tiles/micropolis_tile_0388.png create mode 100644 resources/images/tiles/micropolis_tile_0389.png create mode 100644 resources/images/tiles/micropolis_tile_0390.png create mode 100644 resources/images/tiles/micropolis_tile_0391.png create mode 100644 resources/images/tiles/micropolis_tile_0392.png create mode 100644 resources/images/tiles/micropolis_tile_0393.png create mode 100644 resources/images/tiles/micropolis_tile_0394.png create mode 100644 resources/images/tiles/micropolis_tile_0395.png create mode 100644 resources/images/tiles/micropolis_tile_0396.png create mode 100644 resources/images/tiles/micropolis_tile_0397.png create mode 100644 resources/images/tiles/micropolis_tile_0398.png create mode 100644 resources/images/tiles/micropolis_tile_0399.png create mode 100644 resources/images/tiles/micropolis_tile_0400.png create mode 100644 resources/images/tiles/micropolis_tile_0401.png create mode 100644 resources/images/tiles/micropolis_tile_0402.png create mode 100644 resources/images/tiles/micropolis_tile_0403.png create mode 100644 resources/images/tiles/micropolis_tile_0404.png create mode 100644 resources/images/tiles/micropolis_tile_0405.png create mode 100644 resources/images/tiles/micropolis_tile_0406.png create mode 100644 resources/images/tiles/micropolis_tile_0407.png create mode 100644 resources/images/tiles/micropolis_tile_0408.png create mode 100644 resources/images/tiles/micropolis_tile_0409.png create mode 100644 resources/images/tiles/micropolis_tile_0410.png create mode 100644 resources/images/tiles/micropolis_tile_0411.png create mode 100644 resources/images/tiles/micropolis_tile_0412.png create mode 100644 resources/images/tiles/micropolis_tile_0413.png create mode 100644 resources/images/tiles/micropolis_tile_0414.png create mode 100644 resources/images/tiles/micropolis_tile_0415.png create mode 100644 resources/images/tiles/micropolis_tile_0416.png create mode 100644 resources/images/tiles/micropolis_tile_0417.png create mode 100644 resources/images/tiles/micropolis_tile_0418.png create mode 100644 resources/images/tiles/micropolis_tile_0419.png create mode 100644 resources/images/tiles/micropolis_tile_0420.png create mode 100644 resources/images/tiles/micropolis_tile_0421.png create mode 100644 resources/images/tiles/micropolis_tile_0422.png create mode 100644 resources/images/tiles/micropolis_tile_0423.png create mode 100644 resources/images/tiles/micropolis_tile_0424.png create mode 100644 resources/images/tiles/micropolis_tile_0425.png create mode 100644 resources/images/tiles/micropolis_tile_0426.png create mode 100644 resources/images/tiles/micropolis_tile_0427.png create mode 100644 resources/images/tiles/micropolis_tile_0428.png create mode 100644 resources/images/tiles/micropolis_tile_0429.png create mode 100644 resources/images/tiles/micropolis_tile_0430.png create mode 100644 resources/images/tiles/micropolis_tile_0431.png create mode 100644 resources/images/tiles/micropolis_tile_0432.png create mode 100644 resources/images/tiles/micropolis_tile_0433.png create mode 100644 resources/images/tiles/micropolis_tile_0434.png create mode 100644 resources/images/tiles/micropolis_tile_0435.png create mode 100644 resources/images/tiles/micropolis_tile_0436.png create mode 100644 resources/images/tiles/micropolis_tile_0437.png create mode 100644 resources/images/tiles/micropolis_tile_0438.png create mode 100644 resources/images/tiles/micropolis_tile_0439.png create mode 100644 resources/images/tiles/micropolis_tile_0440.png create mode 100644 resources/images/tiles/micropolis_tile_0441.png create mode 100644 resources/images/tiles/micropolis_tile_0442.png create mode 100644 resources/images/tiles/micropolis_tile_0443.png create mode 100644 resources/images/tiles/micropolis_tile_0444.png create mode 100644 resources/images/tiles/micropolis_tile_0445.png create mode 100644 resources/images/tiles/micropolis_tile_0446.png create mode 100644 resources/images/tiles/micropolis_tile_0447.png create mode 100644 resources/images/tiles/micropolis_tile_0448.png create mode 100644 resources/images/tiles/micropolis_tile_0449.png create mode 100644 resources/images/tiles/micropolis_tile_0450.png create mode 100644 resources/images/tiles/micropolis_tile_0451.png create mode 100644 resources/images/tiles/micropolis_tile_0452.png create mode 100644 resources/images/tiles/micropolis_tile_0453.png create mode 100644 resources/images/tiles/micropolis_tile_0454.png create mode 100644 resources/images/tiles/micropolis_tile_0455.png create mode 100644 resources/images/tiles/micropolis_tile_0456.png create mode 100644 resources/images/tiles/micropolis_tile_0457.png create mode 100644 resources/images/tiles/micropolis_tile_0458.png create mode 100644 resources/images/tiles/micropolis_tile_0459.png create mode 100644 resources/images/tiles/micropolis_tile_0460.png create mode 100644 resources/images/tiles/micropolis_tile_0461.png create mode 100644 resources/images/tiles/micropolis_tile_0462.png create mode 100644 resources/images/tiles/micropolis_tile_0463.png create mode 100644 resources/images/tiles/micropolis_tile_0464.png create mode 100644 resources/images/tiles/micropolis_tile_0465.png create mode 100644 resources/images/tiles/micropolis_tile_0466.png create mode 100644 resources/images/tiles/micropolis_tile_0467.png create mode 100644 resources/images/tiles/micropolis_tile_0468.png create mode 100644 resources/images/tiles/micropolis_tile_0469.png create mode 100644 resources/images/tiles/micropolis_tile_0470.png create mode 100644 resources/images/tiles/micropolis_tile_0471.png create mode 100644 resources/images/tiles/micropolis_tile_0472.png create mode 100644 resources/images/tiles/micropolis_tile_0473.png create mode 100644 resources/images/tiles/micropolis_tile_0474.png create mode 100644 resources/images/tiles/micropolis_tile_0475.png create mode 100644 resources/images/tiles/micropolis_tile_0476.png create mode 100644 resources/images/tiles/micropolis_tile_0477.png create mode 100644 resources/images/tiles/micropolis_tile_0478.png create mode 100644 resources/images/tiles/micropolis_tile_0479.png create mode 100644 resources/images/tiles/micropolis_tile_0480.png create mode 100644 resources/images/tiles/micropolis_tile_0481.png create mode 100644 resources/images/tiles/micropolis_tile_0482.png create mode 100644 resources/images/tiles/micropolis_tile_0483.png create mode 100644 resources/images/tiles/micropolis_tile_0484.png create mode 100644 resources/images/tiles/micropolis_tile_0485.png create mode 100644 resources/images/tiles/micropolis_tile_0486.png create mode 100644 resources/images/tiles/micropolis_tile_0487.png create mode 100644 resources/images/tiles/micropolis_tile_0488.png create mode 100644 resources/images/tiles/micropolis_tile_0489.png create mode 100644 resources/images/tiles/micropolis_tile_0490.png create mode 100644 resources/images/tiles/micropolis_tile_0491.png create mode 100644 resources/images/tiles/micropolis_tile_0492.png create mode 100644 resources/images/tiles/micropolis_tile_0493.png create mode 100644 resources/images/tiles/micropolis_tile_0494.png create mode 100644 resources/images/tiles/micropolis_tile_0495.png create mode 100644 resources/images/tiles/micropolis_tile_0496.png create mode 100644 resources/images/tiles/micropolis_tile_0497.png create mode 100644 resources/images/tiles/micropolis_tile_0498.png create mode 100644 resources/images/tiles/micropolis_tile_0499.png create mode 100644 resources/images/tiles/micropolis_tile_0500.png create mode 100644 resources/images/tiles/micropolis_tile_0501.png create mode 100644 resources/images/tiles/micropolis_tile_0502.png create mode 100644 resources/images/tiles/micropolis_tile_0503.png create mode 100644 resources/images/tiles/micropolis_tile_0504.png create mode 100644 resources/images/tiles/micropolis_tile_0505.png create mode 100644 resources/images/tiles/micropolis_tile_0506.png create mode 100644 resources/images/tiles/micropolis_tile_0507.png create mode 100644 resources/images/tiles/micropolis_tile_0508.png create mode 100644 resources/images/tiles/micropolis_tile_0509.png create mode 100644 resources/images/tiles/micropolis_tile_0510.png create mode 100644 resources/images/tiles/micropolis_tile_0511.png create mode 100644 resources/images/tiles/micropolis_tile_0512.png create mode 100644 resources/images/tiles/micropolis_tile_0513.png create mode 100644 resources/images/tiles/micropolis_tile_0514.png create mode 100644 resources/images/tiles/micropolis_tile_0515.png create mode 100644 resources/images/tiles/micropolis_tile_0516.png create mode 100644 resources/images/tiles/micropolis_tile_0517.png create mode 100644 resources/images/tiles/micropolis_tile_0518.png create mode 100644 resources/images/tiles/micropolis_tile_0519.png create mode 100644 resources/images/tiles/micropolis_tile_0520.png create mode 100644 resources/images/tiles/micropolis_tile_0521.png create mode 100644 resources/images/tiles/micropolis_tile_0522.png create mode 100644 resources/images/tiles/micropolis_tile_0523.png create mode 100644 resources/images/tiles/micropolis_tile_0524.png create mode 100644 resources/images/tiles/micropolis_tile_0525.png create mode 100644 resources/images/tiles/micropolis_tile_0526.png create mode 100644 resources/images/tiles/micropolis_tile_0527.png create mode 100644 resources/images/tiles/micropolis_tile_0528.png create mode 100644 resources/images/tiles/micropolis_tile_0529.png create mode 100644 resources/images/tiles/micropolis_tile_0530.png create mode 100644 resources/images/tiles/micropolis_tile_0531.png create mode 100644 resources/images/tiles/micropolis_tile_0532.png create mode 100644 resources/images/tiles/micropolis_tile_0533.png create mode 100644 resources/images/tiles/micropolis_tile_0534.png create mode 100644 resources/images/tiles/micropolis_tile_0535.png create mode 100644 resources/images/tiles/micropolis_tile_0536.png create mode 100644 resources/images/tiles/micropolis_tile_0537.png create mode 100644 resources/images/tiles/micropolis_tile_0538.png create mode 100644 resources/images/tiles/micropolis_tile_0539.png create mode 100644 resources/images/tiles/micropolis_tile_0540.png create mode 100644 resources/images/tiles/micropolis_tile_0541.png create mode 100644 resources/images/tiles/micropolis_tile_0542.png create mode 100644 resources/images/tiles/micropolis_tile_0543.png create mode 100644 resources/images/tiles/micropolis_tile_0544.png create mode 100644 resources/images/tiles/micropolis_tile_0545.png create mode 100644 resources/images/tiles/micropolis_tile_0546.png create mode 100644 resources/images/tiles/micropolis_tile_0547.png create mode 100644 resources/images/tiles/micropolis_tile_0548.png create mode 100644 resources/images/tiles/micropolis_tile_0549.png create mode 100644 resources/images/tiles/micropolis_tile_0550.png create mode 100644 resources/images/tiles/micropolis_tile_0551.png create mode 100644 resources/images/tiles/micropolis_tile_0552.png create mode 100644 resources/images/tiles/micropolis_tile_0553.png create mode 100644 resources/images/tiles/micropolis_tile_0554.png create mode 100644 resources/images/tiles/micropolis_tile_0555.png create mode 100644 resources/images/tiles/micropolis_tile_0556.png create mode 100644 resources/images/tiles/micropolis_tile_0557.png create mode 100644 resources/images/tiles/micropolis_tile_0558.png create mode 100644 resources/images/tiles/micropolis_tile_0559.png create mode 100644 resources/images/tiles/micropolis_tile_0560.png create mode 100644 resources/images/tiles/micropolis_tile_0561.png create mode 100644 resources/images/tiles/micropolis_tile_0562.png create mode 100644 resources/images/tiles/micropolis_tile_0563.png create mode 100644 resources/images/tiles/micropolis_tile_0564.png create mode 100644 resources/images/tiles/micropolis_tile_0565.png create mode 100644 resources/images/tiles/micropolis_tile_0566.png create mode 100644 resources/images/tiles/micropolis_tile_0567.png create mode 100644 resources/images/tiles/micropolis_tile_0568.png create mode 100644 resources/images/tiles/micropolis_tile_0569.png create mode 100644 resources/images/tiles/micropolis_tile_0570.png create mode 100644 resources/images/tiles/micropolis_tile_0571.png create mode 100644 resources/images/tiles/micropolis_tile_0572.png create mode 100644 resources/images/tiles/micropolis_tile_0573.png create mode 100644 resources/images/tiles/micropolis_tile_0574.png create mode 100644 resources/images/tiles/micropolis_tile_0575.png create mode 100644 resources/images/tiles/micropolis_tile_0576.png create mode 100644 resources/images/tiles/micropolis_tile_0577.png create mode 100644 resources/images/tiles/micropolis_tile_0578.png create mode 100644 resources/images/tiles/micropolis_tile_0579.png create mode 100644 resources/images/tiles/micropolis_tile_0580.png create mode 100644 resources/images/tiles/micropolis_tile_0581.png create mode 100644 resources/images/tiles/micropolis_tile_0582.png create mode 100644 resources/images/tiles/micropolis_tile_0583.png create mode 100644 resources/images/tiles/micropolis_tile_0584.png create mode 100644 resources/images/tiles/micropolis_tile_0585.png create mode 100644 resources/images/tiles/micropolis_tile_0586.png create mode 100644 resources/images/tiles/micropolis_tile_0587.png create mode 100644 resources/images/tiles/micropolis_tile_0588.png create mode 100644 resources/images/tiles/micropolis_tile_0589.png create mode 100644 resources/images/tiles/micropolis_tile_0590.png create mode 100644 resources/images/tiles/micropolis_tile_0591.png create mode 100644 resources/images/tiles/micropolis_tile_0592.png create mode 100644 resources/images/tiles/micropolis_tile_0593.png create mode 100644 resources/images/tiles/micropolis_tile_0594.png create mode 100644 resources/images/tiles/micropolis_tile_0595.png create mode 100644 resources/images/tiles/micropolis_tile_0596.png create mode 100644 resources/images/tiles/micropolis_tile_0597.png create mode 100644 resources/images/tiles/micropolis_tile_0598.png create mode 100644 resources/images/tiles/micropolis_tile_0599.png create mode 100644 resources/images/tiles/micropolis_tile_0600.png create mode 100644 resources/images/tiles/micropolis_tile_0601.png create mode 100644 resources/images/tiles/micropolis_tile_0602.png create mode 100644 resources/images/tiles/micropolis_tile_0603.png create mode 100644 resources/images/tiles/micropolis_tile_0604.png create mode 100644 resources/images/tiles/micropolis_tile_0605.png create mode 100644 resources/images/tiles/micropolis_tile_0606.png create mode 100644 resources/images/tiles/micropolis_tile_0607.png create mode 100644 resources/images/tiles/micropolis_tile_0608.png create mode 100644 resources/images/tiles/micropolis_tile_0609.png create mode 100644 resources/images/tiles/micropolis_tile_0610.png create mode 100644 resources/images/tiles/micropolis_tile_0611.png create mode 100644 resources/images/tiles/micropolis_tile_0612.png create mode 100644 resources/images/tiles/micropolis_tile_0613.png create mode 100644 resources/images/tiles/micropolis_tile_0614.png create mode 100644 resources/images/tiles/micropolis_tile_0615.png create mode 100644 resources/images/tiles/micropolis_tile_0616.png create mode 100644 resources/images/tiles/micropolis_tile_0617.png create mode 100644 resources/images/tiles/micropolis_tile_0618.png create mode 100644 resources/images/tiles/micropolis_tile_0619.png create mode 100644 resources/images/tiles/micropolis_tile_0620.png create mode 100644 resources/images/tiles/micropolis_tile_0621.png create mode 100644 resources/images/tiles/micropolis_tile_0622.png create mode 100644 resources/images/tiles/micropolis_tile_0623.png create mode 100644 resources/images/tiles/micropolis_tile_0624.png create mode 100644 resources/images/tiles/micropolis_tile_0625.png create mode 100644 resources/images/tiles/micropolis_tile_0626.png create mode 100644 resources/images/tiles/micropolis_tile_0627.png create mode 100644 resources/images/tiles/micropolis_tile_0628.png create mode 100644 resources/images/tiles/micropolis_tile_0629.png create mode 100644 resources/images/tiles/micropolis_tile_0630.png create mode 100644 resources/images/tiles/micropolis_tile_0631.png create mode 100644 resources/images/tiles/micropolis_tile_0632.png create mode 100644 resources/images/tiles/micropolis_tile_0633.png create mode 100644 resources/images/tiles/micropolis_tile_0634.png create mode 100644 resources/images/tiles/micropolis_tile_0635.png create mode 100644 resources/images/tiles/micropolis_tile_0636.png create mode 100644 resources/images/tiles/micropolis_tile_0637.png create mode 100644 resources/images/tiles/micropolis_tile_0638.png create mode 100644 resources/images/tiles/micropolis_tile_0639.png create mode 100644 resources/images/tiles/micropolis_tile_0640.png create mode 100644 resources/images/tiles/micropolis_tile_0641.png create mode 100644 resources/images/tiles/micropolis_tile_0642.png create mode 100644 resources/images/tiles/micropolis_tile_0643.png create mode 100644 resources/images/tiles/micropolis_tile_0644.png create mode 100644 resources/images/tiles/micropolis_tile_0645.png create mode 100644 resources/images/tiles/micropolis_tile_0646.png create mode 100644 resources/images/tiles/micropolis_tile_0647.png create mode 100644 resources/images/tiles/micropolis_tile_0648.png create mode 100644 resources/images/tiles/micropolis_tile_0649.png create mode 100644 resources/images/tiles/micropolis_tile_0650.png create mode 100644 resources/images/tiles/micropolis_tile_0651.png create mode 100644 resources/images/tiles/micropolis_tile_0652.png create mode 100644 resources/images/tiles/micropolis_tile_0653.png create mode 100644 resources/images/tiles/micropolis_tile_0654.png create mode 100644 resources/images/tiles/micropolis_tile_0655.png create mode 100644 resources/images/tiles/micropolis_tile_0656.png create mode 100644 resources/images/tiles/micropolis_tile_0657.png create mode 100644 resources/images/tiles/micropolis_tile_0658.png create mode 100644 resources/images/tiles/micropolis_tile_0659.png create mode 100644 resources/images/tiles/micropolis_tile_0660.png create mode 100644 resources/images/tiles/micropolis_tile_0661.png create mode 100644 resources/images/tiles/micropolis_tile_0662.png create mode 100644 resources/images/tiles/micropolis_tile_0663.png create mode 100644 resources/images/tiles/micropolis_tile_0664.png create mode 100644 resources/images/tiles/micropolis_tile_0665.png create mode 100644 resources/images/tiles/micropolis_tile_0666.png create mode 100644 resources/images/tiles/micropolis_tile_0667.png create mode 100644 resources/images/tiles/micropolis_tile_0668.png create mode 100644 resources/images/tiles/micropolis_tile_0669.png create mode 100644 resources/images/tiles/micropolis_tile_0670.png create mode 100644 resources/images/tiles/micropolis_tile_0671.png create mode 100644 resources/images/tiles/micropolis_tile_0672.png create mode 100644 resources/images/tiles/micropolis_tile_0673.png create mode 100644 resources/images/tiles/micropolis_tile_0674.png create mode 100644 resources/images/tiles/micropolis_tile_0675.png create mode 100644 resources/images/tiles/micropolis_tile_0676.png create mode 100644 resources/images/tiles/micropolis_tile_0677.png create mode 100644 resources/images/tiles/micropolis_tile_0678.png create mode 100644 resources/images/tiles/micropolis_tile_0679.png create mode 100644 resources/images/tiles/micropolis_tile_0680.png create mode 100644 resources/images/tiles/micropolis_tile_0681.png create mode 100644 resources/images/tiles/micropolis_tile_0682.png create mode 100644 resources/images/tiles/micropolis_tile_0683.png create mode 100644 resources/images/tiles/micropolis_tile_0684.png create mode 100644 resources/images/tiles/micropolis_tile_0685.png create mode 100644 resources/images/tiles/micropolis_tile_0686.png create mode 100644 resources/images/tiles/micropolis_tile_0687.png create mode 100644 resources/images/tiles/micropolis_tile_0688.png create mode 100644 resources/images/tiles/micropolis_tile_0689.png create mode 100644 resources/images/tiles/micropolis_tile_0690.png create mode 100644 resources/images/tiles/micropolis_tile_0691.png create mode 100644 resources/images/tiles/micropolis_tile_0692.png create mode 100644 resources/images/tiles/micropolis_tile_0693.png create mode 100644 resources/images/tiles/micropolis_tile_0694.png create mode 100644 resources/images/tiles/micropolis_tile_0695.png create mode 100644 resources/images/tiles/micropolis_tile_0696.png create mode 100644 resources/images/tiles/micropolis_tile_0697.png create mode 100644 resources/images/tiles/micropolis_tile_0698.png create mode 100644 resources/images/tiles/micropolis_tile_0699.png create mode 100644 resources/images/tiles/micropolis_tile_0700.png create mode 100644 resources/images/tiles/micropolis_tile_0701.png create mode 100644 resources/images/tiles/micropolis_tile_0702.png create mode 100644 resources/images/tiles/micropolis_tile_0703.png create mode 100644 resources/images/tiles/micropolis_tile_0704.png create mode 100644 resources/images/tiles/micropolis_tile_0705.png create mode 100644 resources/images/tiles/micropolis_tile_0706.png create mode 100644 resources/images/tiles/micropolis_tile_0707.png create mode 100644 resources/images/tiles/micropolis_tile_0708.png create mode 100644 resources/images/tiles/micropolis_tile_0709.png create mode 100644 resources/images/tiles/micropolis_tile_0710.png create mode 100644 resources/images/tiles/micropolis_tile_0711.png create mode 100644 resources/images/tiles/micropolis_tile_0712.png create mode 100644 resources/images/tiles/micropolis_tile_0713.png create mode 100644 resources/images/tiles/micropolis_tile_0714.png create mode 100644 resources/images/tiles/micropolis_tile_0715.png create mode 100644 resources/images/tiles/micropolis_tile_0716.png create mode 100644 resources/images/tiles/micropolis_tile_0717.png create mode 100644 resources/images/tiles/micropolis_tile_0718.png create mode 100644 resources/images/tiles/micropolis_tile_0719.png create mode 100644 resources/images/tiles/micropolis_tile_0720.png create mode 100644 resources/images/tiles/micropolis_tile_0721.png create mode 100644 resources/images/tiles/micropolis_tile_0722.png create mode 100644 resources/images/tiles/micropolis_tile_0723.png create mode 100644 resources/images/tiles/micropolis_tile_0724.png create mode 100644 resources/images/tiles/micropolis_tile_0725.png create mode 100644 resources/images/tiles/micropolis_tile_0726.png create mode 100644 resources/images/tiles/micropolis_tile_0727.png create mode 100644 resources/images/tiles/micropolis_tile_0728.png create mode 100644 resources/images/tiles/micropolis_tile_0729.png create mode 100644 resources/images/tiles/micropolis_tile_0730.png create mode 100644 resources/images/tiles/micropolis_tile_0731.png create mode 100644 resources/images/tiles/micropolis_tile_0732.png create mode 100644 resources/images/tiles/micropolis_tile_0733.png create mode 100644 resources/images/tiles/micropolis_tile_0734.png create mode 100644 resources/images/tiles/micropolis_tile_0735.png create mode 100644 resources/images/tiles/micropolis_tile_0736.png create mode 100644 resources/images/tiles/micropolis_tile_0737.png create mode 100644 resources/images/tiles/micropolis_tile_0738.png create mode 100644 resources/images/tiles/micropolis_tile_0739.png create mode 100644 resources/images/tiles/micropolis_tile_0740.png create mode 100644 resources/images/tiles/micropolis_tile_0741.png create mode 100644 resources/images/tiles/micropolis_tile_0742.png create mode 100644 resources/images/tiles/micropolis_tile_0743.png create mode 100644 resources/images/tiles/micropolis_tile_0744.png create mode 100644 resources/images/tiles/micropolis_tile_0745.png create mode 100644 resources/images/tiles/micropolis_tile_0746.png create mode 100644 resources/images/tiles/micropolis_tile_0747.png create mode 100644 resources/images/tiles/micropolis_tile_0748.png create mode 100644 resources/images/tiles/micropolis_tile_0749.png create mode 100644 resources/images/tiles/micropolis_tile_0750.png create mode 100644 resources/images/tiles/micropolis_tile_0751.png create mode 100644 resources/images/tiles/micropolis_tile_0752.png create mode 100644 resources/images/tiles/micropolis_tile_0753.png create mode 100644 resources/images/tiles/micropolis_tile_0754.png create mode 100644 resources/images/tiles/micropolis_tile_0755.png create mode 100644 resources/images/tiles/micropolis_tile_0756.png create mode 100644 resources/images/tiles/micropolis_tile_0757.png create mode 100644 resources/images/tiles/micropolis_tile_0758.png create mode 100644 resources/images/tiles/micropolis_tile_0759.png create mode 100644 resources/images/tiles/micropolis_tile_0760.png create mode 100644 resources/images/tiles/micropolis_tile_0761.png create mode 100644 resources/images/tiles/micropolis_tile_0762.png create mode 100644 resources/images/tiles/micropolis_tile_0763.png create mode 100644 resources/images/tiles/micropolis_tile_0764.png create mode 100644 resources/images/tiles/micropolis_tile_0765.png create mode 100644 resources/images/tiles/micropolis_tile_0766.png create mode 100644 resources/images/tiles/micropolis_tile_0767.png create mode 100644 resources/images/tiles/micropolis_tile_0768.png create mode 100644 resources/images/tiles/micropolis_tile_0769.png create mode 100644 resources/images/tiles/micropolis_tile_0770.png create mode 100644 resources/images/tiles/micropolis_tile_0771.png create mode 100644 resources/images/tiles/micropolis_tile_0772.png create mode 100644 resources/images/tiles/micropolis_tile_0773.png create mode 100644 resources/images/tiles/micropolis_tile_0774.png create mode 100644 resources/images/tiles/micropolis_tile_0775.png create mode 100644 resources/images/tiles/micropolis_tile_0776.png create mode 100644 resources/images/tiles/micropolis_tile_0777.png create mode 100644 resources/images/tiles/micropolis_tile_0778.png create mode 100644 resources/images/tiles/micropolis_tile_0779.png create mode 100644 resources/images/tiles/micropolis_tile_0780.png create mode 100644 resources/images/tiles/micropolis_tile_0781.png create mode 100644 resources/images/tiles/micropolis_tile_0782.png create mode 100644 resources/images/tiles/micropolis_tile_0783.png create mode 100644 resources/images/tiles/micropolis_tile_0784.png create mode 100644 resources/images/tiles/micropolis_tile_0785.png create mode 100644 resources/images/tiles/micropolis_tile_0786.png create mode 100644 resources/images/tiles/micropolis_tile_0787.png create mode 100644 resources/images/tiles/micropolis_tile_0788.png create mode 100644 resources/images/tiles/micropolis_tile_0789.png create mode 100644 resources/images/tiles/micropolis_tile_0790.png create mode 100644 resources/images/tiles/micropolis_tile_0791.png create mode 100644 resources/images/tiles/micropolis_tile_0792.png create mode 100644 resources/images/tiles/micropolis_tile_0793.png create mode 100644 resources/images/tiles/micropolis_tile_0794.png create mode 100644 resources/images/tiles/micropolis_tile_0795.png create mode 100644 resources/images/tiles/micropolis_tile_0796.png create mode 100644 resources/images/tiles/micropolis_tile_0797.png create mode 100644 resources/images/tiles/micropolis_tile_0798.png create mode 100644 resources/images/tiles/micropolis_tile_0799.png create mode 100644 resources/images/tiles/micropolis_tile_0800.png create mode 100644 resources/images/tiles/micropolis_tile_0801.png create mode 100644 resources/images/tiles/micropolis_tile_0802.png create mode 100644 resources/images/tiles/micropolis_tile_0803.png create mode 100644 resources/images/tiles/micropolis_tile_0804.png create mode 100644 resources/images/tiles/micropolis_tile_0805.png create mode 100644 resources/images/tiles/micropolis_tile_0806.png create mode 100644 resources/images/tiles/micropolis_tile_0807.png create mode 100644 resources/images/tiles/micropolis_tile_0808.png create mode 100644 resources/images/tiles/micropolis_tile_0809.png create mode 100644 resources/images/tiles/micropolis_tile_0810.png create mode 100644 resources/images/tiles/micropolis_tile_0811.png create mode 100644 resources/images/tiles/micropolis_tile_0812.png create mode 100644 resources/images/tiles/micropolis_tile_0813.png create mode 100644 resources/images/tiles/micropolis_tile_0814.png create mode 100644 resources/images/tiles/micropolis_tile_0815.png create mode 100644 resources/images/tiles/micropolis_tile_0816.png create mode 100644 resources/images/tiles/micropolis_tile_0817.png create mode 100644 resources/images/tiles/micropolis_tile_0818.png create mode 100644 resources/images/tiles/micropolis_tile_0819.png create mode 100644 resources/images/tiles/micropolis_tile_0820.png create mode 100644 resources/images/tiles/micropolis_tile_0821.png create mode 100644 resources/images/tiles/micropolis_tile_0822.png create mode 100644 resources/images/tiles/micropolis_tile_0823.png create mode 100644 resources/images/tiles/micropolis_tile_0824.png create mode 100644 resources/images/tiles/micropolis_tile_0825.png create mode 100644 resources/images/tiles/micropolis_tile_0826.png create mode 100644 resources/images/tiles/micropolis_tile_0827.png create mode 100644 resources/images/tiles/micropolis_tile_0828.png create mode 100644 resources/images/tiles/micropolis_tile_0829.png create mode 100644 resources/images/tiles/micropolis_tile_0830.png create mode 100644 resources/images/tiles/micropolis_tile_0831.png create mode 100644 resources/images/tiles/micropolis_tile_0832.png create mode 100644 resources/images/tiles/micropolis_tile_0833.png create mode 100644 resources/images/tiles/micropolis_tile_0834.png create mode 100644 resources/images/tiles/micropolis_tile_0835.png create mode 100644 resources/images/tiles/micropolis_tile_0836.png create mode 100644 resources/images/tiles/micropolis_tile_0837.png create mode 100644 resources/images/tiles/micropolis_tile_0838.png create mode 100644 resources/images/tiles/micropolis_tile_0839.png create mode 100644 resources/images/tiles/micropolis_tile_0840.png create mode 100644 resources/images/tiles/micropolis_tile_0841.png create mode 100644 resources/images/tiles/micropolis_tile_0842.png create mode 100644 resources/images/tiles/micropolis_tile_0843.png create mode 100644 resources/images/tiles/micropolis_tile_0844.png create mode 100644 resources/images/tiles/micropolis_tile_0845.png create mode 100644 resources/images/tiles/micropolis_tile_0846.png create mode 100644 resources/images/tiles/micropolis_tile_0847.png create mode 100644 resources/images/tiles/micropolis_tile_0848.png create mode 100644 resources/images/tiles/micropolis_tile_0849.png create mode 100644 resources/images/tiles/micropolis_tile_0850.png create mode 100644 resources/images/tiles/micropolis_tile_0851.png create mode 100644 resources/images/tiles/micropolis_tile_0852.png create mode 100644 resources/images/tiles/micropolis_tile_0853.png create mode 100644 resources/images/tiles/micropolis_tile_0854.png create mode 100644 resources/images/tiles/micropolis_tile_0855.png create mode 100644 resources/images/tiles/micropolis_tile_0856.png create mode 100644 resources/images/tiles/micropolis_tile_0857.png create mode 100644 resources/images/tiles/micropolis_tile_0858.png create mode 100644 resources/images/tiles/micropolis_tile_0859.png create mode 100644 resources/images/tiles/micropolis_tile_0860.png create mode 100644 resources/images/tiles/micropolis_tile_0861.png create mode 100644 resources/images/tiles/micropolis_tile_0862.png create mode 100644 resources/images/tiles/micropolis_tile_0863.png create mode 100644 resources/images/tiles/micropolis_tile_0864.png create mode 100644 resources/images/tiles/micropolis_tile_0865.png create mode 100644 resources/images/tiles/micropolis_tile_0866.png create mode 100644 resources/images/tiles/micropolis_tile_0867.png create mode 100644 resources/images/tiles/micropolis_tile_0868.png create mode 100644 resources/images/tiles/micropolis_tile_0869.png create mode 100644 resources/images/tiles/micropolis_tile_0870.png create mode 100644 resources/images/tiles/micropolis_tile_0871.png create mode 100644 resources/images/tiles/micropolis_tile_0872.png create mode 100644 resources/images/tiles/micropolis_tile_0873.png create mode 100644 resources/images/tiles/micropolis_tile_0874.png create mode 100644 resources/images/tiles/micropolis_tile_0875.png create mode 100644 resources/images/tiles/micropolis_tile_0876.png create mode 100644 resources/images/tiles/micropolis_tile_0877.png create mode 100644 resources/images/tiles/micropolis_tile_0878.png create mode 100644 resources/images/tiles/micropolis_tile_0879.png create mode 100644 resources/images/tiles/micropolis_tile_0880.png create mode 100644 resources/images/tiles/micropolis_tile_0881.png create mode 100644 resources/images/tiles/micropolis_tile_0882.png create mode 100644 resources/images/tiles/micropolis_tile_0883.png create mode 100644 resources/images/tiles/micropolis_tile_0884.png create mode 100644 resources/images/tiles/micropolis_tile_0885.png create mode 100644 resources/images/tiles/micropolis_tile_0886.png create mode 100644 resources/images/tiles/micropolis_tile_0887.png create mode 100644 resources/images/tiles/micropolis_tile_0888.png create mode 100644 resources/images/tiles/micropolis_tile_0889.png create mode 100644 resources/images/tiles/micropolis_tile_0890.png create mode 100644 resources/images/tiles/micropolis_tile_0891.png create mode 100644 resources/images/tiles/micropolis_tile_0892.png create mode 100644 resources/images/tiles/micropolis_tile_0893.png create mode 100644 resources/images/tiles/micropolis_tile_0894.png create mode 100644 resources/images/tiles/micropolis_tile_0895.png create mode 100644 resources/images/tiles/micropolis_tile_0896.png create mode 100644 resources/images/tiles/micropolis_tile_0897.png create mode 100644 resources/images/tiles/micropolis_tile_0898.png create mode 100644 resources/images/tiles/micropolis_tile_0899.png create mode 100644 resources/images/tiles/micropolis_tile_0900.png create mode 100644 resources/images/tiles/micropolis_tile_0901.png create mode 100644 resources/images/tiles/micropolis_tile_0902.png create mode 100644 resources/images/tiles/micropolis_tile_0903.png create mode 100644 resources/images/tiles/micropolis_tile_0904.png create mode 100644 resources/images/tiles/micropolis_tile_0905.png create mode 100644 resources/images/tiles/micropolis_tile_0906.png create mode 100644 resources/images/tiles/micropolis_tile_0907.png create mode 100644 resources/images/tiles/micropolis_tile_0908.png create mode 100644 resources/images/tiles/micropolis_tile_0909.png create mode 100644 resources/images/tiles/micropolis_tile_0910.png create mode 100644 resources/images/tiles/micropolis_tile_0911.png create mode 100644 resources/images/tiles/micropolis_tile_0912.png create mode 100644 resources/images/tiles/micropolis_tile_0913.png create mode 100644 resources/images/tiles/micropolis_tile_0914.png create mode 100644 resources/images/tiles/micropolis_tile_0915.png create mode 100644 resources/images/tiles/micropolis_tile_0916.png create mode 100644 resources/images/tiles/micropolis_tile_0917.png create mode 100644 resources/images/tiles/micropolis_tile_0918.png create mode 100644 resources/images/tiles/micropolis_tile_0919.png create mode 100644 resources/images/tiles/micropolis_tile_0920.png create mode 100644 resources/images/tiles/micropolis_tile_0921.png create mode 100644 resources/images/tiles/micropolis_tile_0922.png create mode 100644 resources/images/tiles/micropolis_tile_0923.png create mode 100644 resources/images/tiles/micropolis_tile_0924.png create mode 100644 resources/images/tiles/micropolis_tile_0925.png create mode 100644 resources/images/tiles/micropolis_tile_0926.png create mode 100644 resources/images/tiles/micropolis_tile_0927.png create mode 100644 resources/images/tiles/micropolis_tile_0928.png create mode 100644 resources/images/tiles/micropolis_tile_0929.png create mode 100644 resources/images/tiles/micropolis_tile_0930.png create mode 100644 resources/images/tiles/micropolis_tile_0931.png create mode 100644 resources/images/tiles/micropolis_tile_0932.png create mode 100644 resources/images/tiles/micropolis_tile_0933.png create mode 100644 resources/images/tiles/micropolis_tile_0934.png create mode 100644 resources/images/tiles/micropolis_tile_0935.png create mode 100644 resources/images/tiles/micropolis_tile_0936.png create mode 100644 resources/images/tiles/micropolis_tile_0937.png create mode 100644 resources/images/tiles/micropolis_tile_0938.png create mode 100644 resources/images/tiles/micropolis_tile_0939.png create mode 100644 resources/images/tiles/micropolis_tile_0940.png create mode 100644 resources/images/tiles/micropolis_tile_0941.png create mode 100644 resources/images/tiles/micropolis_tile_0942.png create mode 100644 resources/images/tiles/micropolis_tile_0943.png create mode 100644 resources/images/tiles/micropolis_tile_0944.png create mode 100644 resources/images/tiles/micropolis_tile_0945.png create mode 100644 resources/images/tiles/micropolis_tile_0946.png create mode 100644 resources/images/tiles/micropolis_tile_0947.png create mode 100644 resources/images/tiles/micropolis_tile_0948.png create mode 100644 resources/images/tiles/micropolis_tile_0949.png create mode 100644 resources/images/tiles/micropolis_tile_0950.png create mode 100644 resources/images/tiles/micropolis_tile_0951.png create mode 100644 resources/images/tiles/micropolis_tile_0952.png create mode 100644 resources/images/tiles/micropolis_tile_0953.png create mode 100644 resources/images/tiles/micropolis_tile_0954.png create mode 100644 resources/images/tiles/micropolis_tile_0955.png create mode 100644 resources/images/tiles/micropolis_tile_0956.png create mode 100644 resources/images/tiles/micropolis_tile_0957.png create mode 100644 resources/images/tiles/micropolis_tile_0958.png create mode 100644 resources/images/tiles/micropolis_tile_0959.png create mode 100644 resources/images/tiles/micropolis_tile_0960.png create mode 100644 resources/images/tiles/micropolis_tile_0961.png create mode 100644 resources/images/tiles/micropolis_tile_0962.png create mode 100644 resources/images/tiles/micropolis_tile_0963.png create mode 100644 resources/images/tiles/micropolis_tile_0964.png create mode 100644 resources/images/tiles/micropolis_tile_0965.png create mode 100644 resources/images/tiles/micropolis_tile_0966.png create mode 100644 resources/images/tiles/micropolis_tile_0967.png create mode 100644 resources/images/tiles/micropolis_tile_0968.png create mode 100644 resources/images/tiles/micropolis_tile_0969.png create mode 100644 resources/images/tiles/micropolis_tile_0970.png create mode 100644 resources/images/tiles/micropolis_tile_0971.png create mode 100644 resources/images/tiles/micropolis_tile_0972.png create mode 100644 resources/images/tiles/micropolis_tile_0973.png create mode 100644 resources/images/tiles/micropolis_tile_0974.png create mode 100644 resources/images/tiles/micropolis_tile_0975.png create mode 100644 resources/images/tiles/micropolis_tile_0976.png create mode 100644 resources/images/tiles/micropolis_tile_0977.png create mode 100644 resources/images/tiles/micropolis_tile_0978.png create mode 100644 resources/images/tiles/micropolis_tile_0979.png create mode 100644 resources/images/tiles/micropolis_tile_0980.png create mode 100644 resources/images/tiles/micropolis_tile_0981.png create mode 100644 resources/images/tiles/micropolis_tile_0982.png create mode 100644 resources/images/tiles/micropolis_tile_0983.png create mode 100644 resources/images/tiles/micropolis_tile_0984.png create mode 100644 resources/images/tiles/micropolis_tile_0985.png create mode 100644 resources/images/tiles/micropolis_tile_0986.png create mode 100644 resources/images/tiles/micropolis_tile_0987.png create mode 100644 resources/images/tiles/micropolis_tile_0988.png create mode 100644 resources/images/tiles/micropolis_tile_0989.png create mode 100644 resources/images/tiles/micropolis_tile_0990.png create mode 100644 resources/images/tiles/micropolis_tile_0991.png create mode 100644 resources/images/tiles/micropolis_tile_0992.png create mode 100644 resources/images/tiles/micropolis_tile_0993.png create mode 100644 resources/images/tiles/micropolis_tile_0994.png create mode 100644 resources/images/tiles/micropolis_tile_0995.png create mode 100644 resources/images/tiles/micropolis_tile_0996.png create mode 100644 resources/images/tiles/micropolis_tile_0997.png create mode 100644 resources/images/tiles/micropolis_tile_0998.png create mode 100644 resources/images/tiles/micropolis_tile_0999.png create mode 100644 resources/images/tiles/micropolis_tile_1000.png create mode 100644 resources/images/tiles/micropolis_tile_1001.png create mode 100644 resources/images/tiles/micropolis_tile_1002.png create mode 100644 resources/images/tiles/micropolis_tile_1003.png create mode 100644 resources/images/tiles/micropolis_tile_1004.png create mode 100644 resources/images/tiles/micropolis_tile_1005.png create mode 100644 resources/images/tiles/micropolis_tile_1006.png create mode 100644 resources/images/tiles/micropolis_tile_1007.png create mode 100644 resources/images/tiles/micropolis_tile_1008.png create mode 100644 resources/images/tiles/micropolis_tile_1009.png create mode 100644 resources/images/tiles/micropolis_tile_1010.png create mode 100644 resources/images/tiles/micropolis_tile_1011.png create mode 100644 resources/images/tiles/micropolis_tile_1012.png create mode 100644 resources/images/tiles/micropolis_tile_1013.png create mode 100644 resources/images/tiles/micropolis_tile_1014.png create mode 100644 resources/images/tiles/micropolis_tile_1015.png create mode 100644 resources/images/tiles/micropolis_tile_1016.png create mode 100644 resources/images/tiles/micropolis_tile_1017.png create mode 100644 resources/images/tiles/micropolis_tile_1018.png create mode 100644 resources/images/tiles/micropolis_tile_1019.png create mode 100644 resources/images/tiles/micropolis_tile_1020.png create mode 100644 resources/images/tiles/micropolis_tile_1021.png create mode 100644 resources/images/tiles/micropolis_tile_1022.png create mode 100644 resources/images/tiles/micropolis_tile_1023.png create mode 100644 resources/images/tiles/micropolis_tiles.png create mode 100644 resources/images/tiles/zone_church.psd create mode 100644 resources/images/tiles/zone_church0.png create mode 100644 resources/images/tiles/zone_church1.png create mode 100644 resources/images/tiles/zone_church2.png create mode 100644 resources/images/tiles/zone_church3.png create mode 100644 resources/images/tiles/zone_church4.png create mode 100644 resources/images/tiles/zone_church5.png create mode 100644 resources/images/tiles/zone_church6.png create mode 100644 resources/images/tiles/zone_church7.png create mode 100644 resources/images/tiles/zone_church_pacbot.psd create mode 100644 resources/images/tiles_pixels.png create mode 100644 resources/images/tool_airport.png create mode 100644 resources/images/tool_airporthi.png create mode 100644 resources/images/tool_bulldozer.png create mode 100644 resources/images/tool_bulldozerhi.png create mode 100644 resources/images/tool_center.png create mode 100644 resources/images/tool_centerhi.png create mode 100644 resources/images/tool_chalk.png create mode 100644 resources/images/tool_chalkhi.png create mode 100644 resources/images/tool_coalpower.png create mode 100644 resources/images/tool_coalpowerhi.png create mode 100644 resources/images/tool_commercial.png create mode 100644 resources/images/tool_commercialhi.png create mode 100644 resources/images/tool_eraser.png create mode 100644 resources/images/tool_eraserhi.png create mode 100644 resources/images/tool_firestation.png create mode 100644 resources/images/tool_firestationhi.png create mode 100644 resources/images/tool_industrial.png create mode 100644 resources/images/tool_industrialhi.png create mode 100644 resources/images/tool_nuclearpower.png create mode 100644 resources/images/tool_nuclearpowerhi.png create mode 100644 resources/images/tool_pacbot.png create mode 100644 resources/images/tool_pacbothi.png create mode 100644 resources/images/tool_park.png create mode 100644 resources/images/tool_parkhi.png create mode 100644 resources/images/tool_policestation.png create mode 100644 resources/images/tool_policestationhi.png create mode 100644 resources/images/tool_query.png create mode 100644 resources/images/tool_queryhi.png create mode 100644 resources/images/tool_railroad.png create mode 100644 resources/images/tool_railroadhi.png create mode 100644 resources/images/tool_residential.png create mode 100644 resources/images/tool_residentialhi.png create mode 100644 resources/images/tool_road.png create mode 100644 resources/images/tool_roadhi.png create mode 100644 resources/images/tool_seaport.png create mode 100644 resources/images/tool_seaporthi.png create mode 100644 resources/images/tool_stadium.png create mode 100644 resources/images/tool_stadiumhi.png create mode 100644 resources/images/tool_wire.png create mode 100644 resources/images/tool_wirehi.png create mode 100644 resources/sounds/HeavyTraffic.mp3 create mode 100644 resources/sounds/Monster.mp3 create mode 100644 resources/sounds/Siren.mp3 create mode 100644 resources/sounds/Sorry.mp3 create mode 100644 resources/sounds/UhUh.mp3 create mode 100644 resources/sounds/a.mp3 create mode 100644 resources/sounds/aaah.mp3 create mode 100644 resources/sounds/airport.mp3 create mode 100644 resources/sounds/beep.mp3 create mode 100644 resources/sounds/boing.mp3 create mode 100644 resources/sounds/bop.mp3 create mode 100644 resources/sounds/build.mp3 create mode 100644 resources/sounds/bulldozer.mp3 create mode 100644 resources/sounds/chalk.mp3 create mode 100644 resources/sounds/coal.mp3 create mode 100644 resources/sounds/computer.mp3 create mode 100644 resources/sounds/cuckoo.mp3 create mode 100644 resources/sounds/e.mp3 create mode 100644 resources/sounds/eraser.mp3 create mode 100644 resources/sounds/explosion-hi.mp3 create mode 100644 resources/sounds/explosion-high.mp3 create mode 100644 resources/sounds/explosion-low.mp3 create mode 100644 resources/sounds/fire.mp3 create mode 100644 resources/sounds/honkhonk-hi.mp3 create mode 100644 resources/sounds/honkhonk-high.mp3 create mode 100644 resources/sounds/honkhonk-med.mp3 create mode 100644 resources/sounds/ignition.mp3 create mode 100644 resources/sounds/ind.mp3 create mode 100644 resources/sounds/o.mp3 create mode 100644 resources/sounds/oop.mp3 create mode 100644 resources/sounds/park.mp3 create mode 100644 resources/sounds/police.mp3 create mode 100644 resources/sounds/quack.mp3 create mode 100644 resources/sounds/quackquack.mp3 create mode 100644 resources/sounds/query.mp3 create mode 100644 resources/sounds/rail.mp3 create mode 100644 resources/sounds/res.mp3 create mode 100644 resources/sounds/road.mp3 create mode 100644 resources/sounds/rumble.mp3 create mode 100644 resources/sounds/seaport.mp3 create mode 100644 resources/sounds/skid.mp3 create mode 100644 resources/sounds/stadium.mp3 create mode 100644 resources/sounds/whip.mp3 create mode 100644 resources/sounds/wire.mp3 create mode 100644 resources/sounds/woosh.mp3 create mode 100644 resources/sounds/zone.mp3 create mode 100644 resources/tilesets/ancientasia/asia.bmp create mode 100644 resources/tilesets/ancientasia/bmp00001.bmp create mode 100644 resources/tilesets/ancientasia/chopper.bmp create mode 100644 resources/tilesets/ancientasia/cmdbar.bmp create mode 100644 resources/tilesets/ancientasia/edittool.bmp create mode 100644 resources/tilesets/ancientasia/explode.bmp create mode 100644 resources/tilesets/ancientasia/graphtoo.bmp create mode 100644 resources/tilesets/ancientasia/icon1.ico create mode 100644 resources/tilesets/ancientasia/idr_grap.ico create mode 100644 resources/tilesets/ancientasia/idr_mapf.ico create mode 100644 resources/tilesets/ancientasia/mapchopp.bmp create mode 100644 resources/tilesets/ancientasia/mapmonst.bmp create mode 100644 resources/tilesets/ancientasia/mapplane.bmp create mode 100644 resources/tilesets/ancientasia/maptools.bmp create mode 100644 resources/tilesets/ancientasia/maptorna.bmp create mode 100644 resources/tilesets/ancientasia/maptrain.bmp create mode 100644 resources/tilesets/ancientasia/monster.bmp create mode 100644 resources/tilesets/ancientasia/mptesdoc.ico create mode 100644 resources/tilesets/ancientasia/mptest.ico create mode 100644 resources/tilesets/ancientasia/plane.bmp create mode 100644 resources/tilesets/ancientasia/scen0u.bmp create mode 100644 resources/tilesets/ancientasia/scen1u.bmp create mode 100644 resources/tilesets/ancientasia/scen2u.bmp create mode 100644 resources/tilesets/ancientasia/scen3u.bmp create mode 100644 resources/tilesets/ancientasia/scen4u.bmp create mode 100644 resources/tilesets/ancientasia/scen5u.bmp create mode 100644 resources/tilesets/ancientasia/scen6u.bmp create mode 100644 resources/tilesets/ancientasia/scen7u.bmp create mode 100644 resources/tilesets/ancientasia/scusasia.rc2 create mode 100644 resources/tilesets/ancientasia/ship.bmp create mode 100644 resources/tilesets/ancientasia/smltitle.bmp create mode 100644 resources/tilesets/ancientasia/tiles.bmp create mode 100644 resources/tilesets/ancientasia/toolbar.bmp create mode 100644 resources/tilesets/ancientasia/tornado.bmp create mode 100644 resources/tilesets/ancientasia/train.bmp create mode 100644 resources/tilesets/classic/bmp00001.bmp create mode 100644 resources/tilesets/classic/chopper.bmp create mode 100644 resources/tilesets/classic/cmdbar.bmp create mode 100644 resources/tilesets/classic/edittool.bmp create mode 100644 resources/tilesets/classic/explode.bmp create mode 100644 resources/tilesets/classic/graphtoo.bmp create mode 100644 resources/tilesets/classic/icon1.ico create mode 100644 resources/tilesets/classic/idr_grap.ico create mode 100644 resources/tilesets/classic/idr_mapf.ico create mode 100644 resources/tilesets/classic/mapchopp.bmp create mode 100644 resources/tilesets/classic/mapmonst.bmp create mode 100644 resources/tilesets/classic/mapplane.bmp create mode 100644 resources/tilesets/classic/maptools.bmp create mode 100644 resources/tilesets/classic/maptorna.bmp create mode 100644 resources/tilesets/classic/maptrain.bmp create mode 100644 resources/tilesets/classic/monster.bmp create mode 100644 resources/tilesets/classic/mptesdoc.ico create mode 100644 resources/tilesets/classic/mptest.ico create mode 100644 resources/tilesets/classic/plane.bmp create mode 100644 resources/tilesets/classic/scen0u.bmp create mode 100644 resources/tilesets/classic/scen1u.bmp create mode 100644 resources/tilesets/classic/scen2u.bmp create mode 100644 resources/tilesets/classic/scen3u.bmp create mode 100644 resources/tilesets/classic/scen4u.bmp create mode 100644 resources/tilesets/classic/scen5u.bmp create mode 100644 resources/tilesets/classic/scen6u.bmp create mode 100644 resources/tilesets/classic/scen7u.bmp create mode 100644 resources/tilesets/classic/scusclas.rc2 create mode 100644 resources/tilesets/classic/ship.bmp create mode 100644 resources/tilesets/classic/smltitle.bmp create mode 100644 resources/tilesets/classic/splash.bmp create mode 100644 resources/tilesets/classic/tiles.bmp create mode 100644 resources/tilesets/classic/toolbar.bmp create mode 100644 resources/tilesets/classic/tornado.bmp create mode 100644 resources/tilesets/classic/train.bmp create mode 100644 resources/tilesets/classic95/bmp00001.bmp create mode 100644 resources/tilesets/classic95/chopper.bmp create mode 100644 resources/tilesets/classic95/cmdbar.bmp create mode 100644 resources/tilesets/classic95/edittool.bmp create mode 100644 resources/tilesets/classic95/explode.bmp create mode 100644 resources/tilesets/classic95/graphtoo.bmp create mode 100644 resources/tilesets/classic95/icon1.ico create mode 100644 resources/tilesets/classic95/idr_grap.ico create mode 100644 resources/tilesets/classic95/idr_mapf.ico create mode 100644 resources/tilesets/classic95/mapchopp.bmp create mode 100644 resources/tilesets/classic95/mapmonst.bmp create mode 100644 resources/tilesets/classic95/mapplane.bmp create mode 100644 resources/tilesets/classic95/maptools.bmp create mode 100644 resources/tilesets/classic95/maptorna.bmp create mode 100644 resources/tilesets/classic95/maptrain.bmp create mode 100644 resources/tilesets/classic95/monster.bmp create mode 100644 resources/tilesets/classic95/mptesdoc.ico create mode 100644 resources/tilesets/classic95/mptest.ico create mode 100644 resources/tilesets/classic95/plane.bmp create mode 100644 resources/tilesets/classic95/scen0u.bmp create mode 100644 resources/tilesets/classic95/scen1u.bmp create mode 100644 resources/tilesets/classic95/scen2u.bmp create mode 100644 resources/tilesets/classic95/scen3u.bmp create mode 100644 resources/tilesets/classic95/scen4u.bmp create mode 100644 resources/tilesets/classic95/scen5u.bmp create mode 100644 resources/tilesets/classic95/scen6u.bmp create mode 100644 resources/tilesets/classic95/scen7u.bmp create mode 100644 resources/tilesets/classic95/scuscl95.rc2 create mode 100644 resources/tilesets/classic95/ship.bmp create mode 100644 resources/tilesets/classic95/smltitle.bmp create mode 100644 resources/tilesets/classic95/splash.bmp create mode 100644 resources/tilesets/classic95/tiles.bmp create mode 100644 resources/tilesets/classic95/toolbar.bmp create mode 100644 resources/tilesets/classic95/tornado.bmp create mode 100644 resources/tilesets/classic95/train.bmp create mode 100644 resources/tilesets/futureeurope/bmp00001.bmp create mode 100644 resources/tilesets/futureeurope/chopper.bmp create mode 100644 resources/tilesets/futureeurope/cmdbar.bmp create mode 100644 resources/tilesets/futureeurope/edittool.bmp create mode 100644 resources/tilesets/futureeurope/explode.bmp create mode 100644 resources/tilesets/futureeurope/graphtoo.bmp create mode 100644 resources/tilesets/futureeurope/icon1.ico create mode 100644 resources/tilesets/futureeurope/idr_grap.ico create mode 100644 resources/tilesets/futureeurope/idr_mapf.ico create mode 100644 resources/tilesets/futureeurope/mapchopp.bmp create mode 100644 resources/tilesets/futureeurope/mapmonst.bmp create mode 100644 resources/tilesets/futureeurope/mapplane.bmp create mode 100644 resources/tilesets/futureeurope/maptools.bmp create mode 100644 resources/tilesets/futureeurope/maptorna.bmp create mode 100644 resources/tilesets/futureeurope/maptrain.bmp create mode 100644 resources/tilesets/futureeurope/monster.bmp create mode 100644 resources/tilesets/futureeurope/mptesdoc.ico create mode 100644 resources/tilesets/futureeurope/mptest.ico create mode 100644 resources/tilesets/futureeurope/plane.bmp create mode 100644 resources/tilesets/futureeurope/scen0u.bmp create mode 100644 resources/tilesets/futureeurope/scen1u.bmp create mode 100644 resources/tilesets/futureeurope/scen2u.bmp create mode 100644 resources/tilesets/futureeurope/scen3u.bmp create mode 100644 resources/tilesets/futureeurope/scen4u.bmp create mode 100644 resources/tilesets/futureeurope/scen5u.bmp create mode 100644 resources/tilesets/futureeurope/scen6u.bmp create mode 100644 resources/tilesets/futureeurope/scen7u.bmp create mode 100644 resources/tilesets/futureeurope/scusfeur.rc2 create mode 100644 resources/tilesets/futureeurope/ship.bmp create mode 100644 resources/tilesets/futureeurope/smltitle.bmp create mode 100644 resources/tilesets/futureeurope/tiles.bmp create mode 100644 resources/tilesets/futureeurope/toolbar.bmp create mode 100644 resources/tilesets/futureeurope/tornado.bmp create mode 100644 resources/tilesets/futureeurope/train.bmp create mode 100644 resources/tilesets/futureusa/bmp00001.bmp create mode 100644 resources/tilesets/futureusa/chopper.bmp create mode 100644 resources/tilesets/futureusa/cmdbar.bmp create mode 100644 resources/tilesets/futureusa/edittool.bmp create mode 100644 resources/tilesets/futureusa/explode.bmp create mode 100644 resources/tilesets/futureusa/graphtoo.bmp create mode 100644 resources/tilesets/futureusa/icon1.ico create mode 100644 resources/tilesets/futureusa/idr_grap.ico create mode 100644 resources/tilesets/futureusa/idr_mapf.ico create mode 100644 resources/tilesets/futureusa/mapchopp.bmp create mode 100644 resources/tilesets/futureusa/mapmonst.bmp create mode 100644 resources/tilesets/futureusa/mapplane.bmp create mode 100644 resources/tilesets/futureusa/maptools.bmp create mode 100644 resources/tilesets/futureusa/maptorna.bmp create mode 100644 resources/tilesets/futureusa/maptrain.bmp create mode 100644 resources/tilesets/futureusa/monster.bmp create mode 100644 resources/tilesets/futureusa/mptesdoc.ico create mode 100644 resources/tilesets/futureusa/mptest.ico create mode 100644 resources/tilesets/futureusa/plane.bmp create mode 100644 resources/tilesets/futureusa/scen0u.bmp create mode 100644 resources/tilesets/futureusa/scen1u.bmp create mode 100644 resources/tilesets/futureusa/scen2u.bmp create mode 100644 resources/tilesets/futureusa/scen3u.bmp create mode 100644 resources/tilesets/futureusa/scen4u.bmp create mode 100644 resources/tilesets/futureusa/scen5u.bmp create mode 100644 resources/tilesets/futureusa/scen6u.bmp create mode 100644 resources/tilesets/futureusa/scen7u.bmp create mode 100644 resources/tilesets/futureusa/scusfusa.rc2 create mode 100644 resources/tilesets/futureusa/ship.bmp create mode 100644 resources/tilesets/futureusa/smltitle.bmp create mode 100644 resources/tilesets/futureusa/tiles.bmp create mode 100644 resources/tilesets/futureusa/toolbar.bmp create mode 100644 resources/tilesets/futureusa/tornado.bmp create mode 100644 resources/tilesets/futureusa/train.bmp create mode 100644 resources/tilesets/medievaltimes/bmp00001.bmp create mode 100644 resources/tilesets/medievaltimes/chopper.bmp create mode 100644 resources/tilesets/medievaltimes/cmdbar.bmp create mode 100644 resources/tilesets/medievaltimes/edittool.bmp create mode 100644 resources/tilesets/medievaltimes/explode.bmp create mode 100644 resources/tilesets/medievaltimes/graphtoo.bmp create mode 100644 resources/tilesets/medievaltimes/icon1.ico create mode 100644 resources/tilesets/medievaltimes/idr_grap.ico create mode 100644 resources/tilesets/medievaltimes/idr_mapf.ico create mode 100644 resources/tilesets/medievaltimes/mapchopp.bmp create mode 100644 resources/tilesets/medievaltimes/mapmonst.bmp create mode 100644 resources/tilesets/medievaltimes/mapplane.bmp create mode 100644 resources/tilesets/medievaltimes/maptools.bmp create mode 100644 resources/tilesets/medievaltimes/maptorna.bmp create mode 100644 resources/tilesets/medievaltimes/maptrain.bmp create mode 100644 resources/tilesets/medievaltimes/monster.bmp create mode 100644 resources/tilesets/medievaltimes/mptesdoc.ico create mode 100644 resources/tilesets/medievaltimes/mptest.ico create mode 100644 resources/tilesets/medievaltimes/plane.bmp create mode 100644 resources/tilesets/medievaltimes/scen0u.bmp create mode 100644 resources/tilesets/medievaltimes/scen1u.bmp create mode 100644 resources/tilesets/medievaltimes/scen2u.bmp create mode 100644 resources/tilesets/medievaltimes/scen3u.bmp create mode 100644 resources/tilesets/medievaltimes/scen4u.bmp create mode 100644 resources/tilesets/medievaltimes/scen5u.bmp create mode 100644 resources/tilesets/medievaltimes/scen6u.bmp create mode 100644 resources/tilesets/medievaltimes/scen7u.bmp create mode 100644 resources/tilesets/medievaltimes/scusmedi.rc2 create mode 100644 resources/tilesets/medievaltimes/ship.bmp create mode 100644 resources/tilesets/medievaltimes/smltitle.bmp create mode 100644 resources/tilesets/medievaltimes/tiles.bmp create mode 100644 resources/tilesets/medievaltimes/toolbar.bmp create mode 100644 resources/tilesets/medievaltimes/tornado.bmp create mode 100644 resources/tilesets/medievaltimes/train.bmp create mode 100644 resources/tilesets/mooncolony/bmp00001.bmp create mode 100644 resources/tilesets/mooncolony/chopper.bmp create mode 100644 resources/tilesets/mooncolony/cmdbar.bmp create mode 100644 resources/tilesets/mooncolony/edittool.bmp create mode 100644 resources/tilesets/mooncolony/explode.bmp create mode 100644 resources/tilesets/mooncolony/graphtoo.bmp create mode 100644 resources/tilesets/mooncolony/icon1.ico create mode 100644 resources/tilesets/mooncolony/idr_grap.ico create mode 100644 resources/tilesets/mooncolony/idr_mapf.ico create mode 100644 resources/tilesets/mooncolony/mapchopp.bmp create mode 100644 resources/tilesets/mooncolony/mapmonst.bmp create mode 100644 resources/tilesets/mooncolony/mapplane.bmp create mode 100644 resources/tilesets/mooncolony/maptools.bmp create mode 100644 resources/tilesets/mooncolony/maptorna.bmp create mode 100644 resources/tilesets/mooncolony/maptrain.bmp create mode 100644 resources/tilesets/mooncolony/monster.bmp create mode 100644 resources/tilesets/mooncolony/mptesdoc.ico create mode 100644 resources/tilesets/mooncolony/mptest.ico create mode 100644 resources/tilesets/mooncolony/plane.bmp create mode 100644 resources/tilesets/mooncolony/scen0u.bmp create mode 100644 resources/tilesets/mooncolony/scen1u.bmp create mode 100644 resources/tilesets/mooncolony/scen2u.bmp create mode 100644 resources/tilesets/mooncolony/scen3u.bmp create mode 100644 resources/tilesets/mooncolony/scen4u.bmp create mode 100644 resources/tilesets/mooncolony/scen5u.bmp create mode 100644 resources/tilesets/mooncolony/scen6u.bmp create mode 100644 resources/tilesets/mooncolony/scen7u.bmp create mode 100644 resources/tilesets/mooncolony/scusmoon.rc2 create mode 100644 resources/tilesets/mooncolony/ship.bmp create mode 100644 resources/tilesets/mooncolony/smltitle.bmp create mode 100644 resources/tilesets/mooncolony/tiles.bmp create mode 100644 resources/tilesets/mooncolony/toolbar.bmp create mode 100644 resources/tilesets/mooncolony/tornado.bmp create mode 100644 resources/tilesets/mooncolony/train.bmp create mode 100644 resources/tilesets/wildwest/bmp00001.bmp create mode 100644 resources/tilesets/wildwest/chopper.bmp create mode 100644 resources/tilesets/wildwest/cmdbar.bmp create mode 100644 resources/tilesets/wildwest/edittool.bmp create mode 100644 resources/tilesets/wildwest/explode.bmp create mode 100644 resources/tilesets/wildwest/graphtoo.bmp create mode 100644 resources/tilesets/wildwest/icon1.ico create mode 100644 resources/tilesets/wildwest/idr_grap.ico create mode 100644 resources/tilesets/wildwest/idr_mapf.ico create mode 100644 resources/tilesets/wildwest/mapchopp.bmp create mode 100644 resources/tilesets/wildwest/mapmonst.bmp create mode 100644 resources/tilesets/wildwest/mapplane.bmp create mode 100644 resources/tilesets/wildwest/maptools.bmp create mode 100644 resources/tilesets/wildwest/maptorna.bmp create mode 100644 resources/tilesets/wildwest/maptrain.bmp create mode 100644 resources/tilesets/wildwest/monster.bmp create mode 100644 resources/tilesets/wildwest/mptesdoc.ico create mode 100644 resources/tilesets/wildwest/mptest.ico create mode 100644 resources/tilesets/wildwest/plane.bmp create mode 100644 resources/tilesets/wildwest/scen0u.bmp create mode 100644 resources/tilesets/wildwest/scen1u.bmp create mode 100644 resources/tilesets/wildwest/scen2u.bmp create mode 100644 resources/tilesets/wildwest/scen3u.bmp create mode 100644 resources/tilesets/wildwest/scen4u.bmp create mode 100644 resources/tilesets/wildwest/scen5u.bmp create mode 100644 resources/tilesets/wildwest/scen6u.bmp create mode 100644 resources/tilesets/wildwest/scen7u.bmp create mode 100644 resources/tilesets/wildwest/scuswest.rc2 create mode 100644 resources/tilesets/wildwest/ship.bmp create mode 100644 resources/tilesets/wildwest/smltitle.bmp create mode 100644 resources/tilesets/wildwest/tiles.bmp create mode 100644 resources/tilesets/wildwest/toolbar.bmp create mode 100644 resources/tilesets/wildwest/tornado.bmp create mode 100644 resources/tilesets/wildwest/train.bmp create mode 100644 src/main.zig create mode 100644 src/root.zig diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..53e94d1 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,45 @@ +name: Build + +on: + push: + branches: [main, dev] + pull_request: + branches: [main, dev] + +jobs: + build: + timeout-minutes: 15 + continue-on-error: true + strategy: + matrix: + os: [macos-latest, windows-latest] + runs-on: ${{matrix.os}} + steps: + - uses: actions/checkout@v2 + - uses: goto-bus-stop/setup-zig@v2 + - name: Build + run: zig build + - name: Test + run: zig build test + # ubuntu-build: + # timeout-minutes: 15 + # continue-on-error: true + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v2 + # - uses: goto-bus-stop/setup-zig@v2 + # - name: Install OpenGL + # run: apt-get libglu1-mesa-dev freeglut3-dev mesa-common-dev + # - name: Build + # run: zig build + # - name: Test + # run: zig build test + lint: + needs: build + timeout-minutes: 15 + continue-on-error: true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: goto-bus-stop/setup-zig@v2 + - run: zig fmt --check . \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f8fad5f --- /dev/null +++ b/.gitignore @@ -0,0 +1,525 @@ +# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig +# Created by https://www.toptal.com/developers/gitignore/api/zig,windows,visualstudiocode,macos,linux,cmake,dotnetcore,visualstudio +# Edit at https://www.toptal.com/developers/gitignore?templates=zig,windows,visualstudiocode,macos,linux,cmake,dotnetcore,visualstudio + +### CMake ### +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +Testing +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps + +### CMake Patch ### +# External projects +*-prefix/ + +### DotnetCore ### +# .NET Core build folders +bin/ +obj/ + +# Common node modules locations +/node_modules +/wwwroot/node_modules + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +### zig ### +# Zig programming language + +zig-cache/ +zig-out/ +build/ +build-*/ +docgen_tmp/ + +### VisualStudio ### +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +*.code-workspace + +# Local History for Visual Studio Code + +# Windows Installer files from build outputs + +# JetBrains Rider +*.sln.iml + +### VisualStudio Patch ### +# Additional files built by Visual Studio + +# End of https://www.toptal.com/developers/gitignore/api/zig,windows,visualstudiocode,macos,linux,cmake,dotnetcore,visualstudio + +# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option) + +*.wasm* diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..f253a07 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,22 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "zig build", + "type": "shell", + "command": "zig build" + }, + { + "label": "zig run", + "type": "shell", + "command": "zig build run" + }, + { + "label": "zig test", + "type": "shell", + "command": "zig build test" + } + ] +} \ No newline at end of file diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..df2c1dc --- /dev/null +++ b/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 2024 Tony Bark + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) 2024 Tony Bark + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b95cb98 --- /dev/null +++ b/LICENSE @@ -0,0 +1,47 @@ +micropolisJS. + +Copyright (C) Graeme McCutcheon, 2013. + +Adapted from the original Micropolis source code release, and so released +under the GNU General Public License V3. + +ADDITIONAL TERMS per GNU GPL Section 7 + +No trademark or publicity rights are granted. This license does NOT +give you any right, title or interest in the trademark SimCity or any +other Electronic Arts trademark. You may not distribute any +modification of this program using the trademark SimCity or claim any +affliation or association with Electronic Arts Inc. or its employees. + +Any propagation or conveyance of this program must include this +copyright notice and these terms. + +If you convey this program (or any modifications of it) and assume +contractual liability for the program to recipients of it, you agree +to indemnify Electronic Arts for any liability that those contractual +assumptions impose on Electronic Arts. + +You may not misrepresent the origins of this program; modified +versions of the program must be marked as such and not identified as +the original program. + +This disclaimer supplements the one included in the General Public +License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS +PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY +OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF +SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS +DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, +INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY +RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, +USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST +INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL +MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE +UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE +WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE +CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR +ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME +JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED +WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A +CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY +NOT APPLY TO YOU. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..faf434b --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# City Limits + +

+ +
+GitHub Workflow Status GitHub GitHub commit activity +


+

+ +CityLimits is an open source reimagining of SimCity Classic written in Zig based on RayLib, and using Micropolis's core. In the long run, I plan on adding on gameplay mechanics used in later iterations. Like it's cousin, everything learned in the making of CityLimits will go towards the building and customization that I've been itching to create. + + +## Authors + +- **Tony Bark** - _Initial work_ - [tonytins](https://github.com/tonytins) +- **Maxis** - _Assets_ - [SimHacker](https://github.com/SimHacker/) + +See also the list of [contributors](https://github.com/tonytins/citylimits/contributors) who participated in this project. + +## License + +I license this project under the GPL-2.0-or-later license - see [LICENSE](LICENSE) for details. diff --git a/build.zig b/build.zig new file mode 100644 index 0000000..154f73e --- /dev/null +++ b/build.zig @@ -0,0 +1,113 @@ +const std = @import("std"); + +// Although this function looks imperative, note that its job is to +// declaratively construct a build graph that will be executed by an external +// runner. +pub fn build(b: *std.Build) void { + // Standard target options allows the person running `zig build` to choose + // what target to build for. Here we do not override the defaults, which + // means any target is allowed, and the default is native. Other options + // for restricting supported target set are available. + const target = b.standardTargetOptions(.{}); + + // Standard optimization options allow the person running `zig build` to select + // between Debug, ReleaseSafe, ReleaseFast, and ReleaseSmall. Here we do not + // set a preferred release mode, allowing the user to decide how to optimize. + const optimize = b.standardOptimizeOption(.{}); + + const lib = b.addStaticLibrary(.{ + .name = "citylimits", + // In this case the main source file is merely a path, however, in more + // complicated build scripts, this could be a generated file. + .root_source_file = b.path("src/root.zig"), + .target = target, + .optimize = optimize, + }); + + // This declares intent for the library to be installed into the standard + // location when the user invokes the "install" step (the default step when + // running `zig build`). + b.installArtifact(lib); + + const exe = b.addExecutable(.{ + .name = "citylimits", + .root_source_file = b.path("src/main.zig"), + .target = target, + .optimize = optimize, + }); + + // C headers + exe.linkLibC(); + exe.addIncludePath(.{ .path = "./core" }); + + // Modules + const raylib_dep = b.dependency("raylib-zig", .{ + .target = target, + .optimize = optimize, + }); + + const raylib = raylib_dep.module("raylib"); // main raylib module + const raylib_math = raylib_dep.module("raylib-math"); // raymath module + // const raylib_gui = raylib_dep.module("raylib-gui"); // raylib gui + const rlgl = raylib_dep.module("rlgl"); // rlgl module + const raylib_artifact = raylib_dep.artifact("raylib"); // raylib C library + + exe.linkLibrary(raylib_artifact); + exe.root_module.addImport("raylib", raylib); + exe.root_module.addImport("raylib-math", raylib_math); + // exe.root_module.addImport("raylib-gui", raylib_gui); + exe.root_module.addImport("rlgl", rlgl); + + // This declares intent for the executable to be installed into the + // standard location when the user invokes the "install" step (the default + // step when running `zig build`). + b.installArtifact(exe); + + // This *creates* a Run step in the build graph, to be executed when another + // step is evaluated that depends on it. The next line below will establish + // such a dependency. + const run_cmd = b.addRunArtifact(exe); + + // By making the run step depend on the install step, it will be run from the + // installation directory rather than directly from within the cache directory. + // This is not necessary, however, if the application depends on other installed + // files, this ensures they will be present and in the expected location. + run_cmd.step.dependOn(b.getInstallStep()); + + // This allows the user to pass arguments to the application in the build + // command itself, like this: `zig build run -- arg1 arg2 etc` + if (b.args) |args| { + run_cmd.addArgs(args); + } + + // This creates a build step. It will be visible in the `zig build --help` menu, + // and can be selected like this: `zig build run` + // This will evaluate the `run` step rather than the default, which is "install". + const run_step = b.step("run", "Run the app"); + run_step.dependOn(&run_cmd.step); + + // Creates a step for unit testing. This only builds the test executable + // but does not run it. + const lib_unit_tests = b.addTest(.{ + .root_source_file = b.path("src/root.zig"), + .target = target, + .optimize = optimize, + }); + + const run_lib_unit_tests = b.addRunArtifact(lib_unit_tests); + + const exe_unit_tests = b.addTest(.{ + .root_source_file = b.path("src/main.zig"), + .target = target, + .optimize = optimize, + }); + + const run_exe_unit_tests = b.addRunArtifact(exe_unit_tests); + + // Similar to creating the run step earlier, this exposes a `test` step to + // the `zig build --help` menu, providing a way for the user to request + // running the unit tests. + const test_step = b.step("test", "Run unit tests"); + test_step.dependOn(&run_lib_unit_tests.step); + test_step.dependOn(&run_exe_unit_tests.step); +} diff --git a/build.zig.zon b/build.zig.zon new file mode 100644 index 0000000..9b6be9d --- /dev/null +++ b/build.zig.zon @@ -0,0 +1,36 @@ +.{ + .name = "citylimits", + // This is a [Semantic Version](https://semver.org/). + // In a future version of Zig it will be used for package deduplication. + .version = "0.1.100", + + // This field is optional. + // This is currently advisory only; Zig does not yet do anything + // with this value. + //.minimum_zig_version = "0.11.0", + + // This field is optional. + // Each dependency must either provide a `url` and `hash`, or a `path`. + // `zig build --fetch` can be used to fetch all dependencies of a package, recursively. + // Once all dependencies are fetched, `zig build` no longer requires + // internet connectivity. + .dependencies = .{ + .@"raylib-zig" = .{ + .url = "https://github.com/Not-Nik/raylib-zig/archive/devel.tar.gz", + .hash = "1220f48ef45b22a393da16f3210b61b87ad9b65d215d02c51189861a57a1b4290059", + }, + }, + .paths = .{ + // This makes *all* files, recursively, included in this package. It is generally + // better to explicitly list the files and directories instead, to insure that + // fetching from tarballs, file system paths, and version control all result + // in the same contents hash. + "", + // For example... + //"build.zig", + //"build.zig.zon", + //"src", + //"LICENSE", + //"README.md", + }, +} diff --git a/core/allocate.cpp b/core/allocate.cpp new file mode 100644 index 0000000..b728e02 --- /dev/null +++ b/core/allocate.cpp @@ -0,0 +1,173 @@ +/* allocate.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file allocate.cpp + * @brief Implementation of map array initialization and destruction + * in Micropolis. + * + * This source file contains functions for initializing and destroying + * map arrays in the Micropolis game engine. It includes the + * allocation of memory for various map-related data structures such + * as the main city map, history data, and various density maps. The + * functions handle the setup of necessary resources when the game + * starts and ensure proper cleanup of these resources upon + * termination, maintaining efficient memory management throughout the + * lifecycle of the game. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + +/** Allocate and initialize arrays for the maps */ +void Micropolis::initMapArrays() +{ + short i; + + if (!mapBase) { + mapBase = (unsigned short *)newPtr( + sizeof(unsigned short) * + WORLD_W * WORLD_H); + } + + for (i = 0; i < WORLD_W; i++) { + map[i] = (unsigned short *)(mapBase + (i * WORLD_H)); + } + + resHist = (short *)newPtr(HISTORY_LENGTH); + comHist = (short *)newPtr(HISTORY_LENGTH); + indHist = (short *)newPtr(HISTORY_LENGTH); + moneyHist = (short *)newPtr(HISTORY_LENGTH); + pollutionHist = (short *)newPtr(HISTORY_LENGTH); + crimeHist = (short *)newPtr(HISTORY_LENGTH); + miscHist = (short *)newPtr(MISC_HISTORY_LENGTH); +} + + +/** Free all map arrays */ +void Micropolis::destroyMapArrays() +{ + + if (mapBase != NULL) { + freePtr(mapBase); + mapBase = NULL; + } + + memset(map, 0, sizeof(short *) * WORLD_W); + + populationDensityMap.clear(); + trafficDensityMap.clear(); + pollutionDensityMap.clear(); + landValueMap.clear(); + crimeRateMap.clear(); + + tempMap1.clear(); + tempMap2.clear(); + tempMap3.clear(); + + terrainDensityMap.clear(); + + if (resHist != NULL) { + freePtr(resHist); + resHist = NULL; + } + + if (comHist != NULL) { + freePtr(comHist); + comHist = NULL; + } + + if (indHist != NULL) { + freePtr(indHist); + indHist = NULL; + } + + if (moneyHist != NULL) { + freePtr(moneyHist); + moneyHist = NULL; + } + + if (pollutionHist != NULL) { + freePtr(pollutionHist); + pollutionHist = NULL; + } + + if (crimeHist != NULL) { + freePtr(crimeHist); + crimeHist = NULL; + } + + if (miscHist != NULL) { + freePtr(miscHist); + miscHist = NULL; + } + +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/animate.cpp b/core/animate.cpp new file mode 100644 index 0000000..684308b --- /dev/null +++ b/core/animate.cpp @@ -0,0 +1,244 @@ +/* animate.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file animate.cpp + * @brief Animation routines for the Micropolis game engine. + * + * This file contains functions responsible for animating various + * tiles within the Micropolis game. It includes a mapping of each + * tile to its next animated state, and functions that iterate through + * the game world's tiles to update their animation states. The + * animation process is crucial for enhancing the game's visual appeal + * and dynamic feel by animating elements like water, fire, and smoke. + */ + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + +/** + * Tile animation table. For each tile, it states the next tile to display. + * + * @bug Tile 620 points to 852. That should be tile 621. + * + * @todo Generate the table below from the animation sequences file + * doc/AnimationSequences.txt and the doc/genAnimationTable.py + * program + */ +static short animatedTiles[TILE_COUNT] = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, + /* Fire */ + 57, 58, 59, 60, 61, 62, 63, 56, + /* No Traffic */ + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, + /* Light Traffic */ + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + /* Heavy Traffic */ + 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, + /* Wires & Rails */ + 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + /* Residential */ + 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, + /* Commercial */ + 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, + 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 609, 610, 611, + /* Industrial */ + 612, 613, 614, 615, 616, 617, 618, 619, 620, 852, 622, 623, + 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 884, 642, 643, 888, 645, 646, 647, 648, 892, 896, 651, 652, 653, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, + 672, 673, 674, 675, 900, 904, 678, 679, 680, 681, 682, 683, 684, 685, 908, 687, + 688, 912, 690, 691, 692, + /* SeaPort */ + 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, + 704, 705, 706, 707, 708, + /* AirPort */ + // 832 was previous value of 711, to start radar + // animation, but now we break the link and the + // simulator switches the tiles. + 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, + 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, + /* Coal power */ + 745, 746, 916, 920, 749, 750, 924, + 928, 753, 754, 755, 756, 757, 758, 759, 760, + /* Fire Dept */ + 761, 762, 763, 764, 765, 766, 767, + 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, + /* Stadium */ + 779, 780, 781, 782, 783, + 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, + /* Stadium Anims */ + 795, 796, 797, 798, 799, + 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, + /* Nuclear Power */ + 811, 812, 813, 814, 815, + 816, 817, 818, 819, 952, 821, 822, 823, 824, 825, 826, + /* Power out + Bridges */ + 827, 828, 829, 830, 831, + /* Radar dish */ + 833, 834, 835, 836, 837, 838, 839, 832, + /* Fountain / Flag */ + 841, 842, 843, 840, 845, 846, 847, 848, + 849, 850, 851, 844, 853, 854, 855, 856, 857, 858, 859, 852, + /* zone destruct & rubblize */ + 861, 862, 863, 864, + 865, 866, 867, 867, + /* totally unsure */ + 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, + 880, 881, 882, 883, + /* Smoke stacks */ + 885, 886, 887, 884, 889, 890, 891, 888, 893, 894, 895, 892, + 897, 898, 899, 896, 901, 902, 903, 900, 905, 906, 907, 904, 909, 910, 911, 908, + 913, 914, 915, 912, 917, 918, 919, 916, 921, 922, 923, 920, 925, 926, 927, 924, + 929, 930, 931, 928, + /* Stadium Playfield */ + 933, 934, 935, 936, 937, 938, 939, 932, 941, 942, 943, 944, + 945, 946, 947, 940, + /* Bridge up chars */ + 948, 949, 950, 951, + /* Nuclear swirl */ + 953, 954, 955, 952, + /* Churches */ + 956, 957, 958, 959, + 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, + 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, + 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, + 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, +}; + + +//////////////////////////////////////////////////////////////////////// + + +/* comefrom: moveWorld doEditWindow scoreDoer doMapInFront graphDoer */ +void Micropolis::animateTiles() +{ + unsigned short tilevalue, tileflags; + unsigned short *tMapPtr; + int i; + + /* Animate whole world */ + tMapPtr = (unsigned short *)&(map[0][0]); + + for (i = WORLD_W * WORLD_H; i > 0; i--) { + tilevalue = (*tMapPtr); + if (tilevalue & ANIMBIT) { + tileflags = tilevalue & ALLBITS; + tilevalue &= LOMASK; + tilevalue = animatedTiles[tilevalue]; + tilevalue |= tileflags; + (*tMapPtr) = tilevalue; + } + tMapPtr++; + } +} + + +int Micropolis::getNextAnimatedTile(int index) +{ + if ((index < 0) || (index >= TILE_COUNT)) { + return -1; + } + + return animatedTiles[index]; +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/budget.cpp b/core/budget.cpp new file mode 100644 index 0000000..aaaa0cf --- /dev/null +++ b/core/budget.cpp @@ -0,0 +1,352 @@ +/* budget.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file budget.cpp + * @brief Budget management functions for the Micropolis game engine. + * + * This file encompasses the functions responsible for managing the + * game's budget. It includes initializing funding levels, handling + * budget windows, updating budget allocations based on available + * funds, and setting city tax rates. The budget management is vital + * for the simulation aspect of the game, influencing the city's + * development and the player's strategy. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +void Micropolis::initFundingLevel() +{ + firePercent = 1.0; + fireValue = 0; + policePercent = 1.0; + policeValue = 0; + roadPercent = 1.0; + roadValue = 0; + mustDrawBudget = 1; +} + +/** Game decided to show the budget window */ +void Micropolis::doBudget() +{ + doBudgetNow(false); +} + + +/** User queried the budget window */ +void Micropolis::doBudgetFromMenu() +{ + doBudgetNow(true); +} + + +/** + * Handle budget window. + * @param fromMenu User requested the budget window. + * @todo Simplify this code. Instead of this nested mess, make a sequence of + * assigning funds to road, fire, and police. + */ +void Micropolis::doBudgetNow(bool fromMenu) +{ + Quad fireInt = (int)(fireFund * firePercent); + Quad policeInt = (int)(policeFund * policePercent); + Quad roadInt = (int)(roadFund * roadPercent); + + Quad total = fireInt + policeInt + roadInt; + + Quad yumDuckets = taxFund + totalFunds; + + if (yumDuckets > total) { + + // Enough yumDuckets to fully fund fire, police and road. + + fireValue = fireInt; + policeValue = policeInt; + roadValue = roadInt; + + /// @todo Why are we not subtracting from yumDuckets what we + /// spend, like the code below is doing? + + } else if (total > 0) { + + assert(yumDuckets <= total); + + // Not enough yumDuckets to fund everything. + // First spend on roads, then on fire, then on police. + + if (yumDuckets > roadInt) { + + // Enough yumDuckets to fully fund roads. + + roadValue = roadInt; + yumDuckets -= roadInt; + + if (yumDuckets > fireInt) { + + // Enough yumDuckets to fully fund fire. + + fireValue = fireInt; + yumDuckets -= fireInt; + + if (yumDuckets > policeInt) { + + // Enough yumDuckets to fully fund police. + // Hey what are we doing here? Should never get here. + // We tested for yumDuckets > total above + // (where total = fireInt + policeInt + roadInt), + // so this should never happen. + + policeValue = policeInt; + yumDuckets -= policeInt; + + } else { + + // Fuly funded roads and fire. + // Partially fund police. + + policeValue = yumDuckets; + + if (yumDuckets > 0) { + + // Scale back police percentage to available cash. + + policePercent = ((float)yumDuckets) / ((float)policeFund); + + } else { + + // Exactly nothing left, so scale back police percentage to zero. + + policePercent = 0.0; + + } + + } + + } else { + + // Not enough yumDuckets to fully fund fire. + + fireValue = yumDuckets; + + // No police after funding roads and fire. + + policeValue = 0; + policePercent = 0.0; + + if (yumDuckets > 0) { + + // Scale back fire percentage to available cash. + + firePercent = + ((float)yumDuckets) / ((float)fireFund); + + } else { + + // Exactly nothing left, so scale back fire percentage to zero. + + firePercent = 0.0; + + } + + } + + } else { + + // Not enough yumDuckets to fully fund roads. + + roadValue = yumDuckets; + + // No fire or police after funding roads. + + fireValue = 0; + policeValue = 0; + firePercent = 0.0; + policePercent = 0.0; + + if (yumDuckets > 0) { + + // Scale back road percentage to available cash. + + roadPercent = ((float)yumDuckets) / ((float)roadFund); + + } else { + + // Exactly nothing left, so scale back road percentage to zero. + + roadPercent = 0.0; + + } + + } + + } else { + + assert(yumDuckets == total); + assert(total == 0); + + // Zero funding, so no values but full percentages. + + fireValue = 0; + policeValue = 0; + roadValue = 0; + firePercent = 1.0; + policePercent = 1.0; + roadPercent = 1.0; + + } + +noMoney: + + if (!autoBudget || fromMenu) { + + // FIXME: This might have blocked on the Mac, but now it's asynchronous. + // Make sure the stuff we do just afterwards is intended to be done immediately + // and is not supposed to wait until after the budget dialog is dismissed. + // Otherwise don't do it after this and arrange for it to happen when the + // modal budget dialog is dismissed. + showBudgetWindowAndStartWaiting(); + + // FIXME: Only do this AFTER the budget window is accepted. + + if (!fromMenu) { + + fireSpend = fireValue; + policeSpend = policeValue; + roadSpend = roadValue; + + total = fireSpend + policeSpend + roadSpend; + + Quad moreDough = (Quad)(taxFund - total); + spend(-moreDough); + + } + + mustDrawBudget = 1; + doUpdateHeads(); + + } else { /* autoBudget & !fromMenu */ + + // FIXME: Not sure yumDuckets is the right value here. It gets the + // amount spent subtracted from it above in some cases, but not if + // we are fully funded. I think we want to use the original value + // of yumDuckets, which is taxFund + totalFunds. + + if (yumDuckets > total) { + + Quad moreDough = (Quad)(taxFund - total); + spend(-moreDough); + + fireSpend = fireFund; + policeSpend = policeFund; + roadSpend = roadFund; + + mustDrawBudget = 1; + doUpdateHeads(); + + } else { + + setAutoBudget(false); /* force autobudget */ + mustUpdateOptions = true; + sendMessage(MESSAGE_NO_MONEY, NOWHERE, NOWHERE, false, true); + goto noMoney; + + } + + } + +} + + +void Micropolis::updateBudget() +{ + /// The scripting language should pull these raw values out + /// and format them, instead of the callback pushing them out. + + if (mustDrawBudget) { + callback->updateBudget(this, callbackVal); + mustDrawBudget = 0; + } +} + + +void Micropolis::showBudgetWindowAndStartWaiting() +{ + callback->showBudgetAndWait(this, callbackVal); +} + + +void Micropolis::setCityTax(short tax) +{ + cityTax = tax; + callback->updateTaxRate(this, callbackVal, cityTax); +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/callback.cpp b/core/callback.cpp new file mode 100644 index 0000000..2b7cc97 --- /dev/null +++ b/core/callback.cpp @@ -0,0 +1,302 @@ +/* callback.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file callback.cpp + * @brief Implementation of the Callback interface for Micropolis game + * engine. + * + * This file provides the implementation of the Callback class defined + * in callback.h. It includes a series of methods that are called by + * the Micropolis game engine to interact with the user interface. + * These methods include functionalities like logging actions, + * updating game states, and responding to user actions. The use of + * EM_ASM macros indicates direct interaction with JavaScript, typical + * in a web environment using Emscripten. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" +#include + + +ConsoleCallback::~ConsoleCallback() { + EM_ASM_({ + console.log('~ConsoleCallback destructor'); + }); +} + +void ConsoleCallback::autoGoto(Micropolis *micropolis, emscripten::val callbackVal, int x, int y, std::string message) { + EM_ASM_({ + console.log('autoGoto:', 'x:', $0, 'y:', $1, 'message:', UTF8ToString($2)); + }, x, y, message.c_str()); +} + +void ConsoleCallback::didGenerateMap(Micropolis *micropolis, emscripten::val callbackVal, int seed) { + EM_ASM_({ + console.log('didGenerateMap:', 'seed:', $0); + }, seed); +} + +void ConsoleCallback::didLoadCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) { + EM_ASM_({ + console.log('didLoadCity:', 'filename:', UTF8ToString($0)); + }, filename.c_str()); +} + +void ConsoleCallback::didLoadScenario(Micropolis *micropolis, emscripten::val callbackVal, std::string name, std::string fname) { + EM_ASM_({ + console.log('didLoadScenario:', 'name:', UTF8ToString($0), 'fname:', UTF8ToString($1)); + }, name.c_str(), fname.c_str()); +} + +void ConsoleCallback::didLoseGame(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM_({ + console.log('didLoseGame'); + }); +} + +void ConsoleCallback::didSaveCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) { + EM_ASM_({ + console.log('didSaveCity:', 'filename:', UTF8ToString($0)); + }, filename.c_str()); +} + +void ConsoleCallback::didTool(Micropolis *micropolis, emscripten::val callbackVal, std::string name, int x, int y) { + EM_ASM_({ + console.log('didTool:', 'name:', UTF8ToString($0), 'x:', $1, 'y:', $2); + }, name.c_str(), x, y); +} + +void ConsoleCallback::didWinGame(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM_({ + console.log('didWinGame'); + }); +} + +void ConsoleCallback::didntLoadCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) { + EM_ASM_({ + console.log('didntLoadCity:', 'filename:', UTF8ToString($0)); + }, filename.c_str()); +} + +void ConsoleCallback::didntSaveCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) { + EM_ASM_({ + console.log('didntSaveCity:', 'filename:', UTF8ToString($0)); + }, filename.c_str()); +} + +void ConsoleCallback::makeSound(Micropolis *micropolis, emscripten::val callbackVal, std::string channel, std::string sound, int x, int y) { + EM_ASM_({ + console.log('makeSound:', 'channel:', UTF8ToString($0), 'sound:', UTF8ToString($1), 'x:', $2, 'y:', $3); + }, channel.c_str(), sound.c_str(), x, y); +} + +void ConsoleCallback::newGame(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM_({ + console.log('newGame'); + }); +} + +void ConsoleCallback::saveCityAs(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) { + EM_ASM_({ + console.log('saveCityAs:', 'filename:', UTF8ToString($0)); + }, filename.c_str()); +} + +void ConsoleCallback::sendMessage(Micropolis *micropolis, emscripten::val callbackVal, int messageIndex, int x, int y, bool picture, bool important) { + EM_ASM_({ + console.log('sendMessage:', 'messageIndex:', $0, 'x:', $1, 'y:', $2, 'picture:', $3, 'important:', $4); + }, messageIndex, x, y, picture, important); +} + +void ConsoleCallback::showBudgetAndWait(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM_({ + console.log('showBudgetAndWait'); + }); +} + +void ConsoleCallback::showZoneStatus(Micropolis *micropolis, emscripten::val callbackVal, int tileCategoryIndex, int populationDensityIndex, int landValueIndex, int crimeRateIndex, int pollutionIndex, int growthRateIndex, int x, int y) { + EM_ASM_({ + console.log('showZoneStatus:', 'tileCategoryIndex:', $0, 'populationDensityIndex:', $1, 'landValueIndex:', $2, 'crimeRateIndex:', $3, 'pollutionIndex:', $4, 'growthRateIndex:', $5, 'x:', $6, 'y:', $7); + }, tileCategoryIndex, populationDensityIndex, landValueIndex, crimeRateIndex, pollutionIndex, growthRateIndex, x, y); +} + +void ConsoleCallback::simulateRobots(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM_({ + console.log('simulateRobots'); + }); +} + +void ConsoleCallback::simulateChurch(Micropolis *micropolis, emscripten::val callbackVal, int posX, int posY, int churchNumber) { + EM_ASM_({ + console.log('simulateChurch:', 'posX:', $0, 'posY:', $1, 'churchNumber:', $2); + }, posX, posY, churchNumber); +} + +void ConsoleCallback::startEarthquake(Micropolis *micropolis, emscripten::val callbackVal, int strength) { + EM_ASM_({ + console.log('startEarthquake:', 'strength:', $0); + }, strength); +} + +void ConsoleCallback::startGame(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM_({ + console.log('startGame'); + }); +} + +void ConsoleCallback::startScenario(Micropolis *micropolis, emscripten::val callbackVal, int scenario) { + EM_ASM_({ + console.log('startScenario:', 'scenario:', $0); + }, scenario); +} + +void ConsoleCallback::updateBudget(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM_({ + console.log('updateBudget'); + }); +} + +void ConsoleCallback::updateCityName(Micropolis *micropolis, emscripten::val callbackVal, std::string cityName) { + EM_ASM_({ + console.log('updateCityName:', 'cityName:', UTF8ToString($0)); + }, cityName.c_str()); +} + +void ConsoleCallback::updateDate(Micropolis *micropolis, emscripten::val callbackVal, int cityYear, int cityMonth) { + EM_ASM_({ + console.log('updateDate:', 'cityYear:', $0, 'cityMonth:', $1); + }, cityYear, cityMonth); +} + +void ConsoleCallback::updateDemand(Micropolis *micropolis, emscripten::val callbackVal, float r, float c, float i) { + EM_ASM_({ + console.log('updateDemand:', 'r:', $0, 'c:', $1, 'i:', $2); + }, r, c, i); +} + +void ConsoleCallback::updateEvaluation(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM({ + console.log('updateEvaluation'); + }); +} + +void ConsoleCallback::updateFunds(Micropolis *micropolis, emscripten::val callbackVal, int totalFunds) { + EM_ASM_({ + console.log('updateFunds:', 'totalFunds:', $0); + }, totalFunds); +} + +void ConsoleCallback::updateGameLevel(Micropolis *micropolis, emscripten::val callbackVal, int gameLevel) { + EM_ASM_({ + console.log('updateGameLevel:', 'gameLevel:', $0); + }, gameLevel); +} + +void ConsoleCallback::updateHistory(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM({ + console.log('updateHistory'); + }); +} + +void ConsoleCallback::updateMap(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM({ + console.log('updateMap'); + }); +} + +void ConsoleCallback::updateOptions(Micropolis *micropolis, emscripten::val callbackVal) { + EM_ASM({ + console.log('updateOptions'); + }); +} + +void ConsoleCallback::updatePasses(Micropolis *micropolis, emscripten::val callbackVal, int passes) { + EM_ASM_({ + console.log('updatePasses:', 'passes:', $0); + }, passes); +} + +void ConsoleCallback::updatePaused(Micropolis *micropolis, emscripten::val callbackVal, bool simPaused) { + EM_ASM_({ + console.log('updatePaused:', 'simPaused:', $0); + }, simPaused); +} + +void ConsoleCallback::updateSpeed(Micropolis *micropolis, emscripten::val callbackVal, int speed) { + EM_ASM_({ + console.log('updateSpeed:', 'speed:', $0); + }, speed); +} + +void ConsoleCallback::updateTaxRate(Micropolis *micropolis, emscripten::val callbackVal, int cityTax) { + EM_ASM_({ + console.log('updateTaxRate:', 'cityTax:', $0); + }, cityTax); +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/callback.h b/core/callback.h new file mode 100644 index 0000000..87c6900 --- /dev/null +++ b/core/callback.h @@ -0,0 +1,177 @@ +/* callback.h + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file callback.h + * @brief Interface for callbacks in the Micropolis game engine. + * + * This file defines the Callback class, which serves as an interface + * for various callbacks used in the Micropolis game engine. These + * callbacks cover a wide range of functionalities including UI + * updates, game state changes, sound effects, simulation events, and + * more. The methods in this class are virtual and intended to be + * implemented by the game's frontend to interact with the user + * interface and handle game events. + */ + + +#ifndef _H_CALLBACK +#define _H_CALLBACK + + +//////////////////////////////////////////////////////////////////////// + + +class Micropolis; + + +class Callback { + +public: + + virtual ~Callback() {} + virtual void autoGoto(Micropolis *micropolis, emscripten::val callbackVal, int x, int y, std::string message) = 0; + virtual void didGenerateMap(Micropolis *micropolis, emscripten::val callbackVal, int seed) = 0; + virtual void didLoadCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) = 0; + virtual void didLoadScenario(Micropolis *micropolis, emscripten::val callbackVals, std::string name, std::string fname) = 0; + virtual void didLoseGame(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void didSaveCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) = 0; + virtual void didTool(Micropolis *micropolis, emscripten::val callbackVal, std::string name, int x, int y) = 0; + virtual void didWinGame(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void didntLoadCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) = 0; + virtual void didntSaveCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) = 0; + virtual void makeSound(Micropolis *micropolis, emscripten::val callbackVal, std::string channel, std::string sound, int x, int y) = 0; + virtual void newGame(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void saveCityAs(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) = 0; + virtual void sendMessage(Micropolis *micropolis, emscripten::val callbackVal, int messageIndex, int x, int y, bool picture, bool important) = 0; + virtual void showBudgetAndWait(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void showZoneStatus(Micropolis *micropolis, emscripten::val callbackVal, int tileCategoryIndex, int populationDensityIndex, int landValueIndex, int crimeRateIndex, int pollutionIndex, int growthRateIndex, int x, int y) = 0; + virtual void simulateRobots(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void simulateChurch(Micropolis *micropolis, emscripten::val callbackVal, int posX, int posY, int churchNumber) = 0; + virtual void startEarthquake(Micropolis *micropolis, emscripten::val callbackVal, int strength) = 0; + virtual void startGame(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void startScenario(Micropolis *micropolis, emscripten::val callbackVal, int scenario) = 0; + virtual void updateBudget(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void updateCityName(Micropolis *micropolis, emscripten::val callbackVal, std::string cityName) = 0; + virtual void updateDate(Micropolis *micropolis, emscripten::val callbackVal, int cityYear, int cityMonth) = 0; + virtual void updateDemand(Micropolis *micropolis, emscripten::val callbackVal, float r, float c, float i) = 0; + virtual void updateEvaluation(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void updateFunds(Micropolis *micropolis, emscripten::val callbackVal, int totalFunds) = 0; + virtual void updateGameLevel(Micropolis *micropolis, emscripten::val callbackVal, int gameLevel) = 0; + virtual void updateHistory(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void updateMap(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void updateOptions(Micropolis *micropolis, emscripten::val callbackVal) = 0; + virtual void updatePasses(Micropolis *micropolis, emscripten::val callbackVal, int passes) = 0; + virtual void updatePaused(Micropolis *micropolis, emscripten::val callbackVal, bool simPaused) = 0; + virtual void updateSpeed(Micropolis *micropolis, emscripten::val callbackVal, int speed) = 0; + virtual void updateTaxRate(Micropolis *micropolis, emscripten::val callbackVal, int cityTax) = 0; + +}; + + +class ConsoleCallback : public Callback { + +public: + + virtual ~ConsoleCallback(); + virtual void autoGoto(Micropolis *micropolis, emscripten::val callbackVal, int x, int y, std::string message) override; + virtual void didGenerateMap(Micropolis *micropolis, emscripten::val callbackVal, int seed) override; + virtual void didLoadCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) override; + virtual void didLoadScenario(Micropolis *micropolis, emscripten::val callbackVal, std::string name, std::string fname) override; + virtual void didLoseGame(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void didSaveCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) override; + virtual void didTool(Micropolis *micropolis, emscripten::val callbackVal, std::string name, int x, int y) override; + virtual void didWinGame(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void didntLoadCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) override; + virtual void didntSaveCity(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) override; + virtual void makeSound(Micropolis *micropolis, emscripten::val callbackVal, std::string channel, std::string sound, int x, int y) override; + virtual void newGame(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void saveCityAs(Micropolis *micropolis, emscripten::val callbackVal, std::string filename) override; + virtual void sendMessage(Micropolis *micropolis, emscripten::val callbackVal, int messageIndex, int x, int y, bool picture, bool important) override; + virtual void showBudgetAndWait(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void showZoneStatus(Micropolis *micropolis, emscripten::val callbackVal, int tileCategoryIndex, int populationDensityIndex, int landValueIndex, int crimeRateIndex, int pollutionIndex, int growthRateIndex, int x, int y) override; + virtual void simulateRobots(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void simulateChurch(Micropolis *micropolis, emscripten::val callbackVal, int posX, int posY, int churchNumber) override; + virtual void startEarthquake(Micropolis *micropolis, emscripten::val callbackVal, int strength) override; + virtual void startGame(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void startScenario(Micropolis *micropolis, emscripten::val callbackVal, int scenario) override; + virtual void updateBudget(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void updateCityName(Micropolis *micropolis, emscripten::val callbackVal, std::string cityName) override; + virtual void updateDate(Micropolis *micropolis, emscripten::val callbackVal, int cityYear, int cityMonth) override; + virtual void updateDemand(Micropolis *micropolis, emscripten::val callbackVal, float r, float c, float i) override; + virtual void updateEvaluation(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void updateFunds(Micropolis *micropolis, emscripten::val callbackVal, int totalFunds) override; + virtual void updateGameLevel(Micropolis *micropolis, emscripten::val callbackVal, int gameLevel) override; + virtual void updateHistory(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void updateMap(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void updateOptions(Micropolis *micropolis, emscripten::val callbackVal) override; + virtual void updatePasses(Micropolis *micropolis, emscripten::val callbackVal, int passes) override; + virtual void updatePaused(Micropolis *micropolis, emscripten::val callbackVal, bool simPaused) override; + virtual void updateSpeed(Micropolis *micropolis, emscripten::val callbackVal, int speed) override; + virtual void updateTaxRate(Micropolis *micropolis, emscripten::val callbackVal, int cityTax) override; +}; + + +//////////////////////////////////////////////////////////////////////// + + +#endif diff --git a/core/connect.cpp b/core/connect.cpp new file mode 100644 index 0000000..521a448 --- /dev/null +++ b/core/connect.cpp @@ -0,0 +1,745 @@ +/* connect.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file connect.cpp + * @brief Implements connection utilities for roads, rails, and wires + * in Micropolis. + * + * This file contains functions for laying down and updating roads, + * railways, and power lines in the Micropolis game. It handles the + * logic for determining the appropriate tile transformations when + * these elements are placed on the map, considering existing terrain + * and infrastructure. The file includes utilities for bulldozing, + * repairing, and modifying tiles to ensure correct connectivity and + * appearance on the game map. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +static const unsigned short RoadTable[16] = { + ROADS, ROADS2, ROADS, ROADS3, + ROADS2, ROADS2, ROADS4, ROADS8, + ROADS, ROADS6, ROADS, ROADS7, + ROADS5, ROADS10, ROADS9, INTERSECTION +}; + +static const unsigned short RailTable[16] = { + LHRAIL, LVRAIL, LHRAIL, LVRAIL2, + LVRAIL, LVRAIL, LVRAIL3, LVRAIL7, + LHRAIL, LVRAIL5, LHRAIL, LVRAIL6, + LVRAIL4, LVRAIL9, LVRAIL8, LVRAIL10 +}; + +static const unsigned short WireTable[16] = { + LHPOWER, LVPOWER, LHPOWER, LVPOWER2, + LVPOWER, LVPOWER, LVPOWER3, LVPOWER7, + LHPOWER, LVPOWER5, LHPOWER, LVPOWER6, + LVPOWER4, LVPOWER9, LVPOWER8, LVPOWER10 +}; + + +//////////////////////////////////////////////////////////////////////// + +/** + * Remove road from the tile. + * @param tile Current tile value. + * @return Equivalent tile without road. + */ +static inline MapTile neutralizeRoad(MapTile tile) +{ + if (tile >= 64 && tile <= 207) { + tile = (tile & 0x000F) + 64; + } + return tile; +}; + +/** + * Perform the command, and fix wire/road/rail/zone connections around it. + * Store modification in the \a effects object. + * @param x X world position to perform the command. + * @param y Y world position to perform the command. + * @param cmd Command to perform. + * @param effects Modification collecting object. + * @return Tool result. + */ +ToolResult Micropolis::connectTile(short x, short y, + ConnectTileCommand cmd, ToolEffects *effects) +{ + ToolResult result = TOOLRESULT_OK; + + // Make sure the array subscripts are in bounds. + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + // Perform auto-doze if appropriate. + switch (cmd) { + + case CONNECT_TILE_ROAD: + case CONNECT_TILE_RAILROAD: + case CONNECT_TILE_WIRE: + + // Silently skip auto-bulldoze if no money. + if (autoBulldoze) { + + MapValue mapVal = effects->getMapValue(x, y); + + if (mapVal & BULLBIT) { + mapVal &= LOMASK; + mapVal = neutralizeRoad(mapVal); + + /* Maybe this should check BULLBIT instead of checking tile values? */ + if ((mapVal >= TINYEXP && mapVal <= LASTTINYEXP) || + (mapVal < HBRIDGE && mapVal != DIRT)) { + + effects->addCost(1); + + effects->setMapValue(x, y, DIRT); + + } + } + } + break; + + default: + // Do nothing. + break; + + } + + // Perform the command. + switch (cmd) { + + case CONNECT_TILE_FIX: // Fix zone. + fixZone(x, y, effects); + break; + + case CONNECT_TILE_BULLDOZE: // Bulldoze zone. + result = layDoze(x, y, effects); + fixZone(x, y, effects); + break; + + case CONNECT_TILE_ROAD: // Lay road. + result = layRoad(x, y, effects); + fixZone(x, y, effects); + break; + + case CONNECT_TILE_RAILROAD: // Lay railroad. + result = layRail(x, y, effects); + fixZone(x, y, effects); + break; + + case CONNECT_TILE_WIRE: // Lay wire. + result = layWire(x, y, effects); + fixZone(x, y, effects); + break; + + default: + NOT_REACHED(); + break; + + } + + return result; +} + + +/** + * Builldoze a tile (make it a #RIVER or #DIRT). + * @param x X map coordinate. + * @param y Y map coordinate. + * @param effects Modification collecting object. + * @return Tool result. + */ +ToolResult Micropolis::layDoze(int x, int y, ToolEffects *effects) +{ + MapValue tile = effects->getMapValue(x, y); + + if (!(tile & BULLBIT)) { + return TOOLRESULT_FAILED; /* Check dozeable bit. */ + } + + tile &= LOMASK; + tile = neutralizeRoad(tile); + + switch (tile) { + case HBRIDGE: + case VBRIDGE: + case BRWV: + case BRWH: + case HBRDG0: + case HBRDG1: + case HBRDG2: + case HBRDG3: + case VBRDG0: + case VBRDG1: + case VBRDG2: + case VBRDG3: + case HPOWER: + case VPOWER: + case HRAIL: + case VRAIL: /* Dozing over water, replace with water. */ + effects->setMapValue(x, y, RIVER); + break; + + default: /* Dozing on land, replace with land. Simple, eh? */ + effects->setMapValue(x, y, DIRT); + break; + } + + effects->addCost(1); /* Costs $1.00.... */ + + return TOOLRESULT_OK; +} + + +/** + * Lay a road, and update road around it. + * @param x X map coordinate. + * @param y Y map coordinate. + * @param effects Modification collecting object. + * @return Tool result. + */ +ToolResult Micropolis::layRoad(int x, int y, ToolEffects *effects) +{ + int cost = 10; + + MapTile tile = effects->getMapTile(x, y); + + switch (tile) { + + case DIRT: + effects->setMapValue(x, y, ROADS | BULLBIT | BURNBIT); + break; + + case RIVER: /* Road on Water */ + case REDGE: + case CHANNEL: /* Check how to build bridges, if possible. */ + cost = 50; + + if (x < WORLD_W - 1) { + tile = effects->getMapTile(x + 1, y); + tile = neutralizeRoad(tile); + if (tile == VRAILROAD || tile == HBRIDGE + || (tile >= ROADS && tile <= HROADPOWER)) { + effects->setMapValue(x, y, HBRIDGE | BULLBIT); + break; + } + } + + if (x > 0) { + tile = effects->getMapTile(x - 1, y); + tile = neutralizeRoad(tile); + if (tile == VRAILROAD || tile == HBRIDGE + || (tile >= ROADS && tile <= INTERSECTION)) { + effects->setMapValue(x, y, HBRIDGE | BULLBIT); + break; + } + } + + if (y < WORLD_H - 1) { + tile = effects->getMapTile(x, y + 1); + tile = neutralizeRoad(tile); + if (tile == HRAILROAD || tile == VROADPOWER + || (tile >= VBRIDGE && tile <= INTERSECTION)) { + effects->setMapValue(x, y, VBRIDGE | BULLBIT); + break; + } + } + + if (y > 0) { + tile = effects->getMapTile(x, y - 1); + tile = neutralizeRoad(tile); + if (tile == HRAILROAD || tile == VROADPOWER + || (tile >= VBRIDGE && tile <= INTERSECTION)) { + effects->setMapValue(x, y, VBRIDGE | BULLBIT); + break; + } + } + + /* Can't do road... */ + return TOOLRESULT_FAILED; + + case LHPOWER: /* Road on power */ + effects->setMapValue(x, y, VROADPOWER | CONDBIT | BURNBIT | BULLBIT); + break; + + case LVPOWER: /* Road on power #2 */ + effects->setMapValue(x, y, HROADPOWER | CONDBIT | BURNBIT | BULLBIT); + break; + + case LHRAIL: /* Road on rail */ + effects->setMapValue(x, y, HRAILROAD | BURNBIT | BULLBIT); + break; + + case LVRAIL: /* Road on rail #2 */ + effects->setMapValue(x, y, VRAILROAD | BURNBIT | BULLBIT); + break; + + default: /* Can't do road */ + return TOOLRESULT_FAILED; + + } + + effects->addCost(cost); + return TOOLRESULT_OK; +} + + +/** + * Lay a rail, and update connections (rail, road, and wire) around it. + * @param x X map coordinate. + * @param y Y map coordinate. + * @param effects Modification collecting object. + * @return Tool result. + */ +ToolResult Micropolis::layRail(int x, int y, ToolEffects *effects) +{ + int cost = 20; + + MapTile tile = effects->getMapTile(x, y); + + tile = neutralizeRoad(tile); + + switch (tile) { + case DIRT: /* Rail on Dirt */ + + effects->setMapValue(x, y, LHRAIL | BULLBIT | BURNBIT); + + break; + + case RIVER: /* Rail on Water */ + case REDGE: + case CHANNEL: /* Check how to build underwater tunnel, if possible. */ + + cost = 100; + + if (x < WORLD_W - 1) { + tile = effects->getMapTile(x + 1, y); + tile = neutralizeRoad(tile); + if (tile == RAILHPOWERV || tile == HRAIL + || (tile >= LHRAIL && tile <= HRAILROAD)) { + effects->setMapValue(x, y, HRAIL | BULLBIT); + break; + } + } + + if (x > 0) { + tile = effects->getMapTile(x - 1, y); + tile = neutralizeRoad(tile); + if (tile == RAILHPOWERV || tile == HRAIL + || (tile > VRAIL && tile < VRAILROAD)) { + effects->setMapValue(x, y, HRAIL | BULLBIT); + break; + } + } + + if (y < WORLD_H - 1) { + tile = effects->getMapTile(x, y + 1); + tile = neutralizeRoad(tile); + if (tile == RAILVPOWERH || tile == VRAILROAD + || (tile > HRAIL && tile < HRAILROAD)) { + effects->setMapValue(x, y, VRAIL | BULLBIT); + break; + } + } + + if (y > 0) { + tile = effects->getMapTile(x, y - 1); + tile = neutralizeRoad(tile); + if (tile == RAILVPOWERH || tile == VRAILROAD + || (tile > HRAIL && tile < HRAILROAD)) { + effects->setMapValue(x, y, VRAIL | BULLBIT); + break; + } + } + + /* Can't do rail... */ + return TOOLRESULT_FAILED; + + case LHPOWER: /* Rail on power */ + effects->setMapValue(x, y, RAILVPOWERH | CONDBIT | BURNBIT | BULLBIT); + break; + + case LVPOWER: /* Rail on power #2 */ + effects->setMapValue(x, y, RAILHPOWERV | CONDBIT | BURNBIT | BULLBIT); + break; + + case ROADS: /* Rail on road */ + effects->setMapValue(x, y, VRAILROAD | BURNBIT | BULLBIT); + break; + + case ROADS2: /* Rail on road #2 */ + effects->setMapValue(x, y, HRAILROAD | BURNBIT | BULLBIT); + break; + + default: /* Can't do rail */ + return TOOLRESULT_FAILED; + } + + effects->addCost(cost); + return TOOLRESULT_OK; +} + + +/** + * Lay a wire, and update connections (rail, road, and wire) around it. + * @param x X map coordinate. + * @param y Y map coordinate. + * @param effects Modification collecting object. + * @return Tool result. + */ +ToolResult Micropolis::layWire(int x, int y, ToolEffects *effects) +{ + int cost = 5; + + MapTile tile = effects->getMapTile(x, y); + + tile = neutralizeRoad(tile); + + switch (tile) { + + case DIRT: /* Wire on Dirt */ + + effects->setMapValue(x, y, LHPOWER | CONDBIT | BURNBIT | BULLBIT); + + break; + + case RIVER: /* Wire on Water */ + case REDGE: + case CHANNEL: /* Check how to lay underwater wire, if possible. */ + + cost = 25; + + if (x < WORLD_W - 1) { + tile = effects->getMapValue(x + 1, y); + if (tile & CONDBIT) { + tile &= LOMASK; + tile = neutralizeRoad(tile); + if (tile != HROADPOWER && tile != RAILHPOWERV && tile != HPOWER) { + effects->setMapValue(x, y, VPOWER | CONDBIT | BULLBIT); + break; + } + } + } + + if (x > 0) { + tile = effects->getMapValue(x - 1, y); + if (tile & CONDBIT) { + tile &= LOMASK; + tile = neutralizeRoad(tile); + if (tile != HROADPOWER && tile != RAILHPOWERV && tile != HPOWER) { + effects->setMapValue(x, y, VPOWER | CONDBIT | BULLBIT); + break; + } + } + } + + if (y < WORLD_H - 1) { + tile = effects->getMapValue(x, y + 1); + if (tile & CONDBIT) { + tile &= LOMASK; + tile = neutralizeRoad(tile); + if (tile != VROADPOWER && tile != RAILVPOWERH && tile != VPOWER) { + effects->setMapValue(x, y, HPOWER | CONDBIT | BULLBIT); + break; + } + } + } + + if (y > 0) { + tile = effects->getMapValue(x, y - 1); + if (tile & CONDBIT) { + tile &= LOMASK; + tile = neutralizeRoad(tile); + if (tile != VROADPOWER && tile != RAILVPOWERH && tile != VPOWER) { + effects->setMapValue(x, y, HPOWER | CONDBIT | BULLBIT); + break; + } + } + } + + /* Can't do wire... */ + return TOOLRESULT_FAILED; + + case ROADS: /* Wire on Road */ + effects->setMapValue(x, y, HROADPOWER | CONDBIT | BURNBIT | BULLBIT); + break; + + case ROADS2: /* Wire on Road #2 */ + effects->setMapValue(x, y, VROADPOWER | CONDBIT | BURNBIT | BULLBIT); + break; + + case LHRAIL: /* Wire on rail */ + effects->setMapValue(x, y, RAILHPOWERV | CONDBIT | BURNBIT | BULLBIT); + break; + + case LVRAIL: /* Wire on rail #2 */ + effects->setMapValue(x, y, RAILVPOWERH | CONDBIT | BURNBIT | BULLBIT); + break; + + default: /* Can't do wire */ + return TOOLRESULT_FAILED; + + } + + effects->addCost(cost); + return TOOLRESULT_OK; +} + + +/** + * Update connections (rails, and wire connections) to a zone. + * @param x X map coordinate + * @param y Y map coordinate. + * @param effects Modification collecting object. + */ +void Micropolis::fixZone(int x, int y, ToolEffects *effects) +{ + fixSingle(x, y, effects); + + if (y > 0) { + fixSingle(x, y - 1, effects); + } + + if (x < WORLD_W - 1) { + fixSingle(x + 1, y, effects); + } + + if (y < WORLD_H - 1) { + fixSingle(x, y + 1, effects); + } + + if (x > 0) { + fixSingle(x - 1, y, effects); + } +} + + +/** + * Modify road, rails, and wire connections at a given tile. + * @param x X map coordinate. + * @param y Y map coordinate. + * @param effects Modification collecting object. + */ +void Micropolis::fixSingle(int x, int y, ToolEffects *effects) +{ + unsigned short adjTile = 0; + + MapTile tile = effects->getMapTile(x, y); + + tile = neutralizeRoad(tile); + + if (tile >= ROADS && tile <= INTERSECTION) { /* Cleanup Road */ + + if (y > 0) { + tile = effects->getMapTile(x, y - 1); + tile = neutralizeRoad(tile); + if ((tile == HRAILROAD || (tile >= ROADBASE && tile <= VROADPOWER)) + && tile != HROADPOWER && tile != VRAILROAD + && tile != ROADBASE) { + adjTile |= 0x0001; + } + } + + if (x < WORLD_W - 1) { + tile = effects->getMapTile(x + 1, y); + tile = neutralizeRoad(tile); + if ((tile == VRAILROAD || (tile >= ROADBASE && tile <= VROADPOWER)) + && tile != VROADPOWER && tile != HRAILROAD + && tile != VBRIDGE) { + adjTile |= 0x0002; + } + } + + if (y < WORLD_H - 1) { + tile = effects->getMapTile(x, y + 1); + tile = neutralizeRoad(tile); + if ((tile == HRAILROAD || (tile >= ROADBASE && tile <= VROADPOWER)) + && tile != HROADPOWER && tile != VRAILROAD + && tile != ROADBASE) { + adjTile |= 0x0004; + } + } + + if (x > 0) { + tile = effects->getMapTile(x - 1, y); + tile = neutralizeRoad(tile); + if ((tile == VRAILROAD || (tile >= ROADBASE && tile <= VROADPOWER)) + && tile != VROADPOWER && tile != HRAILROAD + && tile != VBRIDGE) { + adjTile |= 0x0008; + } + } + + effects->setMapValue(x, y, RoadTable[adjTile] | BULLBIT | BURNBIT); + return; + } + + if (tile >= LHRAIL && tile <= LVRAIL10) { /* Cleanup Rail */ + + if (y > 0) { + tile = effects->getMapTile(x, y - 1); + tile = neutralizeRoad(tile); + if (tile >= RAILHPOWERV && tile <= VRAILROAD + && tile != RAILHPOWERV && tile != HRAILROAD + && tile != HRAIL) { + adjTile |= 0x0001; + } + } + + if (x < WORLD_W - 1) { + tile = effects->getMapTile(x + 1, y); + tile = neutralizeRoad(tile); + if (tile >= RAILHPOWERV && tile <= VRAILROAD + && tile != RAILVPOWERH && tile != VRAILROAD + && tile != VRAIL) { + adjTile |= 0x0002; + } + } + + if (y < WORLD_H - 1) { + tile = effects->getMapTile(x, y + 1); + tile = neutralizeRoad(tile); + if (tile >= RAILHPOWERV && tile <= VRAILROAD + && tile != RAILHPOWERV && tile != HRAILROAD + && tile != HRAIL) { + adjTile |= 0x0004; + } + } + + if (x > 0) { + tile = effects->getMapTile(x - 1, y); + tile = neutralizeRoad(tile); + if (tile >= RAILHPOWERV && tile <= VRAILROAD + && tile != RAILVPOWERH && tile != VRAILROAD + && tile != VRAIL) { + adjTile |= 0x0008; + } + } + + effects->setMapValue(x, y, RailTable[adjTile] | BULLBIT | BURNBIT); + return; + } + + if (tile >= LHPOWER && tile <= LVPOWER10) { /* Cleanup Wire */ + + if (y > 0) { + tile = effects->getMapValue(x, y - 1); + if (tile & CONDBIT) { + tile &= LOMASK; + tile = neutralizeRoad(tile); + if (tile != VPOWER && tile != VROADPOWER && tile != RAILVPOWERH) { + adjTile |= 0x0001; + } + } + } + + if (x < WORLD_W - 1) { + tile = effects->getMapValue(x + 1, y); + if (tile & CONDBIT) { + tile &= LOMASK; + tile = neutralizeRoad(tile); + if (tile != HPOWER && tile != HROADPOWER && tile != RAILHPOWERV) { + adjTile |= 0x0002; + } + } + } + + if (y < WORLD_H - 1) { + tile = effects->getMapValue(x, y + 1); + if (tile & CONDBIT) { + tile &= LOMASK; + tile = neutralizeRoad(tile); + if (tile != VPOWER && tile != VROADPOWER && tile != RAILVPOWERH) { + adjTile |= 0x0004; + } + } + } + + if (x > 0) { + tile = effects->getMapValue(x - 1, y); + if (tile & CONDBIT) { + tile &= LOMASK; + tile = neutralizeRoad(tile); + if (tile != HPOWER && tile != HROADPOWER && tile != RAILHPOWERV) { + adjTile |= 0x0008; + } + } + } + + effects->setMapValue(x, y, WireTable[adjTile] | BLBNCNBIT); + return; + } +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/data_types.h b/core/data_types.h new file mode 100644 index 0000000..efd8bb8 --- /dev/null +++ b/core/data_types.h @@ -0,0 +1,90 @@ +/* data_types.h + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file data_types.h + * @brief Commonly used data types in Micropolis game engine. + * + * This header file defines basic data types used throughout the + * Micropolis game engine. These include types for bytes, pointers, + * and quad values (both signed and unsigned). This file provides a + * centralized definition of these types to ensure consistency and + * readability across the game engine's codebase. By abstracting data + * types in this manner, the code maintains flexibility and ease of + * maintenance. + */ + + +#ifndef H_DATA_TYPES +#define H_DATA_TYPES + + +typedef unsigned char Byte; + +typedef Byte *Ptr; + +typedef long Quad; + +typedef unsigned long UQuad; + + +#endif diff --git a/core/disasters.cpp b/core/disasters.cpp new file mode 100644 index 0000000..130f497 --- /dev/null +++ b/core/disasters.cpp @@ -0,0 +1,418 @@ +/* disasters.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file disasters.cpp + * @brief Handles disaster events in the Micropolis game engine. + * + * This file includes functions to trigger and manage various disaster + * events such as earthquakes, fires, floods, and other scenarios. It + * controls the probability of disasters occurring based on the game + * level and executes disaster-specific effects on the city, like + * damaging structures and changing terrain. The file plays a critical + * role in adding challenge and dynamic events to the gameplay + * experience. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Let disasters happen. + * @todo Decide what to do with the 'nothing happens' disaster (since the + * chance that a disaster happens is expressed in the \c DisChance + * table). + */ +void Micropolis::doDisasters() +{ + /* Chance of disasters at lev 0 1 2 */ + static const short DisChance[3] = { + 10 * 48, // Game level 0 + 5 * 48, // Game level 1 + 60 // Game level 2 + }; + assert(LEVEL_COUNT == LENGTH_OF(DisChance)); + + if (floodCount) { + floodCount--; + } + + if (disasterEvent != SC_NONE) { + scenarioDisaster(); + } + + if (!enableDisasters) { // Disasters have been disabled + return; + } + + int x = gameLevel; + if (x > LEVEL_LAST) { + x = LEVEL_EASY; + } + + if (!getRandom(DisChance[x])) { + switch (getRandom(8)) { + case 0: + case 1: + setFire(); // 2/9 chance a fire breaks out + break; + + case 2: + case 3: + makeFlood(); // 2/9 chance for a flood + break; + + case 4: + // 1/9 chance nothing happens (was airplane crash, + // which EA removed after 9/11, and requested it be + // removed from this code) + break; + + case 5: + makeTornado(); // 1/9 chance tornado + break; + + case 6: + makeEarthquake(); // 1/9 chance earthquake + break; + + case 7: + case 8: + // 2/9 chance a scary monster arrives in a dirty town + if (pollutionAverage > /* 80 */ 60) { + makeMonster(); + } + break; + } + } +} + + +/** Let disasters of the scenario happen */ +void Micropolis::scenarioDisaster() +{ + switch (disasterEvent) { + case SC_DULLSVILLE: + break; + + case SC_SAN_FRANCISCO: + if (disasterWait == 1) { + makeEarthquake(); + } + break; + + case SC_HAMBURG: + if (disasterWait % 10 == 0) { + makeFireBombs(); + } + break; + + case SC_BERN: + break; + + case SC_TOKYO: + if (disasterWait == 1) { + makeMonster(); + } + break; + + case SC_DETROIT: + break; + + case SC_BOSTON: + if (disasterWait == 1) { + makeMeltdown(); + } + break; + + case SC_RIO: + if ((disasterWait % 24) == 0) { + makeFlood(); + } + break; + + default: + NOT_REACHED(); + break; // Never used + } + + if (disasterWait > 0) { + disasterWait--; + } else { + disasterEvent = SC_NONE; + } +} + + +/** + * Make a nuclear power plant melt + * @todo Randomize which nuke plant melts down. + */ +void Micropolis::makeMeltdown() +{ + short x, y; + + for (x = 0; x < (WORLD_W - 1); x++) { + for (y = 0; y < (WORLD_H - 1); y++) { + if ((map[x][y] & LOMASK) == NUCLEAR) { + doMeltdown(Position(x, y)); + return; + } + } + } +} + + +/** Let a fire bomb explode at a random location */ +void Micropolis::fireBomb() +{ + int crashX = getRandom(WORLD_W - 1); + int crashY = getRandom(WORLD_H - 1); + makeExplosion(crashX, crashY); + sendMessage(MESSAGE_FIREBOMBING, crashX, crashY, true, true); +} + + +/** Throw several bombs onto the city. */ +void Micropolis::makeFireBombs() +{ + int count = 2 + (getRandom16() & 1); + + while (count > 0) { + fireBomb(); + count--; + } + + // TODO: Schedule periodic fire bombs over time, every few ticks. +} + + +/** Change random tiles to fire or dirt as result of the earthquake */ +void Micropolis::makeEarthquake() +{ + short x, y, z; + + int strength = getRandom(700) + 300; // strength/duration of the earthquake + + doEarthquake(strength); + + sendMessage(MESSAGE_EARTHQUAKE, cityCenterX, cityCenterY, true); + + for (z = 0; z < strength; z++) { + x = getRandom(WORLD_W - 1); + y = getRandom(WORLD_H - 1); + + if (vulnerable(map[x][y])) { + + if ((z & 0x3) != 0) { // 3 of 4 times reduce to rubble + map[x][y] = randomRubble(); + } else { + // 1 of 4 times start fire + map[x][y] = randomFire(); + } + } + } +} + + +/** Start a fire at a random place, random disaster or scenario */ +void Micropolis::setFire() +{ + short x, y, z; + + x = getRandom(WORLD_W - 1); + y = getRandom(WORLD_H - 1); + z = map[x][y]; + + if ((z & ZONEBIT) == 0) { + z = z & LOMASK; + if (z > LHTHR && z < LASTZONE) { + map[x][y] = randomFire(); + sendMessage(MESSAGE_FIRE_REPORTED, x, y, true); + } + } +} + + +/** Start a fire at a random place, requested by user */ +void Micropolis::makeFire() +{ + short t, x, y, z; + + for (t = 0; t < 40; t++) { + x = getRandom(WORLD_W - 1); + y = getRandom(WORLD_H - 1); + z = map[x][y]; + + if ((!(z & ZONEBIT)) && (z & BURNBIT)) { + z = z & LOMASK; + if ((z > 21) && (z < LASTZONE)) { + map[x][y] = randomFire(); + sendMessage(MESSAGE_FIRE_REPORTED, x, y); + return; + } + } + } +} + + +/** + * Is tile vulnerable for an earthquake? + * @param tem Tile data + * @return Function returns \c true if tile is vulnerable, and \c false if not + */ +bool Micropolis::vulnerable(int tem) +{ + int tem2 = tem & LOMASK; + + if (tem2 < RESBASE || tem2 > LASTZONE || (tem & ZONEBIT)) { + return false; + } + + return true; +} + + +/** + * Flood many tiles + * @todo Use Direction and some form of XYPosition class here + */ +void Micropolis::makeFlood() +{ + static const short Dx[4] = { 0, 1, 0, -1 }; + static const short Dy[4] = { -1, 0, 1, 0 }; + short xx, yy, c; + short z, t, x, y; + + for (z = 0; z < 300; z++) { + x = getRandom(WORLD_W - 1); + y = getRandom(WORLD_H - 1); + c = map[x][y] & LOMASK; + + if (c > CHANNEL && c <= WATER_HIGH) { /* if riveredge */ + for (t = 0; t < 4; t++) { + xx = x + Dx[t]; + yy = y + Dy[t]; + if (testBounds(xx, yy)) { + c = map[xx][yy]; + + /* tile is floodable */ + if (c == DIRT + || (c & (BULLBIT | BURNBIT)) == (BULLBIT | BURNBIT)) { + map[xx][yy] = FLOOD; + floodCount = 30; + sendMessage(MESSAGE_FLOODING_REPORTED, xx, yy, true); + return; + } + } + } + } + } +} + + +/** + * Flood around the given position. + * @param pos Position around which to flood further. + * @todo Use some form of rotating around a position. + */ +void Micropolis::doFlood(const Position& pos) +{ + static const short Dx[4] = { 0, 1, 0, -1 }; + static const short Dy[4] = { -1, 0, 1, 0 }; + + if (floodCount > 0) { + // Flood is not over yet + for (int z = 0; z < 4; z++) { + if ((getRandom16() & 7) == 0) { // 12.5% chance + int xx = pos.posX + Dx[z]; + int yy = pos.posY + Dy[z]; + if (testBounds(xx, yy)) { + MapValue c = map[xx][yy]; + MapTile t = c & LOMASK; + + if ((c & BURNBIT) == BURNBIT || c == DIRT + || (t >= WOODS5 && t < FLOOD)) { + if ((c & ZONEBIT) == ZONEBIT) { + fireZone(Position(xx, yy), c); + } + map[xx][yy] = FLOOD + getRandom(2); + } + } + } + } + } else { + if ((getRandom16() & 15) == 0) { // 1/16 chance + map[pos.posX][pos.posY] = DIRT; + } + } +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/emscripten.cpp b/core/emscripten.cpp new file mode 100644 index 0000000..2f7b191 --- /dev/null +++ b/core/emscripten.cpp @@ -0,0 +1,1159 @@ +/* emscripten.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file emscripten.cpp + * @brief Emscripten bindings for Micropolis game engine. + * + * This file contains Emscripten bindings that allow the Micropolis + * (open-source version of SimCity) game engine to be used in a web + * environment. It utilizes Emscripten's Embind feature to expose C++ + * classes, functions, enums, and data structures to JavaScript, + * enabling the Micropolis game engine to be controlled and interacted + * with through a web interface. This includes key functionalities + * such as simulation control, game state management, map + * manipulation, and event handling. The binding includes only + * essential elements for gameplay, omitting low-level rendering and + * platform-specific code. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +using namespace emscripten; + + +//////////////////////////////////////////////////////////////////////// +// This file uses emscripten's embind to bind C++ classes, +// C structures, functions, enums, and contents into JavaScript, +// so you can even subclass C++ classes in JavaScript, +// for implementing plugins and user interfaces. +// +// Wrapping the entire Micropolis class from the Micropolis (open-source +// version of SimCity) code into Emscripten for JavaScript access is a +// large and complex task, mainly due to the size and complexity of the +// class. The class encompasses almost every aspect of the simulation, +// including map generation, simulation logic, user interface +// interactions, and more. +// +// Strategy for Wrapping +// +// 1. Core Simulation Logic: Focus on the core simulation aspects, such +// as the methods to run the simulation, update game states, and handle +// user inputs (like building tools and disaster simulations). This is +// crucial for any gameplay functionality. +// +// 2. Memory and Performance Considerations: JavaScript and WebAssembly +// run in a browser context, which can have memory limitations and +// performance constraints. Carefully manage memory allocation, +// especially when dealing with the game's map and various buffers. +// +// 3. Direct Memory Access: Provide JavaScript access to critical game +// data structures like the map buffer for efficient reading and +// writing. This can be done using Emscripten's heap access functions +// (HEAP8, HEAP16, HEAP32, etc.). +// +// 4. User Interface and Rendering: This part might not be necessary to +// wrap, as modern web technologies (HTML, CSS, WebGL) can be used for +// UI. However, providing some hooks for game state (like score, budget, +// etc.) to JavaScript might be helpful. +// +// 5. Callbacks and Interactivity: Ensure that key game events and +// callbacks are exposed to JavaScript, allowing for interactive and +// responsive gameplay. +// +// 6. Optimizations: Where possible, optimize C++ code for WebAssembly, +// focusing on critical paths in the simulation loop. +// +// Decisions and Explanations +// +// - Excluded Elements: +// +// - Low-level rendering or platform-specific code, as this can be +// handled more efficiently with web technologies. +// +// - Parts of the code that handle file I/O directly, as file access +// in a web context is typically handled differently (e.g., using +// browser APIs or server-side support). +// +// - Any networking or multiplayer code, as web-based +// implementations would differ significantly from desktop-based +// network code. +// +// - Included Elements: +// +// - Core game mechanics, such as map generation, zone simulation +// (residential, commercial, industrial), disaster simulation, and +// basic utilities. +// +// - Game state management, including budgeting, scoring, and city +// evaluation. +// +// - Direct memory access to critical structures like the map +// buffer, allowing efficient manipulation from JavaScript. +// +// - Essential callbacks and event handling mechanisms to ensure +// interactivity. +// +// Conclusion +// +// Given the complexity and size of the Micropolis class, wrapping the +// entire class directly is impractical. However, focusing on key areas +// essential for gameplay and providing efficient interfaces for +// critical data structures can create a functional and interactive city +// simulation in a web context. Further optimizations and adjustments +// would likely be needed based on testing and specific requirements of +// the web implementation. +// +// Implementation Notes +// +// The enum_, class_, constructor, function, and property functions +// from the emscripten namespace are used to specify how C++ +// constructs should be exposed to JavaScript. You can use these to +// control which parts of your code are accessible and how they should +// be used from JavaScript. +// +// I've made some assumptions here: +// +// The types MapValue and MapTile are simple types (like integers or +// floats). If they are complex types, they would need their own +// bindings. +// +// I'm assuming that the copy constructor and copy assignment +// operator for the Position class are correctly implemented. If +// they aren't, then the Position object may not behave as expected +// in JavaScript. +// +// Micropolis Binding Design +// +// The Micropolis interface organizes the Micropolis class header into +// categories of functions that are relevant for interaction with the +// JavaScript user interface, scripts, or plugins. The aim is to expose +// functions that could help in monitoring and controlling game state +// effectively. +// +// - Exposed to JavaScript (Public Interface) +// - Simulation Control and Settings +// - void simTick() +// - void setSpeed(short speed) +// - void setGameLevel(GameLevel level) +// - void setCityName(const std::string &name) +// - void setYear(int year) +// - void pause() +// - void resume() +// - void setEnableDisasters(bool value) +// - void setAutoBudget(bool value) +// - void setAutoBulldoze(bool value) +// - void setAutoGoto(bool value) +// - void setEnableSound(bool value) +// - void setDoAnimation(bool value) +// - void doNewGame() +// - void doBudget() +// - void doScoreCard() +// - void updateFunds() +// - Gameplay Mechanics +// - void doTool(EditingTool tool, short tileX, short tileY) +// - void generateMap(int seed) +// - void clearMap() +// - void makeDisaster(DisasterType type) +// - void getDemands(float *resDemandResult, float *comDemandResult, float *indDemandResult) +// - Random Number Generation +// - int simRandom() +// - int getRandom(short range) +// - int getRandom16() +// - int getRandom16Signed() +// - short getERandom(short limit) +// - void randomlySeedRandom() +// - void seedRandom(int seed) +// - Game State and Data Access +// - int getTile(int x, int y) +// - void setTile(int x, int y, int tile) +// - void setFunds(Quad dollars) +// - Quad getCityPopulation() +// - void updateMaps() +// - void updateGraphs() +// - void updateEvaluation() +// - void updateBudget() +// - Events and Callbacks +// - void sendMessage(short messageNumber, short x = NOWHERE, short y = NOWHERE) +// - void makeSound(std::string channel, std::string sound, int x = -1, int y = -1) +// - Hidden from JavaScript (Private Interface) +// - Internal Simulation Mechanics +// - void simFrame() +// - void simulate() +// - void doSimInit() +// - void setValves() +// - void clearCensus() +// - void collectTax() +// - void mapScan(int x1, int x2) +// - Utility Functions +// - void initMapArrays() +// - void destroyMapArrays() +// - void initSimMemory() +// - void initGraphs() +// - Zone Handling +// - void doZone(const Position &pos) +// - void doResidential(const Position &pos, bool zonePower) +// - void doCommercial(const Position &pos, bool zonePower) +// - void doIndustrial(const Position &pos, bool zonePower) +// - Disaster Simulation +// - void doDisasters() +// - void scenarioDisaster() +// - void fireAnalysis() +// - void makeFire() +// - void makeFlood() +// +// Conclusion +// +// These exposed functions provide a comprehensive interface for +// scripting, plugins, and user interactions through JavaScript. The +// exposed set of functions includes random number generation, +// simulation control mechanisms, UI-triggered actions like budget +// updates, along with essential gameplay mechanics. The private section +// continues to encapsulate internal simulation details and complex data +// management routines integral to the game's core mechanics. + + + +EMSCRIPTEN_BINDINGS(MicropolisEngine) { + + // position.h + + enum_("Direction2") + .value("INVALID", Direction2::DIR2_INVALID) + .value("NORTH", Direction2::DIR2_NORTH) + .value("NORTH_EAST", Direction2::DIR2_NORTH_EAST) + .value("EAST", Direction2::DIR2_EAST) + .value("SOUTH_EAST", Direction2::DIR2_SOUTH_EAST) + .value("SOUTH", Direction2::DIR2_SOUTH) + .value("SOUTH_WEST", Direction2::DIR2_SOUTH_WEST) + .value("WEST", Direction2::DIR2_WEST) + .value("NORTH_WEST", Direction2::DIR2_NORTH_WEST) + ; + + class_("Position") + .constructor<>() + .constructor() + .function("move", &Position::move) + .function("testBounds", &Position::testBounds) + .property("posX", &Position::posX) + .property("posY", &Position::posY) + ; + + function("increment45", &increment45); + function("increment90", &increment90); + function("rotate45", &rotate45); + function("rotate90", &rotate90); + function("rotate180", &rotate180); + + // tool.h + + class_("ToolEffects") + //.constructor() // TODO: wrap + .function("clear", &ToolEffects::clear) + .function("modifyWorld", &ToolEffects::modifyWorld) + .function("modifyIfEnoughFunding", &ToolEffects::modifyIfEnoughFunding) + .function("getMapValue", select_overload(&ToolEffects::getMapValue)) + .function("getMapTile", select_overload(&ToolEffects::getMapTile)) + .function("getCost", &ToolEffects::getCost) + .function("addCost", &ToolEffects::addCost) + .function("setMapValue", select_overload(&ToolEffects::setMapValue)) + //.function("addFrontendMessage", &ToolEffects::addFrontendMessage) // TODO: wrap + ; + + enum_("MapTileBits") + .value("PWRBIT", PWRBIT) + .value("CONDBIT", CONDBIT) + .value("BURNBIT", BURNBIT) + .value("BULLBIT", BULLBIT) + .value("ANIMBIT", ANIMBIT) + .value("ZONEBIT", ZONEBIT) + .value("ALLBITS", ALLBITS) + .value("LOMASK", LOMASK) + .value("BLBNBIT", BLBNBIT) + .value("BLBNCNBIT", BLBNCNBIT) + .value("BNCNBIT", BNCNBIT) + ; + + enum_("EditingTool") + .value("TOOL_RESIDENTIAL", TOOL_RESIDENTIAL) + .value("TOOL_COMMERCIAL", TOOL_COMMERCIAL) + .value("TOOL_INDUSTRIAL", TOOL_INDUSTRIAL) + .value("TOOL_FIRESTATION", TOOL_FIRESTATION) + .value("TOOL_POLICESTATION", TOOL_POLICESTATION) + .value("TOOL_QUERY", TOOL_QUERY) + .value("TOOL_WIRE", TOOL_WIRE) + .value("TOOL_BULLDOZER", TOOL_BULLDOZER) + .value("TOOL_RAILROAD", TOOL_RAILROAD) + .value("TOOL_ROAD", TOOL_ROAD) + .value("TOOL_STADIUM", TOOL_STADIUM) + .value("TOOL_PARK", TOOL_PARK) + .value("TOOL_SEAPORT", TOOL_SEAPORT) + .value("TOOL_COALPOWER", TOOL_COALPOWER) + .value("TOOL_NUCLEARPOWER", TOOL_NUCLEARPOWER) + .value("TOOL_AIRPORT", TOOL_AIRPORT) + .value("TOOL_NETWORK", TOOL_NETWORK) + .value("TOOL_WATER", TOOL_WATER) + .value("TOOL_LAND", TOOL_LAND) + .value("TOOL_FOREST", TOOL_FOREST) + .value("TOOL_COUNT", TOOL_COUNT) + .value("TOOL_FIRST", TOOL_FIRST) + .value("TOOL_LAST", TOOL_LAST); + ; + + // map_type.h + class_>("MapByte1") + .constructor() + .property("MAP_BLOCKSIZE", &Map::MAP_BLOCKSIZE) + .property("MAP_W", &Map::MAP_W) + .property("MAP_H", &Map::MAP_H) + .function("fill", &Map::fill) + .function("clear", &Map::clear) + .function("set", &Map::set) + .function("get", &Map::get) + .function("onMap", &Map::onMap) + .function("worldSet", &Map::worldSet) + .function("worldGet", &Map::worldGet) + .function("worldOnMap", &Map::worldOnMap) + //.function("getBase", &Map::getBase, allow_raw_pointers()) // TODO: wrap + .function("getTotalByteSize", &Map::getTotalByteSize) + ; + + class_>("MapByte2") + .constructor() + .property("MAP_BLOCKSIZE", &Map::MAP_BLOCKSIZE) + .property("MAP_W", &Map::MAP_W) + .property("MAP_H", &Map::MAP_H) + .function("fill", &Map::fill) + .function("clear", &Map::clear) + .function("set", &Map::set) + .function("get", &Map::get) + .function("onMap", &Map::onMap) + .function("worldSet", &Map::worldSet) + .function("worldGet", &Map::worldGet) + .function("worldOnMap", &Map::worldOnMap) + //.function("getBase", &Map::getBase, allow_raw_pointers()) // TODO: wrap + .function("getTotalByteSize", &Map::getTotalByteSize) + ; + + class_>("MapByte4") + .constructor() + .property("MAP_BLOCKSIZE", &Map::MAP_BLOCKSIZE) + .property("MAP_W", &Map::MAP_W) + .property("MAP_H", &Map::MAP_H) + .function("fill", &Map::fill) + .function("clear", &Map::clear) + .function("set", &Map::set) + .function("get", &Map::get) + .function("onMap", &Map::onMap) + .function("worldSet", &Map::worldSet) + .function("worldGet", &Map::worldGet) + .function("worldOnMap", &Map::worldOnMap) + //.function("getBase", &Map::getBase, allow_raw_pointers()) // TODO: wrap + .function("getTotalByteSize", &Map::getTotalByteSize) + ; + + class_>("MapShort8") + .constructor() + .property("MAP_BLOCKSIZE", &Map::MAP_BLOCKSIZE) + .property("MAP_W", &Map::MAP_W) + .property("MAP_H", &Map::MAP_H) + .function("fill", &Map::fill) + .function("clear", &Map::clear) + .function("set", &Map::set) + .function("get", &Map::get) + .function("onMap", &Map::onMap) + .function("worldSet", &Map::worldSet) + .function("worldGet", &Map::worldGet) + .function("worldOnMap", &Map::worldOnMap) + //.function("getBase", &Map::getBase, allow_raw_pointers()) // TODO: wrap + .function("getTotalByteSize", &Map::getTotalByteSize) + ; + +/* + +function createTypedArrayFromMap(mapInstance) { + var pointer = mapInstance.getBase(); + var byteSize = mapInstance.getTotalByteSize(); + var mapSize = mapInstance.MAP_W * mapInstance.MAP_H; + var arrayType; + + // Determine the correct Typed Array type based on DATA type + if (byteSize === mapSize) { + arrayType = Uint8Array; + } else if (byteSize === mapSize * 2) { + arrayType = Uint16Array; + } else { + console.error("Unsupported data type for Typed Array."); + return null; + } + + var typedArray = new arrayType(Module.HEAPU8.buffer, pointer, byteSize / arrayType.BYTES_PER_ELEMENT); + return typedArray; +} + +*/ + + // text.h + + enum_("Stri202") + .value("STR202_POPULATIONDENSITY_LOW", STR202_POPULATIONDENSITY_LOW) // 0: Low + .value("STR202_POPULATIONDENSITY_MEDIUM", STR202_POPULATIONDENSITY_MEDIUM) // 1: Medium + .value("STR202_POPULATIONDENSITY_HIGH", STR202_POPULATIONDENSITY_HIGH) // 2: High + .value("STR202_POPULATIONDENSITY_VERYHIGH", STR202_POPULATIONDENSITY_VERYHIGH) // 3: Very High + .value("STR202_LANDVALUE_SLUM", STR202_LANDVALUE_SLUM) // 4: Slum + .value("STR202_LANDVALUE_LOWER_CLASS", STR202_LANDVALUE_LOWER_CLASS) // 5: Lower Class + .value("STR202_LANDVALUE_MIDDLE_CLASS", STR202_LANDVALUE_MIDDLE_CLASS) // 6: Middle Class + .value("STR202_LANDVALUE_HIGH_CLASS", STR202_LANDVALUE_HIGH_CLASS) // 7: High + .value("STR202_CRIME_NONE", STR202_CRIME_NONE) // 8: Safe + .value("STR202_CRIME_LIGHT", STR202_CRIME_LIGHT) // 9: Light + .value("STR202_CRIME_MODERATE", STR202_CRIME_MODERATE) // 10: Moderate + .value("STR202_CRIME_DANGEROUS", STR202_CRIME_DANGEROUS) // 11: Dangerous + .value("STR202_POLLUTION_NONE", STR202_POLLUTION_NONE) // 12: None + .value("STR202_POLLUTION_MODERATE", STR202_POLLUTION_MODERATE) // 13: Moderate + .value("STR202_POLLUTION_HEAVY", STR202_POLLUTION_HEAVY) // 14: Heavy + .value("STR202_POLLUTION_VERY_HEAVY", STR202_POLLUTION_VERY_HEAVY) // 15: Very Heavy + .value("STR202_GROWRATE_DECLINING", STR202_GROWRATE_DECLINING) // 16: Declining + .value("STR202_GROWRATE_STABLE", STR202_GROWRATE_STABLE) // 17: Stable + .value("STR202_GROWRATE_SLOWGROWTH", STR202_GROWRATE_SLOWGROWTH) // 18: Slow Growth + .value("STR202_GROWRATE_FASTGROWTH", STR202_GROWRATE_FASTGROWTH) // 19: Fast Growth + ; + + enum_("MessageNumber") + .value("MESSAGE_NEED_MORE_RESIDENTIAL", MESSAGE_NEED_MORE_RESIDENTIAL) // 1: More residential zones needed. + .value("MESSAGE_NEED_MORE_COMMERCIAL", MESSAGE_NEED_MORE_COMMERCIAL) // 2: More commercial zones needed. + .value("MESSAGE_NEED_MORE_INDUSTRIAL", MESSAGE_NEED_MORE_INDUSTRIAL) // 3: More industrial zones needed. + .value("MESSAGE_NEED_MORE_ROADS", MESSAGE_NEED_MORE_ROADS) // 4: More roads required. + .value("MESSAGE_NEED_MORE_RAILS", MESSAGE_NEED_MORE_RAILS) // 5: Inadequate rail system. + .value("MESSAGE_NEED_ELECTRICITY", MESSAGE_NEED_ELECTRICITY) // 6: Build a Power Plant. + .value("MESSAGE_NEED_STADIUM", MESSAGE_NEED_STADIUM) // 7: Residents demand a Stadium. + .value("MESSAGE_NEED_SEAPORT", MESSAGE_NEED_SEAPORT) // 8: Industry requires a Sea Port. + .value("MESSAGE_NEED_AIRPORT", MESSAGE_NEED_AIRPORT) // 9: Commerce requires an Airport. + .value("MESSAGE_HIGH_POLLUTION", MESSAGE_HIGH_POLLUTION) // 10: Pollution very high. + .value("MESSAGE_HIGH_CRIME", MESSAGE_HIGH_CRIME) // 11: Crime very high. + .value("MESSAGE_TRAFFIC_JAMS", MESSAGE_TRAFFIC_JAMS) // 12: Frequent traffic jams reported. + .value("MESSAGE_NEED_FIRE_STATION", MESSAGE_NEED_FIRE_STATION) // 13: Citizens demand a Fire Department. + .value("MESSAGE_NEED_POLICE_STATION", MESSAGE_NEED_POLICE_STATION) // 14: Citizens demand a Police Department. + .value("MESSAGE_BLACKOUTS_REPORTED", MESSAGE_BLACKOUTS_REPORTED) // 15: Blackouts reported. Check power map. + .value("MESSAGE_TAX_TOO_HIGH", MESSAGE_TAX_TOO_HIGH) // 16: Citizens upset. The tax rate is too high. + .value("MESSAGE_ROAD_NEEDS_FUNDING", MESSAGE_ROAD_NEEDS_FUNDING) // 17: Roads deteriorating, due to lack of funds. + .value("MESSAGE_FIRE_STATION_NEEDS_FUNDING", MESSAGE_FIRE_STATION_NEEDS_FUNDING) // 18: Fire departments need funding. + .value("MESSAGE_POLICE_NEEDS_FUNDING", MESSAGE_POLICE_NEEDS_FUNDING) // 19: Police departments need funding. + .value("MESSAGE_FIRE_REPORTED", MESSAGE_FIRE_REPORTED) // 20: Fire reported! + .value("MESSAGE_MONSTER_SIGHTED", MESSAGE_MONSTER_SIGHTED) // 21: A Monster has been sighted!! + .value("MESSAGE_TORNADO_SIGHTED", MESSAGE_TORNADO_SIGHTED) // 22: Tornado reported!! + .value("MESSAGE_EARTHQUAKE", MESSAGE_EARTHQUAKE) // 23: Major earthquake reported!!! + .value("MESSAGE_PLANE_CRASHED", MESSAGE_PLANE_CRASHED) // 24: A plane has crashed! + .value("MESSAGE_SHIP_CRASHED", MESSAGE_SHIP_CRASHED) // 25: Shipwreck reported! + .value("MESSAGE_TRAIN_CRASHED", MESSAGE_TRAIN_CRASHED) // 26: A train crashed! + .value("MESSAGE_HELICOPTER_CRASHED", MESSAGE_HELICOPTER_CRASHED) // 27: A helicopter crashed! + .value("MESSAGE_HIGH_UNEMPLOYMENT", MESSAGE_HIGH_UNEMPLOYMENT) // 28: Unemployment rate is high. + .value("MESSAGE_NO_MONEY", MESSAGE_NO_MONEY) // 29: YOUR CITY HAS GONE BROKE! + .value("MESSAGE_FIREBOMBING", MESSAGE_FIREBOMBING) // 30: Firebombing reported! + .value("MESSAGE_NEED_MORE_PARKS", MESSAGE_NEED_MORE_PARKS) // 31: Need more parks. + .value("MESSAGE_EXPLOSION_REPORTED", MESSAGE_EXPLOSION_REPORTED) // 32: Explosion detected! + .value("MESSAGE_NOT_ENOUGH_FUNDS", MESSAGE_NOT_ENOUGH_FUNDS) // 33: Insufficient funds to build that. + .value("MESSAGE_BULLDOZE_AREA_FIRST", MESSAGE_BULLDOZE_AREA_FIRST) // 34: Area must be bulldozed first. + .value("MESSAGE_REACHED_TOWN", MESSAGE_REACHED_TOWN) // 35: Population has reached 2,000. + .value("MESSAGE_REACHED_CITY", MESSAGE_REACHED_CITY) // 36: Population has reached 10,000. + .value("MESSAGE_REACHED_CAPITAL", MESSAGE_REACHED_CAPITAL) // 37: Population has reached 50,000. + .value("MESSAGE_REACHED_METROPOLIS", MESSAGE_REACHED_METROPOLIS) // 38: Population has reached 100,000. + .value("MESSAGE_REACHED_MEGALOPOLIS", MESSAGE_REACHED_MEGALOPOLIS) // 39: Population has reached 500,000. + .value("MESSAGE_NOT_ENOUGH_POWER", MESSAGE_NOT_ENOUGH_POWER) // 40: Brownouts, build another Power Plant. + .value("MESSAGE_HEAVY_TRAFFIC", MESSAGE_HEAVY_TRAFFIC) // 41: Heavy Traffic reported. + .value("MESSAGE_FLOODING_REPORTED", MESSAGE_FLOODING_REPORTED) // 42: Flooding reported!! + .value("MESSAGE_NUCLEAR_MELTDOWN", MESSAGE_NUCLEAR_MELTDOWN) // 43: A Nuclear Meltdown has occurred!!! + .value("MESSAGE_RIOTS_REPORTED", MESSAGE_RIOTS_REPORTED) // 44: They're rioting in the streets!! + .value("MESSAGE_STARTED_NEW_CITY", MESSAGE_STARTED_NEW_CITY) // 45: Started a New City. + .value("MESSAGE_LOADED_SAVED_CITY", MESSAGE_LOADED_SAVED_CITY) // 46: Restored a Saved City. + .value("MESSAGE_SCENARIO_WON", MESSAGE_SCENARIO_WON) // 47: You won the scenario. + .value("MESSAGE_SCENARIO_LOST", MESSAGE_SCENARIO_LOST) // 48: You lose the scenario. + .value("MESSAGE_ABOUT_MICROPOLIS", MESSAGE_ABOUT_MICROPOLIS) // 49: About Micropolis. + .value("MESSAGE_SCENARIO_DULLSVILLE", MESSAGE_SCENARIO_DULLSVILLE) // 50: Dullsville scenario. + .value("MESSAGE_SCENARIO_SAN_FRANCISCO", MESSAGE_SCENARIO_SAN_FRANCISCO) // 51: San Francisco scenario. + .value("MESSAGE_SCENARIO_HAMBURG", MESSAGE_SCENARIO_HAMBURG) // 52: Hamburg scenario. + .value("MESSAGE_SCENARIO_BERN", MESSAGE_SCENARIO_BERN) // 53: Bern scenario. + .value("MESSAGE_SCENARIO_TOKYO", MESSAGE_SCENARIO_TOKYO) // 54: Tokyo scenario. + .value("MESSAGE_SCENARIO_DETROIT", MESSAGE_SCENARIO_DETROIT) // 55: Detroit scenario. + .value("MESSAGE_SCENARIO_BOSTON", MESSAGE_SCENARIO_BOSTON) // 56: Boston scenario. + .value("MESSAGE_SCENARIO_RIO_DE_JANEIRO", MESSAGE_SCENARIO_RIO_DE_JANEIRO) // 57: Rio de Janeiro scenario. + .value("MESSAGE_LAST", MESSAGE_LAST) // 57: Last valid message + ; + + // frontendmessage.h TODO + + // The FrontendMessage class is defined as an abstract base class with pure_virtual() + // for the sendMessage method. + // FrontendMessageDidTool and FrontendMessageMakeSound are bound as subclasses of FrontendMessage. + // The allow_subclass method is used to register them as valid subclasses. + // Constructors and properties are exposed for FrontendMessageDidTool and + // FrontendMessageMakeSound to create instances and access their members in JavaScript. + +/* + class_("FrontendMessage") + .smart_ptr>("shared_ptr") + .allow_subclass("FrontendMessageDidTool") + .allow_subclass("FrontendMessageMakeSound") + .function("sendMessage", &FrontendMessage::sendMessage, pure_virtual()) + ; + + class_>("FrontendMessageDidTool") + .constructor() + .property("tool", &FrontendMessageDidTool::tool) + .property("x", &FrontendMessageDidTool::x) + .property("y", &FrontendMessageDidTool::y) + ; + + class_>("FrontendMessageMakeSound") + .constructor() + .property("channel", &FrontendMessageMakeSound::channel) + .property("sound", &FrontendMessageMakeSound::sound) + .property("x", &FrontendMessageMakeSound::x) + .property("y", &FrontendMessageMakeSound::y) + ; +*/ + + // micropolis.h + + constant("WORLD_W", WORLD_W); + constant("WORLD_H", WORLD_H); + constant("BITS_PER_TILE", BITS_PER_TILE); + constant("BYTES_PER_TILE", BYTES_PER_TILE); + constant("WORLD_W_2", WORLD_W_2); + constant("WORLD_H_2", WORLD_H_2); + constant("WORLD_W_4", WORLD_W_4); + constant("WORLD_H_4", WORLD_H_4); + constant("WORLD_W_8", WORLD_W_8); + constant("WORLD_H_8", WORLD_H_8); + constant("EDITOR_TILE_SIZE", EDITOR_TILE_SIZE); + constant("PASSES_PER_CITYTIME", PASSES_PER_CITYTIME); + constant("CITYTIMES_PER_MONTH", CITYTIMES_PER_MONTH); + constant("CITYTIMES_PER_YEAR", CITYTIMES_PER_YEAR); + constant("HISTORY_LENGTH", HISTORY_LENGTH); + constant("MISC_HISTORY_LENGTH", MISC_HISTORY_LENGTH); + constant("HISTORY_COUNT", HISTORY_COUNT); + constant("POWER_STACK_SIZE", POWER_STACK_SIZE); + constant("NOWHERE", NOWHERE); + constant("ISLAND_RADIUS", ISLAND_RADIUS); + constant("MAX_TRAFFIC_DISTANCE", MAX_TRAFFIC_DISTANCE); + constant("MAX_ROAD_EFFECT", MAX_ROAD_EFFECT); + constant("MAX_POLICE_STATION_EFFECT", MAX_POLICE_STATION_EFFECT); + constant("MAX_FIRE_STATION_EFFECT", MAX_FIRE_STATION_EFFECT); + constant("RES_VALVE_RANGE", RES_VALVE_RANGE); + constant("COM_VALVE_RANGE", COM_VALVE_RANGE); + constant("IND_VALVE_RANGE", IND_VALVE_RANGE); + + emscripten::enum_("HistoryType") + .value("HISTORY_TYPE_RES", HISTORY_TYPE_RES) + .value("HISTORY_TYPE_COM", HISTORY_TYPE_COM) + .value("HISTORY_TYPE_IND", HISTORY_TYPE_IND) + .value("HISTORY_TYPE_MONEY", HISTORY_TYPE_MONEY) + .value("HISTORY_TYPE_CRIME", HISTORY_TYPE_CRIME) + .value("HISTORY_TYPE_POLLUTION", HISTORY_TYPE_POLLUTION) + .value("HISTORY_TYPE_COUNT", HISTORY_TYPE_COUNT) + ; + + // HistoryScale + emscripten::enum_("HistoryScale") + .value("HISTORY_SCALE_SHORT", HISTORY_SCALE_SHORT) + .value("HISTORY_SCALE_LONG", HISTORY_SCALE_LONG) + .value("HISTORY_SCALE_COUNT", HISTORY_SCALE_COUNT) + ; + + // MapType + emscripten::enum_("MapType") + .value("MAP_TYPE_ALL", MAP_TYPE_ALL) + .value("MAP_TYPE_RES", MAP_TYPE_RES) + .value("MAP_TYPE_COM", MAP_TYPE_COM) + .value("MAP_TYPE_IND", MAP_TYPE_IND) + .value("MAP_TYPE_POWER", MAP_TYPE_POWER) + .value("MAP_TYPE_ROAD", MAP_TYPE_ROAD) + .value("MAP_TYPE_POPULATION_DENSITY", MAP_TYPE_POPULATION_DENSITY) + .value("MAP_TYPE_RATE_OF_GROWTH", MAP_TYPE_RATE_OF_GROWTH) + .value("MAP_TYPE_TRAFFIC_DENSITY", MAP_TYPE_TRAFFIC_DENSITY) + .value("MAP_TYPE_POLLUTION", MAP_TYPE_POLLUTION) + .value("MAP_TYPE_CRIME", MAP_TYPE_CRIME) + .value("MAP_TYPE_LAND_VALUE", MAP_TYPE_LAND_VALUE) + .value("MAP_TYPE_FIRE_RADIUS", MAP_TYPE_FIRE_RADIUS) + .value("MAP_TYPE_POLICE_RADIUS", MAP_TYPE_POLICE_RADIUS) + .value("MAP_TYPE_DYNAMIC", MAP_TYPE_DYNAMIC) + .value("MAP_TYPE_COUNT", MAP_TYPE_COUNT) + ; + + // SpriteType + emscripten::enum_("SpriteType") + .value("SPRITE_NOTUSED", SPRITE_NOTUSED) + .value("SPRITE_TRAIN", SPRITE_TRAIN) + .value("SPRITE_HELICOPTER", SPRITE_HELICOPTER) + .value("SPRITE_AIRPLANE", SPRITE_AIRPLANE) + .value("SPRITE_SHIP", SPRITE_SHIP) + .value("SPRITE_MONSTER", SPRITE_MONSTER) + .value("SPRITE_TORNADO", SPRITE_TORNADO) + .value("SPRITE_EXPLOSION", SPRITE_EXPLOSION) + .value("SPRITE_BUS", SPRITE_BUS) + .value("SPRITE_COUNT", SPRITE_COUNT) + ; + + // ConnectTileCommand + emscripten::enum_("ConnectTileCommand") + .value("CONNECT_TILE_FIX", CONNECT_TILE_FIX) + .value("CONNECT_TILE_BULLDOZE", CONNECT_TILE_BULLDOZE) + .value("CONNECT_TILE_ROAD", CONNECT_TILE_ROAD) + .value("CONNECT_TILE_RAILROAD", CONNECT_TILE_RAILROAD) + .value("CONNECT_TILE_WIRE", CONNECT_TILE_WIRE) + ; + + // ToolResult + emscripten::enum_("ToolResult") + .value("TOOLRESULT_NO_MONEY", TOOLRESULT_NO_MONEY) + .value("TOOLRESULT_NEED_BULLDOZE", TOOLRESULT_NEED_BULLDOZE) + .value("TOOLRESULT_FAILED", TOOLRESULT_FAILED) + .value("TOOLRESULT_OK", TOOLRESULT_OK) + ; + + // Scenario + emscripten::enum_("Scenario") + .value("SC_NONE", SC_NONE) + .value("SC_DULLSVILLE", SC_DULLSVILLE) + .value("SC_SAN_FRANCISCO", SC_SAN_FRANCISCO) + .value("SC_HAMBURG", SC_HAMBURG) + .value("SC_BERN", SC_BERN) + .value("SC_TOKYO", SC_TOKYO) + .value("SC_DETROIT", SC_DETROIT) + .value("SC_BOSTON", SC_BOSTON) + .value("SC_RIO", SC_RIO) + .value("SC_COUNT", SC_COUNT) + ; + + // ZoneType + emscripten::enum_("ZoneType") + .value("ZT_COMMERCIAL", ZT_COMMERCIAL) + .value("ZT_INDUSTRIAL", ZT_INDUSTRIAL) + .value("ZT_RESIDENTIAL", ZT_RESIDENTIAL) + .value("ZT_NUM_DESTINATIONS", ZT_NUM_DESTINATIONS) + ; + + // CityVotingProblems + emscripten::enum_("CityVotingProblems") + .value("CVP_CRIME", CVP_CRIME) + .value("CVP_POLLUTION", CVP_POLLUTION) + .value("CVP_HOUSING", CVP_HOUSING) + .value("CVP_TAXES", CVP_TAXES) + .value("CVP_TRAFFIC", CVP_TRAFFIC) + .value("CVP_UNEMPLOYMENT", CVP_UNEMPLOYMENT) + .value("CVP_FIRE", CVP_FIRE) + .value("CVP_NUMPROBLEMS", CVP_NUMPROBLEMS) + .value("CVP_PROBLEM_COMPLAINTS", CVP_PROBLEM_COMPLAINTS) + .value("PROBNUM", PROBNUM) + ; + + // CityClass + emscripten::enum_("CityClass") + .value("CC_VILLAGE", CC_VILLAGE) + .value("CC_TOWN", CC_TOWN) + .value("CC_CITY", CC_CITY) + .value("CC_CAPITAL", CC_CAPITAL) + .value("CC_METROPOLIS", CC_METROPOLIS) + .value("CC_MEGALOPOLIS", CC_MEGALOPOLIS) + .value("CC_NUM_CITIES", CC_NUM_CITIES) + ; + + // GameLevel + emscripten::enum_("GameLevel") + .value("LEVEL_EASY", LEVEL_EASY) + .value("LEVEL_MEDIUM", LEVEL_MEDIUM) + .value("LEVEL_HARD", LEVEL_HARD) + .value("LEVEL_COUNT", LEVEL_COUNT) + .value("LEVEL_FIRST", LEVEL_FIRST) + .value("LEVEL_LAST", LEVEL_LAST) + ; + + emscripten::enum_("Tiles") + .value("DIRT", DIRT) // 0: Clear tile + // tile 1 ? + // Water: + .value("RIVER", RIVER) // 2 + .value("REDGE", REDGE) // 3 + .value("CHANNEL", CHANNEL) // 4 + .value("FIRSTRIVEDGE", FIRSTRIVEDGE) // 5 + // tile 6 -- 19 ? + .value("LASTRIVEDGE", LASTRIVEDGE) // 20 + .value("WATER_LOW", WATER_LOW) // 2 (RIVER): First water tile + .value("WATER_HIGH", WATER_HIGH) // 20 (LASTRIVEDGE): Last water tile (inclusive) + .value("TREEBASE", TREEBASE) // 21 + .value("WOODS_LOW", WOODS_LOW) // 21 (TREEBASE) + .value("LASTTREE", LASTTREE) // 36 + .value("WOODS", WOODS) // 37 + .value("UNUSED_TRASH1", UNUSED_TRASH1) // 38 + .value("UNUSED_TRASH2", UNUSED_TRASH2) // 39 + .value("WOODS_HIGH", WOODS_HIGH) // 39 (UNUSED_TRASH2): Why is an 'UNUSED' tile used? + .value("WOODS2", WOODS2) // 40 + .value("WOODS3", WOODS3) // 41 + .value("WOODS4", WOODS4) // 42 + .value("WOODS5", WOODS5) // 43 + // Rubble (4 tiles) + .value("RUBBLE", RUBBLE) // 44 + .value("LASTRUBBLE", LASTRUBBLE) // 47 + .value("FLOOD", FLOOD) // 48 + // tile 49, 50 ? + .value("LASTFLOOD", LASTFLOOD) // 51 + .value("RADTILE", RADTILE) // 52: Radio-active contaminated tile + .value("UNUSED_TRASH3", UNUSED_TRASH3) // 53 + .value("UNUSED_TRASH4", UNUSED_TRASH4) // 54 + .value("UNUSED_TRASH5", UNUSED_TRASH5) // 55 + // Fire animation (8 tiles) + .value("FIRE", FIRE) // 56 + .value("FIREBASE", FIREBASE) // 56 (FIRE) + .value("LASTFIRE", LASTFIRE) // 63 + .value("HBRIDGE", HBRIDGE) // 64: Horizontal bridge + .value("ROADBASE", ROADBASE) // 64 (HBRIDGE) + .value("VBRIDGE", VBRIDGE) // 65: Vertical bridge + .value("ROADS", ROADS) // 66 + .value("ROADS2", ROADS2) // 67 + .value("ROADS3", ROADS3) // 68 + .value("ROADS4", ROADS4) // 69 + .value("ROADS5", ROADS5) // 70 + .value("ROADS6", ROADS6) // 71 + .value("ROADS7", ROADS7) // 72 + .value("ROADS8", ROADS8) // 73 + .value("ROADS9", ROADS9) // 74 + .value("ROADS10", ROADS10) // 75 + .value("INTERSECTION", INTERSECTION) // 76 + .value("HROADPOWER", HROADPOWER) // 77 + .value("VROADPOWER", VROADPOWER) // 78 + .value("BRWH", BRWH) // 79 + .value("LTRFBASE", LTRFBASE) // 80: First tile with low traffic + // tile 81 -- 94 ? + .value("BRWV", BRWV) // 95 + // tile 96 -- 110 ? + .value("BRWXXX1", BRWXXX1) // 111 + // tile 96 -- 110 ? + .value("BRWXXX2", BRWXXX2) // 127 + // tile 96 -- 110 ? + .value("BRWXXX3", BRWXXX3) // 143 + .value("HTRFBASE", HTRFBASE) // 144: First tile with high traffic + // tile 145 -- 158 ? + .value("BRWXXX4", BRWXXX4) // 159 + // tile 160 -- 174 ? + .value("BRWXXX5", BRWXXX5) // 175 + // tile 176 -- 190 ? + .value("BRWXXX6", BRWXXX6) // 191 + // tile 192 -- 205 ? + .value("LASTROAD", LASTROAD) // 206 + .value("BRWXXX7", BRWXXX7) // 207 + // Power lines + .value("HPOWER", HPOWER) // 208 + .value("VPOWER", VPOWER) // 209 + .value("LHPOWER", LHPOWER) // 210 + .value("LVPOWER", LVPOWER) // 211 + .value("LVPOWER2", LVPOWER2) // 212 + .value("LVPOWER3", LVPOWER3) // 213 + .value("LVPOWER4", LVPOWER4) // 214 + .value("LVPOWER5", LVPOWER5) // 215 + .value("LVPOWER6", LVPOWER6) // 216 + .value("LVPOWER7", LVPOWER7) // 217 + .value("LVPOWER8", LVPOWER8) // 218 + .value("LVPOWER9", LVPOWER9) // 219 + .value("LVPOWER10", LVPOWER10) // 220 + .value("RAILHPOWERV", RAILHPOWERV) // 221: Horizontal rail, vertical power + .value("RAILVPOWERH", RAILVPOWERH) // 222: Vertical rail, horizontal power + .value("POWERBASE", POWERBASE) // 208 (HPOWER) + .value("LASTPOWER", LASTPOWER) // 222 (RAILVPOWERH) + .value("UNUSED_TRASH6", UNUSED_TRASH6) // 223 + // Rail + .value("HRAIL", HRAIL) // 224 + .value("VRAIL", VRAIL) // 225 + .value("LHRAIL", LHRAIL) // 226 + .value("LVRAIL", LVRAIL) // 227 + .value("LVRAIL2", LVRAIL2) // 228 + .value("LVRAIL3", LVRAIL3) // 229 + .value("LVRAIL4", LVRAIL4) // 230 + .value("LVRAIL5", LVRAIL5) // 231 + .value("LVRAIL6", LVRAIL6) // 232 + .value("LVRAIL7", LVRAIL7) // 233 + .value("LVRAIL8", LVRAIL8) // 234 + .value("LVRAIL9", LVRAIL9) // 235 + .value("LVRAIL10", LVRAIL10) // 236 + .value("HRAILROAD", HRAILROAD) // 237 + .value("VRAILROAD", VRAILROAD) // 238 + .value("RAILBASE", RAILBASE) // 224 (HRAIL) + .value("LASTRAIL", LASTRAIL) // 238 (VRAILROAD) + .value("ROADVPOWERH", ROADVPOWERH) // 239: bogus? + // Residential zone tiles + .value("RESBASE", RESBASE) // 240: Empty residential, tiles 240--248 + .value("FREEZ", FREEZ) // 244: center-tile of 3x3 empty residential + .value("HOUSE", HOUSE) // 249: Single tile houses until 260 + .value("LHTHR", LHTHR) // 249 (HOUSE) + .value("HHTHR", HHTHR) // 260 + .value("RZB", RZB) // 265: center tile first 3x3 tile residential + .value("HOSPITALBASE", HOSPITALBASE) // 405: Center of hospital (tiles 405--413) + .value("HOSPITAL", HOSPITAL) // 409: Center of hospital (tiles 405--413) + .value("CHURCHBASE", CHURCHBASE) // 414: Center of church (tiles 414--422) + .value("CHURCH0BASE", CHURCH0BASE) // 414 (CHURCHBASE): numbered alias + .value("CHURCH", CHURCH) // 418: Center of church (tiles 414--422) + .value("CHURCH0", CHURCH0) // 418 (CHURCH): numbered alias + // Commercial zone tiles + .value("COMBASE", COMBASE) // 423: Empty commercial, tiles 423--431 + // tile 424 -- 426 ? + .value("COMCLR", COMCLR) // 427 + // tile 428 -- 435 ? + .value("CZB", CZB) // 436 + // tile 437 -- 608 ? + .value("COMLAST", COMLAST) // 609 + // tile 610, 611 ? + // Industrial zone tiles. + .value("INDBASE", INDBASE) // 612: Top-left tile of empty industrial zone. + .value("INDCLR", INDCLR) // 616: Center tile of empty industrial zone. + .value("LASTIND", LASTIND) // 620: Last tile of empty industrial zone. + // Industrial zone population 0, value 0: 621 -- 629 + .value("IND1", IND1) // 621: Top-left tile of first non-empty industry zone. + .value("IZB", IZB) // 625: Center tile of first non-empty industry zone. + // Industrial zone population 1, value 0: 630 -- 638 + // Industrial zone population 2, value 0: 639 -- 647 + .value("IND2", IND2) // 641 + .value("IND3", IND3) // 644 + // Industrial zone population 3, value 0: 648 -- 656 + .value("IND4", IND4) // 649 + .value("IND5", IND5) // 650 + // Industrial zone population 0, value 1: 657 -- 665 + // Industrial zone population 1, value 1: 666 -- 674 + // Industrial zone population 2, value 1: 675 -- 683 + .value("IND6", IND6) // 676 + .value("IND7", IND7) // 677 + // Industrial zone population 3, value 1: 684 -- 692 + .value("IND8", IND8) // 686 + .value("IND9", IND9) // 689 + // Seaport + .value("PORTBASE", PORTBASE) // 693: Top-left tile of the seaport. + .value("PORT", PORT) // 698: Center tile of the seaport. + .value("LASTPORT", LASTPORT) // 708: Last tile of the seaport. + .value("AIRPORTBASE", AIRPORTBASE) // 709 + // tile 710 ? + .value("RADAR", RADAR) // 711 + // tile 712 -- 715 ? + .value("AIRPORT", AIRPORT) // 716 + // tile 717 -- 744 ? + // Coal power plant (4x4). + .value("COALBASE", COALBASE) // 745: First tile of coal power plant. + .value("POWERPLANT", POWERPLANT) // 750: 'Center' tile of coal power plant. + .value("LASTPOWERPLANT", LASTPOWERPLANT) // 760: Last tile of coal power plant. + // Fire station (3x3). + .value("FIRESTBASE", FIRESTBASE) // 761: First tile of fire station. + .value("FIRESTATION", FIRESTATION) // 765: 'Center tile' of fire station. + // 769 last tile fire station. + .value("POLICESTBASE", POLICESTBASE) // 770 + // tile 771 -- 773 ? + .value("POLICESTATION", POLICESTATION) // 774 + // tile 775 -- 778 ? + // Stadium (4x4). + .value("STADIUMBASE", STADIUMBASE) // 779: First tile stadium. + .value("STADIUM", STADIUM) // 784: 'Center tile' stadium. + // Last tile stadium 794. + // tile 785 -- 799 ? + .value("FULLSTADIUM", FULLSTADIUM) // 800 + // tile 801 -- 810 ? + // Nuclear power plant (4x4). + .value("NUCLEARBASE", NUCLEARBASE) // 811: First tile nuclear power plant. + .value("NUCLEAR", NUCLEAR) // 816: 'Center' tile nuclear power plant. + .value("LASTZONE", LASTZONE) // 826: Also last tile nuclear power plant. + .value("LIGHTNINGBOLT", LIGHTNINGBOLT) // 827 + .value("HBRDG0", HBRDG0) // 828 + .value("HBRDG1", HBRDG1) // 829 + .value("HBRDG2", HBRDG2) // 830 + .value("HBRDG3", HBRDG3) // 831 + .value("HBRDG_END", HBRDG_END) // 832 + .value("RADAR0", RADAR0) // 832 + .value("RADAR1", RADAR1) // 833 + .value("RADAR2", RADAR2) // 834 + .value("RADAR3", RADAR3) // 835 + .value("RADAR4", RADAR4) // 836 + .value("RADAR5", RADAR5) // 837 + .value("RADAR6", RADAR6) // 838 + .value("RADAR7", RADAR7) // 839 + .value("FOUNTAIN", FOUNTAIN) // 840 + // tile 841 -- 843: fountain animation. + .value("INDBASE2", INDBASE2) // 844 + .value("TELEBASE", TELEBASE) // 844 (INDBASE2) + // tile 845 -- 850 ? + .value("TELELAST", TELELAST) // 851 + .value("SMOKEBASE", SMOKEBASE) // 852 + // tile 853 -- 859 ? + .value("TINYEXP", TINYEXP) // 860 + // tile 861 -- 863 ? + .value("SOMETINYEXP", SOMETINYEXP) // 864 + // tile 865 -- 866 ? + .value("LASTTINYEXP", LASTTINYEXP) // 867 + // tile 868 -- 882 ? + .value("TINYEXPLAST", TINYEXPLAST) // 883 + // tile 884 -- 915 ? + .value("COALSMOKE1", COALSMOKE1) // 916: Chimney animation at coal power plant (2, 0). + // 919 last animation tile for chimney at coal power plant (2, 0). + .value("COALSMOKE2", COALSMOKE2) // 920: Chimney animation at coal power plant (3, 0). + // 923 last animation tile for chimney at coal power plant (3, 0). + .value("COALSMOKE3", COALSMOKE3) // 924: Chimney animation at coal power plant (2, 1). + // 927 last animation tile for chimney at coal power plant (2, 1). + .value("COALSMOKE4", COALSMOKE4) // 928: Chimney animation at coal power plant (3, 1). + // 931 last animation tile for chimney at coal power plant (3, 1). + .value("FOOTBALLGAME1", FOOTBALLGAME1) // 932 + // tile 933 -- 939 ? + .value("FOOTBALLGAME2", FOOTBALLGAME2) // 940 + // tile 941 -- 947 ? + .value("VBRDG0", VBRDG0) // 948 + .value("VBRDG1", VBRDG1) // 949 + .value("VBRDG2", VBRDG2) // 950 + .value("VBRDG3", VBRDG3) // 951 + .value("NUKESWIRL1", NUKESWIRL1) // 952 + .value("NUKESWIRL2", NUKESWIRL2) // 953 + .value("NUKESWIRL3", NUKESWIRL3) // 954 + .value("NUKESWIRL4", NUKESWIRL4) // 955 + // Tiles 956-959 unused (originally) + // TILE_COUNT = 960, + // Extended zones: 956-1019 + .value("CHURCH1BASE", CHURCH1BASE) // 956 + .value("CHURCH1", CHURCH1) // 960 + .value("CHURCH1BASE", CHURCH1BASE) // 956 + .value("CHURCH1", CHURCH1) // 960 + .value("CHURCH2BASE", CHURCH2BASE) // 965 + .value("CHURCH2", CHURCH2) // 969 + .value("CHURCH3BASE", CHURCH3BASE) // 974 + .value("CHURCH3", CHURCH3) // 978 + .value("CHURCH4BASE", CHURCH4BASE) // 983 + .value("CHURCH4", CHURCH4) // 987 + .value("CHURCH5BASE", CHURCH5BASE) // 992 + .value("CHURCH5", CHURCH5) // 996 + .value("CHURCH6BASE", CHURCH6BASE) // 1001 + .value("CHURCH6", CHURCH6) // 1005 + .value("CHURCH7BASE", CHURCH7BASE) // 1010 + .value("CHURCH7", CHURCH7) // 1014 + .value("CHURCH7LAST", CHURCH7LAST) // 1018 + // Tiles 1020-1023 unused + .value("TILE_COUNT", TILE_COUNT) // 1024 + .value("TILE_INVALID", TILE_INVALID) // -1, Invalid tile (not used in the world map). + ; + + class_("SimSprite") + .property("name", &SimSprite::name) + .property("type", &SimSprite::type) + .property("frame", &SimSprite::frame) + .property("x", &SimSprite::x) + .property("y", &SimSprite::y) + .property("width", &SimSprite::width) + .property("height", &SimSprite::height) + .property("xOffset", &SimSprite::xOffset) + .property("yOffset", &SimSprite::yOffset) + .property("xHot", &SimSprite::xHot) + .property("yHot", &SimSprite::yHot) + .property("origX", &SimSprite::origX) + .property("origY", &SimSprite::origY) + .property("destX", &SimSprite::destX) + .property("destY", &SimSprite::destY) + .property("count", &SimSprite::count) + .property("soundCount", &SimSprite::soundCount) + .property("dir", &SimSprite::dir) + .property("newDir", &SimSprite::newDir) + .property("step", &SimSprite::step) + .property("flag", &SimSprite::flag) + .property("control", &SimSprite::control) + .property("turn", &SimSprite::turn) + .property("accel", &SimSprite::accel) + .property("speed", &SimSprite::speed) + ; + + class_("Micropolis") + + .constructor<>() + + // Simulation Control and Settings + .function("simTick", &Micropolis::simTick) + .function("setSpeed", &Micropolis::setSpeed) + .function("setGameLevel", &Micropolis::setGameLevel) + .function("setCityName", &Micropolis::setCityName) + .function("setYear", &Micropolis::setYear) + .function("pause", &Micropolis::pause) + .function("resume", &Micropolis::resume) + .function("setEnableDisasters", &Micropolis::setEnableDisasters) + .function("setAutoBudget", &Micropolis::setAutoBudget) + .function("setAutoBulldoze", &Micropolis::setAutoBulldoze) + .function("setAutoGoto", &Micropolis::setAutoGoto) + .function("setEnableSound", &Micropolis::setEnableSound) + .function("setDoAnimation", &Micropolis::setDoAnimation) + .function("doNewGame", &Micropolis::doNewGame) + .function("doBudget", &Micropolis::doBudget) + .function("doScoreCard", &Micropolis::doScoreCard) + .function("updateFunds", &Micropolis::updateFunds) + + // Game State and Statistics + .property("simSpeed", &Micropolis::simSpeed) + .property("simSpeedMeta", &Micropolis::simSpeedMeta) + .property("simPaused", &Micropolis::simPaused) + .property("disasterEvent", &Micropolis::disasterEvent) + .property("disasterWait", &Micropolis::disasterWait) + .property("scenario", &Micropolis::scenario) + .property("heatSteps", &Micropolis::heatSteps) + .property("heatFlow", &Micropolis::heatFlow) + .property("heatRule", &Micropolis::heatRule) + .property("heatWrap", &Micropolis::heatWrap) + .property("totalFunds", &Micropolis::totalFunds) + .property("cityPop", &Micropolis::cityPop) + .property("cityTime", &Micropolis::cityTime) + .property("cityYear", &Micropolis::cityYear) + .property("cityMonth", &Micropolis::cityMonth) + .property("cityYes", &Micropolis::cityYes) + .property("cityScore", &Micropolis::cityScore) + .property("cityClass", &Micropolis::cityClass) + .property("gameLevel", &Micropolis::gameLevel) + .property("mapSerial", &Micropolis::mapSerial) + .property("trafficAverage", &Micropolis::trafficAverage) + .property("pollutionAverage", &Micropolis::pollutionAverage) + .property("crimeAverage", &Micropolis::crimeAverage) + .property("landValueAverage", &Micropolis::landValueAverage) + .property("startingYear", &Micropolis::startingYear) + .property("generatedCitySeed", &Micropolis::generatedCitySeed) + .property("cityPopDelta", &Micropolis::cityPopDelta) + .property("cityAssessedValue", &Micropolis::cityAssessedValue) + .property("cityScoreDelta", &Micropolis::cityScoreDelta) + .property("trafficAverage", &Micropolis::trafficAverage) + .property("pollutionAverage", &Micropolis::pollutionAverage) + .property("crimeAverage", &Micropolis::crimeAverage) + .property("totalPop", &Micropolis::totalPop) + .property("totalZonePop", &Micropolis::totalZonePop) + .property("hospitalPop", &Micropolis::hospitalPop) + .property("churchPop", &Micropolis::churchPop) + .property("stadiumPop", &Micropolis::stadiumPop) + .property("coalPowerPop", &Micropolis::coalPowerPop) + .property("nuclearPowerPop", &Micropolis::nuclearPowerPop) + + // Resource Management + .property("roadTotal", &Micropolis::roadTotal) + .property("railTotal", &Micropolis::railTotal) + .property("resPop", &Micropolis::resPop) + .property("comPop", &Micropolis::comPop) + .property("indPop", &Micropolis::indPop) + .property("policeStationPop", &Micropolis::policeStationPop) + .property("fireStationPop", &Micropolis::fireStationPop) + .property("seaportPop", &Micropolis::seaportPop) + .property("airportPop", &Micropolis::airportPop) + .property("cashFlow", &Micropolis::cashFlow) + .property("cityTax", &Micropolis::cityTax) + .property("roadEffect", &Micropolis::roadEffect) + .property("policeEffect", &Micropolis::policeEffect) + .property("fireEffect", &Micropolis::fireEffect) + + // User Interface and Preferences + .property("autoGoto", &Micropolis::autoGoto) + .property("autoBudget", &Micropolis::autoBudget) + .property("autoBulldoze", &Micropolis::autoBulldoze) + .property("enableSound", &Micropolis::enableSound) + .property("enableDisasters", &Micropolis::enableDisasters) + .property("doAnimation", &Micropolis::doAnimation) + .property("doMessages", &Micropolis::doMessages) + .property("doNotices", &Micropolis::doNotices) + + // Gameplay Mechanics + .property("cityFileName", &Micropolis::cityFileName) + .property("cityName", &Micropolis::cityName) + .function("doTool", &Micropolis::doTool) + .function("generateMap", &Micropolis::generateMap) + .function("clearMap", &Micropolis::clearMap) + //.function("getDemands", &Micropolis::getDemands, allow_raw_pointers()) // TODO: wrap + + // Random Number Generation + .function("simRandom", &Micropolis::simRandom) + .function("getRandom", &Micropolis::getRandom) + .function("getRandom16", &Micropolis::getRandom16) + .function("getRandom16Signed", &Micropolis::getRandom16Signed) + .function("getERandom", &Micropolis::getERandom) + .function("randomlySeedRandom", &Micropolis::randomlySeedRandom) + .function("seedRandom", &Micropolis::seedRandom) + + // Game State and Data Access + .function("getTile", &Micropolis::getTile) + .function("setTile", &Micropolis::setTile) + .function("setFunds", &Micropolis::setFunds) + .function("updateMaps", &Micropolis::updateMaps) + .function("updateGraphs", &Micropolis::updateGraphs) + .function("updateEvaluation", &Micropolis::updateEvaluation) + .function("updateBudget", &Micropolis::updateBudget) + + // City History Arrays + //.function("getResidentialHistory", &Micropolis::getResidentialHistory, allow_raw_pointers()) // TODO: wrap + //.function("getCommercialHistory", &Micropolis::getCommercialHistory, allow_raw_pointers()) // TODO: wrap + //.function("getIndustrialHistory", &Micropolis::getIndustrialHistory, allow_raw_pointers()) // TODO: wrap + + // Events and Callbacks + .function("sendMessage", &Micropolis::sendMessage) + .function("makeSound", &Micropolis::makeSound) + + ; + +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/evaluate.cpp b/core/evaluate.cpp new file mode 100644 index 0000000..6d41d5e --- /dev/null +++ b/core/evaluate.cpp @@ -0,0 +1,573 @@ +/* evaluate.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file evaluate.cpp + * @brief Evaluation and scoring for Micropolis city simulation. + * + * This file is part of the Micropolis game engine and handles the + * evaluation and scoring aspects of a simulated city. It includes + * functions to assess city value, compute population, classify city + * based on population, evaluate city problems, vote on performance of + * the mayor, and calculate the overall city score. The scoring system + * considers various factors like crime, pollution, city class, road + * effectiveness, and more to determine the success and challenges of + * the city management. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +/** + * @todo: These strings should not be hard coded into the core simulator. + * The scripting language should look them up in translation files. + */ + +// City Classes: +// "VILLAGE", "TOWN", "CITY", "CAPITAL", "METROPOLIS", "MEGALOPOLIS" + +// City Levels: +// "Easy", "Medium", "Hard" + +// City Problems: +// "CRIME", "POLLUTION", "HOUSING COSTS", "TAXES", +// "TRAFFIC", "UNEMPLOYMENT", "FIRES" + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Evaluate city + * @todo Handle lack of voting explicitly + */ +void Micropolis::cityEvaluation() +{ + //printf("cityEvaluation totalPop %d\n", totalPop); + if (totalPop > 0) { + short problemTable[PROBNUM]; // Score for each problem, higher the more severe the problem is. + for (int z = 0; z < PROBNUM; z++) { + problemTable[z] = 0; + } + + getAssessedValue(); + doPopNum(); + doProblems(problemTable); + getScore(problemTable); + doVotes(); // How well is the mayor doing? + changeEval(); + } else { + evalInit(); + cityYes = 50; // No population => no voting. Let's say 50/50. + changeEval(); + } +} + + +/** + * Initialize evaluation variables + */ +void Micropolis::evalInit() +{ + cityYes = 0; + cityPop = 0; + cityPopDelta = 0; + cityAssessedValue = 0; + cityClass = CC_VILLAGE; + cityScore = 500; + cityScoreDelta = 0; + for (int i = 0; i < PROBNUM; i++) { + problemVotes[i] = 0; + } + for (int i = 0; i < CVP_PROBLEM_COMPLAINTS; i++) { + problemOrder[i] = CVP_NUMPROBLEMS; + } +} + + +/** + * Assess value of the city. + * @post #cityAssessedValue contains the total city value. + * @todo Make function return the value, or change the name of the function. + */ +void Micropolis::getAssessedValue() +{ + Quad z; + + z = roadTotal * 5; + z += railTotal * 10; + z += policeStationPop * 1000; + z += fireStationPop * 1000; + z += hospitalPop * 400; + z += stadiumPop * 3000; + z += seaportPop * 5000; + z += airportPop * 10000; + z += coalPowerPop * 3000; + z += nuclearPowerPop * 6000; + + cityAssessedValue = z * 1000; +} + + +/** + * Compute city population and city classification. + * @see cityPop cityClass. + */ +void Micropolis::doPopNum() +{ + Quad oldCityPop = cityPop; + + cityPop = getPopulation(); + + if (oldCityPop == -1) { + oldCityPop = cityPop; + } + + cityPopDelta = cityPop - oldCityPop; + cityClass = getCityClass(cityPop); +} + +/** Compute city population. */ +Quad Micropolis::getPopulation() +{ + Quad pop = (resPop + (comPop + indPop) * 8L) * 20L; + return pop; +} + + +/** + * Classify the city based on its population. + * @param cityPopulation Number of people in the city. + * @return City classification. + * @todo Put people counts into a table. + */ +CityClass Micropolis::getCityClass(Quad cityPopulation) +{ + CityClass cityClassification = CC_VILLAGE; + + if (cityPopulation > 2000) { + cityClassification = CC_TOWN; + } + if (cityPopulation > 10000) { + cityClassification = CC_CITY; + } + if (cityPopulation > 50000) { + cityClassification = CC_CAPITAL; + } + if (cityPopulation > 100000) { + cityClassification = CC_METROPOLIS; + } + if (cityPopulation > 500000) { + cityClassification = CC_MEGALOPOLIS; + } + + return cityClassification; +} + +/** + * Evaluate problems of the city, take votes, and decide which are the most + * important ones. + * @param problemTable Storage of how bad each problem is. + * @post \a problemTable contains severity of each problem, + * #problemVotes contains votes of each problem, + * #problemOrder contains (in decreasing order) the worst problems. + */ +void Micropolis::doProblems(short problemTable[PROBNUM]) +{ + bool problemTaken[PROBNUM]; // Which problems are taken? + + for (int z = 0; z < PROBNUM; z++) { + problemTaken[z] = false; + problemTable[z] = 0; + } + + problemTable[CVP_CRIME] = crimeAverage; /* Crime */ + problemTable[CVP_POLLUTION] = pollutionAverage; /* Pollution */ + problemTable[CVP_HOUSING] = landValueAverage * 7 / 10; /* Housing */ + problemTable[CVP_TAXES] = cityTax * 10; /* Taxes */ + problemTable[CVP_TRAFFIC] = getTrafficAverage(); /* Traffic */ + problemTable[CVP_UNEMPLOYMENT] = getUnemployment(); /* Unemployment */ + problemTable[CVP_FIRE] = getFireSeverity(); /* Fire */ + voteProblems(problemTable); + + for (int z = 0; z < CVP_PROBLEM_COMPLAINTS; z++) { + // Find biggest problem not taken yet + int maxVotes = 0; + int bestProblem = CVP_NUMPROBLEMS; + for (int i = 0; i < CVP_NUMPROBLEMS; i++) { + if ((problemVotes[i] > maxVotes) && (!problemTaken[i])) { + bestProblem = i; + maxVotes = problemVotes[i]; + } + } + + // bestProblem == CVP_NUMPROBLEMS means no problem found + problemOrder[z] = bestProblem; + if (bestProblem < CVP_NUMPROBLEMS) { + problemTaken[bestProblem] = true; + } + // else: No problem found. + // Repeating the procedure will give the same result. + // Optimize by filling all remaining entries, and breaking out + } +} + + +/** + * Vote on the problems of the city. + * @param problemTable Storage of how bad each problem is. + * + * @post problemVotes contains the vote counts + */ +void Micropolis::voteProblems(const short problemTable[PROBNUM]) +{ + for (int z = 0; z < PROBNUM; z++) { + problemVotes[z] = 0; + } + + int problem = 0; // Problem to vote for + int voteCount = 0; // Number of votes + int loopCount = 0; // Number of attempts + while (voteCount < 100 && loopCount < 600) { + if (getRandom(300) < problemTable[problem]) { + problemVotes[problem]++; + voteCount++; + } + problem++; + if (problem > PROBNUM) { + problem = 0; + } + loopCount++; + } +} + + +/** + * Compute average traffic in the city. + * @return Value representing how large the traffic problem is. + */ +short Micropolis::getTrafficAverage() +{ + Quad trafficTotal; + short x, y, count; + + trafficTotal = 0; + count = 1; + for (x=0; x < WORLD_W; x += landValueMap.MAP_BLOCKSIZE) { + for (y=0; y < WORLD_H; y += landValueMap.MAP_BLOCKSIZE) { + if (landValueMap.worldGet(x, y) > 0) { + trafficTotal += trafficDensityMap.worldGet(x, y); + count++; + } + } + } + + trafficAverage = (short)((trafficTotal / count) * 2.4); + + return trafficAverage; +} + + +/** + * Compute severity of unemployment + * @return Value representing the severity of unemployment problems + */ +short Micropolis::getUnemployment() +{ + short b = (comPop + indPop) * 8; + + if (b == 0) { + return 0; + } + + // Ratio total people / working. At least 1. + float r = ((float)resPop) / b; + + b = (short)((r - 1) * 255); // (r - 1) is the fraction unemployed people + return min(b, (short)255); +} + + +/** + * Compute severity of fire + * @return Value representing the severity of fire problems + */ +short Micropolis::getFireSeverity() +{ + return min(firePop * 5, 255); +} + + +/** + * Compute total score + * @param problemTable Storage of how bad each problem is. + */ +void Micropolis::getScore(const short problemTable[PROBNUM]) +{ + int x, z; + short cityScoreLast; + + cityScoreLast = cityScore; + x = 0; + + for (z = 0; z < CVP_NUMPROBLEMS; z++) { + x += problemTable[z]; /* add 7 probs */ + } + + /** + * @todo Should this expression depend on CVP_NUMPROBLEMS? + */ + x = x / 3; /* 7 + 2 average */ + x = min(x, 256); + + z = clamp((256 - x) * 4, 0, 1000); + + if (resCap) { + z = (int)(z * .85); + } + + if (comCap) { + z = (int)(z * .85); + } + + if (indCap) { + z = (int)(z * .85); + } + + if (roadEffect < MAX_ROAD_EFFECT) { + z -= MAX_ROAD_EFFECT - roadEffect; + } + + if (policeEffect < MAX_POLICE_STATION_EFFECT) { + // 10.0001 = 10000.1 / 1000, 1/10.0001 is about 0.1 + z = (int)(z * (0.9 + (policeEffect / (10.0001 * MAX_POLICE_STATION_EFFECT)))); + } + + if (fireEffect < MAX_FIRE_STATION_EFFECT) { + // 10.0001 = 10000.1 / 1000, 1/10.0001 is about 0.1 + z = (int)(z * (0.9 + (fireEffect / (10.0001 * MAX_FIRE_STATION_EFFECT)))); + } + + if (resValve < -1000) { + z = (int)(z * .85); + } + + if (comValve < -1000) { + z = (int)(z * .85); + } + + if (indValve < -1000) { + z = (int)(z * .85); + } + + float SM = 1.0; + if (cityPop == 0 || cityPopDelta == 0) { + SM = 1.0; // there is nobody or no migration happened + + } else if (cityPopDelta == cityPop) { + SM = 1.0; // city sprang into existence or doubled in size + + } else if (cityPopDelta > 0) { + SM = ((float)cityPopDelta / cityPop) + 1.0f; + + } else if (cityPopDelta < 0) { + SM = 0.95f + ((float)cityPopDelta / (cityPop - cityPopDelta)); + } + + z = (int)(z * SM); + z = z - getFireSeverity() - cityTax; // dec score for fires and taxes + + float TM = unpoweredZoneCount + poweredZoneCount; // dec score for unpowered zones + if (TM > 0.0) { + z = (int)(z * (float)(poweredZoneCount / TM)); + } else { + } + + z = clamp(z, 0, 1000); + + cityScore = (cityScore + z) / 2; + + cityScoreDelta = cityScore - cityScoreLast; +} + + +/** + * Vote whether the mayor is doing a good job + * @post #cityYes contains the number of 'yes' votes + */ +void Micropolis::doVotes() +{ + int z; + + cityYes = 0; + + for (z = 0; z < 100; z++) { + if (getRandom(1000) < cityScore) { + cityYes++; + } + } +} + + +/** Push new score to the user */ +void Micropolis::doScoreCard() +{ + // The user interface should pull these raw values out and format + // them. The simulator core used to format them and push them out, + // but the user interface should pull them out and format them + // itself. + + // City Evaluation ${FormatYear(currentYear())} + // Public Opinion + // Is the mayor doing a good job? + // Yes: ${FormatPercent(cityYes)} + // No: ${FormatPercent(100 - cityYes)} + // What are the worst problems? + // for i in range(0, CVP_PROBLEM_COMPLAINTS), + // while problemOrder[i] < CVP_NUMPROBLEMS: + // ${probStr[problemOrder[i]]}: + // ${FormatPercent(problemVotes[problemOrder[i]])} + // Statistics + // Population: ${FormatNumber(cityPop)} + // Net Migration: ${FormatNumber(cityPopDelta)} (last year) + // Assessed Value: ${FormatMoney(cityAssessedValue)) + // Category: ${cityClassStr[cityClass]} + // Game Level: ${cityLevelStr[gameLevel]} + + callback->updateEvaluation(this, callbackVal); +} + +/** Request that new score is displayed to the user. */ +void Micropolis::changeEval() +{ + //printf("changeEval\n"); + evalChanged = true; +} + + +/** Update the score after being requested. */ +void Micropolis::scoreDoer() +{ + //printf("scoreDoer evalChanged %d\n", evalChanged); + if (evalChanged) { + doScoreCard(); + evalChanged = false; + } +} + +/** + * Return number of problem in the city. + * @return Number of problems. + */ +int Micropolis::countProblems() +{ + int i; + for (i = 0; i < CVP_PROBLEM_COMPLAINTS; i++) { + if (problemOrder[i] == CVP_NUMPROBLEMS) { + break; + } + } + return i; +} + +/** + * Return the index of the \a i-th worst problem. + * @param i Number of the problem. + * @return Index into the #problemOrder table of the \a i-th problem. + * Returns \c -1 if such a problem does not exist. + */ +int Micropolis::getProblemNumber(int i) +{ + if (i < 0 || i >= CVP_PROBLEM_COMPLAINTS + || problemOrder[i] == CVP_NUMPROBLEMS) { + return -1; + } else { + return problemOrder[i]; + } +} + + +/** + * Return number of votes to solve the \a i-th worst problem. + * @param i Number of the problem. + * @return Number of votes to solve the \a i-th worst problem. + * Returns \c -1 if such a problem does not exist. + */ +int Micropolis::getProblemVotes(int i) +{ + if (i < 0 || i >= CVP_PROBLEM_COMPLAINTS + || problemOrder[i] == CVP_NUMPROBLEMS) { + return -1; + } else { + return problemVotes[problemOrder[i]]; + } +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/fileio.cpp b/core/fileio.cpp new file mode 100644 index 0000000..522f437 --- /dev/null +++ b/core/fileio.cpp @@ -0,0 +1,646 @@ +/* fileio.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file fileio.cpp + * @brief File I/O operations for Micropolis game engine. + * + * Implements file loading and saving functionalities for the + * Micropolis game engine. It includes endianess conversions for data + * compatibility between different architectures, loading and saving + * city files, handling scenario files, and various utility functions + * to support file I/O operations. It also includes functions to + * report file operations to the front-end. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +#ifdef IS_INTEL + +/** + * Convert an array of short values between MAC and Intel endian formats. + * @param buf Array with shorts. + * @param len Number of short values in the array. + */ +#define SWAP_SHORTS(buf, len) swap_shorts(buf, len) + +/** + * Convert an array of long values between MAC and Intel endian formats. + * @param buf Array with longs. + * @param len Number of long values in the array. + */ +#define HALF_SWAP_LONGS(buf, len) half_swap_longs(buf, len) + +/** + * Swap upper and lower byte of all shorts in the array. + * @param buf Array with shorts. + * @param len Number of short values in the array. + */ +static void swap_shorts(short *buf, int len) +{ + int i; + + /* Flip bytes in each short! */ + for (i = 0; i < len; i++) { + *buf = ((*buf & 0xFF) <<8) | ((*buf &0xFF00) >>8); + buf++; + } +} + + +/** + * Swap upper and lower words of all longs in the array. + * @param buf Array with longs. + * @param len Number of long values in the array. + */ +static void half_swap_longs(long *buf, int len) +{ + int i; + + /* Flip bytes in each long! */ + for (i = 0; i < len; i++) { + long l = *buf; + *buf = + ((l & 0x0000ffff) << 16) | + ((l & 0xffff0000) >> 16); + buf++; + } +} + + +#else + + +/** + * Convert an array of short values between MAC and MAC endian formats. + * @param buf Array with shorts. + * @param len Number of short values in the array. + * @note This version does not change anything since the data is already in the + * correct format. + */ +#define SWAP_SHORTS(buf, len) + +/** + * Convert an array of long values between MAC and MAC endian formats. + * @param buf Array with longs. + * @param len Number of long values in the array. + * @note This version does not change anything since the data is already in the + * correct format. + */ +#define HALF_SWAP_LONGS(buf, len) + + +#endif + +/** + * Load an array of short values from file to memory. + * + * Convert to the correct processor architecture, if necessary. + * @param buf Buffer to put the loaded short values in. + * @param len Number of short values to load. + * @param f File handle of the file to load from. + * @return Load was succesfull. + */ +static bool load_short(short *buf, int len, FILE *f) +{ + size_t result = fread(buf, sizeof(short), len, f); + + if ((int)result != len) { + return false; + } + + SWAP_SHORTS(buf, len); /* to intel */ + + return true; +} + + +/** + * Save an array of short values from memory to file. + * + * Convert to the correct endianness first, if necessary. + * @param buf Buffer containing the short values to save. + * @param len Number of short values to save. + * @param f File handle of the file to save to. + * @return Save was succesfull. + */ +static bool save_short(short *buf, int len, FILE *f) +{ + SWAP_SHORTS(buf, len); /* to MAC */ + + if ((int)fwrite(buf, sizeof(short), len, f) != len) { + return false; + } + + SWAP_SHORTS(buf, len); /* back to intel */ + + return true; +} + +/** + * Load a city file from a given filename and (optionally) directory. + * @param filename Name of the file to load. + * @param dir If not \c NULL, name of the directory containing the file. + * @return Load was succesfull. + */ +bool Micropolis::loadFileData(const std::string &filename) +{ + FILE *f; + Quad size; + + // Open the file. + f = fopen(filename.c_str(), "rb"); + + // open() failed; report failure. + if (f == NULL) { + return false; + } + + fseek(f, 0L, SEEK_END); + size = ftell(f); + fseek(f, 0L, SEEK_SET); + + bool result = + (size == 27120) && + load_short(resHist, HISTORY_LENGTH / sizeof(short), f) && + load_short(comHist, HISTORY_LENGTH / sizeof(short), f) && + load_short(indHist, HISTORY_LENGTH / sizeof(short), f) && + load_short(crimeHist, HISTORY_LENGTH / sizeof(short), f) && + load_short(pollutionHist, HISTORY_LENGTH / sizeof(short), f) && + load_short(moneyHist, HISTORY_LENGTH / sizeof(short), f) && + load_short(miscHist, MISC_HISTORY_LENGTH / sizeof(short), f) && + load_short(((short *)&map[0][0]), WORLD_W * WORLD_H, f); + + fclose(f); + + return result; +} + +/** + * Load a file, and initialize the game variables. + * @param filename Name of the file to load. + * @return Load was succesfull. + */ +bool Micropolis::loadFile(const std::string &filename) +{ + long n; + + if (!loadFileData(filename)) { + return false; + } + + /* total funds is a long..... miscHist is array of shorts */ + /* total funds is being put in the 50th & 51th word of miscHist */ + /* find the address, cast the ptr to a longPtr, take contents */ + + n = *(Quad *)(miscHist + 50); + HALF_SWAP_LONGS(&n, 1); + setFunds(n); + + n = *(Quad *)(miscHist + 8); + HALF_SWAP_LONGS(&n, 1); + cityTime = n; + + setAutoBulldoze(miscHist[52] != 0); // flag for autoBulldoze + setAutoBudget(miscHist[53] != 0); // flag for autoBudget + setAutoGoto(miscHist[54] != 0); // flag for auto-goto + setEnableSound(miscHist[55] != 0); // flag for the sound on/off + setCityTax(miscHist[56]); + setSpeed(miscHist[57]); + changeCensus(); + mustUpdateOptions = true; + + /* yayaya */ + + n = *(Quad *)(miscHist + 58); + HALF_SWAP_LONGS(&n, 1); + policePercent = ((float)n) / ((float)65536); + + n = *(Quad *)(miscHist + 60); + HALF_SWAP_LONGS(&n, 1); + firePercent = (float)n / (float)65536.0; + + n = *(Quad *)(miscHist + 62); + HALF_SWAP_LONGS(&n, 1); + roadPercent = (float)n / (float)65536.0; + + policePercent = + (float)(*(Quad*)(miscHist + 58)) / + (float)65536.0; /* and 59 */ + firePercent = + (float)(*(Quad*)(miscHist + 60)) / + (float)65536.0; /* and 61 */ + roadPercent = + (float)(*(Quad*)(miscHist + 62)) / + (float)65536.0; /* and 63 */ + + cityTime = max((Quad)0, cityTime); + + // If the tax is nonsensical, set it to a reasonable value. + if (cityTax > 20 || cityTax < 0) { + setCityTax(7); + } + + // If the speed is nonsensical, set it to a reasonable value. + if (simSpeed < 0 || simSpeed > 3) { + setSpeed(3); + } + + setSpeed(simSpeed); + setPasses(1); + initFundingLevel(); + + // Set the scenario id to 0. + initWillStuff(); + scenario = SC_NONE; + initSimLoad = 1; + doInitialEval = false; + doSimInit(); + invalidateMaps(); + + return true; +} + + +/** + * Save a game to disk. + * @param filename Name of the file to use for storing the game. + * @return The game was saved successfully. + */ +bool Micropolis::saveFile(const std::string &filename) +{ + long n; + FILE *f; + + if ((f = fopen(filename.c_str(), "wb")) == NULL) { + /// @todo Report error saving file. + return false; + } + + /* total funds is a long..... miscHist is array of ints */ + /* total funds is bien put in the 50th & 51th word of miscHist */ + /* find the address, cast the ptr to a longPtr, take contents */ + + n = totalFunds; + HALF_SWAP_LONGS(&n, 1); + (*(Quad *)(miscHist + 50)) = n; + + n = cityTime; + HALF_SWAP_LONGS(&n, 1); + (*(Quad *)(miscHist + 8)) = n; + + miscHist[52] = autoBulldoze; // flag for autoBulldoze + miscHist[53] = autoBudget; // flag for autoBudget + miscHist[54] = autoGoto; // flag for auto-goto + miscHist[55] = enableSound; // flag for the sound on/off + miscHist[57] = simSpeed; + miscHist[56] = cityTax; /* post release */ + + /* yayaya */ + + n = (int)(policePercent * 65536); + HALF_SWAP_LONGS(&n, 1); + (*(Quad *)(miscHist + 58)) = n; + + n = (int)(firePercent * 65536); + HALF_SWAP_LONGS(&n, 1); + (*(Quad *)(miscHist + 60)) = n; + + n = (int)(roadPercent * 65536); + HALF_SWAP_LONGS(&n, 1); + (*(Quad *)(miscHist + 62)) = n; + + bool result = + save_short(resHist, HISTORY_LENGTH / 2, f) && + save_short(comHist, HISTORY_LENGTH / 2, f) && + save_short(indHist, HISTORY_LENGTH / 2, f) && + save_short(crimeHist, HISTORY_LENGTH / 2, f) && + save_short(pollutionHist, HISTORY_LENGTH / 2, f) && + save_short(moneyHist, HISTORY_LENGTH / 2, f) && + save_short(miscHist, MISC_HISTORY_LENGTH / 2, f) && + save_short(((short *)&map[0][0]), WORLD_W * WORLD_H, f); + + fclose(f); + + return result; +} + + +/** + * Load a scenario. + * @param s Scenario to load. + * @note \a s cannot be \c SC_NONE. + */ +void Micropolis::loadScenario(Scenario s) +{ + std::string name = NULL; + std::string fname = NULL; + + cityFileName = ""; + + setGameLevel(LEVEL_EASY); + + if (s < SC_DULLSVILLE || s > SC_RIO) { + s = SC_DULLSVILLE; + } + + switch (s) { + case SC_DULLSVILLE: + name = "Dullsville"; + fname = "cities/scenario_dullsville.cty"; + scenario = SC_DULLSVILLE; + cityTime = ((1900 - 1900) * 48) + 2; + setFunds(5000); + break; + case SC_SAN_FRANCISCO: + name = "San Francisco"; + fname = "cities/scenario_san_francisco.cty"; + scenario = SC_SAN_FRANCISCO; + cityTime = ((1906 - 1900) * 48) + 2; + setFunds(20000); + break; + case SC_HAMBURG: + name = "Hamburg"; + fname = "cities/scenario_hamburg.cty"; + scenario = SC_HAMBURG; + cityTime = ((1944 - 1900) * 48) + 2; + setFunds(20000); + break; + case SC_BERN: + name = "Bern"; + fname = "cities/scenario_bern.cty"; + scenario = SC_BERN; + cityTime = ((1965 - 1900) * 48) + 2; + setFunds(20000); + break; + case SC_TOKYO: + name = "Tokyo"; + fname = "cities/scenario_tokyo.cty"; + scenario = SC_TOKYO; + cityTime = ((1957 - 1900) * 48) + 2; + setFunds(20000); + break; + case SC_DETROIT: + name = "Detroit"; + fname = "cities/scenario_detroit.cty"; + scenario = SC_DETROIT; + cityTime = ((1972 - 1900) * 48) + 2; + setFunds(20000); + break; + case SC_BOSTON: + name = "Boston"; + fname = "cities/scenario_boston.cty"; + scenario = SC_BOSTON; + cityTime = ((2010 - 1900) * 48) + 2; + setFunds(20000); + break; + case SC_RIO: + name = "Rio de Janeiro"; + fname = "cities/scenario_rio_de_janeiro.cty"; + scenario = SC_RIO; + cityTime = ((2047 - 1900) * 48) + 2; + setFunds(20000); + break; + default: + NOT_REACHED(); + break; + } + + setCleanCityName(name); + setSpeed(3); + setCityTax(7); + + loadFileData(fname); + + initWillStuff(); + initFundingLevel(); + updateFunds(); + invalidateMaps(); + initSimLoad = 1; + doInitialEval = false; + doSimInit(); + didLoadScenario(s, name, fname); +} + + +/** Report to the front-end that the scenario was loaded. */ +void Micropolis::didLoadScenario(int s, const std::string name, const std::string fname) +{ + callback->didLoadScenario(this, callbackVal, name, fname); +} + +/** + * Try to load a new game from disk. + * @param filename Name of the file to load. + * @return Game was loaded successfully. + * @todo In what state is the game left when loading fails? + * @todo String normalization code is duplicated in Micropolis::saveCityAs(). + * Extract to a sub-function. + * @bug Function fails if \c lastDotdidLoadCity(this, callbackVal, filename); +} + + +/** + * Report to the frontend that the game failed to load. + * @param msg File that attempted to load + */ +void Micropolis::didntLoadCity(const std::string &filename) +{ + callback->didntLoadCity(this, callbackVal, filename); +} + + +/** + * Try to save the game. + * @todo This is a no-op if the Micropolis::cityFileName is empty. + * In that case, we should probably warn the user about the failure. + */ +void Micropolis::saveCity() +{ + if (cityFileName.length() > 0) { + + doSaveCityAs(cityFileName); + + } else { + if (saveFile(cityFileName)) { + + didSaveCity(cityFileName); + + } else { + + didntSaveCity(cityFileName); + + } + } +} + + +/** + * Report to the frontend that the city is being saved. + * @param filename Name of the file used + */ +void Micropolis::doSaveCityAs(const std::string &filename) +{ + callback->saveCityAs(this, callbackVal, filename); +} + + +/** + * Report to the frontend that the city was saved successfully. + * @param filename Name of the file used + */ +void Micropolis::didSaveCity(const std::string &filename) +{ + callback->didSaveCity(this, callbackVal, filename); +} + + +/** + * Report to the frontend that the city could not be saved. + * @param filename Name of the file used + */ +void Micropolis::didntSaveCity(const std::string &filename) +{ + callback->didntSaveCity(this, callbackVal, filename); +} + + +/** + * Save the city under a new name (?) + * @param filename Name of the file to use for storing the game. + * @todo String normalization code is duplicated in Micropolis::loadCity(). + * Extract to a sub-function. + * @bug Function fails if \c lastDot. + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file frontendmessage.cpp + * @brief Implementation of frontend message handling in the + * Micropolis engine. + * + * This file is part of the Micropolis game engine. It defines the + * FrontendMessage class and its subclasses, which are used to handle + * communication between the game engine and the frontend. This + * includes sending messages about tool actions and sound effects. The + * design allows for a flexible way of notifying the frontend about + * various events happening within the game engine. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// +// Frontend message storage + + +/** Base class constructor. */ +FrontendMessage::FrontendMessage() +{ +} + + +/** Base class destructor. */ +FrontendMessage::~FrontendMessage() +{ +} + + +/** + * @fn void FrontendMessage::sendMessage(Micropolis *sim) + * @brief Send the message to the front-end. + * @param sim Simulator instance to use. + */ + + + +FrontendMessageDidTool::FrontendMessageDidTool(const std::string &tool, int x, int y) +{ + this->tool = tool; + this->x = x; + this->y = y; +} + + +FrontendMessageDidTool::~FrontendMessageDidTool() +{ +} + + +void FrontendMessageDidTool::sendMessage(Micropolis *sim) const +{ + sim->didTool(this->tool, this->x, this->y); +} + + +FrontendMessageMakeSound::FrontendMessageMakeSound( + const std::string &channel, + const std::string &sound, + int x, int y) +{ + this->channel = channel; + this->sound = sound; + this->x = x; + this->y = y; +} + + +FrontendMessageMakeSound::~FrontendMessageMakeSound() +{ +} + + +void FrontendMessageMakeSound::sendMessage(Micropolis *sim) const +{ + sim->makeSound(this->channel, this->sound, this->x, this->y); +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/frontendmessage.h b/core/frontendmessage.h new file mode 100644 index 0000000..7e27978 --- /dev/null +++ b/core/frontendmessage.h @@ -0,0 +1,141 @@ +/* frontendmessage.h + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file frontendmessage.h + * @brief Defines classes for handling messages between the game + * engine and the GUI frontend. + * + * This header file includes class definitions for managing and + * sending messages from the Micropolis game engine to the graphical + * user interface (GUI) frontend. It facilitates communication and + * interactions between the game's backend and frontend, ensuring a + * responsive and dynamic user experience. Classes defined here + * include the general `FrontendMessage` class and its specialized + * subclasses such as `FrontendMessageDidTool` and + * `FrontendMessageMakeSound` for specific message types. + */ + + +#ifndef _H_FRONTENDMESSAGE +#define _H_FRONTENDMESSAGE + + +//////////////////////////////////////////////////////////////////////// + + +class Micropolis; // Forward declaration. + + +/** A message to the GUI frontend. */ +class FrontendMessage { + +public: + + FrontendMessage(); + + virtual ~FrontendMessage(); + + virtual void sendMessage(Micropolis *sim) const = 0; + +}; + + +/** Store a 'didTool' message. */ +class FrontendMessageDidTool : public FrontendMessage { + +public: + + std::string tool; + int x, y; + + FrontendMessageDidTool(const std::string &tool, int x, int y); + + virtual ~FrontendMessageDidTool(); + + virtual void sendMessage(Micropolis *sim) const; + +}; + + +/** Store a 'makeSound' message. */ +class FrontendMessageMakeSound : public FrontendMessage { + +public: + + std::string channel; + std::string sound; + int x, y; + + FrontendMessageMakeSound(const std::string &channel, const std::string &sound, int x, int y); + + virtual ~FrontendMessageMakeSound(); + + virtual void sendMessage(Micropolis *sim) const; + +}; + + +//////////////////////////////////////////////////////////////////////// + + +#endif diff --git a/core/generate.cpp b/core/generate.cpp new file mode 100644 index 0000000..e7e4e4e --- /dev/null +++ b/core/generate.cpp @@ -0,0 +1,761 @@ +/* generate.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file generate.cpp + * @brief Contains functions related to terrain generation in + * Micropolis. + * + * This file is a part of Micropolis and is responsible for generating + * various terrain features such as rivers, lakes, islands, and + * forests. It includes functions for creating randomized maps and + * modifying terrain features. The terrain generation methods take + * into account different parameters like seed value for random + * generation and terrain characteristics to create diverse and unique + * city landscapes. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Create a new map for a city. + * @bug We use a random number generator to draw a seed for initializing the + * random number generator? + */ +void Micropolis::generateSomeRandomCity() +{ + generateSomeCity(getRandom16()); +} + + +/** + * Generate a map for a city. + * @param seed Random number generator initializing seed + */ +void Micropolis::generateSomeCity(int seed) +{ + cityFileName = ""; + + generateMap(seed); + scenario = SC_NONE; + cityTime = 0; + initSimLoad = 2; + doInitialEval = false; + + initWillStuff(); + resetMapState(); + resetEditorState(); + invalidateMaps(); + updateFunds(); + doSimInit(); + + simUpdate(); + + callback->didGenerateMap(this, callbackVal, seed); +} + + +/** + * Generate a map. + * @param seed Initialization seed for the random generator. + */ +void Micropolis::generateMap(int seed) +{ + generatedCitySeed = seed; + + seedRandom(seed); + + // Construct land. + if (terrainCreateIsland < 0) { + if (getRandom(100) < 10) { /* chance that island is generated */ + makeIsland(); + return; + } + } + + if (terrainCreateIsland == 1) { + makeNakedIsland(); + } else { + clearMap(); + } + + // Lay a river. + if (terrainCurveLevel != 0) { + int terrainXStart = 40 + getRandom(WORLD_W - 80); + int terrainYStart = 33 + getRandom(WORLD_H - 67); + + Position terrainPos(terrainXStart, terrainYStart); + + doRivers(terrainPos); + } + + // Lay a few lakes. + if (terrainLakeLevel != 0) { + makeLakes(); + } + + smoothRiver(); + + // And add trees. + if (terrainTreeLevel != 0) { + doTrees(); + } + +} + + +/** Clear the whole world to ::DIRT tiles */ +void Micropolis::clearMap() +{ + short x, y; + + for (x = 0; x < WORLD_W; x++) { + for (y = 0; y < WORLD_H; y++) { + map[x][y] = DIRT; + } + } +} + + +/** Clear everything from all land */ +void Micropolis::clearUnnatural() +{ + short x, y; + + for (x = 0; x < WORLD_W; x++) { + for (y = 0; y < WORLD_H; y++) { + if (map[x][y] > WOODS) { + map[x][y] = DIRT; + } + } + } +} + +/** + * Construct a plain island as world, surrounded by 5 tiles of river. + */ +void Micropolis::makeNakedIsland() +{ + const int terrainIslandRadius = ISLAND_RADIUS; + int x, y; + + for (x = 0; x < WORLD_W; x++) { + for (y = 0; y < WORLD_H; y++) { + if ((x < 5) || (x >= WORLD_W - 5) || + (y < 5) || (y >= WORLD_H - 5)) { + map[x][y] = RIVER; + } else { + map[x][y] = DIRT; + } + } + } + + for (x = 0; x < WORLD_W - 5; x += 2) { + + int mapY = getERandom(terrainIslandRadius); + plopBRiver(Position(x, mapY)); + + mapY = (WORLD_H - 10) - getERandom(terrainIslandRadius); + plopBRiver(Position(x, mapY)); + + plopSRiver(Position(x, 0)); + plopSRiver(Position(x, WORLD_H - 6)); + } + + for (y = 0; y < WORLD_H - 5; y += 2) { + + int mapX = getERandom(terrainIslandRadius); + plopBRiver(Position(mapX, y)); + + mapX = (WORLD_W - 10) - getERandom(terrainIslandRadius); + plopBRiver(Position(mapX, y)); + + plopSRiver(Position(0, y)); + plopSRiver(Position(WORLD_W - 6, y)); + } + +} + + +/** Construct a new world as an island */ +void Micropolis::makeIsland() +{ + makeNakedIsland(); + smoothRiver(); + doTrees(); +} + + +/** + * Make a number of lakes, depending on the Micropolis::terrainLakeLevel. + */ +void Micropolis::makeLakes() +{ + short numLakes; + + if (terrainLakeLevel < 0) { + numLakes = getRandom(10); + } else { + numLakes = terrainLakeLevel / 2; + } + + while (numLakes > 0) { + int x = getRandom(WORLD_W - 21) + 10; + int y = getRandom(WORLD_H - 20) + 10; + + makeSingleLake(Position(x, y)); + + numLakes--; + } +} + +/** + * Make a random lake at \a pos. + * @param pos Rough position of the lake. + */ +void Micropolis::makeSingleLake(const Position &pos) +{ + int numPlops = getRandom(12) + 2; + + while (numPlops > 0) { + Position plopPos(pos, getRandom(12) - 6, getRandom(12) - 6); + + if (getRandom(4)) { + plopSRiver(plopPos); + } else { + plopBRiver(plopPos); + } + + numPlops--; + } +} + + +/** + * Splash a bunch of trees down near (\a xloc, \a yloc). + * + * Amount of trees is controlled by Micropolis::terrainTreeLevel. + * @param xloc Horizontal position of starting point for splashing trees. + * @param yloc Vertical position of starting point for splashing trees. + * @note Trees are not smoothed. + * @bug Function generates trees even if Micropolis::terrainTreeLevel is 0. + */ +void Micropolis::treeSplash(short xloc, short yloc) +{ + short numTrees; + + if (terrainTreeLevel < 0) { + numTrees = getRandom(150) + 50; + } else { + numTrees = getRandom(100 + (terrainTreeLevel * 2)) + 50; + } + + Position treePos(xloc, yloc); + + while (numTrees > 0) { + Direction2 dir = (Direction2)(DIR2_NORTH + getRandom(7)); + treePos.move(dir); + + if (!treePos.testBounds()) { + return; + } + + if ((map[treePos.posX][treePos.posY] & LOMASK) == DIRT) { + map[treePos.posX][treePos.posY] = WOODS | BLBNBIT; + } + + numTrees--; + } +} + + +/** Splash trees around the world. */ +void Micropolis::doTrees() +{ + short Amount, x, xloc, yloc; + + if (terrainTreeLevel < 0) { + Amount = getRandom(100) + 50; + } else { + Amount = terrainTreeLevel + 3; + } + + for (x = 0; x < Amount; x++) { + xloc = getRandom(WORLD_W - 1); + yloc = getRandom(WORLD_H - 1); + treeSplash(xloc, yloc); + } + + smoothTrees(); + smoothTrees(); +} + + +void Micropolis::smoothRiver() +{ + static short dx[4] = { -1, 0, 1, 0 }; + static short dy[4] = { 0, 1, 0, -1 }; + static short REdTab[16] = { + 13 | BULLBIT, 13 | BULLBIT, 17 | BULLBIT, 15 | BULLBIT, + 5 | BULLBIT, 2, 19 | BULLBIT, 17 | BULLBIT, + 9 | BULLBIT, 11 | BULLBIT, 2, 13 | BULLBIT, + 7 | BULLBIT, 9 | BULLBIT, 5 | BULLBIT, 2 }; + + short bitIndex, z, xTemp, yTemp; + short temp, x, y; + + for (x = 0; x < WORLD_W; x++) { + for (y = 0; y < WORLD_H; y++) { + + if (map[x][y] == REDGE) { + bitIndex = 0; + + for (z = 0; z < 4; z++) { + bitIndex = bitIndex << 1; + xTemp = x + dx[z]; + yTemp = y + dy[z]; + if (testBounds(xTemp, yTemp) && + ((map[xTemp][yTemp] & LOMASK) != DIRT) && + (((map[xTemp][yTemp] & LOMASK) < WOODS_LOW) || + ((map[xTemp][yTemp] & LOMASK) > WOODS_HIGH))) { + bitIndex++; + } + } + + temp = REdTab[bitIndex & 15]; + + if ((temp != RIVER) && + getRandom(1)) { + temp++; + } + + map[x][y] = temp; + } + } + } +} + + +bool Micropolis::isTree(MapValue cell) +{ + if ((cell & LOMASK) >= WOODS_LOW && (cell & LOMASK) <= WOODS_HIGH) { + return true; + } + + return false; +} + + +void Micropolis::smoothTrees() +{ + short x, y; + for (x = 0; x < WORLD_W; x++) { + for (y = 0; y < WORLD_H; y++) { + if (isTree(map[x][y])) { + smoothTreesAt(x, y, false); + } + } + } +} + +/** Temporary function to prevent breaking a lot of code. */ +void Micropolis::smoothTreesAt(int x, int y, bool preserve) +{ + ToolEffects effects(this); + + smoothTreesAt(x, y, preserve, &effects); + effects.modifyWorld(); +} + + +/** + * Smooth trees at a position. + */ +void Micropolis::smoothTreesAt(int x, int y, bool preserve, + ToolEffects *effects) +{ + static short dx[4] = { -1, 0, 1, 0 }; + static short dy[4] = { 0, 1, 0, -1 }; + static const short treeTable[16] = { + 0, 0, 0, 34, + 0, 0, 36, 35, + 0, 32, 0, 33, + 30, 31, 29, 37, + }; + + if (!isTree(effects->getMapValue(x, y))) { + return; + } + + int bitIndex = 0; + int z; + for (z = 0; z < 4; z++) { + bitIndex = bitIndex << 1; + int xTemp = x + dx[z]; + int yTemp = y + dy[z]; + if (testBounds(xTemp, yTemp) + && isTree(effects->getMapValue(xTemp, yTemp))) { + bitIndex++; + } + } + + int temp = treeTable[bitIndex & 15]; + if (temp) { + if (temp != WOODS) { + if ((x + y) & 1) { + temp = temp - 8; + } + } + effects->setMapValue(x, y, temp | BLBNBIT); + } else { + if (!preserve) { + effects->setMapValue(x, y, temp); + } + } +} + + +/** + * Construct rivers. + * @param terrainPos Coordinate to start making a river. + */ +void Micropolis::doRivers(const Position &terrainPos) +{ + Direction2 riverDir; // Global direction of the river + Direction2 terrainDir; // Local direction of the river + + riverDir = (Direction2)(DIR2_NORTH + (getRandom(3) * 2)); + doBRiver(terrainPos, riverDir, riverDir); + + riverDir = rotate180(riverDir); + terrainDir = doBRiver(terrainPos, riverDir, riverDir); + + riverDir = (Direction2)(DIR2_NORTH + (getRandom(3) * 2)); + doSRiver(terrainPos, riverDir, terrainDir); +} + + +/** + * Make a big river. + * @param pos Start position of making a river. + * @param riverDir Global direction of the river. + * @param terrainDir Local direction of the terrain. + * @return Last used local terrain direction. + */ +Direction2 Micropolis::doBRiver(const Position &riverPos, + Direction2 riverDir, Direction2 terrainDir) +{ + int rate1, rate2; + + if (terrainCurveLevel < 0) { + rate1 = 100; + rate2 = 200; + } else { + rate1 = terrainCurveLevel + 10; + rate2 = terrainCurveLevel + 100; + } + + Position pos(riverPos); + + while (testBounds(pos.posX + 4, pos.posY + 4)) { + plopBRiver(pos); + if (getRandom(rate1) < 10) { + terrainDir = riverDir; + } else { + if (getRandom(rate2) > 90) { + terrainDir = rotate45(terrainDir); + } + if (getRandom(rate2) > 90) { + terrainDir = rotate45(terrainDir, 7); + } + } + pos.move(terrainDir); + } + + return terrainDir; +} + +/** + * Make a small river. + * @param pos Start position of making a river. + * @param riverDir Global direction of the river. + * @param terrainDir Local direction of the terrain. + * @return Last used local terrain direction. + */ +Direction2 Micropolis::doSRiver(const Position &riverPos, + Direction2 riverDir, Direction2 terrainDir) +{ + int rate1, rate2; + + if (terrainCurveLevel < 0) { + rate1 = 100; + rate2 = 200; + } else { + rate1 = terrainCurveLevel + 10; + rate2 = terrainCurveLevel + 100; + } + + Position pos(riverPos); + + while (testBounds(pos.posX + 3, pos.posY + 3)) { + //printf("doSRiver %d %d td %d rd %d\n", pos.posX, pos.posY, terrainDir, riverDir); + plopSRiver(pos); + if (getRandom(rate1) < 10) { + terrainDir = riverDir; + } else { + if (getRandom(rate2) > 90) { + terrainDir = rotate45(terrainDir); + } + if (getRandom(rate2) > 90) { + terrainDir = rotate45(terrainDir, 7); + } + } + pos.move(terrainDir); + } + + return terrainDir; +} + + +/** + * Put \a mChar onto the map at position \a xLoc, \a yLoc if possible. + * @param mChar Map value to put ont the map. + * @param xLoc Horizontal position at the map to put \a mChar. + * @param yLoc Vertical position at the map to put \a mChar. + */ +void Micropolis::putOnMap(MapValue mChar, short xLoc, short yLoc) +{ + if (mChar == 0) { + return; + } + + if (!testBounds(xLoc, yLoc)) { + return; + } + + MapValue temp = map[xLoc][yLoc]; + + if (temp != DIRT) { + temp = temp & LOMASK; + if (temp == RIVER) { + if (mChar != CHANNEL) { + return; + } + } + if (temp == CHANNEL) { + return; + } + } + map[xLoc][yLoc] = mChar; +} + +/** + * Put down a big river diamond-like shape. + * @param pos Base coordinate of the blob (top-left position). + */ +void Micropolis::plopBRiver(const Position &pos) +{ + short x, y; + static MapValue BRMatrix[9][9] = { + { 0, 0, 0, REDGE, REDGE, REDGE, 0, 0, 0 }, + { 0, 0, REDGE, RIVER, RIVER, RIVER, REDGE, 0, 0 }, + { 0, REDGE, RIVER, RIVER, RIVER, RIVER, RIVER, REDGE, 0 }, + { REDGE, RIVER, RIVER, RIVER, RIVER, RIVER, RIVER, RIVER, REDGE }, + { REDGE, RIVER, RIVER, RIVER, CHANNEL, RIVER, RIVER, RIVER, REDGE }, + { REDGE, RIVER, RIVER, RIVER, RIVER, RIVER, RIVER, RIVER, REDGE }, + { 0, REDGE, RIVER, RIVER, RIVER, RIVER, RIVER, REDGE, 0 }, + { 0, 0, REDGE, RIVER, RIVER, RIVER, REDGE, 0, 0 }, + { 0, 0, 0, REDGE, REDGE, REDGE, 0, 0, 0 }, + }; + + for (x = 0; x < 9; x++) { + for (y = 0; y < 9; y++) { + putOnMap(BRMatrix[y][x], pos.posX + x, pos.posY + y); + } + } +} + + +/** + * Put down a small river diamond-like shape. + * @param pos Base coordinate of the blob (top-left position). + */ +void Micropolis::plopSRiver(const Position &pos) +{ + short x, y; + static MapValue SRMatrix[6][6] = { + { 0, 0, REDGE, REDGE, 0, 0 }, + { 0, REDGE, RIVER, RIVER, REDGE, 0 }, + { REDGE, RIVER, RIVER, RIVER, RIVER, REDGE }, + { REDGE, RIVER, RIVER, RIVER, RIVER, REDGE }, + { 0, REDGE, RIVER, RIVER, REDGE, 0 }, + { 0, 0, REDGE, REDGE, 0, 0 }, + }; + + for (x = 0; x < 6; x++) { + for (y = 0; y < 6; y++) { + putOnMap(SRMatrix[y][x], pos.posX + x, pos.posY + y); + } + } +} + + +void Micropolis::smoothWater() +{ + int x, y; + MapTile tile; + Direction2 dir; + + for (x = 0; x < WORLD_W; x++) { + for (y = 0; y < WORLD_H; y++) { + + tile = map[x][y] & LOMASK; + + /* If (x, y) is water: */ + if (tile >= WATER_LOW && tile <= WATER_HIGH) { + + const Position pos(x, y); + for (dir = DIR2_BEGIN; dir < DIR2_END; dir = increment90(dir)) { + + /* If getting a tile off-map, condition below fails. */ + // @note I think this may have been a bug, since it always uses DIR2_WEST instead of dir. + //tile = getTileFromMap(pos, DIR2_WEST, WATER_LOW); + tile = getTileFromMap(pos, dir, WATER_LOW); + + /* If nearest object is not water: */ + if (tile < WATER_LOW || tile > WATER_HIGH) { + map[x][y] = REDGE; /* set river edge */ + break; // Continue with next tile + } + } + } + } + } + + for (x = 0; x < WORLD_W; x++) { + for (y = 0; y < WORLD_H; y++) { + + tile = map[x][y] & LOMASK; + + /* If water which is not a channel: */ + if (tile != CHANNEL && tile >= WATER_LOW && tile <= WATER_HIGH) { + + bool makeRiver = true; // make (x, y) a river + + const Position pos(x, y); + for (dir = DIR2_BEGIN; dir < DIR2_END; dir = increment90(dir)) { + + /* If getting a tile off-map, condition below fails. */ + // @note I think this may have been a bug, since it always uses DIR2_WEST instead of dir. + //tile = getTileFromMap(pos, DIR2_WEST, WATER_LOW); + tile = getTileFromMap(pos, dir, WATER_LOW); + + /* If nearest object is not water: */ + if (tile < WATER_LOW || tile > WATER_HIGH) { + makeRiver = false; + break; + } + } + + if (makeRiver) { + map[x][y] = RIVER; /* make it a river */ + } + } + } + } + + for (x = 0; x < WORLD_W; x++) { + for (y = 0; y < WORLD_H; y++) { + + tile = map[x][y] & LOMASK; + + /* If woods: */ + if (tile >= WOODS_LOW && tile <= WOODS_HIGH) { + + const Position pos(x, y); + for (dir = DIR2_BEGIN; dir < DIR2_END; dir = increment90(dir)) { + + /* If getting a tile off-map, condition below fails. */ + // @note I think this may have been a bug, since it always uses DIR2_WEST instead of dir. + //tile = getTileFromMap(pos, DIR2_WEST, WATER_LOW); + tile = getTileFromMap(pos, dir, TILE_INVALID); + + if (tile == RIVER || tile == CHANNEL) { + map[x][y] = REDGE; /* make it water's edge */ + break; + } + } + } + } + } +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/graph.cpp b/core/graph.cpp new file mode 100644 index 0000000..50f8e27 --- /dev/null +++ b/core/graph.cpp @@ -0,0 +1,399 @@ +/* graph.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file graph.cpp + * @brief Implements functionality for graph data management in + * Micropolis. + * + * This file contains functions for managing historical data used in + * graphs, such as population and pollution levels. It includes + * methods for initializing graphs, updating historical data, scaling + * data for graph display, and retrieving specific historical values. + * This file plays a key role in visualizing the evolution of the city + * over time in various aspects. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +//char *Micropolis::histName[] = { +// "Residential", "Commercial", "Industrial", +// "Cash Flow", "Crime", "Pollution" +//}; + +//unsigned char Micropolis::histColor[] = { +// COLOR_LIGHTGREEN, COLOR_DARKBLUE, COLOR_YELLOW, +// COLOR_DARKGREEN, COLOR_RED, COLOR_OLIVE +//}; + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Copy history data to new array, scaling as needed. + * @param hist Source history data. + * @param s Destination byte array. + * @param scale Scale factor. + * @todo Figure out why we copy data. + */ +void Micropolis::drawMonth(short *hist, unsigned char *s, float scale) +{ + int val, x; + + for (x = 0; x < 120; x++) { + val = (int)(hist[x] * scale); + s[119 - x] = (unsigned char)clamp(val, 0, 255); + } +} + + +/** + * Set flag that graph data has been changed and graphs should be updated. + * @todo Rename function. + */ +void Micropolis::changeCensus() +{ + censusChanged = true; +} + + +/** + * If graph data has been changed, update all graphs. + * If graphs have been changed, tell the user front-end about it. + */ +void Micropolis::graphDoer() +{ + if (censusChanged) { + callback->updateHistory(this, callbackVal); + censusChanged = false; + } +} + + +/** Initialize graphs */ +void Micropolis::initGraphs() +{ + if (!historyInitialized) { + historyInitialized = true; + } +} + + +/** Compute various max ranges of graphs */ +void Micropolis::initGraphMax() +{ + int x; + + resHist10Max = 0; + comHist10Max = 0; + indHist10Max = 0; + + for (x = 118; x >= 0; x--) { + + if (resHist[x] < 0) { + resHist[x] = 0; + } + if (comHist[x] < 0) { + comHist[x] = 0; + } + if (indHist[x] < 0) { + indHist[x] = 0; + } + + resHist10Max = max(resHist10Max, resHist[x]); + comHist10Max = max(comHist10Max, comHist[x]); + indHist10Max = max(indHist10Max, indHist[x]); + + } + + graph10Max = + max(resHist10Max, + max(comHist10Max, + indHist10Max)); + + resHist120Max = 0; + comHist120Max = 0; + indHist120Max = 0; + + for (x = 238; x >= 120; x--) { + + if (resHist[x] < 0) { + resHist[x] = 0; + } + if (comHist[x] < 0) { + comHist[x] = 0; + } + if (indHist[x] < 0) { + indHist[x] = 0; + } + + resHist120Max = max(resHist120Max, resHist[x]); + comHist120Max = max(comHist120Max, comHist[x]); + indHist120Max = max(indHist120Max, indHist[x]); + + } + + graph120Max = + max(resHist120Max, + max(comHist120Max, + indHist120Max)); +} + + +/** + * Get the minimal and maximal values of a historic graph. + * @param historyType Type of history information. @see HistoryType + * @param historyScale Scale of history data. @see HistoryScale + * @param minValResult Pointer to variable to write minimal value to. + * @param maxValResult Pointer to variable to write maximal value to. + */ +void Micropolis::getHistoryRange(int historyType, int historyScale, + short *minValResult, short *maxValResult) +{ + if (historyType < 0 || historyType >= HISTORY_TYPE_COUNT + || historyScale < 0 || historyScale >= HISTORY_SCALE_COUNT) { + *minValResult = 0; + *maxValResult = 0; + return; + } + + short *history = NULL; + switch (historyType) { + case HISTORY_TYPE_RES: + history = resHist; + break; + case HISTORY_TYPE_COM: + history = comHist; + break; + case HISTORY_TYPE_IND: + history = indHist; + break; + case HISTORY_TYPE_MONEY: + history = moneyHist; + break; + case HISTORY_TYPE_CRIME: + history = crimeHist; + break; + case HISTORY_TYPE_POLLUTION: + history = pollutionHist; + break; + default: + NOT_REACHED(); + break; + } + + int offset = 0; + switch (historyScale) { + case HISTORY_SCALE_SHORT: + offset = 0; + break; + case HISTORY_SCALE_LONG: + offset = 120; + break; + default: + NOT_REACHED(); + break; + } + + short minVal = 32000; + short maxVal = -32000; + + for (int i = 0; i < HISTORY_COUNT; i++) { + short val = history[i + offset]; + + minVal = min(val, minVal); + maxVal = max(val, maxVal); + } + + *minValResult = minVal; + *maxValResult = maxVal; +} + + +/** + * Get a value from the history tables. + * @param historyType Type of history information. @see HistoryType + * @param historyScale Scale of history data. @see HistoryScale + * @param historyIndex Index in the data to obtain + * @return Historic data value of the requested graph + */ +short Micropolis::getHistory(int historyType, int historyScale, + int historyIndex) +{ + if (historyType < 0 || historyType >= HISTORY_TYPE_COUNT + || historyScale < 0 || historyScale >= HISTORY_SCALE_COUNT + || historyIndex < 0 || historyIndex >= HISTORY_COUNT) { + return 0; + } + + short *history = NULL; + switch (historyType) { + case HISTORY_TYPE_RES: + history = resHist; + break; + case HISTORY_TYPE_COM: + history = comHist; + break; + case HISTORY_TYPE_IND: + history = indHist; + break; + case HISTORY_TYPE_MONEY: + history = moneyHist; + break; + case HISTORY_TYPE_CRIME: + history = crimeHist; + break; + case HISTORY_TYPE_POLLUTION: + history = pollutionHist; + break; + default: + NOT_REACHED(); + break; + } + + int offset = 0; + switch (historyScale) { + case HISTORY_SCALE_SHORT: + offset = 0; + break; + case HISTORY_SCALE_LONG: + offset = 120; + break; + default: + NOT_REACHED(); + break; + } + + short result = history[historyIndex + offset]; + + return result; +} + + +/** + * Store a value into the history tables. + * @param historyType Type of history information. @see HistoryType + * @param historyScale Scale of history data. @see HistoryScale + * @param historyIndex Index in the data to obtain + * @param historyValue Index in the value to store + */ +void Micropolis::setHistory(int historyType, int historyScale, + int historyIndex, short historyValue) +{ + if (historyType < 0 || historyType >= HISTORY_TYPE_COUNT + || historyScale < 0 || historyScale >= HISTORY_SCALE_COUNT + || historyIndex < 0 || historyIndex >= HISTORY_COUNT) { + return; + } + + short *history = NULL; + switch (historyType) { + case HISTORY_TYPE_RES: + history = resHist; + break; + case HISTORY_TYPE_COM: + history = comHist; + break; + case HISTORY_TYPE_IND: + history = indHist; + break; + case HISTORY_TYPE_MONEY: + history = moneyHist; + break; + case HISTORY_TYPE_CRIME: + history = crimeHist; + break; + case HISTORY_TYPE_POLLUTION: + history = pollutionHist; + break; + default: + NOT_REACHED(); + break; + } + + int offset = 0; + switch (historyScale) { + case HISTORY_SCALE_SHORT: + offset = 0; + break; + case HISTORY_SCALE_LONG: + offset = 120; + break; + default: + NOT_REACHED(); + break; + } + + history[historyIndex + offset] = historyValue; +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/initialize.cpp b/core/initialize.cpp new file mode 100644 index 0000000..9ff81d0 --- /dev/null +++ b/core/initialize.cpp @@ -0,0 +1,146 @@ +/* initialize.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file initialize.cpp + * @brief Contains initialization functions for various game state + * components in Micropolis. + * + * This file includes functions responsible for initializing and + * resetting game state variables, maps, and editor tools. It sets up + * initial values for game parameters and clears previous game data to + * prepare for a new game session or to reset the current state. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +/** Reset many game state variables */ +void Micropolis::initWillStuff() +{ + randomlySeedRandom(); + initGraphMax(); + destroyAllSprites(); + + roadEffect = MAX_ROAD_EFFECT; + policeEffect = MAX_POLICE_STATION_EFFECT; + fireEffect = MAX_FIRE_STATION_EFFECT; + cityScore = 500; + cityPop = -1; + cityTimeLast = -1; + cityYearLast = -1; + cityMonthLast = -1; + totalFundsLast = -1; + resLast = comLast = indLast = -999999; + roadFund = 0; + policeFund = 0; + fireFund = 0; + valveFlag = true; + disasterEvent = SC_NONE; + taxFlag = false; + + populationDensityMap.clear(); + trafficDensityMap.clear(); + pollutionDensityMap.clear(); + landValueMap.clear(); + crimeRateMap.clear(); + terrainDensityMap.clear(); + rateOfGrowthMap.clear(); + comRateMap.clear(); + policeStationMap.clear(); + policeStationEffectMap.clear(); + fireStationMap.clear(); + fireStationEffectMap.clear(); + + doNewGame(); + doUpdateHeads(); +} + + +/** + * Reset all maps in the simulator. + * @note Function is empty + * @todo What should be done with this empty function? + */ +void Micropolis::resetMapState() +{ +} + + +/** + * Reset all tools in the simulator editor. + * @note Function is empty + * @todo What should be done with this empty function? + */ +void Micropolis::resetEditorState() +{ +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/map.cpp b/core/map.cpp new file mode 100644 index 0000000..dfbcf39 --- /dev/null +++ b/core/map.cpp @@ -0,0 +1,1025 @@ +/* map.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file map.cpp + * @brief Handles drawing and managing various map overlays in + * Micropolis. + * + * This file includes functions for drawing different types of map + * overlays, such as residential, commercial, industrial areas, power + * grid, and various types of density maps. It also contains functions + * for applying dynamic filters to maps and managing map state. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +// NOTE: This is disabled, and should be re-implementd in the front-end. + + +#if 0 + + +//////////////////////////////////////////////////////////////////////// +// Disabled this small map drawing, filtering and overlaying code. +// Going to re-implement it in the tile engine and Python. + + +#define VAL_NONE 0 +#define VAL_LOW 1 +#define VAL_MEDIUM 2 +#define VAL_HIGH 3 +#define VAL_VERYHIGH 4 +#define VAL_PLUS 5 +#define VAL_VERYPLUS 6 +#define VAL_MINUS 7 +#define VAL_VERYMINUS 8 + + +/* These are names of the 16 colors */ +#define COLOR_WHITE 0 +#define COLOR_YELLOW 1 +#define COLOR_ORANGE 2 +#define COLOR_RED 3 +#define COLOR_DARKRED 4 +#define COLOR_DARKBLUE 5 +#define COLOR_LIGHTBLUE 6 +#define COLOR_BROWN 7 +#define COLOR_LIGHTGREEN 8 +#define COLOR_DARKGREEN 9 +#define COLOR_OLIVE 10 +#define COLOR_LIGHTBROWN 11 +#define COLOR_LIGHTGRAY 12 +#define COLOR_MEDIUMGRAY 13 +#define COLOR_DARKGRAY 14 +#define COLOR_BLACK 15 + + +/* + +static short valMap[] = { + -1, // VAL_NONE + COLOR_LIGHTGRAY, // VAL_LOW + COLOR_YELLOW, // VAL_MEDIUM + COLOR_ORANGE, // VAL_HIGH + COLOR_RED, // VAL_VERYHIGH + COLOR_DARKGREEN, // VAL_PLUS + COLOR_LIGHTGREEN, // VAL_VERYPLUS + COLOR_ORANGE, // VAL_MINUS + COLOR_YELLOW, // VAL_VERYMINUS +}; + + +static short valGrayMap[] = { + -1, 31, 127, 191, 255, + 223, 255, 31, 0 +}; + +*/ + + +/* color pixel values */ +#define UNPOWERED COLOR_LIGHTBLUE +#define POWERED COLOR_RED +#define CONDUCTIVE COLOR_LIGHTGRAY + + +#define DRAW_BEGIN \ + int col, row; \ + unsigned short tile; \ + short *mp; \ + unsigned char *imageBase; \ + unsigned char *image; \ + UQuad *mem; \ + UQuad m; \ + int lineBytes = view->line_bytes8; \ + int pixelBytes = view->pixel_bytes; \ + mp = &map[0][0]; \ + imageBase = view->x->color ? view->data : view->data8; \ + for (col = 0; col < WORLD_W; col++) { \ + image = imageBase + (3 * pixelBytes * col); \ + for (row = 0; row < WORLD_H; row++) { \ + tile = *(mp++) & LOMASK; \ + if (tile >= TILE_COUNT) { \ + tile -= TILE_COUNT; \ + } + + +#ifdef IS_INTEL + +#define ROW1_8(n) \ + m = mem[n]; \ + image[0] = (unsigned char)(m); \ + image[1] = (unsigned char)(m >>8); \ + image[2] = (unsigned char)(m >>16); \ + image += lineBytes; + +#define ROW1_16(n) \ + memcpy((char *)image, ((char *)mem) + (n * 4 * 2), (3 * 2)); \ + image += lineBytes; + +#define ROW1_24(n) \ + memcpy((char *)image, ((char *)mem) + (n * 4 * 3), (3 * 3)); \ + image += lineBytes; + +#define ROW1_32(n) \ + memcpy((char *)image, ((char *)mem) + (n * 4 * 4), (3 * 4)); \ + image += lineBytes; + +#else + +#define ROW1_8(n) \ + m = (UQuad)(mem[n]); \ + image[0] = (unsigned char)(m >>24); \ + image[1] = (unsigned char)(m >>16); \ + image[2] = (unsigned char)(m >>8); \ + image += lineBytes; + +#define ROW1_16(n) \ + m = (UQuad)mem[n]; /* XXX: WRONG. handle depth */ \ + image[0] = (unsigned char)(m >>24); \ + image[1] = (unsigned char)(m >>16); \ + image[2] = (unsigned char)(m >>8); \ + image += lineBytes; + +#define ROW1_24(n) \ + m = (UQuad)mem[n]; /* XXX: WRONG. handle depth */ \ + image[0] = (unsigned char)(m >>24); \ + image[1] = (unsigned char)(m >>16); \ + image[2] = (unsigned char)(m >>8); \ + image += lineBytes; + +#define ROW1_32(n) \ + m = (UQuad)mem[n]; /* XXX: WRONG. handle depth */ \ + image[0] = (unsigned char)(m >>24); \ + image[1] = (unsigned char)(m >>16); \ + image[2] = (unsigned char)(m >>8); \ + image += lineBytes; + +#endif + +#define ROW3_8 ROW1_8(0) ROW1_8(1) ROW1_8(2) +#define ROW3_16 ROW1_16(0) ROW1_16(1) ROW1_16(2) +#define ROW3_24 ROW1_24(0) ROW1_24(1) ROW1_24(2) +#define ROW3_32 ROW1_32(0) ROW1_32(1) ROW1_32(2) + +#define ROW3 \ + switch (view->x->depth) { \ + case 1: \ + case 8: \ + ROW3_8 \ + break; \ + case 15: \ + case 16: \ + ROW3_16 \ + break; \ + case 24: \ + ROW3_24 \ + break; \ + case 32: \ + ROW3_32 \ + break; \ + default: \ + assert(0); /* Undefined depth */ \ + break; \ + } + +#define DRAW_END \ + mem = (UQuad *)&view->smalltiles[tile * 4 * 4 * pixelBytes]; \ + ROW3 \ + } \ + } + + +void Micropolis::drawAll() +{ + DRAW_BEGIN + DRAW_END +} + + +void Micropolis::drawRes() +{ + DRAW_BEGIN + if (tile >= COMBASE) { + tile = DIRT; + } + DRAW_END +} + + +void Micropolis::drawCom() +{ + DRAW_BEGIN + if ((tile > COMLAST) || + ((tile >= LVRAIL6) && + (tile < COMBASE))) { + tile = DIRT; + } + DRAW_END +} + + +void Micropolis::drawInd() + +{ + DRAW_BEGIN + if (((tile >= RESBASE) && (tile < INDBASE)) || + ((tile >= PORTBASE) && (tile < SMOKEBASE)) || + ((tile >= TINYEXP) && (tile <= TINYEXPLAST)) || + (tile >= FOOTBALLGAME1)) { + tile = DIRT; + } + DRAW_END +} + + +void Micropolis::drawLilTransMap() +{ + DRAW_BEGIN + if ((tile >= RESBASE) || + ((tile >= BRWXXX7) && (tile <= LVPOWER10)) || + (tile == UNUSED_TRASH6)) { + tile = DIRT; + } + DRAW_END +} + + +void Micropolis::drawPowerGrid() +{ + short col, row; + unsigned short tile; + short *mp; + unsigned char *image, *imageBase; + UQuad *mem; + UQuad m; + int lineBytes = view->line_bytes8; + int pixelBytes = view->pixel_bytes; + + int pix; + int powered, unpowered, conductive; + + if (view->x->color) { + powered = view->pixels[POWERED]; + unpowered = view->pixels[UNPOWERED]; + conductive = view->pixels[CONDUCTIVE]; + } else { + powered = 255; + unpowered = 0; + conductive = 127; + } + + mp = + &map[0][0]; + imageBase = + view->x->color ? view->data : view->data8; + + for (col = 0; col < WORLD_W; col++) { + + image = + imageBase + (3 * pixelBytes * col); + + for (row = 0; row < WORLD_H; row++) { + tile = *(mp++); + + if ((tile & LOMASK) >= TILE_COUNT) { + tile -= TILE_COUNT; + } + + if ((tile & LOMASK) <= LASTFIRE) { + tile &= LOMASK; + pix = -1; + } else if (tile & ZONEBIT) { + pix = (tile & PWRBIT) ? powered : unpowered; + } else { + if (tile & CONDBIT) { + pix = conductive; + } else { + tile = DIRT; + pix = -1; + } + } + + if (pix < 0) { + mem = (UQuad *)&view->smalltiles[tile * 4 * 4 * pixelBytes]; + ROW3 + } else { + switch (view->x->depth) { + + case 1: + case 8: + image[0] = image[1] = image[2] = pix; + image += lineBytes; + image[0] = image[1] = image[2] = pix; + image += lineBytes; + image[0] = image[1] = image[2] = pix; + image += lineBytes; + break; + + case 15: + case 16: { + unsigned short *p; + p = (unsigned short *)image; + p[0] = p[1] = p[2] = pix; + image += lineBytes; + p = (unsigned short *)image; + p[0] = p[1] = p[2] = pix; + image += lineBytes; + p = (unsigned short *)image; + p[0] = p[1] = p[2] = pix; + image += lineBytes; + break; + } + + case 24: + case 32: { + int x, y; + for (y = 0; y < 3; y++) { + unsigned char *img = image; + for (x = 0; x < 4; x++) { + *(img++) = (pix >> 0) & 0xff; + *(img++) = (pix >> 8) & 0xff; + *(img++) = (pix >> 16) & 0xff; + if (pixelBytes == 4) { + img++; + } // if + } // for x + image += lineBytes; + } // for y + break; + } + + default: + assert(0); /* Undefined depth */ + break; + + } + } + } + } +} + + +bool Micropolis::dynamicFilter( + int col, + int row) +{ + int populationDensity = populationDensityMap.worldGet(col, row); + int rateOfGrowth = rateOfGrowthMap.worldGet(col, row); + int traffic = trafficDensityMap.worldGet(col, row); + int pollution = pollutionDensityMap.worldGet(col, row); + int crime = crimeRateMap.worldGet(col, row); + int landValue = landValueMap.worldGet(col, row); + int police = policeStationEffectMap.worldGet(col, row); + int fire = fireStationEffectMap.worldGet(col, row); + + + return ( + ((dynamicData[0] > dynamicData[1]) || + (populationDensity >= dynamicData[0]) && + (populationDensity <= dynamicData[1])) && + ((dynamicData[2] > dynamicData[3]) || + (rateOfGrowth >= ((2 * dynamicData[2]) - 256)) && + (rateOfGrowth <= ((2 * dynamicData[3]) - 256))) && + ((dynamicData[4] > dynamicData[5]) || + (traffic >= dynamicData[4]) && + (traffic <= dynamicData[5])) && + ((dynamicData[6] > dynamicData[7]) || + (pollution >= dynamicData[6]) && + (pollution <= dynamicData[7])) && + ((dynamicData[8] > dynamicData[9]) || + (crime >= dynamicData[8]) && + (crime <= dynamicData[9])) && + ((dynamicData[10] > dynamicData[11]) || + (landValue >= dynamicData[10]) && + (landValue <= dynamicData[11])) && + ((dynamicData[12] > dynamicData[13]) || + (police >= dynamicData[12]) && + (police <= dynamicData[13])) && + ((dynamicData[14] > dynamicData[15]) || + (fire >= dynamicData[14]) && + (fire <= dynamicData[15]))); +} + + +void Micropolis::drawDynamic() +{ + DRAW_BEGIN + if (tile > LASTFIRE) { + if (!dynamicFilter(col, row)) { + tile = DIRT; + } // if + } // if + DRAW_END +} + + +short Micropolis::getCI(short x) +{ + if (x < 50) { + return VAL_NONE; + } + if (x < 100) { + return VAL_LOW; + } + if (x < 150) { + return VAL_MEDIUM; + } + if (x < 200) { + return VAL_HIGH; + } + return VAL_VERYHIGH; +} + +/** Draw population density overlay at small map */ +void Micropolis::drawPopulationDensity() +{ + short x, y; + + drawAll(); + for (x = 0; x < WORLD_W; x += populationDensityMap.MAP_BLOCKSIZE) { + for (y = 0; y < WORLD_H; y += populationDensityMap.MAP_BLOCKSIZE) { + maybeDrawRect( + getCI(populationDensityMap.worldGet(x, y)), + x * 3, + y * 3, + 3 * populationDensityMap.MAP_BLOCKSIZE, + 3 * populationDensityMap.MAP_BLOCKSIZE); + } + } +} + + +void Micropolis::drawRateOfGrowth() +{ + short x, y; + + drawAll(); + + for (x = 0; x < rateOfGrowthMap.MAP_W; x++) { + for (y = 0; y < rateOfGrowthMap.MAP_H; y++) { + short val; + short z = rateOfGrowthMap.get(x, y); + if (z > 100) { + val = VAL_VERYPLUS; + } else { + if (z > 20) { + val = VAL_PLUS; + } else { + if (z < -100) { + val = VAL_VERYMINUS; + } else { + if (z < -20) { + val = VAL_MINUS; + } else { + val = VAL_NONE; + } + } + } + } + maybeDrawRect( + val, + x * 24, + y * 24, + 24, + 24); + } + } +} + + +/** Draw traffic density overlay at the small map */ +void Micropolis::drawTrafficDensityMap() +{ + short x; + short y; + + drawLilTransMap(); + + for (x = 0; x < WORLD_W; x += trafficDensityMap.MAP_BLOCKSIZE) { + for (y = 0; y < WORLD_H; y += trafficDensityMap.MAP_BLOCKSIZE) { + maybeDrawRect( + getCI(trafficDensityMap.worldGet(x, y)), + x * 3, + y * 3, + 3 * trafficDensityMap.MAP_BLOCKSIZE, + 3 * trafficDensityMap.MAP_BLOCKSIZE); + } + } +} + + +/** Draw pollution overlay at the small map */ +void Micropolis::drawPollutionMap() +{ + short x, y; + + drawAll(view); + + for (x = 0; x < WORLD_W; x += pollutionDensityMap.MAP_BLOCKSIZE) { + for (y = 0; y < WORLD_H; y += pollutionDensityMap.MAP_BLOCKSIZE) { + maybeDrawRect( + getCI(10 + pollutionDensityMap.worldGet(x, y)), + x * 3, + y * 3, + 3 * pollutionDensityMap.MAP_BLOCKSIZE, + 3 * pollutionDensityMap.MAP_BLOCKSIZE); + } + } +} + + +/** Draw crime overlay at the small map */ +void Micropolis::drawCrimeRateMap() +{ + short x, y; + + drawAll(); + + for (x = 0; x < WORLD_W; x += crimeRateMap.MAP_BLOCKSIZE) { + for (y = 0; y < WORLD_H; y += crimeRateMap.MAP_BLOCKSIZE) { + maybeDrawRect( + getCI(crimeRateMap.worldGet(x, y)), + x * 3, + y * 3, + 3 * crimeRateMap.MAP_BLOCKSIZE, + 3 * crimeRateMap.MAP_BLOCKSIZE); + } + } +} + + +void Micropolis::drawLandValueMap() +{ + short x, y; + + drawAll(); + + for (x = 0; x < landValueMap.MAP_W; x++) { + for (y = 0; y < landValueMap.MAP_H; y++) { + maybeDrawRect( + view, + getCI(landValueMap.get(x, y)), + x * 6, + y * 6, + 6, + 6); + } + } +} + + +void Micropolis::drawFireRadius() +{ + short x, y; + + drawAll(); + for (x = 0; x < fireStationEffectMap.MAP_W; x++) { + for (y = 0; y < fireStationEffectMap.MAP_H; y++) { + maybeDrawRect( + getCI(fireStationEffectMap.get(x, y)), + x * 24, + y * 24, + 24, + 24); + } + } +} + + +void Micropolis::drawPoliceRadius() +{ + short x, y; + + drawAll(); + for (x = 0; x < policeStationEffectMap.MAP_W; x++) { + for (y = 0; y < policeStationEffectMap.MAP_H; y++) { + maybeDrawRect( + getCI(policeStationEffectMap.get(x, y)), + x * 24, + y * 24, + 24, + 24); + } + } +} + + +void Micropolis::memDrawMap() +{ + + switch (view->map_state) { + + case MAP_TYPE_ALL: + drawAll(view); + break; + + case MAP_TYPE_RES: + drawRes(view); + break; + + case MAP_TYPE_COM: + drawCom(view); + break; + + case MAP_TYPE_IND: + drawInd(view); + break; + + case MAP_TYPE_POWER: + drawPowerGrid(view); + break; + + case MAP_TYPE_ROAD: + drawLilTransMap(view); + break; + + case MAP_TYPE_POPULATION_DENSITY: + drawPopulationDensity(view); + break; + + case MAP_TYPE_RATE_OF_GROWTH: + drawRateOfGrowth(view); + break; + + case MAP_TYPE_TRAFFIC: + drawTrafficDensityMap(view); + break; + + case MAP_TYPE_POLLUTION: + drawPollutionDensityMap(view); + break; + + case MAP_TYPE_CRIME: + drawCrimeRateMap(view); + break; + + case MAP_TYPE_LAND_VALUE: + drawLandValueMap(view); + break; + + case MAP_TYPE_FIRE_RADIUS: + drawFireRadius(view); + break; + + case MAP_TYPE_POLICE_RADIUS: + drawPoliceRadius(view); + break; + + case MAP_TYPE_DYNAMIC: + drawDynamic(view); + break; + + default: + assert(0); /* Undefined map */ + break; + + } + + /* + if (!view->x->color) { + ditherMap(view); + XSetForeground(view->x->dpy, view->x->gc, view->pixels[COLOR_BLACK]); + XSetBackground(view->x->dpy, view->x->gc, view->pixels[COLOR_WHITE]); + XPutImage(view->x->dpy, view->pixmap, view->x->gc, view->image, + 0, 0, 0, 0, view->m_width, view->m_height); + } + */ + +} + + +void Micropolis::ditherMap() +{ +/* + int i, x, y, width, height; + int err, pixel1, pixel8; + int line_bytes1 = view->line_bytes; + int line_bytes8 = view->line_bytes8; + unsigned char *image1 = view->data; + unsigned char *image8 = view->data8; + int *errors; + + width = view->m_width; + height = view->m_height; + + errors = (int *)newPtr(sizeof(int) * width); + + for (i = 0; i < width; i++) { + errors[i] = (getRandom16() & 15) - 7; + } + + err = (getRandom16() & 15) - 7; + + for (y = 0; y < height; y += 2) { + unsigned char *i1 = image1; + unsigned char *i8 = image8; + + image1 += line_bytes1; + image8 += line_bytes8; + + for (x = 0; x < width; x += 8) { + pixel1 = 0; + for (i = 0; i < 8; i++) { + pixel1 <<= 1; + pixel8 = *(i8++) + err + errors[x + i]; + if (pixel8 > 127) { + err = pixel8 - 255; + } else { + pixel1 |= 1; + err = pixel8; + } + errors[x + i] = err/2; + err = err/2; + } + *(i1++) = pixel1; + } + + i1 = image1 + (width / 8) - 1; + i8 = image8 + width - 1; + + image1 += line_bytes1; + image8 += line_bytes8; + + for (x = width - 8; x >= 0; x -= 8) { + pixel1 = 0; + for (i = 7; i >= 0; i--) { + pixel1 >>= 1; + pixel8 = *(i8--) + err + errors[x + i]; + if (pixel8 > 127) { + err = pixel8 - 255; + } else { + pixel1 |= 128; + err = pixel8; + } + errors[x + i] = err/2; + err = err/2; + } + *(i1--) = pixel1; + } + } + + freePtr(errors); +*/ +} + + +void Micropolis::maybeDrawRect( + int val, + int x, + int y, + int w, + int h) +{ + if (val == VAL_NONE) { + return; + } + +/* + if (view->x->color) { + drawRect(view, view->pixels[valMap[val]], 0, x, y, w, h); + } else { + drawRect(view, valGrayMap[val], 1, x, y, w, h); + } +*/ +} + + +void Micropolis::drawRect( + int pixel, + int solid, + int x, + int y, + int w, + int h) +{ +/* + int W = view->m_width, H = view->m_height; + + if (x < 0) { + if ((w += x) < 0) { + w = 0; + } + x = 0; + } else if (x > W) { + x = 0; + w = 0; + } + if (x + w > W) { + w = W - x; + } + if (y < 0) { + if ((h += y) < 0) { + h = 0; + } + y = 0; + } else if (y > H) { + y = 0; + h = 0; + } + if (y + h > H) { + h = H - y; + } + + if (w && h) { + int i, j, stipple = (x ^ y) & 1; + unsigned char *data = + view->x->color ? view->data : view->data8; + + // In the case of black and white, we use an 8 bit buffer and dither it. + int pixelBytes = + view->x->color ? view->pixel_bytes : 1; + Quad line = + view->x->color ? view->line_bytes : view->line_bytes8; + + unsigned char *image = + &(data[(line * y) + (x * pixelBytes)]); + + switch (pixelBytes) { + + case 1: { + unsigned char *data = + view->data8; + unsigned char *image = + &data[(line * y) + (x * pixelBytes)]; + + if (solid) { + for (i = h; i > 0; i--) { + for (j = w; j > 0; j--) { + *image = pixel; + image++; + } + image += line - w; + } + } else { + for (i = h; i > 0; i--) { + for (j = w; j > 0; j--) { + if (stipple++ & 1) { + *image = pixel; + } + image++; + } + if (!(w & 1)) + stipple++; + image += line - w; + } + } + break; + } + + case 2: { + unsigned short *data = + (unsigned short *)view->data; + unsigned short *image; + line >>= 1; // Convert from byte offset to short offset + image = + &data[(line * y) + x]; + + if (solid) { + for (i = h; i > 0; i--) { + for (j = w; j > 0; j--) { + *image = pixel; + image++; + } + image += line - w; + } + } else { + for (i = h; i > 0; i--) { + for (j = w; j > 0; j--) { + if (stipple++ & 1) { + *image = pixel; + } + image++; + } + if (!(w & 1)) { + stipple++; + } + image += line - w; + } + } + break; + } + + case 3: + case 4: { + unsigned char *data = + (unsigned char *)view->data; + unsigned char *image; + int bitmapPad = view->x->small_tile_image->bitmap_pad; + int rowBytes = view->x->small_tile_image->bytes_per_line; + line = rowBytes >> 1; // Convert from byte offset to short offset + image = &data[(line * y) + x]; + + if (solid) { + for (i = h; i > 0; i--) { + for (j = w; j > 0; j--) { + *(image++) = (pixel >> 0) & 0xff; + *(image++) = (pixel >> 8) & 0xff; + *(image++) = (pixel >> 16) & 0xff; + if (bitmapPad == 32) { + image++; + } + } + image += line - w; + } + } else { + for (i = h; i > 0; i--) { + for (j = w; j > 0; j--) { + if (stipple++ & 1) { + *(image++) = (pixel >> 0) & 0xff; + *(image++) = (pixel >> 8) & 0xff; + *(image++) = (pixel >> 16) & 0xff; + if (bitmapPad == 32) { + image++; + } + } + } + if (!(w & 1)) { + stipple++; + } + image += line - w; + } + } + break; + } + + default: + assert(0); // Undefined depth + break; + + } + + } +*/ +} + + +#endif + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/map_type.h b/core/map_type.h new file mode 100644 index 0000000..0b9ccdd --- /dev/null +++ b/core/map_type.h @@ -0,0 +1,354 @@ +/* map_type.h + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file map_type.h + * @brief Map data structures for the Micropolis game engine. + * + * This header file defines the Map template class used for + * representing various types of 2D grid maps in the Micropolis game + * engine. It includes definitions for map dimensions and provides + * specialized map types with different data storage granularities. + * These map types are crucial for managing different aspects of the + * game world, like terrain, population density, and resource + * distribution. The Map class template offers flexibility in defining + * maps with various data types and block sizes, optimizing memory + * usage and access patterns for different game scenarios. + */ + + +#ifndef H_MAP_TYPE +#define H_MAP_TYPE + + +//////////////////////////////////////////////////////////////////////// +// Constants + + +/** + * Size of the world in horizontal direction. + */ +static const int WORLD_W = 120; + +/** + * Size of the world in vertical direction. + */ +static const int WORLD_H = 100; + + +//////////////////////////////////////////////////////////////////////// +// Template class definitions + + +/** + * Generic class for maps in the Micropolis game. + * + * A map is assumed to cover a 2D grid of #WORLD_W times #WORLD_H positions. + * A block of positions may be clustered, and represented by a single data + * value. + * @tparam DATA Data type of a data value. + * @tparam BLKSIZE Size of the cluster. + */ +template +class Map +{ +public: + Map(DATA defaultValue); + Map(const Map& map); + Map& operator=(const Map &map); + ~Map(); + + /** Size of a cluster in number of world positions. */ + const int MAP_BLOCKSIZE; + const int MAP_W; ///< Number of clusters in horizontal direction. + const int MAP_H; ///< Number of clusters in vertical direction. + + void fill(DATA val); + void clear(); + + inline void set(int x, int y, DATA val); + inline DATA get(int x, int y) const; + inline bool onMap(int x, int y) const; + + inline void worldSet(int x, int y, DATA val); + inline DATA worldGet(int x, int y) const; + inline bool worldOnMap(int x, int y) const; + + DATA *getBase(); + + inline size_t getTotalByteSize() const { + return sizeof(DATA) * + ((WORLD_W + BLKSIZE - 1) / BLKSIZE) * + ((WORLD_H + BLKSIZE - 1) / BLKSIZE); + } + +private: + /** Data fields of the map in column-major mode. */ + DATA _mapData[((WORLD_W + BLKSIZE - 1) / BLKSIZE) * + ((WORLD_H + BLKSIZE - 1) / BLKSIZE)]; + + const DATA _MAP_DEFAULT_VALUE; ///< Default value of a cluster. +}; + + +/** + * Generic map constructor. + * @param defaultValue Default value to use for off-map positions, and + * for clearing the map. + */ +template +Map::Map(DATA defaultValue): + MAP_BLOCKSIZE(BLKSIZE), + MAP_W((WORLD_W + BLKSIZE - 1) / BLKSIZE), + MAP_H((WORLD_H + BLKSIZE - 1) / BLKSIZE), + _MAP_DEFAULT_VALUE(defaultValue) +{ +} + + +/** Copy constructor */ +template +Map::Map(const Map &map): + MAP_BLOCKSIZE(BLKSIZE), + MAP_W((WORLD_W + BLKSIZE - 1) / BLKSIZE), + MAP_H((WORLD_H + BLKSIZE - 1) / BLKSIZE), + _MAP_DEFAULT_VALUE(map._MAP_DEFAULT_VALUE) +{ + for (int i = 0; i < this->MAP_W * this->MAP_H; i++) { + this->_mapData[i] = map._mapData[i]; + } +} + + +/** Assignment operator */ +template +Map &Map::operator=(const Map &map) +{ + if(this != &map) { + for (int i = 0; i < this->MAP_W * this->MAP_H; i++) { + this->_mapData[i] = map._mapData[i]; + } + } + return *this; +} + + +/** Generic map destructor */ +template +Map::~Map() +{ +} + + +/** + * Generic fill routine. + * + * @param value Value with which to fill the map. + */ +template +void Map::fill(DATA value) +{ + for (int i = 0; i < this->MAP_W * this->MAP_H; i++) { + this->_mapData[i] = value; + } +} + + +/** + * Generic clear routine. + * + * Resets all data of the map to #_MAP_DEFAULT_VALUE. + */ +template +void Map::clear() +{ + fill(this->_MAP_DEFAULT_VALUE); +} + + +/** + * Return the base address of the map data. + * @note Data is stored in column-major mode. + */ +template +DATA *Map::getBase() +{ + return this->_mapData; +} + + +/** + * Set the value of a cluster. + * + * If the coordinate is off the map, the value is not stored. + * @param x X cluster position (at world position \a x * #MAP_BLOCKSIZE). + * @param y Y cluster position (at world position \a y * #MAP_BLOCKSIZE). + * @param value Value to use. + */ +template +inline void Map::set(int x, int y, DATA value) +{ + if(this->onMap(x, y)) { + this->_mapData[x * MAP_H + y] = value; + } +} + + +/** + * Return the value of a cluster. + * + * If the coordinate is off the map, the #_MAP_DEFAULT_VALUE is returned. + * @param x X cluster position (at world position \a x * #MAP_BLOCKSIZE). + * @param y Y cluster position (at world position \a y * #MAP_BLOCKSIZE). + * @return Value of the cluster. + */ +template +inline DATA Map::get(int x, int y) const +{ + if(!this->onMap(x, y)) { + return this->_MAP_DEFAULT_VALUE; + } + + return this->_mapData[x * MAP_H + y]; +} + + +/** + * Verify that cluster coordinates are within map boundaries. + * @param x X cluster position (at world position \a x * #MAP_BLOCKSIZE). + * @param y Y cluster position (at world position \a y * #MAP_BLOCKSIZE). + * @return Coordinate is within map boundaries. + */ +template +inline bool Map::onMap(int x, int y) const +{ + return (x >= 0 && x < this->MAP_W) && (y >= 0 && y < this->MAP_H); +} + + +/** + * Set the value of a cluster. + * + * If the coordinate is off the map, the value is not stored. + * @param x X world position. + * @param y Y world position. + * @param value Value to use. + */ +template +inline void Map::worldSet(int x, int y, DATA value) +{ + if(this->worldOnMap(x, y)) { + x /= BLKSIZE; + y /= BLKSIZE; + this->_mapData[x * MAP_H + y] = value; + } +} + + +/** + * Return the value of a cluster. + * + * If the coordinate is off the map, the #_MAP_DEFAULT_VALUE is returned. + * @param x X world position. + * @param y Y world position. + * @return Value of the cluster. + */ +template +inline DATA Map::worldGet(int x, int y) const +{ + if(!this->worldOnMap(x, y)) { + return this->_MAP_DEFAULT_VALUE; + } + + x /= BLKSIZE; + y /= BLKSIZE; + return this->_mapData[x * MAP_H + y]; +} + + +/** + * Verify that world coordinates are within map boundaries. + * @param x X world position. + * @param y Y world position. + * @return Coordinate is within map boundaries. + */ +template +inline bool Map::worldOnMap(int x, int y) const +{ + return (x >= 0 && x < WORLD_W) && (y >= 0 && y < WORLD_H); +} + + +//////////////////////////////////////////////////////////////////////// +// Type definitions + + +typedef Map MapByte1; ///< Map of ::Byte, with cluster size 1 +typedef Map MapByte2; ///< Map of ::Byte, with cluster size 2 +typedef Map MapByte4; ///< Map of ::Byte, with cluster size 4 +typedef Map MapShort8; ///< Map of ::short, with cluster size 8 + + +//////////////////////////////////////////////////////////////////////// + + +#endif diff --git a/core/message.cpp b/core/message.cpp new file mode 100644 index 0000000..3aaa335 --- /dev/null +++ b/core/message.cpp @@ -0,0 +1,477 @@ +/* message.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file message.cpp + * @brief Handles messaging and notifications within the Micropolis + * game. + * + * This file includes functions for sending messages to the player, + * based on various game events and scenario progress. It handles + * displaying messages related to city growth, requirements, + * disasters, and other significant events. It also deals with + * triggering sound effects associated with specific messages. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" +#include "text.h" + + +//////////////////////////////////////////////////////////////////////// + + +/** Check progress of the user, and send him messages about it. */ +void Micropolis::sendMessages() +{ + short PowerPop; + float TM; + + // Running a scenario, and waiting it to 'end' so we can give a score + if (scenario > SC_NONE && scoreType > SC_NONE && scoreWait > 0) { + scoreWait--; + if (scoreWait == 0) { + doScenarioScore(scoreType); + } + } + + checkGrowth(); + + totalZonePop = resZonePop + comZonePop + indZonePop; + PowerPop = nuclearPowerPop + coalPowerPop; + + switch (cityTime & 63) { + + case 1: + if (totalZonePop / 4 >= resZonePop) { + sendMessage(MESSAGE_NEED_MORE_RESIDENTIAL); + } + break; + + case 5: + if (totalZonePop / 8 >= comZonePop) { + sendMessage(MESSAGE_NEED_MORE_COMMERCIAL); + } + break; + + case 10: + if (totalZonePop / 8 >= indZonePop) { + sendMessage(MESSAGE_NEED_MORE_INDUSTRIAL); + } + break; + + case 14: + if (totalZonePop > 10 && totalZonePop * 2 > roadTotal) { + sendMessage(MESSAGE_NEED_MORE_ROADS); + } + break; + + case 18: + if (totalZonePop > 50 && totalZonePop > railTotal) { + sendMessage(MESSAGE_NEED_MORE_RAILS); + } + break; + + case 22: + if (totalZonePop > 10 && PowerPop == 0) { + sendMessage(MESSAGE_NEED_ELECTRICITY); + } + break; + + case 26: + if (resPop > 500 && stadiumPop == 0) { + sendMessage(MESSAGE_NEED_STADIUM); + resCap = true; + } else { + resCap = false; + } + break; + + case 28: + if (indPop > 70 && seaportPop == 0) { + sendMessage(MESSAGE_NEED_SEAPORT); + indCap = true; + } else { + indCap = false; + } + break; + + case 30: + if (comPop > 100 && airportPop == 0) { + sendMessage(MESSAGE_NEED_AIRPORT); + comCap = true; + } else { + comCap = false; + } + break; + + case 32: + TM = (float)(unpoweredZoneCount + poweredZoneCount); /* dec score for unpowered zones */ + if (TM > 0) { + if (poweredZoneCount / TM < 0.7) { + sendMessage(MESSAGE_BLACKOUTS_REPORTED); + } + } + break; + + case 35: + if (pollutionAverage > /* 80 */ 60) { + sendMessage(MESSAGE_HIGH_POLLUTION, -1, -1, true); + } + break; + + case 42: + if (crimeAverage > 100) { + sendMessage(MESSAGE_HIGH_CRIME, -1, -1, true); + } + break; + + case 45: + if (totalPop > 60 && fireStationPop == 0) { + sendMessage(MESSAGE_NEED_FIRE_STATION); + } + break; + + case 48: + if (totalPop > 60 && policeStationPop == 0) { + sendMessage(MESSAGE_NEED_POLICE_STATION); + } + break; + + case 51: + if (cityTax > 12) { + sendMessage(MESSAGE_TAX_TOO_HIGH); + } + break; + + case 54: + // If roadEffect < 5/8 of max effect + if (roadEffect < (5 * MAX_ROAD_EFFECT / 8) && roadTotal > 30) { + sendMessage(MESSAGE_ROAD_NEEDS_FUNDING); + } + break; + + case 57: + // If fireEffect < 0.7 of max effect + if (fireEffect < (7 * MAX_FIRE_STATION_EFFECT / 10) && totalPop > 20) { + sendMessage(MESSAGE_FIRE_STATION_NEEDS_FUNDING); + } + break; + + case 60: + // If policeEffect < 0.7 of max effect + if (policeEffect < (7 * MAX_POLICE_STATION_EFFECT / 10) + && totalPop > 20) { + sendMessage(MESSAGE_POLICE_NEEDS_FUNDING); + } + break; + + case 63: + if (trafficAverage > 60) { + sendMessage(MESSAGE_TRAFFIC_JAMS, -1, -1, true); + } + break; + + } +} + + +/** + * Detect a change in city class, and produce a message if the player has + * reached the next class. + * @todo This code is very closely related to Micropolis::doPopNum(). + * Maybe merge both in some way? + * (This function gets called much more often however then doPopNum(). + * Also, at the first call, the difference between thisCityPop and + * cityPop is huge.) + */ +void Micropolis::checkGrowth() +{ + if ((cityTime & 3) == 0) { + short category = 0; + Quad thisCityPop = getPopulation(); + + if (cityPopLast > 0) { + + CityClass lastClass = getCityClass(cityPopLast); + CityClass newClass = getCityClass(thisCityPop); + + if (lastClass != newClass) { + + // Switched class, find appropiate message. + switch (newClass) { + + case CC_VILLAGE: + // Don't mention it. + break; + + case CC_TOWN: + category = MESSAGE_REACHED_TOWN; + break; + + case CC_CITY: + category = MESSAGE_REACHED_CITY; + break; + + case CC_CAPITAL: + category = MESSAGE_REACHED_CAPITAL; + break; + + case CC_METROPOLIS: + category = MESSAGE_REACHED_METROPOLIS; + break; + + case CC_MEGALOPOLIS: + category = MESSAGE_REACHED_MEGALOPOLIS; + break; + + default: + NOT_REACHED(); + break; + + } + } + } + + if (category > 0 && category != categoryLast) { + sendMessage(category, NOWHERE, NOWHERE, true); + categoryLast = category; + } + + cityPopLast = thisCityPop; + } +} + + +/** + * Compute score for each scenario + * @param type Scenario used + * @note Parameter \a type may not be \c SC_NONE + */ +void Micropolis::doScenarioScore(Scenario type) +{ + short z = MESSAGE_SCENARIO_LOST; /* you lose */ + + switch (type) { + + case SC_DULLSVILLE: + if (cityClass >= CC_METROPOLIS) { + z = MESSAGE_SCENARIO_WON; + } + break; + + case SC_SAN_FRANCISCO: + if (cityClass >= CC_METROPOLIS) { + z = MESSAGE_SCENARIO_WON; + } + break; + + case SC_HAMBURG: + if (cityClass >= CC_METROPOLIS) { + z = MESSAGE_SCENARIO_WON; + } + break; + + case SC_BERN: + if (trafficAverage < 80) { + z = MESSAGE_SCENARIO_WON; + } + break; + + case SC_TOKYO: + if (cityScore > 500) { + z = MESSAGE_SCENARIO_WON; + } + break; + + case SC_DETROIT: + if (crimeAverage < 60) { + z = MESSAGE_SCENARIO_WON; + } + break; + + case SC_BOSTON: + if (cityScore > 500) { + z = MESSAGE_SCENARIO_WON; + } + break; + + case SC_RIO: + if (cityScore > 500) { + z = MESSAGE_SCENARIO_WON; + } + break; + + default: + NOT_REACHED(); + break; + + } + + sendMessage(z, NOWHERE, NOWHERE, true, true); + + if (z == MESSAGE_SCENARIO_LOST) { + doLoseGame(); + } +} + + +/** + * Send the user a message of an event that happens at a particular position + * in the city. + * @param messageIndex Message number of the message to display. + * @param x X coordinate of the position of the event. + * @param y Y coordinate of the position of the event. + * @param picture Flag that is true if a picture should be shown. + * @param important Flag that is true if the message is important. + */ +void Micropolis::sendMessage(short messageIndex, short x, short y, bool picture, bool important) +{ + callback->sendMessage(this, callbackVal, messageIndex, x, y, picture, important); +} + + +/** + * Make a sound for message \a mesgNum if appropriate. + * @param mesgNum Message number displayed. + * @param x Horizontal coordinate in the city of the sound. + * @param y Vertical coordinate in the city of the sound. + */ +void Micropolis::doMakeSound(int mesgNum, int x, int y) +{ + assert(mesgNum >= 0); + + switch (mesgNum) { + + case MESSAGE_TRAFFIC_JAMS: + if (getRandom(5) == 1) { + makeSound("city", "HonkHonkMed", x, y); + } else if (getRandom(5) == 1) { + makeSound("city", "HonkHonkLow", x, y); + } else if (getRandom(5) == 1) { + makeSound("city", "HonkHonkHigh", x, y); + } + break; + + case MESSAGE_HIGH_CRIME: + case MESSAGE_FIRE_REPORTED: + case MESSAGE_TORNADO_SIGHTED: + case MESSAGE_EARTHQUAKE: + case MESSAGE_PLANE_CRASHED: + case MESSAGE_SHIP_CRASHED: + case MESSAGE_TRAIN_CRASHED: + case MESSAGE_HELICOPTER_CRASHED: + makeSound("city", "Siren", x, y); + break; + + case MESSAGE_MONSTER_SIGHTED: + makeSound("city", "Monster", x, y); + break; + + case MESSAGE_FIREBOMBING: + makeSound("city", "ExplosionLow", x, y); + makeSound("city", "Siren", x, y); + break; + + case MESSAGE_NUCLEAR_MELTDOWN: + makeSound("city", "ExplosionHigh", x, y); + makeSound("city", "ExplosionLow", x, y); + makeSound("city", "Siren", x, y); + break; + + case MESSAGE_RIOTS_REPORTED: + makeSound("city", "Siren", x, y); + break; + + } +} + +/** + * Tell the front-end that it should perform an auto-goto + * @param x X position at the map + * @param y Y position at the map + * @param message Message + */ +void Micropolis::doAutoGoto(short x, short y, const std::string &message) +{ + callback->autoGoto(this, callbackVal, x, y, message); +} + + +/** Tell the front-end that the player has lost the game */ +void Micropolis::doLoseGame() +{ + callback->didLoseGame(this, callbackVal); +} + + +/** Tell the front-end that the player has won the game */ +void Micropolis::doWinGame() +{ + callback->didWinGame(this, callbackVal); +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/micropolis.cpp b/core/micropolis.cpp new file mode 100644 index 0000000..f972283 --- /dev/null +++ b/core/micropolis.cpp @@ -0,0 +1,1599 @@ +/* micropolis.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file micropolis.cpp + * @brief Primary implementation file for the Micropolis game engine. + * + * This file contains the core implementation of the Micropolis game + * engine. It includes the main class constructor, destructor, + * initialization and destruction functions, and other essential + * methods that underpin the game's functionality. The file covers + * various aspects of the game such as simulation control, disaster + * handling, sound effects, and map manipulation. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Simulator constructor. + */ +Micropolis::Micropolis() : + populationDensityMap(0), + trafficDensityMap(0), + pollutionDensityMap(0), + landValueMap(0), + crimeRateMap(0), + terrainDensityMap(0), + tempMap1(0), + tempMap2(0), + tempMap3(0), + powerGridMap(0), + rateOfGrowthMap(0), + fireStationMap(0), + fireStationEffectMap(0), + policeStationMap(0), + policeStationEffectMap(0), + comRateMap(0) +{ + setCallback(new ConsoleCallback(), emscripten::val::null()); + init(); +} + + +/** Simulator destructor. */ +Micropolis::~Micropolis() +{ + setCallback(NULL, emscripten::val::null()); + destroy(); +} + + +void Micropolis::setCallback(Callback *callback0, emscripten::val callbackVal0) +{ + if (callback != NULL) { + delete callback; + } + callback = callback0; + callbackVal = callbackVal0; +} + + +/** Initialize simulator variables to a sane default. */ +void Micropolis::init() +{ + + //////////////////////////////////////////////////////////////////////// + // allocate.cpp + + + // short roadTotal; + roadTotal = 0; + + // short railTotal; + railTotal = 0; + + // short firePop; + firePop = 0; + + // short resPop; + resPop = 0; + + // short comPop; + comPop = 0; + + // short indPop; + indPop = 0; + + // short totalPop; + totalPop = 0; + + // short totalPopLast; + totalPopLast = 0; + + // short resZonePop; + resZonePop = 0; + + // short comZonePop; + comZonePop = 0; + + // short indZonePop; + indZonePop = 0; + + // short totalZonePop; + totalZonePop = 0; + + // short hospitalPop; + hospitalPop = 0; + + // short churchPop; + churchPop = 0; + + // short faith; + faith = 0; + + // short stadiumPop; + stadiumPop = 0; + + // short policeStationPop; + policeStationPop = 0; + + // short fireStationPop; + fireStationPop = 0; + + // short coalPowerPop; + coalPowerPop = 0; + + // short nuclearPowerPop; + nuclearPowerPop = 0; + + // short seaportPop; + seaportPop = 0; + + // short airportPop; + airportPop = 0; + + // short needHospital; + needHospital = 0; + + // short needChurch; + needChurch = 0; + + // short crimeAverage; + crimeAverage = 0; + + // short pollutionAverage; + pollutionAverage = 0; + + // short landValueAverage; + landValueAverage = 0; + + // Quad cityTime; + cityTime = 0; + + // Quad cityMonth; + cityMonth = 0; + + // Quad cityYear; + cityYear = 0; + + // short startingYear; + startingYear = 0; + + // short *map[WORLD_W]; + memset(map, 0, sizeof(short *) * WORLD_W); + + // short resHist10Max; + resHist10Max = 0; + + // short resHist120Max; + resHist120Max = 0; + + // short comHist10Max; + comHist10Max = 0; + + // short comHist120Max; + comHist120Max = 0; + + // short indHist10Max; + indHist10Max = 0; + + // short indHist120Max; + indHist120Max = 0; + + censusChanged = false; + + // Quad roadSpend; + roadSpend = 0; + + // Quad policeSpend; + policeSpend = 0; + + // Quad fireSpend; + fireSpend = 0; + + // Quad roadFund; + roadFund = 0; + + // Quad policeFund; + policeFund = 0; + + // Quad fireFund; + fireFund = 0; + + roadEffect = 0; + policeEffect = 0; + fireEffect = 0; + + // Quad taxFund; + taxFund = 0; + + // short cityTax; + cityTax = 0; + + // bool taxFlag; + taxFlag = false; + + populationDensityMap.clear(); + trafficDensityMap.clear(); + pollutionDensityMap.clear(); + landValueMap.clear(); + crimeRateMap.clear(); + powerGridMap.clear(); + terrainDensityMap.clear(); + rateOfGrowthMap.clear(); + fireStationMap.clear(); + fireStationEffectMap.clear(); + policeStationMap.clear(); + policeStationEffectMap.clear(); + comRateMap.clear(); + + // unsigned short *mapBase; + mapBase = NULL; + + // short *resHist; + resHist = NULL; + + // short *comHist; + comHist = NULL; + + // short *indHist; + indHist = NULL; + + // short *moneyHist; + moneyHist = NULL; + + // short *pollutionHist; + pollutionHist = NULL; + + // short *crimeHist; + crimeHist = NULL; + + // short *miscHist; + miscHist = NULL; + + + //////////////////////////////////////////////////////////////////////// + // budget.cpp + + + // float roadPercent; + roadPercent = (float)0.0; + + // float policePercent; + policePercent = (float)0.0; + + // float firePercent; + firePercent = (float)0.0; + + // Quad roadValue; + roadValue = 0; + + // Quad policeValue; + policeValue = 0; + + // Quad fireValue; + fireValue = 0; + + // int mustDrawBudget; + mustDrawBudget = 0; + + + //////////////////////////////////////////////////////////////////////// + // disasters.cpp + + + // short floodCount; + floodCount = 0; + + + //////////////////////////////////////////////////////////////////////// + // evaluate.cpp + + + // short cityYes; + cityYes = 0; + + // short problemVotes[PROBNUM]; /* these are the votes for each */ + memset(problemVotes, 0, sizeof(short) * PROBNUM); + + // short problemOrder[CVP_PROBLEM_COMPLAINTS]; /* sorted index to above */ + memset(problemOrder, 0, sizeof(short) * CVP_PROBLEM_COMPLAINTS); + + // Quad cityPop; + cityPop = 0; + + // Quad cityPopDelta; + cityPopDelta = 0; + + // Quad cityAssessedValue; + cityAssessedValue = 0; + + cityClass = CC_VILLAGE; + + // short cityScore; + cityScore = 0; + + // short cityScoreDelta; + cityScoreDelta = 0; + + // short trafficAverage; + trafficAverage = 0; + + + //////////////////////////////////////////////////////////////////////// + // generate.cpp + + + // int TreeLevel; /* level for tree creation */ + terrainTreeLevel = -1; + + // int LakeLevel; /* level for lake creation */ + terrainLakeLevel = -1; + + // int CurveLevel; /* level for river curviness */ + terrainCurveLevel = -1; + + // int CreateIsland; /* -1 => 10%, 0 => never, 1 => always */ + terrainCreateIsland = -1; + + + //////////////////////////////////////////////////////////////////////// + // graph.cpp + + + graph10Max = 0; + graph120Max = 0; + + + //////////////////////////////////////////////////////////////////////// + // main.cpp + + // int simLoops; + simLoops = 0; + + // int simPasses; + simPasses = 0; + + // int simPass; + simPass = 0; + + simPaused = false; // Simulation is running + + // int simPausedSpeed; + simPausedSpeed = 3; + + // int heatSteps; + heatSteps = 0; + + // int heatFlow; + heatFlow = -7; + + // int heatRule; + heatRule = 0; + + // int heatWrap; + heatWrap = 3; + + // std::string cityFileName; + cityFileName = ""; + + // std::string cityName; + cityName = ""; + + // bool tilesAnimated; + tilesAnimated = false; + + // bool doAnimaton; + doAnimation = true; + + // bool doMessages; + doMessages = true; + + // bool doNotices; + doNotices = true; + + // short *cellSrc; + cellSrc = NULL; + + // short *cellDst; + cellDst = NULL; + + + //////////////////////////////////////////////////////////////////////// + // message.cpp + + + // Quad cityPopLast; + cityPopLast = 0; + + // short categoryLast; + categoryLast = 0; + + autoGoto = false; + + + //////////////////////////////////////////////////////////////////////// + // power.cpp + + + powerStackPointer = 0; + + // Position powerStackXY[POWER_STACK_SIZE]; + for (int i = 0; i < POWER_STACK_SIZE; i++) { + powerStackXY[i] = Position(); + } + + + //////////////////////////////////////////////////////////////////////// + // random.cpp + + + // UQuad nextRandom; + nextRandom = 1; + + + //////////////////////////////////////////////////////////////////////// + // scan.cpp + + // short newMap; + newMap = 0; + + // short newMapFlags[MAP_TYPE_COUNT]; + memset(newMapFlags, 0, sizeof(short) * MAP_TYPE_COUNT); + + // short cityCenterX; + cityCenterX = 0; + + // short cityCenterY; + cityCenterY = 0; + + // short pollutionMaxX; + pollutionMaxX = 0; + + // short pollutionMaxY; + pollutionMaxY = 0; + + // short crimeMaxX; + crimeMaxX = 0; + + // short crimeMaxY; + crimeMaxY = 0; + + // Quad donDither; + donDither = 0; + + + //////////////////////////////////////////////////////////////////////// + // simulate.cpp + + + valveFlag = false; + + // short crimeRamp; + crimeRamp = 0; + + // short pollutionRamp; + pollutionRamp = 0; + + resCap = false; // Do not block residential growth + comCap = false; // Do not block commercial growth + indCap = false; // Do not block industrial growth + + // short cashFlow; + cashFlow = 0; + + // float externalMarket; + externalMarket = (float)4.0; + + disasterEvent = SC_NONE; + + // short disasterWait; + disasterWait = 0; + + scoreType = SC_NONE; + + // short scoreWait; + scoreWait = 0; + + // short poweredZoneCount; + poweredZoneCount = 0; + + // short unpoweredZoneCount; + unpoweredZoneCount = 0; + + newPower = false; + + // short cityTaxAverage; + cityTaxAverage = 0; + + // short simCycle; + simCycle = 0; + + // short phaseCycle; + phaseCycle = 0; + + // short speedCycle; + speedCycle = 0; + + // bool doInitialEval + doInitialEval = false; + + // int mapSerial; + mapSerial = 1; + + // short resValve; + resValve = 0; + + // short comValve; + comValve = 0; + + // short indValve; + indValve = 0; + + + //////////////////////////////////////////////////////////////////////// + // sprite.cpp + + + //SimSprite *spriteList; + spriteList = NULL; + + // SimSprite *freeSprites; + freeSprites = NULL; + + // SimSprite *globalSprites[SPRITE_COUNT]; + memset(globalSprites, 0, sizeof(SimSprite *) * SPRITE_COUNT); + + // int absDist; + absDist = 0; + + // short spriteCycle; + spriteCycle = 0; + + + //////////////////////////////////////////////////////////////////////// + // stubs.cpp + + + // Quad totalFunds; + totalFunds = 0; + + autoBulldoze = true; + + autoBudget = true; + + gameLevel = LEVEL_EASY; + + // short initSimLoad; + initSimLoad = 0; + + scenario = SC_NONE; + + // short simSpeed; + simSpeed = 0; + + // short simSpeedMeta; + simSpeedMeta = 0; + + enableSound = false; + + enableDisasters = true; + + evalChanged = false; + + // short blinkFlag; + blinkFlag = 0; + + + //////////////////////////////////////////////////////////////////////// + // traffic.cpp + + + // short curMapStackPointer; + curMapStackPointer = 0; + + // Position curMapStackXY[MAX_TRAFFIC_DISTANCE+1]; + for (int i = 0; i < MAX_TRAFFIC_DISTANCE + 1; i++) { + curMapStackXY[i] = Position(); + } + + // short trafMaxX, trafMaxY; + trafMaxX = 0; + trafMaxY = 0; + + + //////////////////////////////////////////////////////////////////////// + // update.cpp + + + mustUpdateFunds = false; + + mustUpdateOptions = false; + + // Quad cityTimeLast; + cityTimeLast = 0; + + // Quad cityYearLast; + cityYearLast = 0; + + // Quad cityMonthLast; + cityMonthLast = 0; + + // Quad totalFundsLast; + totalFundsLast = 0; + + // Quad resLast; + resLast = 0; + + // Quad comLast; + comLast = 0; + + // Quad indLast; + indLast = 0; + + simInit(); + +} + + +void Micropolis::destroy() +{ + + destroyMapArrays(); + + // TODO: Clean up all other stuff: + +} + + +/** + * Check whether \a dir points to a directory. + * If not, report an error. + * @param dir Directory to search. + * @param envVar Environment variable controlling searchpath of the directory. + * @return Directory has been found. + */ +static bool testDirectory(const std::string& dir, const std::string &envVar) +{ + struct stat statbuf; + + if (stat(dir.c_str(), &statbuf) == 0 && S_ISDIR(statbuf.st_mode)) { + + return true; + } + + fprintf(stderr, "Can't find the directory \"%s\"!\n", dir.c_str()); + fprintf(stderr, + "The environment variable \"%s\" should name a directory.\n", + envVar.c_str()); + + return false; +} + + +/** Initialize for a simulation */ +void Micropolis::simInit() +{ + setEnableSound(true); // Enable sound + mustUpdateOptions = true; // Update options displayed at user + scenario = SC_NONE; + startingYear = 1900; + simPasses = 1; + simPass = 0; + setAutoGoto(true); // Enable auto-goto + setCityTax(7); + cityTime = 50; + setEnableDisasters(true); // Enable disasters + setAutoBulldoze(true); // Enable auto bulldoze + setAutoBudget(true); // Enable auto-budget + blinkFlag = 1; + simSpeed = 3; + changeEval(); + simPaused = false; // Simulation is running + simLoops = 0; + initSimLoad = 2; + + initMapArrays(); + initGraphs(); + initFundingLevel(); + resetMapState(); + resetEditorState(); + clearMap(); + initWillStuff(); + setFunds(5000); + setGameLevelFunds(LEVEL_EASY); + setSpeed(0); + setPasses(1); +} + + +/** + * Update ???? + * @todo What is the purpose of this function? (also in relation with + * Micropolis::simTick()). + */ +void Micropolis::simUpdate() +{ + //printf("simUpdate\n"); + blinkFlag = ((tickCount() % 60) < 30) ? 1 : -1; + + if (simSpeed && !heatSteps) { + tilesAnimated = false; + } + + doUpdateHeads(); + graphDoer(); + updateBudget(); + scoreDoer(); +} + + +/** + * ???? + * @todo Why is Micropolis::cellSrc not allocated together with all the other + * variables? + * @todo What is the purpose of this function? + * @todo KILL the define. + */ +void Micropolis::simHeat() +{ + int x, y; + static int a = 0; + short *src, *dst; + int fl = heatFlow; + + const int SRCCOL = WORLD_H + 2; + const int DSTCOL = WORLD_H; + + + if (cellSrc == NULL) { + cellSrc = (short *)newPtr((WORLD_W + 2) * (WORLD_H + 2) * sizeof (short)); + cellDst = (short *)&map[0][0]; + } + + src = cellSrc + SRCCOL + 1; + dst = cellDst; + + /* + * Copy wrapping edges: + * + * 0 ff f0 f1 ... fe ff f0 + * + * 1 0f 00 01 ... 0e 0f 00 + * 2 1f 10 11 ... 1e 1f 10 + * .. .. .. .. .. .. + * ef e0 e1 ... ee ef e0 + * h ff f0 f1 ... fe ff f0 + * + * h+1 0f 00 01 ... 0e 0f 00 + * + * wrap value: effect: + * 0 no effect + * 1 copy future=>past, no wrap + * 2 no copy, wrap edges + * 3 copy future=>past, wrap edges + * 4 copy future=>past, same edges + */ + + switch (heatWrap) { + case 0: + break; + case 1: + for (x = 0; x < WORLD_W; x++) { + memcpy(src, dst, WORLD_H * sizeof (short)); + src += SRCCOL; + dst += DSTCOL; + } + break; + case 2: + for (x = 0; x < WORLD_W; x++) { + src[-1] = src[WORLD_H - 1]; + src[WORLD_H] = src[0]; + src += SRCCOL; + dst += DSTCOL; + } + memcpy( + cellSrc, + cellSrc + (SRCCOL * WORLD_W), + SRCCOL * sizeof (short)); + memcpy( + cellSrc + SRCCOL * (WORLD_W + 1), + cellSrc + SRCCOL, + SRCCOL * sizeof (short)); + break; + case 3: + for (x = 0; x < WORLD_W; x++) { + memcpy(src, dst, WORLD_H * sizeof (short)); + src[-1] = src[WORLD_H - 1]; + src[WORLD_H] = src[0]; + src += SRCCOL; + dst += DSTCOL; + } + memcpy( + cellSrc, + cellSrc + (SRCCOL * WORLD_W), + SRCCOL * sizeof (short)); + memcpy( + cellSrc + SRCCOL * (WORLD_W + 1), + cellSrc + SRCCOL, + SRCCOL * sizeof (short)); + break; + case 4: + src[0] = + dst[0]; + src[1 + WORLD_H] = + dst[WORLD_H - 1]; + src[(1 + WORLD_W) * SRCCOL] = + dst[(WORLD_W - 1) * DSTCOL]; + src[((2 + WORLD_W) * SRCCOL) - 1] = + dst[(WORLD_W * WORLD_H) - 1]; + for (x = 0; x < WORLD_W; x++) { + memcpy(src, dst, WORLD_H * sizeof (short)); + src[-1] = src[0]; + src[WORLD_H] = src[WORLD_H - 1]; + src += SRCCOL; + dst += DSTCOL; + } + memcpy( + cellSrc + (SRCCOL * (WORLD_W + 1)), + cellSrc + (SRCCOL * WORLD_W), + SRCCOL * sizeof (short)); + memcpy( + cellSrc, + cellSrc + SRCCOL, + SRCCOL * sizeof (short)); + break; + default: + NOT_REACHED(); + break; + } + + +#define CLIPPER_LOOP_BODY(CODE) \ + src = cellSrc; dst = cellDst; \ + for (x = 0; x < WORLD_W;) { \ + short nw, n, ne, w, c, e, sw, s, se; \ + src = cellSrc + (x * SRCCOL); \ + dst = cellDst + (x * DSTCOL); \ + w = src[0]; c = src[SRCCOL]; e = src[2 * SRCCOL]; \ + sw = src[1]; s = src[SRCCOL + 1]; se = src[(2 * SRCCOL) + 1]; \ + for (y = 0; y < WORLD_H; y++) { \ + nw = w; w = sw; sw = src[2]; \ + n = c; c = s; s = src[SRCCOL + 2]; \ + ne = e; e = se; se = src[(2 * SRCCOL) + 2]; \ + { CODE } \ + src++; dst++; \ + } \ + x++; \ + src = cellSrc + ((x + 1) * SRCCOL) - 3; \ + dst = cellDst + ((x + 1) * DSTCOL) - 1; \ + nw = src[1]; n = src[SRCCOL + 1]; ne = src[(2 * SRCCOL) + 1]; \ + w = src[2]; c = src[SRCCOL + 2]; e = src[(2 * SRCCOL) + 2]; \ + for (y = WORLD_H - 1; y >= 0; y--) { \ + sw = w; w = nw; nw = src[0]; \ + s = c; c = n; n = src[SRCCOL]; \ + se = e; e = ne; ne = src[2 * SRCCOL]; \ + { CODE } \ + src--; dst--; \ + } \ + x++; \ + } + + + switch (heatRule) { + + case 0: + +#define HEAT \ + a += nw + n + ne + w + e + sw + s + se + fl; \ + dst[0] = ((a >> 3) & LOMASK) | ANIMBIT | BURNBIT | BULLBIT; \ + a &= 7; + + CLIPPER_LOOP_BODY(HEAT); + break; + + case 1: + +#define ECOMASK 0x3fc +#define ECO \ + { \ + c -= fl; n -= fl; s -= fl; e -= fl; w -= fl; \ + ne -= fl; nw -= fl; se -= fl; sw -= fl; \ + /* anneal */ \ + int sum = \ + (c&1) + (n&1) + (s&1) + (e&1) + (w&1) + \ + (ne&1) + (nw&1) + (se&1) + (sw&1), cell; \ + if (((sum > 5) || (sum == 4))) { \ + /* brian's brain */ \ + cell = \ + ((c <<1) & (0x3fc)) | \ + (((((c >>1)&3) == 0) && \ + (((n&2) + (s&2) + (e&2) + (w&2) + \ + (ne&2) + (nw&2) + (se&2) + (sw&2)) == (2 <<1)) \ + ) ? 2 : 0) | \ + 1; \ + } else { \ + /* anti-life */ \ + sum = \ + ((n&2) + (s&2) + (e&2) + (w&2) + \ + (ne&2) + (nw&2) + (se&2) + (sw&2)) >>1; \ + cell = \ + (((c ^ 2) <<1) & ECOMASK) | \ + ((c&2) \ + ? ((sum != 5) ? 2 : 0) \ + : (((sum != 5) && (sum != 6)) ? 2 : 0)); \ + } \ + dst[0] = \ + ((fl + cell) & LOMASK) | ANIMBIT | BURNBIT | BULLBIT; \ + c += fl; n += fl; s += fl; e += fl; w += fl; \ + ne += fl; nw += fl; se += fl; sw += fl; \ + } + + CLIPPER_LOOP_BODY(ECO); + + break; + + default: + NOT_REACHED(); + break; + } +} + + +void Micropolis::simLoop(bool doSim) +{ + if (heatSteps) { + int j; + + for (j = 0; j < heatSteps; j++) { + simHeat(); + } + + moveObjects(); + simulateRobots(); + + newMap = 1; + + } else { + if (doSim) { + simFrame(); + } + + moveObjects(); + simulateRobots(); + } + + simLoops++; +} + + +/** + * Move simulaton forward. + * @todo What is the purpose of this function? (also in relation with + * Micropolis::simUpdate()). + */ +void Micropolis::simTick() +{ + if (simSpeed) { + for (simPass = 0; simPass < simPasses; simPass++) { + simLoop(true); + } + } + simUpdate(); +} + + +void Micropolis::simulateRobots() +{ + callback->simulateRobots(this, callbackVal); +} + + +/** + * Deduct \a dollars from the player funds. + * @param dollars Amount of money spent. + */ +void Micropolis::spend(int dollars) +{ + setFunds(totalFunds - dollars); +} + + +/** + * Set player funds to \a dollars. + * + * Modify the player funds, and warn the front-end about the new amount of + * money. + * @param dollars New value for the player funds. + */ +void Micropolis::setFunds(int dollars) +{ + totalFunds = dollars; + updateFunds(); +} + + +/** + * Get number of ticks. + * @todo Figure out what a 'tick' is. + * @bug Unix version looks wrong, \c time.tv_usec should be divided to get + * seconds or \c time.tc_sec should be multiplied. + */ +Quad Micropolis::tickCount() +{ + struct timeval time; + gettimeofday(&time, 0); + return (Quad)((time.tv_sec * 60) + (time.tv_usec * 60) / 1000000); +} + + +/** + * Claim \a size bytes of memory. + * @param size Number of bytes to claim. + * @return Pointer to the claimed memory. + */ +Ptr Micropolis::newPtr(int size) +{ + return (Ptr)malloc(size); +} + + +/** + * Release claimed memory. + * @param data Pointer to previously claimed memory. + */ +void Micropolis::freePtr(void *data) +{ + free(data); +} + + +/** + * Tell the front-end a scenario is started. + * @param scenario The scenario being started. + * @see Scenario. + */ +void Micropolis::doStartScenario(int scenario) +{ + callback->startScenario(this, callbackVal, scenario); +} + + +/** + * Tell the front-end a game is started. + */ +void Micropolis::doStartGame() +{ + callback->startGame(this, callbackVal); +} + + +/** + * Initialize the game. + * This is called from the scripting language. + * @todo we seem to have several of these functions. + */ +void Micropolis::initGame() +{ + simPaused = false; // Simulation is running. + simPausedSpeed = 0; + simPass = 0; + simPasses = 1; + heatSteps = 0; // Disable cellular automata machine. + setSpeed(0); +} + + +/** + * Tell the front-end to show an earthquake to the user (shaking the map for + * some time). + */ +void Micropolis::doEarthquake(int strength) +{ + makeSound("city", "ExplosionLow"); // Make the sound all over. + + callback->startEarthquake(this, callbackVal, strength); +} + + +/** Tell the front-end that the maps are not valid any more */ +void Micropolis::invalidateMaps() +{ + mapSerial++; + callback->updateMap(this, callbackVal); +} + + +/** + * Instruct the front-end to make a sound. + * @param channel Name of the sound channel, which can effect the + * sound (location, volume, spatialization, etc). + * Use "city" for city sounds effects, and "interface" + * for user interface sounds. + * @param sound Name of the sound. + * @param x Tile X position of sound, 0 to WORLD_W, or -1 for everywhere. + * @param y Tile Y position of sound, 0 to WORLD_H, or -1 for everywhere. + */ +void Micropolis::makeSound(const std::string &channel, + const std::string &sound, + int x, int y) +{ + if (enableSound) { + callback->makeSound(this, callbackVal, channel, sound, x, y); + } +} + + +/** + * Get a tile from the map. + * @param x X coordinate of the position to get, 0 to WORLD_W. + * @param y Y coordinate of the position to get, 0 to WORLD_H. + * @return Value of the map at the given position. + * @note Off-map positions are considered to contain #DIRT. + */ +int Micropolis::getTile(int x, int y) +{ + if (!testBounds(x, y)) { + return DIRT; + } + + return map[x][y]; +} + + +/** + * Set a tile into the map. + * @param x X coordinate of the position to get, 0 to WORLD_W. + * @param y Y coordinate of the position to get, 0 to WORLD_H. + * @param tile the tile value to set. + * @note Off-map positions are ignored. + */ +void Micropolis::setTile(int x, int y, int tile) +{ + if (!testBounds(x, y)) { + return; + } + + map[x][y] = (unsigned short)tile; +} + + +/** + * Get the address of the internal buffer containing the map. This is + * used to enable the tile engine to access the tiles directly. + * @return Pointer to the start of the world map buffer. + */ +void *Micropolis::getMapBuffer() +{ + return (void *)mapBase; +} + + +/** + * Get a value from the power grid map. + * @param x X coordinate of the position to get, 0 to WORLD_W. + * @param y Y coordinate of the position to get, 0 to WORLD_H. + * @return Value of the power grid map at the given position. + * @note Off-map positions are considered to contain 0. + * @todo Use world coordinates instead (use powerGridMap.worldGet() instead). + */ +int Micropolis::getPowerGrid(int x, int y) +{ + return powerGridMap.worldGet(x, y); +} + + +/** + * Set a value in the power grid map. + * @param x X coordinate of the position to get, 0 to WORLD_W. + * @param y Y coordinate of the position to get, 0 to WORLD_H. + * @param power the value to set. + * @note Off-map positions are ignored. + * @todo Use world coordinates instead (use powerGridMap.worldSet() instead). + */ +void Micropolis::setPowerGrid(int x, int y, int power) +{ + powerGridMap.worldSet(x, y, power); +} + + +/** + * Get the address of the internal buffer containing the power grid + * map. This is used to enable the tile engine to access the power + * grid map directly. + * @return Pointer to the start of the power grid map buffer. + */ +void *Micropolis::getPowerGridMapBuffer() +{ + return (void *)powerGridMap.getBase(); +} + + +/** + * Get a value from the population density map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @return Value of the population density map at the given position. + * @note Off-map positions are considered to contain 0. + * @todo Use world coordinates instead (use populationDensityMap.worldGet() instead). + */ +int Micropolis::getPopulationDensity(int x, int y) +{ + return populationDensityMap.get(x, y); +} + + +/** + * Set a value in the population density map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @param density the value to set. + * @note Off-map positions are ignored. + * @todo Use world coordinates instead (use populationDensityMap.worldSet() instead). + */ +void Micropolis::setPopulationDensity(int x, int y, int density) +{ + populationDensityMap.set(x, y, density); +} + + +/** + * Get the address of the internal buffer containing the population + * density map. This is used to enable the tile engine to access the + * population density map directly. + * @return Pointer to the start of the population density map buffer. + */ +void *Micropolis::getPopulationDensityMapBuffer() +{ + return (void *)populationDensityMap.getBase(); +} + + +/** + * Get a value from the rate of growth map. + * @param x X coordinate of the position to get, 0 to WORLD_W_8. + * @param y Y coordinate of the position to get, 0 to WORLD_H_8. + * @return Value of the rate of growth map at the given position. + * @note Off-map positions are considered to contain 0. + * @todo Use world coordinates instead (use rateOfGrowthMap.worldGet() instead). + */ +int Micropolis::getRateOfGrowth(int x, int y) +{ + return rateOfGrowthMap.get(x, y); +} + + +/** + * Set a value in the rate of growth map. + * @param x X coordinate of the position to get, 0 to WORLD_W_8. + * @param y Y coordinate of the position to get, 0 to WORLD_H_8. + * @param rate the value to set. + * @note Off-map positions are ignored. + * @todo Use world coordinates instead (use rateOfGrowthMap.worldSet() instead). + */ +void Micropolis::setRateOfGrowth(int x, int y, int rate) +{ + rateOfGrowthMap.set(x, y, rate); +} + + +/** + * Get the address of the internal buffer containing the rate of + * growth map. This is used to enable the tile engine to access the + * rate of growth map directly. + * @return Pointer to the start of the rate of growth map buffer. + */ +void *Micropolis::getRateOfGrowthMapBuffer() +{ + return (void *)rateOfGrowthMap.getBase(); +} + + +/** + * Get a value from the traffic density map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @return Value of the traffic density at the given position. + * @note Off-map positions are considered to contain 0. + * @todo Use world coordinates instead (use trafficDensityMap.worldGet() instead). + */ +int Micropolis::getTrafficDensity(int x, int y) +{ + return trafficDensityMap.get(x, y); +} + + +/** + * Set a value in the traffic density map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @param density the value to set. + * @note Off-map positions are ignored. + * @todo Use world coordinates instead (use trafficDensityMap.worldSet() instead). + */ +void Micropolis::setTrafficDensity(int x, int y, int density) +{ + trafficDensityMap.set(x, y, density); +} + + +/** + * Get the address of the internal buffer containing the traffic + * density map. This is used to enable the tile engine to access the + * traffic density map directly. + * @return Pointer to the start of the traffic density map buffer. + */ +void *Micropolis::getTrafficDensityMapBuffer() +{ + return (void *)trafficDensityMap.getBase(); +} + + +/** + * Get a value from the pollution density map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @return Value of the rate of pollution density map at the given position. + * @note Off-map positions are considered to contain 0. + * @todo Use world coordinates instead (use pollutionDensityMap.worldGet() instead). + */ +int Micropolis::getPollutionDensity(int x, int y) +{ + return pollutionDensityMap.get(x, y); +} + + +/** + * Set a value in the pollition density map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @param density the value to set. + * @note Off-map positions are ignored. + * @todo Use world coordinates instead (use pollutionDensityMap.worldSet() instead). + */ +void Micropolis::setPollutionDensity(int x, int y, int density) +{ + pollutionDensityMap.set(x, y, density); +} + + +/** + * Get the address of the internal buffer containing the pollution + * density map. This is used to enable the tile engine to access the + * pollution density map directly. + * @return Pointer to the start of the pollution density map buffer. + */ +void *Micropolis::getPollutionDensityMapBuffer() +{ + return (void *)pollutionDensityMap.getBase(); +} + + +/** + * Get a value from the crime rate map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @return Value of the population density map at the given position. + * @note Off-map positions are considered to contain 0. + * @todo Use world coordinates instead (use crimeRateMap.worldGet() instead). + */ +int Micropolis::getCrimeRate(int x, int y) +{ + return crimeRateMap.get(x, y); +} + + +/** + * Set a value in the crime rate map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @param rate the value to set. + * @note Off-map positions are ignored. + * @todo Use world coordinates instead (use crimeRateMap.worldSet() instead). + */ +void Micropolis::setCrimeRate(int x, int y, int rate) +{ + crimeRateMap.set(x, y, rate); +} + + +/** + * Get the address of the internal buffer containing the crime rate + * map. This is used to enable the tile engine to access the crime + * rate map directly. + * @return Pointer to the start of the crime rate map buffer. + */ +void *Micropolis::getCrimeRateMapBuffer() +{ + return (void *)crimeRateMap.getBase(); +} + + +/** + * Get a value from the land value map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @return Value of the land value map at the given position. + * @note Off-map positions are considered to contain 0. + * @todo Use world coordinates instead (use landValueMap.worldGet() instead). + */ +int Micropolis::getLandValue(int x, int y) +{ + return landValueMap.get(x, y); +} + + +/** + * Set a value in the land value map. + * @param x X coordinate of the position to get, 0 to WORLD_W_2. + * @param y Y coordinate of the position to get, 0 to WORLD_H_2. + * @param value the value to set. + * @note Off-map positions are ignored. + * @todo Use world coordinates instead (use landValueMap.worldSet() instead). + */ +void Micropolis::setLandValue(int x, int y, int value) +{ + landValueMap.set(x, y, value); +} + + +/** + * Get the address of the internal buffer containing the land value + * map. This is used to enable the tile engine to access the land + * value map directly. + * @return Pointer to the start of the land value map buffer. + */ +void *Micropolis::getLandValueMapBuffer() +{ + return (void *)landValueMap.getBase(); +} + + +/** + * Get a value from the fire coverage map. + * @param x X coordinate of the position to get, 0 to WORLD_W_8. + * @param y Y coordinate of the position to get, 0 to WORLD_H_8. + * @return Value of the fir coverage map at the given position. + * @note Off-map positions are considered to contain 0. + * @todo Use world coordinates instead (use fireStationEffectMap.worldGet() instead). + */ +int Micropolis::getFireCoverage(int x, int y) +{ + return fireStationEffectMap.get(x, y); +} + + +/** + * Set a value in the fire coverage map. + * @param x X coordinate of the position to get, 0 to WORLD_W_8. + * @param y Y coordinate of the position to get, 0 to WORLD_H_8. + * @param coverage the value to set. + * @note Off-map positions are ignored. + * @todo Use world coordinates instead (use fireStationEffectMap.worldSet() instead). + */ +void Micropolis::setFireCoverage(int x, int y, int coverage) +{ + fireStationEffectMap.set(x, y, coverage); +} + + +/** + * Get the address of the internal buffer containing the fire coverage + * map. This is used to enable the tile engine to access the fire + * coverage map directly. + * @return Pointer to the start of the fire coverage map buffer. + */ +void *Micropolis::getFireCoverageMapBuffer() +{ + return (void *)fireStationEffectMap.getBase(); +} + +/** + * Get a value from the police coverage map. + * @param x X coordinate of the position to get, 0 to WORLD_W_8. + * @param y Y coordinate of the position to get, 0 to WORLD_H_8. + * @return Value of the fir coverage map at the given position. + * @note Off-map positions are considered to contain 0. + * @todo Use world coordinates instead (use policeStationEffectMap.worldGet() instead). + */ +int Micropolis::getPoliceCoverage(int x, int y) +{ + return policeStationEffectMap.get(x, y); +} + + +/** + * Set a value in the police coverage map. + * @param x X coordinate of the position to get, 0 to WORLD_W_8. + * @param y Y coordinate of the position to get, 0 to WORLD_H_8. + * @param coverage the value to set. + * @note Off-map positions are ignored. + * @todo Use world coordinates instead (use policeStationEffectMap.worldSet() instead). + */ +void Micropolis::setPoliceCoverage(int x, int y, int coverage) +{ + policeStationEffectMap.set(x, y, coverage); +} + + +/** + * Get the address of the internal buffer containing the police coverage + * map. This is used to enable the tile engine to access the police + * coverage map directly. + * @return Pointer to the start of the police coverage map buffer. + */ +void *Micropolis::getPoliceCoverageMapBuffer() +{ + return (void *)policeStationEffectMap.getBase(); +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/micropolis.h b/core/micropolis.h new file mode 100644 index 0000000..2330b3f --- /dev/null +++ b/core/micropolis.h @@ -0,0 +1,2702 @@ +/* micropolis.h + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file micropolis.h + * @brief Header file for Micropolis game engine. + * + * This file contains class and method declarations, constant + * definitions, enumerations, and other essential elements for the + * Micropolis game engine. It serves as the central include file that + * brings together various components of the simulation, such as map + * handling, disaster events, budgeting, and zone management. It also + * defines key data structures, such as the SimSprite class for + * handling sprites within the game. This header file is crucial for + * providing the necessary declarations for different parts of the + * game engine to interact and function cohesively. + */ + +#ifndef H_MICROPOLIS +#define H_MICROPOLIS + +//////////////////////////////////////////////////////////////////////// +// Includes + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include "data_types.h" +#include "map_type.h" +#include "position.h" +#include "text.h" +#include "frontendmessage.h" +#include "tool.h" +#include "callback.h" + +//////////////////////////////////////////////////////////////////////// +// Definitions + +/** + * Used to determine byte order. + * + * @todo Determine byte order a better way. + */ +#define IS_INTEL 1 + +//////////////////////////////////////////////////////////////////////// +// Constants + +/** + * The number of bits per tile. + * @todo Only used in python/micropolisdrawingarea.py + */ +static const int BITS_PER_TILE = 16; + +/** + * The number of bytes per tile. + * @todo Only used in python/micropolisdrawingarea.py + */ +static const int BYTES_PER_TILE = 2; + +/** + * Horizontal size of the world for a map that stores a value for every 2x2 + * square. + * @todo Make a Map class that keeps its 2x2 square storage details internally, + * so the code doesn't need to bother with it. + */ +static const int WORLD_W_2 = WORLD_W / 2; + +/** + * Vertical size of the world for a map that stores a value for every 2x2 + * square. + */ +static const int WORLD_H_2 = WORLD_H / 2; + +/** + * Horizontal size of the world for a map that stores a value for every 4x4 + * square. + * @todo Make a Map class that keeps its 4x4 square storage details internally, + * so the code doesn't need to bother with it. + */ +static const int WORLD_W_4 = WORLD_W / 4; + +/** + * Vertical size of the world for a map that stores a value for every 4x4 + * square. + */ +static const int WORLD_H_4 = WORLD_H / 4; + +/** + * Horizontal size of the world for a map that stores a value for every 8x8 + * square. + * @todo Make a Map class that keeps its 8x8 square storage details internally, + * so the code doesn't need to bother with it. + */ +static const int WORLD_W_8 = WORLD_W / 8; + +/** + * Vertical size of the world for a map that stores a value for every 8x8 + * square. + */ +static const int WORLD_H_8 = (WORLD_H + 7) / 8; + +/** + * The size of the editor view tiles, in pixels. + */ +static const int EDITOR_TILE_SIZE = 16; + +/** + * The number of simulator passes per #cityTime unit. + */ +static const int PASSES_PER_CITYTIME = 16; + +/** + * The number of #cityTime units per month. + */ +static const int CITYTIMES_PER_MONTH = 4; + +/** + * The number of #cityTime units per year. + */ +static const int CITYTIMES_PER_YEAR = CITYTIMES_PER_MONTH * 12; + +/** + * The number of history entries. + */ +static const int HISTORY_LENGTH = 480; + +/** + * The number of miscellaneous history entries. + */ +static const int MISC_HISTORY_LENGTH = 240; + +/** + * Length of the history tables. + * @todo It is not really a count of histories, rename to something else? + */ +static const int HISTORY_COUNT = 120; + +/** + * The size of the power stack. + */ +static const int POWER_STACK_SIZE = (WORLD_W * WORLD_H) / 4; + +/** + * A constant used in place of an x or y position to indicate + * "nowhere". + */ +static const int NOWHERE = -1; + +/** + * The default radius of an island, used by the terrain generator. + */ +static const int ISLAND_RADIUS = 18; + +/////////////////////////////////////////////////// +// Traffic + +/** + * Maximal number of map tiles to drive, looking for a destination + */ +static const int MAX_TRAFFIC_DISTANCE = 30; + +/** + * Maximal value of Micropolis::roadEffect + */ +static const int MAX_ROAD_EFFECT = 32; + +/** + * Maximal value of Micropolis::policeEffect + */ +static const int MAX_POLICE_STATION_EFFECT = 1000; + +/** + * Maximal value of Micropolis::fireEffect + */ +static const int MAX_FIRE_STATION_EFFECT = 1000; + +//////////////////////////////////////////////////////////////////////// +// Valves + +static const int RES_VALVE_RANGE = 2000; +static const int COM_VALVE_RANGE = 1500; +static const int IND_VALVE_RANGE = 1500; + +//////////////////////////////////////////////////////////////////////// +// Enumerated types. + +/** + * Available types of historic data. + */ +enum HistoryType +{ + HISTORY_TYPE_RES, ///< Residiential history type + HISTORY_TYPE_COM, ///< Commercial history type + HISTORY_TYPE_IND, ///< Industry history type + HISTORY_TYPE_MONEY, ///< Money history type + HISTORY_TYPE_CRIME, ///< Crime history type + HISTORY_TYPE_POLLUTION, ///< Pollution history type + + HISTORY_TYPE_COUNT, ///< Number of history types +}; + +/** + * Available historic scales. + */ +enum HistoryScale +{ + HISTORY_SCALE_SHORT, ///< Short scale data (10 years) + HISTORY_SCALE_LONG, ///< Long scale data (120 years) + + HISTORY_SCALE_COUNT, ///< Number of history scales available +}; + +/** + * Available map types. + */ +enum MapType +{ + MAP_TYPE_ALL, ///< All zones + MAP_TYPE_RES, ///< Residential zones + MAP_TYPE_COM, ///< Commercial zones + MAP_TYPE_IND, ///< Industrial zones + MAP_TYPE_POWER, ///< Power connectivity + MAP_TYPE_ROAD, ///< Roads + MAP_TYPE_POPULATION_DENSITY, ///< Population density + MAP_TYPE_RATE_OF_GROWTH, ///< Rate of growth + MAP_TYPE_TRAFFIC_DENSITY, ///< Traffic + MAP_TYPE_POLLUTION, ///< Pollution + MAP_TYPE_CRIME, ///< Crime rate + MAP_TYPE_LAND_VALUE, ///< Land value + MAP_TYPE_FIRE_RADIUS, ///< Fire station coverage radius + MAP_TYPE_POLICE_RADIUS, ///< Police station coverage radius + MAP_TYPE_DYNAMIC, ///< Dynamic filter + + MAP_TYPE_COUNT, ///< Number of map types +}; + +/* Object & Sound Numbers */ + +enum SpriteType +{ + SPRITE_NOTUSED = 0, + + SPRITE_TRAIN, ///< Train sprite + SPRITE_HELICOPTER, ///< Helicopter sprite + SPRITE_AIRPLANE, ///< Airplane sprite + SPRITE_SHIP, ///< Ship + SPRITE_MONSTER, ///< Scary monster + SPRITE_TORNADO, ///< Tornado sprite + SPRITE_EXPLOSION, ///< Explosion sprite + SPRITE_BUS, ///< Bus sprite + + SPRITE_COUNT, ///< Number of sprite objects +}; + +/////////////////////////////////////////////////// +// Tiles + +/** + * Connect tile commands. + */ +enum ConnectTileCommand +{ + CONNECT_TILE_FIX, ///< Fix zone (connect wire, road, and rail). + CONNECT_TILE_BULLDOZE, ///< Bulldoze and fix zone. + CONNECT_TILE_ROAD, ///< Lay road and fix zone. + CONNECT_TILE_RAILROAD, ///< Lay rail and fix zone. + CONNECT_TILE_WIRE, ///< Lay wire and fix zone. +}; + +/** + * Tool result. + * @todo Make the rest of the code use this instead of magic numbers. + */ +enum ToolResult +{ + TOOLRESULT_NO_MONEY = -2, ///< User has not enough money for tool. + TOOLRESULT_NEED_BULLDOZE = -1, ///< Clear the area first. + TOOLRESULT_FAILED = 0, ///< Cannot build here. + TOOLRESULT_OK = 1, ///< Build succeeded. +}; + +/** + * Characters of the map tiles, the lower 10 bits (0--9). + * @see LOMASK MapTileBitmasks + * @todo Add TILE_ prefix + * @todo Make LOW/BASE and LAST/HIGH consistent everywhere? + * @todo Figure out what sprite groups really exist (maybe we can learn more by + * examining the actual sprites, and/or by using hexadecimal or bite-wise + * notation?) + * @todo Add comments for each sprite (0--1023) + */ +enum Tiles +{ + DIRT = 0, ///< Clear tile + // tile 1 ? + + /* Water */ + RIVER = 2, + REDGE = 3, + CHANNEL = 4, + FIRSTRIVEDGE = 5, + // tile 6 -- 19 ? + LASTRIVEDGE = 20, + WATER_LOW = RIVER, ///< First water tile + WATER_HIGH = LASTRIVEDGE, ///< Last water tile (inclusive) + + TREEBASE = 21, + WOODS_LOW = TREEBASE, + LASTTREE = 36, + WOODS = 37, + UNUSED_TRASH1 = 38, + UNUSED_TRASH2 = 39, + WOODS_HIGH = UNUSED_TRASH2, // Why is an 'UNUSED' tile used? + WOODS2 = 40, + WOODS3 = 41, + WOODS4 = 42, + WOODS5 = 43, + + /* Rubble (4 tiles) */ + RUBBLE = 44, + LASTRUBBLE = 47, + + FLOOD = 48, + // tile 49, 50 ? + LASTFLOOD = 51, + + RADTILE = 52, ///< Radio-active contaminated tile + + UNUSED_TRASH3 = 53, + UNUSED_TRASH4 = 54, + UNUSED_TRASH5 = 55, + + /* Fire animation (8 tiles) */ + FIRE = 56, + FIREBASE = FIRE, + LASTFIRE = 63, + + HBRIDGE = 64, ///< Horizontal bridge + ROADBASE = HBRIDGE, + VBRIDGE = 65, ///< Vertical bridge + ROADS = 66, + ROADS2 = 67, + ROADS3 = 68, + ROADS4 = 69, + ROADS5 = 70, + ROADS6 = 71, + ROADS7 = 72, + ROADS8 = 73, + ROADS9 = 74, + ROADS10 = 75, + INTERSECTION = 76, + HROADPOWER = 77, + VROADPOWER = 78, + BRWH = 79, + LTRFBASE = 80, ///< First tile with low traffic + // tile 81 -- 94 ? + BRWV = 95, + // tile 96 -- 110 ? + BRWXXX1 = 111, + // tile 96 -- 110 ? + BRWXXX2 = 127, + // tile 96 -- 110 ? + BRWXXX3 = 143, + HTRFBASE = 144, ///< First tile with high traffic + // tile 145 -- 158 ? + BRWXXX4 = 159, + // tile 160 -- 174 ? + BRWXXX5 = 175, + // tile 176 -- 190 ? + BRWXXX6 = 191, + // tile 192 -- 205 ? + LASTROAD = 206, + BRWXXX7 = 207, + + /* Power lines */ + HPOWER = 208, + VPOWER = 209, + LHPOWER = 210, + LVPOWER = 211, + LVPOWER2 = 212, + LVPOWER3 = 213, + LVPOWER4 = 214, + LVPOWER5 = 215, + LVPOWER6 = 216, + LVPOWER7 = 217, + LVPOWER8 = 218, + LVPOWER9 = 219, + LVPOWER10 = 220, + RAILHPOWERV = 221, ///< Horizontal rail, vertical power + RAILVPOWERH = 222, ///< Vertical rail, horizontal power + POWERBASE = HPOWER, + LASTPOWER = RAILVPOWERH, + + UNUSED_TRASH6 = 223, + + /* Rail */ + HRAIL = 224, + VRAIL = 225, + LHRAIL = 226, + LVRAIL = 227, + LVRAIL2 = 228, + LVRAIL3 = 229, + LVRAIL4 = 230, + LVRAIL5 = 231, + LVRAIL6 = 232, + LVRAIL7 = 233, + LVRAIL8 = 234, + LVRAIL9 = 235, + LVRAIL10 = 236, + HRAILROAD = 237, + VRAILROAD = 238, + RAILBASE = HRAIL, + LASTRAIL = 238, + + ROADVPOWERH = 239, /* bogus? */ + + // Residential zone tiles + + RESBASE = 240, // Empty residential, tiles 240--248 + FREEZ = 244, // center-tile of 3x3 empty residential + + HOUSE = 249, // Single tile houses until 260 + LHTHR = HOUSE, + HHTHR = 260, + + RZB = 265, // center tile first 3x3 tile residential + + HOSPITALBASE = 405, // Center of hospital (tiles 405--413) + HOSPITAL = 409, // Center of hospital (tiles 405--413) + + CHURCHBASE = 414, // Center of church (tiles 414--422) + CHURCH0BASE = 414, // numbered alias + CHURCH = 418, // Center of church (tiles 414--422) + CHURCH0 = 418, // numbered alias + + // Commercial zone tiles + + COMBASE = 423, // Empty commercial, tiles 423--431 + // tile 424 -- 426 ? + COMCLR = 427, + // tile 428 -- 435 ? + CZB = 436, + // tile 437 -- 608 ? + COMLAST = 609, + // tile 610, 611 ? + + // Industrial zone tiles. + INDBASE = 612, ///< Top-left tile of empty industrial zone. + INDCLR = 616, ///< Center tile of empty industrial zone. + LASTIND = 620, ///< Last tile of empty industrial zone. + + // Industrial zone population 0, value 0: 621 -- 629 + IND1 = 621, ///< Top-left tile of first non-empty industry zone. + IZB = 625, ///< Center tile of first non-empty industry zone. + + // Industrial zone population 1, value 0: 630 -- 638 + + // Industrial zone population 2, value 0: 639 -- 647 + IND2 = 641, + IND3 = 644, + + // Industrial zone population 3, value 0: 648 -- 656 + IND4 = 649, + IND5 = 650, + + // Industrial zone population 0, value 1: 657 -- 665 + + // Industrial zone population 1, value 1: 666 -- 674 + + // Industrial zone population 2, value 1: 675 -- 683 + IND6 = 676, + IND7 = 677, + + // Industrial zone population 3, value 1: 684 -- 692 + IND8 = 686, + IND9 = 689, + + // Seaport + PORTBASE = 693, ///< Top-left tile of the seaport. + PORT = 698, ///< Center tile of the seaport. + LASTPORT = 708, ///< Last tile of the seaport. + + AIRPORTBASE = 709, + // tile 710 ? + RADAR = 711, + // tile 712 -- 715 ? + AIRPORT = 716, + // tile 717 -- 744 ? + + // Coal power plant (4x4). + COALBASE = 745, ///< First tile of coal power plant. + POWERPLANT = 750, ///< 'Center' tile of coal power plant. + LASTPOWERPLANT = 760, ///< Last tile of coal power plant. + + // Fire station (3x3). + FIRESTBASE = 761, ///< First tile of fire station. + FIRESTATION = 765, ///< 'Center tile' of fire station. + // 769 last tile fire station. + + POLICESTBASE = 770, + // tile 771 -- 773 ? + POLICESTATION = 774, + // tile 775 -- 778 ? + + // Stadium (4x4). + STADIUMBASE = 779, ///< First tile stadium. + STADIUM = 784, ///< 'Center tile' stadium. + // Last tile stadium 794. + + // tile 785 -- 799 ? + FULLSTADIUM = 800, + // tile 801 -- 810 ? + + // Nuclear power plant (4x4). + NUCLEARBASE = 811, ///< First tile nuclear power plant. + NUCLEAR = 816, ///< 'Center' tile nuclear power plant. + LASTZONE = 826, ///< Also last tile nuclear power plant. + + LIGHTNINGBOLT = 827, + HBRDG0 = 828, + HBRDG1 = 829, + HBRDG2 = 830, + HBRDG3 = 831, + HBRDG_END = 832, + RADAR0 = 832, + RADAR1 = 833, + RADAR2 = 834, + RADAR3 = 835, + RADAR4 = 836, + RADAR5 = 837, + RADAR6 = 838, + RADAR7 = 839, + FOUNTAIN = 840, + // tile 841 -- 843: fountain animation. + INDBASE2 = 844, + TELEBASE = 844, + // tile 845 -- 850 ? + TELELAST = 851, + SMOKEBASE = 852, + // tile 853 -- 859 ? + TINYEXP = 860, + // tile 861 -- 863 ? + SOMETINYEXP = 864, + // tile 865 -- 866 ? + LASTTINYEXP = 867, + // tile 868 -- 882 ? + TINYEXPLAST = 883, + // tile 884 -- 915 ? + + COALSMOKE1 = 916, ///< Chimney animation at coal power plant (2, 0). + ///< 919 last animation tile for chimney at coal power plant (2, 0). + + COALSMOKE2 = 920, ///< Chimney animation at coal power plant (3, 0). + ///< 923 last animation tile for chimney at coal power plant (3, 0). + + COALSMOKE3 = 924, ///< Chimney animation at coal power plant (2, 1). + ///< 927 last animation tile for chimney at coal power plant (2, 1). + + COALSMOKE4 = 928, ///< Chimney animation at coal power plant (3, 1). + ///< 931 last animation tile for chimney at coal power plant (3, 1). + + FOOTBALLGAME1 = 932, + // tile 933 -- 939 ? + FOOTBALLGAME2 = 940, + // tile 941 -- 947 ? + VBRDG0 = 948, + VBRDG1 = 949, + VBRDG2 = 950, + VBRDG3 = 951, + + NUKESWIRL1 = 952, + NUKESWIRL2 = 953, + NUKESWIRL3 = 954, + NUKESWIRL4 = 955, + + // Tiles 956-959 unused (originally) + // TILE_COUNT = 960, + + // Extended zones: 956-1019 + + CHURCH1BASE = 956, + CHURCH1 = 960, + CHURCH2BASE = 965, + CHURCH2 = 969, + CHURCH3BASE = 974, + CHURCH3 = 978, + CHURCH4BASE = 983, + CHURCH4 = 987, + CHURCH5BASE = 992, + CHURCH5 = 996, + CHURCH6BASE = 1001, + CHURCH6 = 1005, + CHURCH7BASE = 1010, + CHURCH7 = 1014, + CHURCH7LAST = 1018, + + // Tiles 1020-1023 unused + + TILE_COUNT = 1024, + + TILE_INVALID = -1, ///< Invalid tile (not used in the world map). +}; + +/////////////////////////////////////////////////// +// Scenarios + +/** Available scenarios */ +enum Scenario +{ + SC_NONE, ///< No scenario (free playing) + + SC_DULLSVILLE, ///< Dullsville (boredom) + SC_SAN_FRANCISCO, ///< San francisco (earthquake) + SC_HAMBURG, ///< Hamburg (fire bombs) + SC_BERN, ///< Bern (traffic) + SC_TOKYO, ///< Tokyo (scary monster) + SC_DETROIT, ///< Detroit (crime) + SC_BOSTON, ///< Boston (nuclear meltdown) + SC_RIO, ///< Rio (flooding) + + SC_COUNT, ///< Number of scenarios +}; + +/////////////////////////////////////////////////// +// Zones + +/** Available zone types */ +enum ZoneType +{ + ZT_COMMERCIAL, ///< Commercial zone + ZT_INDUSTRIAL, ///< Industrial zone + ZT_RESIDENTIAL, ///< Residential zone + + ZT_NUM_DESTINATIONS, ///< Number of available zones +}; + +/////////////////////////////////////////////////// +// City problems + +/** + * Problems in the city where citizens vote on + * @todo Eliminate PROBNUM + */ +enum CityVotingProblems +{ + CVP_CRIME, ///< Crime + CVP_POLLUTION, ///< Pollution + CVP_HOUSING, ///< Housing + CVP_TAXES, ///< Taxes + CVP_TRAFFIC, ///< Traffic + CVP_UNEMPLOYMENT, ///< Unemployment + CVP_FIRE, ///< Fire + + CVP_NUMPROBLEMS, ///< Number of problems + + CVP_PROBLEM_COMPLAINTS = 4, ///< Number of problems to complain about. + + PROBNUM = 10, +}; + +/** Available classes of cities */ +enum CityClass +{ + CC_VILLAGE, ///< Village + CC_TOWN, ///< Town, > 2000 citizens + CC_CITY, ///< City, > 10000 citizens + CC_CAPITAL, ///< Capital, > 50000 citizens + CC_METROPOLIS, ///< Metropolis, > 100000 citizens + CC_MEGALOPOLIS, ///< Megalopolis, > 500000 citizens + + CC_NUM_CITIES, ///< Number of city classes +}; + +/** Game levels */ +enum GameLevel +{ + LEVEL_EASY, ///< Simple game level + LEVEL_MEDIUM, ///< Intermediate game level + LEVEL_HARD, ///< Difficult game level + + LEVEL_COUNT, ///< Number of game levels + + LEVEL_FIRST = LEVEL_EASY, ///< First game level value + LEVEL_LAST = LEVEL_HARD, ///< Last game level value +}; + +//////////////////////////////////////////////////////////////////////// +// Inline functions + +/** + * Compute minimal value. + * @param a First value. + * @param b Second value. + * @return Minimum of \a a and \a b. + */ +template +static inline T min(const T a, const T b) +{ + return (a < b) ? a : b; +} + +/** + * Compute maximal value. + * @param a First value. + * @param b Second value. + * @return Maximum of \a a and \a b. + */ +template +static inline T max(const T a, const T b) +{ + return (a > b) ? a : b; +} + +/** + * Clamp value between lower and upper bound. + * @param val Value. + * @param lower Lower bound (inclusive). + * @param upper Upper bound (inclusive). + * @return \a val, limited to the range given by the lower and upper bound. + */ +template +static inline T clamp(const T val, const T lower, const T upper) +{ + if (val < lower) + { + return lower; + } + if (val > upper) + { + return upper; + } + return val; +} + +/** + * Compute absolute value. + * @param val Input value. + * @return Absolute value of \a val. + */ +template +static inline T absoluteValue(const T val) +{ + if (val < 0) + { + return -val; + } + return val; +} + +//////////////////////////////////////////////////////////////////////// +// Macros + +/** + * Compute length of array + * @param array Array to get length from + * @note Macro only works for statically allocated arrays + */ +#define LENGTH_OF(array) (sizeof(array) / sizeof((array)[0])) + +/** + * Give a fatal error and exit. + */ +#define NOT_REACHED() not_reached(__LINE__, __FILE__) + +/** + * Give a fatal error and exit the program. + * @param line Source line number of the fatal error. + * @param fname Filename of the source file. + * @return Does not return to the caller. + * @todo Generalize error handling/exiting of the simulator. + */ +static inline void not_reached(int line, const char *fname) +{ + fprintf(stderr, "Code unexpectedly executed at line %d, at file %s\n", line, fname); + exit(1); +} + +//////////////////////////////////////////////////////////////////////// +// Forward class definitions + +class Micropolis; +class Callback; +class ConsoleCallback; +class ToolEffects; +class BuildingProperties; + +//////////////////////////////////////////////////////////////////////// +// Classes + +/** Sprite in the simulator. + * @todo SimSprite::name is never set to anything else than \c "", and only + * used to detect a non-removed non-active sprite (in a non-robust way). + */ +class SimSprite +{ + +public: + SimSprite *next; ///< Pointer to next #SimSprite object in the list. + std::string name; ///< Name of the sprite. + int type; ///< Type of the sprite (TRA -- BUS). + int frame; ///< Frame (\c 0 means non-active sprite) + int x; ///< X coordinate of the sprite in pixels? + int y; ///< Y coordinate of the sprite in pixels? + int width; + int height; + int xOffset; + int yOffset; + int xHot; ///< Offset of the hot-spot relative to SimSprite::x? + int yHot; ///< Offset of the hot-spot relative to SimSprite::y? + int origX; + int origY; + int destX; ///< Destination X coordinate of the sprite. + int destY; ///< Destination Y coordinate of the sprite. + int count; + int soundCount; + int dir; + int newDir; + int step; + int flag; + int control; + int turn; + int accel; + int speed; +}; + +/** + * Main simulator class + * @todo Modify Micropolis::roadPercent, Micropolis::policePercent, and + * Micropolis::firePercent to hold real percentage from \c 0 to \c 100 + * instead of a floating point fraction + * @todo Micropolis::crimeMaxX and Micropolis::crimeMaxY seem unused. + */ +class Micropolis +{ + +public: + //////////////////////////////////////////////////////////////////////// + + Micropolis(); + + ~Micropolis(); + + void setCallback(Callback *callback, emscripten::val callbackVal); + +private: + void destroy(); + + void init(); + + //////////////////////////////////////////////////////////////////////// + // allocate.cpp + +public: + /** + * Callback interface. + */ + Callback *callback; + + /** + * Number of road tiles in the game. + * + * Bridges count as 4 tiles, and high density traffic counts as + * 2 tiles. + */ + short roadTotal; + + /** + * Total number of rails. + * + * No penalty for bridges or high traffic density. + */ + short railTotal; + + /** + * Number of fires. + */ + short firePop; + + /** + * Number of people in the residential zones. + * + * Depends on level of zone development. + */ + short resPop; + + /** + * Commercial zone population. + * + * Depends on level of zone development. + */ + short comPop; + + /** + * Industrial zone population. + * + * Depends on level of zone development. + */ + short indPop; + + /** + * Total population. + * + * Includes residential pop / 8 plus industrial pop plus commercial + * pop. + */ + short totalPop; + + /** + * Last total population. + * + * Not used? + */ + short totalPopLast; + + short resZonePop; ///< Number of residential zones. + short comZonePop; ///< Number of commercial zones. + short indZonePop; ///< Number of industrial zones. + + /** + * Total zone population. + */ + short totalZonePop; + + short hospitalPop; ///< Number of hospitals. + short churchPop; ///< Number of churches. + short faith; ///< Faith bias. + short stadiumPop; ///< Number of stadiums. + + /** + * Police station population. + */ + short policeStationPop; + + /** + * Fire station population. + */ + short fireStationPop; + + /** + * Coal power plant population. + */ + short coalPowerPop; + + /** + * Nuclear power plant population. + */ + short nuclearPowerPop; + + /** + * Seaport population. + */ + short seaportPop; + + /** + * Airport population. + */ + short airportPop; + + /** + * Average crime. + * + * Affected by land value, population density, police station + * distance. + */ + short crimeAverage; + + /** + * Average pollution. + * + * Affected by PollutionMem, which is effected by traffic, fire, + * radioactivity, industrial zones, seaports, airports, power + * plants. + */ + short pollutionAverage; + + /** + * Land value average. + * + * Affected by distance from city center, development density + * (terrainMem), pollution, and crime. + */ + short landValueAverage; + + /** @name Dates */ + //@{ + + /** + * City time unit counter, increnented once every 16 runs through + * the simulator (at fast speed). A time unit is 7.6 days. 4 units + * per month, 48 units per year, relative to #startingYear + * + * Four units per month, so one unit is about a week (7.6 days). + */ + Quad cityTime; + + /** + * City month, 4 time units per month. + * @todo Remove, can be computed from Micropolis::cityTime. + */ + Quad cityMonth; + + /** + * City year, (Micropolis::cityTime / 48) + Micropolis::startingYear. + * @todo Remove, can be computed from Micropolis::cityTime. + */ + Quad cityYear; + + /** + * City starting year. + */ + short startingYear; + + //@} + + /* Maps */ + + /** + * Two-dimensional array of map tiles. + * + * Map[0 <= x < 120][0 <= y < 100] + */ + unsigned short *map[WORLD_W]; + + /** + * 10 year residential history maximum value. + */ + short resHist10Max; + + /** + * 120 year residential history maximum value. + */ + short resHist120Max; + + /** + * 10 year commercial history maximum value. + */ + short comHist10Max; + + /** + * 120 year commercial history maximum value. + */ + short comHist120Max; + + /** + * 10 year industrial history maximum value. + */ + short indHist10Max; + + /** + * 120 year industrial history maximum value. + */ + short indHist120Max; + + /** + * Census changed flag. + * + * Need to redraw census dependent stuff. + */ + bool censusChanged; + + /** @name Budget */ + //@{ + + /** + * Spending on roads. + */ + Quad roadSpend; + + /** + * Spending on police stations. + */ + Quad policeSpend; + + /** + * Spending on fire stations. + */ + Quad fireSpend; + + /** + * Requested funds for roads. + * + * Depends on number of roads, rails, and game level. + */ + Quad roadFund; + + /** + * Requested funds for police stations. + * + * Depends on police station population. + */ + Quad policeFund; + + /** + * Requested funds for fire stations. + * + * Depends on fire station population. + */ + Quad fireFund; + + /** + * Ratio of road spending over road funding, times #MAX_ROAD_EFFECT. + */ + Quad roadEffect; + + /** + * Ratio of police spending over police funding, times #MAX_POLICE_EFFECT. + */ + Quad policeEffect; + + /** + * Ratio of fire spending over fire funding, times #MAX_FIRE_EFFECT. + */ + Quad fireEffect; + + /** + * Funds from taxes. + * + * Depends on total population, average land value, city tax, and + * game level. + */ + Quad taxFund; + + /** + * City tax rate. + */ + short cityTax; + + /** + * Tax port flag. + * + * Apparently never used. CollectTax checks it. + * + * @todo Apparently taxFlag is never set to true in MicropolisEngine + * or the TCL code. + * @todo Don should check old Mac code to see if it's ever set. + * @todo Variable is always \c 0. Decide whether to keep it, and if yes, + * create means to modify its value + */ + bool taxFlag; + + //@} + + /** @name Maps */ + //@{ + + MapByte2 populationDensityMap; ///< Population density map. + MapByte2 trafficDensityMap; ///< Traffic density map. + MapByte2 pollutionDensityMap; ///< Pollution density map. + MapByte2 landValueMap; ///< Land value map. + MapByte2 crimeRateMap; ///< Crime rate map. + + /** + * Terrain development density map. + * + * Used to calculate land value. + */ + MapByte4 terrainDensityMap; + + /** + * Temporary map 1. + * + * Used to smooth population density, pollution. + */ + MapByte2 tempMap1; + + /** + * Temporary map 2. + * + * Used to smooth population density, pollution. + */ + MapByte2 tempMap2; + + /** + * Temporary map 3. + * + * Used to smooth development density, for terrainDensityMap. + */ + MapByte4 tempMap3; + + /** + * Power grid map. + */ + MapByte1 powerGridMap; + + /** + * Rate of growth map. + * + * Affected by DecROGMem, incROG called by zones. Decreased by fire + * explosions from sprites, fire spreading. Doesn't seem to + * actually feed back into the simulation. Output only. + */ + MapShort8 rateOfGrowthMap; + + /** + * Fire station map. + * + * Effectivity of fire control in this area. + * + * Affected by fire stations, powered, fire funding ratio, road + * access. Affects how long fires burn. + * @see #fireEffect + */ + MapShort8 fireStationMap; + + /** + * Copy of fire station map to display. + */ + MapShort8 fireStationEffectMap; + + /** + * Police station map. + * + * Effectivity of police in fighting crime. + * + * Affected by police stations, powered, police funding ratio, road + * access. Affects crime rate. + * @see #policeEffect + */ + MapShort8 policeStationMap; + + /** + * Copy of police station map to display. + */ + MapShort8 policeStationEffectMap; + + /** + * Commercial rate map. + * + * Depends on distance to city center. Affects commercial zone + * evaluation. + */ + MapShort8 comRateMap; + + //@} + + /** @name Historic graphs. */ + //@{ + + /** + * Residential population history. + */ + short *resHist; + + /** + * Commercial population history. + */ + short *comHist; + + /** + * Industrial population history. + */ + short *indHist; + + /** + * Money history. + */ + short *moneyHist; + + /** + * Pollution history. + */ + short *pollutionHist; + + /** + * Crime history. + */ + short *crimeHist; + + /** + * Memory used to save miscelaneous game values in save file. + */ + short *miscHist; + + //@} + +private: + /** + * Need hospital? + * + * 0 if no, 1 if yes, -1 if too many. + */ + short needHospital; + + /** + * Need church? + * + * 0 if no, 1 if yes, -1 if too many. + */ + short needChurch; + + /** + * Memory for map array. + */ + unsigned short *mapBase; + + void initMapArrays(); + + void destroyMapArrays(); + + //////////////////////////////////////////////////////////////////////// + // animate.cpp + +public: + void animateTiles(); + + static int getNextAnimatedTile(int index); + + //////////////////////////////////////////////////////////////////////// + // budget.cpp + +public: + /** + * Percentage of requested road and rail costs to funding level. + * + * Value between \c 0 and ::MAX_ROAD_EFFECT. + * Affected by road funds slider and budgetary constraints. + */ + float roadPercent; + + /** + * Percentage of requested police station costs to funding level. + * + * Value between \c 0 and ::MAX_POLICESTATION_EFFECT. + * Affected by road funds slider and budgetary constraints. + */ + float policePercent; + + /** + * Percentage of requested fire station costs to funding level. + * + * Value between \c 0 and ::MAX_FIRESTATION_EFFECT. + * Affected by road funds slider and budgetary constraints. + */ + float firePercent; + + /** + * Amount of road funding granted. + */ + Quad roadValue; + + /** + * Amount of police funding granted. + */ + Quad policeValue; + + /** + * Amount of fire station funding granted. + */ + Quad fireValue; + + /** + * Flag set when budget window needs to be updated. + */ + int mustDrawBudget; + + void initFundingLevel(); + + void doBudget(); + + void doBudgetFromMenu(); + + void doBudgetNow(bool fromMenu); + + void updateBudget(); + + void showBudgetWindowAndStartWaiting(); + + void setCityTax(short tax); + + //////////////////////////////////////////////////////////////////////// + // connect.cpp + +private: + ToolResult connectTile(short x, short y, + ConnectTileCommand cmd, ToolEffects *effects); + + ToolResult layDoze(int x, int y, ToolEffects *effects); + + ToolResult layRoad(int x, int y, ToolEffects *effects); + + ToolResult layRail(int x, int y, ToolEffects *effects); + + ToolResult layWire(int x, int y, ToolEffects *effects); + + void fixZone(int x, int y, ToolEffects *effects); + + void fixSingle(int x, int y, ToolEffects *effects); + + //////////////////////////////////////////////////////////////////////// + // disasters.cpp + +public: + /** + * Size of flooding disaster. + */ + short floodCount; + + void makeMeltdown(); + + void makeFireBombs(); + + void makeEarthquake(); + + void makeFire(); + + void makeFlood(); + + void setFire(); + + void fireBomb(); + +private: + void doDisasters(); + + void scenarioDisaster(); + + bool vulnerable(int tem); + + void doFlood(const Position &pos); + + //////////////////////////////////////////////////////////////////////// + // evaluate.cpp + +public: + /** + * Yes votes. + * + * Percentage of people who think the mayor is doing a good job. + */ + short cityYes; + + /** + * Problem votes. + * + * The number of votes for each problem. + * @see CityVotingProblems + */ + short problemVotes[PROBNUM]; + + /** + * Order of taken problems. + * + * Contains index of MicropolisEngine::problemVotes of taken problems, in decreasing order. + * @note Value CVP_NUMPROBLEMS means that the entry is not used + */ + short problemOrder[CVP_PROBLEM_COMPLAINTS]; + + /** + * City population. + * + * Depends of ResPop, ComPop and IndPop. + */ + Quad cityPop; + + /** + * Change in the city population. + * + * Depends on last cityPop. + */ + Quad cityPopDelta; + + /** + * City assessed value. + * + * Depends on roadTotal, railTotal, policeStationPop, + * fireStationPop, hospitalPop, stadiumPop, seaportPop, + * airportPop, coalPowerPop, and nuclearPowerPop, and their + * respective values. + */ + Quad cityAssessedValue; + + CityClass cityClass; ///< City class, affected by city population. + + /** + * City score. + * + * Affected by average of problems, residential cap, commercial cap, + * industrial cap, road effect, police effect, fire effect, + * residential valve, commercial valve, industrial valve, city + * population, delta city population, fires, tax rate, and unpowered + * zones. + */ + short cityScore; + + /** + * Change in the city score. + * + * Depends on city score. + */ + short cityScoreDelta; + + /** + * Average traffic. + * + * Depends on average traffic density of tiles with non-zero land value. + */ + short trafficAverage; + + void cityEvaluation(); + + void evalInit(); + + void doScoreCard(); + + void changeEval(); + + void scoreDoer(); + + int countProblems(); + + int getProblemNumber(int i); + + int getProblemVotes(int i); + +private: + void getAssessedValue(); + + void doPopNum(); + + Quad getPopulation(); + CityClass getCityClass(Quad cityPop); + + void doProblems(short problemTable[PROBNUM]); + + void voteProblems(const short problemTable[PROBNUM]); + + short getTrafficAverage(); + + short getUnemployment(); + + short getFireSeverity(); + + void getScore(const short problemTable[PROBNUM]); + + void doVotes(); + + //////////////////////////////////////////////////////////////////////// + // fileio.cpp + +public: + bool loadFileData(const std::string &filename); + + bool loadFile(const std::string &filename); + + bool saveFile(const std::string &filename); + + void loadScenario(Scenario s); + + void didLoadScenario(int s, const std::string name, const std::string fname); + + bool loadCity(const std::string &filename); + + void didLoadCity(const std::string &filename); + + void didntLoadCity(const std::string &msg); + + void saveCity(); + + void doSaveCityAs(const std::string &filename); + + void didSaveCity(const std::string &filename); + + void didntSaveCity(const std::string &msg); + + void saveCityAs(const std::string &filename); + + //////////////////////////////////////////////////////////////////////// + // generate.cpp + +public: + /** @name Terrain generator. + * features available incrementally as city building tools. + * + * The user should be able to place water and trees, and it should + * dynamically smooth the edges. + * + * The user interface could restrict the user to only drawing + * terrain before any zones were built, but it would be best if + * the terrain editing tools worked properly when there were zones + * built (by automatically bulldozing zones whose underlying + * terrain it's modifying). + */ + //@{ + + /** + * Controls the level of tree creation. + * -1 => create default number of trees, 0 => never create trees, >0 => create more trees + */ + int terrainTreeLevel; + + /** + * Controls the level of lake creation. + * -1 => create default number of lakes, 0 => never create lakes, >0 => create more lakes + */ + int terrainLakeLevel; + + /** + * Controls the level of river curviness. + * -1 => default curve level, 0 => never create rivers, >0 => create curvier rivers + */ + int terrainCurveLevel; + + /** + * Controls how often to create an island. + * -1 => 10% chance of island, 0 => never create island, 1 => always create island + */ + int terrainCreateIsland; + + /** + * The seed of the most recently generated city. + */ + int generatedCitySeed; + + void generateSomeRandomCity(); + + void clearMap(); + + void clearUnnatural(); + + void makeIsland(); + + void treeSplash(short xloc, short yloc); + + void makeSingleLake(const Position &pos); + + void plopBRiver(const Position &pos); + void plopSRiver(const Position &pos); + + void generateSomeCity(int seed); + + void generateMap(int seed); + +private: + void makeNakedIsland(); + + void doTrees(); + + bool isTree(MapValue cell); + + void smoothTrees(); + + void smoothTreesAt(int x, int y, bool preserve); + void smoothTreesAt(int x, int y, bool preserve, ToolEffects *effects); + + void makeLakes(); + + void doRivers(const Position &terrainPos); + + Direction2 doBRiver(const Position &riverPos, + Direction2 riverDir, Direction2 terrainDir); + Direction2 doSRiver(const Position &riverPos, + Direction2 riverDir, Direction2 terrainDir); + + void smoothRiver(); + + void smoothWater(); + + void putOnMap(MapValue mChar, short xLoc, short yLoc); + + //@} + + //////////////////////////////////////////////////////////////////////// + // graph.cpp + +public: + /** + * @todo Nobody uses this variable. Can it be removed? + */ + bool historyInitialized; + + /** + * @todo Write-only variable. Can it be removed? + */ + short graph10Max; + + /** + * @todo Write-only variable. Can it be removed? + */ + short graph120Max; + + void drawMonth(short *hist, unsigned char *s, float scale); + + void changeCensus(); + + void graphDoer(); + + void initGraphs(); + + void initGraphMax(); + +#ifdef SWIG +// This tells SWIG that minValResult, maxValResult are output parameters, +// which will be returned in a tuple of length two. +%apply short *OUTPUT { short *minValResult }; +%apply short *OUTPUT { short *maxValResult }; +#endif + + void getHistoryRange(int historyType, int historyScale, + short *minValResult, short *maxValResult); + + short getHistory(int historyType, int historyScale, + int historyIndex); + + void setHistory(int historyType, int historyScale, + int historyIndex, short historyValue); + + //////////////////////////////////////////////////////////////////////// + // initialize.cpp + +private: + void initWillStuff(); + + void resetMapState(); + + void resetEditorState(); + + //////////////////////////////////////////////////////////////////////// + // main.cpp + +public: + int simLoops; + + /** + * The number of passes through the simulator loop to take each tick. + */ + int simPasses; + + /** + * The count of the current pass through the simulator loop. + */ + int simPass; + + /** + * Simulation is paused + * @todo Variable has reversed logic, maybe use sim_running instead? + */ + bool simPaused; + + int simPausedSpeed; + + bool tilesAnimated; ///< @todo Not currently used, should hook it up. + + /** + * Enable animation. + * @todo Currently always \c true. Should connect it to a frontend option. + */ + bool doAnimation; + + bool doMessages; ///< @todo Not currently used, should hook it up. + + bool doNotices; ///< @todo Not currently used, should hook it up. + + std::string getMicropolisVersion(); + + void simUpdate(); + + void simTick(); + + void simulateRobots(); + +public: + std::string cityFileName; ///< Filename of the last loaded city + + /** + * Name of the city. + */ + std::string cityName; ///< Name of the city + + /** + * Heat steps. + */ + int heatSteps; + + /** + * Heat flow. + */ + int heatFlow; + + /** + * Heat rule. + */ + int heatRule; + + /** + * Heat wrap. + */ + int heatWrap; + +private: + short *cellSrc; + + short *cellDst; + + void simInit(); + + void simHeat(); + + void simLoop(bool doSim); + + //////////////////////////////////////////////////////////////////////// + // message.cpp + +public: + Quad cityPopLast; ///< Population of last city class check. @see CheckGrowth + short categoryLast; ///< City class of last city class check. @see CheckGrowth + + /** + * Enable auto goto + * + * When enabled and an important event happens, the map display will jump to + * the location of the event + */ + bool autoGoto; + + void sendMessages(); + + void checkGrowth(); + + void doScenarioScore(Scenario type); + + void sendMessage( + short Mnum, + short x = NOWHERE, short y = NOWHERE, + bool picture = false, bool important = false); + + void doMakeSound(int mesgNum, int x, int y); + + void doAutoGoto(short x, short y, const std::string &message); + + void doLoseGame(); + void doWinGame(); ///< @todo This may not be called. Call it when appropriate. + + //////////////////////////////////////////////////////////////////////// + // power.cpp + +private: + /** @name Power stack + * Stack used to find powered tiles by tracking conductive tiles. + */ + //@{ + + int powerStackPointer; ///< Stack counter, points to top-most item. + + /** Stack of X/Y positions for traversing setting the power grid. */ + Position powerStackXY[POWER_STACK_SIZE]; + + void doPowerScan(); + + bool testForConductive(const Position &pos, Direction2 testDir); + + void pushPowerStack(const Position &pos); + + Position pullPowerStack(); + + //@} + + //////////////////////////////////////////////////////////////////////// + // random.cpp + +public: + UQuad nextRandom; + + int simRandom(); + + short getRandom(short range); + + int getRandom16(); + int getRandom16Signed(); + + short getERandom(short limit); + + void randomlySeedRandom(); + + void seedRandom(int seed); + + //////////////////////////////////////////////////////////////////////// + // scan.cpp + +private: + /** @todo Write-only variable, can be removed? */ + short newMap; + + /** @todo Write-only variable, can be removed? */ + short newMapFlags[MAP_TYPE_COUNT]; + + short cityCenterX; ///< X coordinate of city center + short cityCenterY; ///< Y coordinate of city center + + short pollutionMaxX; ///< X coordinate of most polluted area + short pollutionMaxY; ///< Y coordinate of most polluted area + + short crimeMaxX; ///< X coordinate of most criminal area. Not used. + short crimeMaxY; ///< Y coordinate of most criminal area. Not used. + + /** + * Integer with bits 0..2 that control smoothing. + */ + Quad donDither; + + void fireAnalysis(); + + void populationDensityScan(); + + int getPopulationDensity(const Position &pos, MapTile tile); + + void pollutionTerrainLandValueScan(); + + int getPollutionValue(int loc); + + int getCityCenterDistance(int x, int y); + + void crimeScan(); + + void smoothTerrain(); + + void doSmooth1(); + + void doSmooth2(); + + void computeComRateMap(); + + //////////////////////////////////////////////////////////////////////// + // simulate.cpp + +public: + bool valveFlag; + + short crimeRamp; + + short pollutionRamp; + + bool resCap; ///< Block residential growth + bool comCap; ///< Block commercial growth + bool indCap; ///< Block industrial growth + + short cashFlow; + + float externalMarket; + + Scenario disasterEvent; ///< The disaster for which a count-down is running + short disasterWait; ///< Count-down timer for the disaster + + Scenario scoreType; ///< The type of score table to use + short scoreWait; ///< Time to wait before computing the score + + short poweredZoneCount; ///< Number of powered tiles in all zone + short unpoweredZoneCount; ///< Number of unpowered tiles in all zones + + bool newPower; /* post */ + + short cityTaxAverage; + + short simCycle; + + short phaseCycle; + + short speedCycle; + + bool doInitialEval; ///< Need to perform initial city evaluation. + + int mapSerial; ///< The invalidateMaps method increases the map serial number every time the maps changes. + +private: + short resValve; + short comValve; + short indValve; + +public: + void updateFundEffects(); + +private: + /** Generate a random animated Tiles::FIRE tile */ + inline MapValue randomFire() + { + return (FIRE + (getRandom16() & 7)) | ANIMBIT; + }; + + /** Generate a random Tiles::RUBBLE tile */ + inline MapValue randomRubble() + { + return (RUBBLE + (getRandom16() & 3)) | BULLBIT; + }; + + void simFrame(); + + void simulate(); + + void doSimInit(); + + void doNilPower(); + + void decTrafficMap(); + + void decRateOfGrowthMap(); + + void initSimMemory(); + + void simLoadInit(); + + void setCommonInits(); + + void setValves(); + + void clearCensus(); + + void take10Census(); + + void take120Census(); + + void collectTax(); + + void mapScan(int x1, int x2); + + void doRail(const Position &pos); + + void doRadTile(const Position &pos); + + void doRoad(const Position &pos); + + bool doBridge(const Position &pos, MapTile tile); + + int getBoatDistance(const Position &pos); + + void doFire(const Position &pos); + + void fireZone(const Position &pos, MapValue ch); + + void repairZone(const Position &pos, MapTile zCent, short zSize); + + void doSpecialZone(const Position &pos, bool PwrOn); + + void drawStadium(const Position ¢er, MapTile z); + + void doAirport(const Position &pos); + + void coalSmoke(const Position &pos); + + void doMeltdown(const Position &pos); + + //////////////////////////////////////////////////////////////////////// + // sprite.cpp + +public: + SimSprite *spriteList; ///< List of active sprites. + + SimSprite *newSprite(const std::string &name, int type, int x, int y); + + void initSprite(SimSprite *sprite, int x, int y); + + void destroyAllSprites(); + + void destroySprite(SimSprite *sprite); + + SimSprite *getSprite(int type); + + SimSprite *makeSprite(int type, int x, int y); + +private: + SimSprite *freeSprites; ///< Pool of free #SimSprite objects. + + SimSprite *globalSprites[SPRITE_COUNT]; + + int absDist; + + short spriteCycle; + +public: + short getChar(int x, int y); + + short turnTo(int p, int d); + + bool tryOther(int Tpoo, int Told, int Tnew); + + bool spriteNotInBounds(SimSprite *sprite); + + short getDir(int orgX, int orgY, int desX, int desY); + + int getDistance(int x1, int y1, int x2, int y2); + + bool checkSpriteCollision(SimSprite *s1, SimSprite *s2); + + void moveObjects(); + + void doTrainSprite(SimSprite *sprite); + + void doCopterSprite(SimSprite *sprite); + + void doAirplaneSprite(SimSprite *sprite); + + void doShipSprite(SimSprite *sprite); + + void doMonsterSprite(SimSprite *sprite); + + void doTornadoSprite(SimSprite *sprite); + + void doExplosionSprite(SimSprite *sprite); + + void doBusSprite(SimSprite *sprite); + + int canDriveOn(int x, int y); + + void explodeSprite(SimSprite *sprite); + + bool checkWet(int x); + + void destroyMapTile(int ox, int oy); + + void startFireInZone(int Xloc, int Yloc, int ch); + + void startFire(int x, int y); + + void generateTrain(int x, int y); + + void generateBus(int x, int y); + + void generateShip(); + + void makeShipHere(int x, int y); + + void makeMonster(); + + void makeMonsterAt(int x, int y); + + void generateCopter(const Position &pos); + + void generatePlane(const Position &pos); + + void makeTornado(); + + void makeExplosion(int x, int y); + + void makeExplosionAt(int x, int y); + + //////////////////////////////////////////////////////////////////////// + // stubs.cpp + +public: + Quad totalFunds; ///< Funds of the player + + /** + * Enable auto-bulldoze + * + * When enabled, the game will silently clear tiles when the user + * builds something on non-clear and bulldozable tiles + */ + bool autoBulldoze; + + /** + * Enable auto budget + * + * When enabled, the program will perform budgetting of the city + */ + bool autoBudget; + + Quad messageTimeLast; + + GameLevel gameLevel; ///< Difficulty level of the game (0..2) + + short initSimLoad; + + Scenario scenario; ///< Scenario being played + + short simSpeed; + + short simSpeedMeta; + + bool enableSound; ///< Enable sound + + bool enableDisasters; ///< Enable disasters + + short messageNumber; + + bool evalChanged; ///< The evaluation window should be shown to the user + + /** + * @todo Variable is not used, can we remove it? + */ + short blinkFlag; + + emscripten::val callbackVal; + + /** + * Hook for scripting language to store scripted callback function. + * (i.e. a callable Python object.) + */ + void *callbackData; + + /** + * Hook for scripting language to store context (i.e. peer object). + * (i.e. Python SWIG wrapper of this Micropolis object.) + */ + void *userData; + + /** + * Check that the given coordinate is within world bounds + * @param wx World x coordinate + * @param wy World y coordinate + * @return Boolean indicating (wx, wy) is inside the world bounds + */ + static inline bool testBounds(int wx, int wy) + { + return (wx >= 0 && wx < WORLD_W && wy >= 0 && wy < WORLD_H); + }; + + void spend(int dollars); + + void setFunds(int dollars); + + Quad tickCount(); + + Ptr newPtr(int size); + + void freePtr(void *data); + + void doStartScenario(int scenario); + + void doStartGame(); + + void initGame(); + + void doEarthquake(int strength); + + void invalidateMaps(); + + void makeSound( + const std::string &channel, + const std::string &sound, + int x = -1, + int y = -1); + + // Map + + int getTile(int x, int y); + + void setTile(int x, int y, int tile); + + void *getMapBuffer(); + + // Residential. + + // Commercial. + + // Industrial. + + // Power. + + int getPowerGrid(int x, int y); + + void setPowerGrid(int x, int y, int power); + + void *getPowerGridMapBuffer(); + + // Roads. + + // Population density. + + int getPopulationDensity(int x, int y); + + void setPopulationDensity(int x, int y, int density); + + void *getPopulationDensityMapBuffer(); + + // Rate of growth. + + int getRateOfGrowth(int x, int y); + + void setRateOfGrowth(int x, int y, int rate); + + void *getRateOfGrowthMapBuffer(); + + // Traffic density. + + int getTrafficDensity(int x, int y); + + void setTrafficDensity(int x, int y, int density); + + void *getTrafficDensityMapBuffer(); + + // Pollution density. + + int getPollutionDensity(int x, int y); + + void setPollutionDensity(int x, int y, int density); + + void *getPollutionDensityMapBuffer(); + + // Crime rate. + + int getCrimeRate(int x, int y); + + void setCrimeRate(int x, int y, int rate); + + void *getCrimeRateMapBuffer(); + + // Land value. + + int getLandValue(int x, int y); + + void setLandValue(int x, int y, int value); + + void *getLandValueMapBuffer(); + + // Fire coverage. + + int getFireCoverage(int x, int y); + + void setFireCoverage(int x, int y, int coverage); + + void *getFireCoverageMapBuffer(); + + // Police coverage. + + int getPoliceCoverage(int x, int y); + + void setPoliceCoverage(int x, int y, int coverage); + + void *getPoliceCoverageMapBuffer(); + + //////////////////////////////////////////////////////////////////////// + // tool.cpp + +public: + ToolResult doTool(EditingTool tool, short tileX, short tileY); + + void toolDown(EditingTool tool, short tileX, short tileY); + + void toolDrag(EditingTool tool, short fromX, short fromY, + short toX, short toY); + + void didTool(std::string name, short x, short y); + +private: + ToolResult queryTool(short x, short y); + + ToolResult bulldozerTool(short x, short y); + ToolResult bulldozerTool(short x, short y, ToolEffects *effects); + + ToolResult roadTool(short x, short y, ToolEffects *effects); + + ToolResult railroadTool(short x, short y, ToolEffects *effects); + + ToolResult wireTool(short x, short y, ToolEffects *effects); + + ToolResult parkTool(short x, short y, ToolEffects *effects); + + ToolResult buildBuildingTool(short x, short y, + const BuildingProperties *bprops, + ToolEffects *effects); + + ToolResult networkTool(short x, short y, ToolEffects *effects); + + ToolResult waterTool(short x, short y, ToolEffects *effects); + + ToolResult landTool(short x, short y, ToolEffects *effects); + + ToolResult forestTool(short x, short y, ToolEffects *effects); + + ToolResult putDownPark(short mapH, short mapV, ToolEffects *effects); + + ToolResult putDownNetwork(short mapH, short mapV, ToolEffects *effects); + + ToolResult putDownWater(short mapH, short mapV, ToolEffects *effects); + + ToolResult putDownLand(short mapH, short mapV, ToolEffects *effects); + + ToolResult putDownForest(short mapH, short mapV, ToolEffects *effects); + + void doZoneStatus(short mapH, short mapV); + + void doShowZoneStatus( + int tileCategoryIndex, + int populationDensityIndex, + int landValueIndex, + int crimeRateIndex, + int pollutionIndex, + int growthRateIndex, + int x, + int y); + + void putBuilding(int leftX, int topY, int sizeX, int sizeY, + MapTile baseTile, bool aniFlag, + ToolEffects *effects); + + ToolResult prepareBuildingSite(int leftX, int topY, int sizeX, int sizeY, + ToolEffects *effects); + + ToolResult buildBuilding(int mapH, int mapV, + const BuildingProperties *bprops, + ToolEffects *effects); + + int getDensity(short catNo, short mapH, short mapV); + + bool tally(short tileValue); + + short checkSize(short tileValue); + + void checkBorder(short xMap, short yMap, int sizeX, int sizeY, + ToolEffects *effects); + + void putRubble(int x, int y, int size, ToolEffects *effects); + + //////////////////////////////////////////////////////////////////////// + // traffic.cpp + +public: + short makeTrafficAt(int x, int y, ZoneType dest); + + short makeTraffic(int x, int y, ZoneType dest); + +private: + short makeTraffic(const Position &startPos, ZoneType dest); + + /* Position stack */ + + /** Position stack top pointer, points to top position. */ + short curMapStackPointer; + Position curMapStackXY[MAX_TRAFFIC_DISTANCE + 1]; ///< Position stack. + + short trafMaxX; ///< X coordinate of a position with heavy traffic + short trafMaxY; ///< Y coordinate of a position with heavy traffic + + void addToTrafficDensityMap(); + + void pushPos(const Position &pos); + + Position pullPos(); + + bool findPerimeterRoad(Position *pos); + + bool findPerimeterTelecom(const Position &pos); + + bool tryDrive(const Position &startPos, ZoneType destZone); + + Direction2 tryGo(const Position &pos, Direction2 dirLast); + + MapTile getTileFromMap(const Position &pos, + Direction2 dir, MapTile defaultTile); + + bool driveDone(const Position &pos, ZoneType destZone); + + bool roadTest(MapValue tile); + + //////////////////////////////////////////////////////////////////////// + // update.cpp + +public: + bool mustUpdateFunds; + + bool mustUpdateOptions; ///< Options displayed at user need updating. + + Quad cityTimeLast; + + Quad cityYearLast; + + Quad cityMonthLast; + + Quad totalFundsLast; + + Quad resLast; + + Quad comLast; + + Quad indLast; + + void doUpdateHeads(); + + void updateMaps(); + + void updateGraphs(); + + void updateEvaluation(); + + void updateHeads(); + + void updateFunds(); + + void reallyUpdateFunds(); + + void doTimeStuff(); + + void updateDate(); + + void showValves(); + + void drawValve(); + + void setDemand(float r, float c, float i); + + void updateOptions(); + + void updateUserInterface(); + + //////////////////////////////////////////////////////////////////////// + // utilities.cpp + +public: + void pause(); + + void resume(); + + void setSpeed(short speed); + + void setPasses(int passes); + + void setGameLevelFunds(GameLevel level); + + void setGameLevel(GameLevel level); + + void updateGameLevel(); + + void setCityName(const std::string &name); + + void setCleanCityName(const std::string &name); + + void setYear(int year); + + int currentYear(); + + void doNewGame(); + + void setEnableDisasters(bool value); + + void setAutoBudget(bool value); + + void setAutoBulldoze(bool value); + + void setAutoGoto(bool value); + + void setEnableSound(bool value); + + void setDoAnimation(bool value); + + void setDoMessages(bool value); + + void setDoNotices(bool value); + +#ifdef SWIG +// This tells SWIG that resDemandResult, comDemandResult and indDemandResult +// are output parameters, which will be returned in a tuple of length three. +%apply float *OUTPUT { float *resDemandResult }; +%apply float *OUTPUT { float *comDemandResult }; +%apply float *OUTPUT { float *indDemandResult }; +#endif + + void getDemands( + float *resDemandResult, + float *comDemandResult, + float *indDemandResult); + +private: + std::string makeDollarDecimalStr(const std::string &numStr); + + //////////////////////////////////////////////////////////////////////// + // zone.cpp + +private: + void doZone(const Position &pos); + + void doHospitalChurch(const Position &pos); + + void setSmoke(const Position &pos, bool zonePower); + + void makeHospital(const Position &pos); + + short getLandPollutionValue(const Position &pos); + + void incRateOfGrowth(const Position &pos, int amount); + + bool zonePlop(const Position &pos, int base); + + short doFreePop(const Position &pos); + + bool setZonePower(const Position &pos); + + void buildHouse(const Position &pos, int value); + + short evalLot(int x, int y); + + void doResidential(const Position &pos, bool zonePower); + + void doResIn(const Position &pos, int pop, int value); + + void doResOut(const Position &pos, int pop, int value); + + short getResZonePop(MapTile mapTile); + + void resPlop(const Position &pos, int Den, int Value); + + short evalRes(const Position &pos, int traf); + + // Commercial zone handling + + void doCommercial(const Position &pos, bool zonePower); + + void doComIn(const Position &pos, int pop, int value); + + void doComOut(const Position &pos, int pop, int value); + + short getComZonePop(MapTile tile); + + void comPlop(const Position &pos, int Den, int Value); + + short evalCom(const Position &pos, int traf); + + // Industrial zone handling + + void doIndustrial(const Position &pos, bool zonePower); + + void doIndIn(const Position &pos, int pop, int value); + + void doIndOut(const Position &pos, int pop, int value); + + short getIndZonePop(MapTile tile); + + void indPlop(const Position &pos, int den, int value); + + short evalInd(int traf); + + //////////////////////////////////////////////////////////////////////// +}; + +//////////////////////////////////////////////////////////////////////// + +#endif diff --git a/core/micropolisengine_lib.js b/core/micropolisengine_lib.js new file mode 100644 index 0000000..8194297 --- /dev/null +++ b/core/micropolisengine_lib.js @@ -0,0 +1 @@ +// micropolisengine_lib.js diff --git a/core/micropolisengine_template.html b/core/micropolisengine_template.html new file mode 100644 index 0000000..d302809 --- /dev/null +++ b/core/micropolisengine_template.html @@ -0,0 +1,13 @@ + + + + + Micropolis Engine + + + + {{{ SCRIPT }}} + + diff --git a/core/position.cpp b/core/position.cpp new file mode 100644 index 0000000..19564c6 --- /dev/null +++ b/core/position.cpp @@ -0,0 +1,238 @@ +/* position.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file position.cpp + * @brief Defines the Position class for coordinate handling in + * Micropolis. + * + * This file provides the implementation of the Position class, which + * is used throughout the Micropolis game engine for managing x and y + * coordinates. It includes various constructors for different + * scenarios, a copy constructor, an assignment operator, and a method + * for moving the position in a specified direction. + */ + + +///////////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +///////////////////////////////////////////////////////////////////////////// + + +/** Default constructor. */ +Position::Position() +{ + this->posX = 0; + this->posY = 0; +} + + +/** + * Construct a position at a given \a x and \a y coordinate. + * @param x X coordinate of the new position. + * @param y Y coordinate of the new position. + */ +Position::Position(int x, int y) +{ + this->posX = x; + this->posY = y; +} + + +/** + * Copy constructor. + * @param pos Position to copy. + */ +Position::Position(const Position &pos) +{ + this->posX = pos.posX; + this->posY = pos.posY; +} + + +/** + * Copy constructor with a single tile movement. + * @param pos Position to copy. + * @param dir Direction to move into. + */ +Position::Position(const Position &pos, Direction2 dir) +{ + this->posX = pos.posX; + this->posY = pos.posY; + this->move(dir); +} + + +/** + * Copy constructor with arbitrary movement. + * @param pos Position to copy. + * @param dx Horizontal offset. + * @param dy Vertical offset. + */ +Position::Position(const Position &pos, int dx, int dy) +{ + this->posX = pos.posX + dx; + this->posY = pos.posY + dy; +} + + +/** + * Assignment operator. + * @param pos Position to copy. + */ +Position &Position::operator=(const Position &pos) +{ + if (this != &pos) { + this->posX = pos.posX; + this->posY = pos.posY; + } + return *this; +} + + +/** + * Move the position one step in the indicated direction. + * @param dir Direction to move into. + * @return Position moved in the indicated direction. + */ +bool Position::move(Direction2 dir) +{ + switch (dir) { + case DIR2_INVALID: + return true; + + case DIR2_NORTH: + if (this->posY > 0) { + this->posY--; + return true; + } + break; + + case DIR2_NORTH_EAST: + if (this->posX < WORLD_W - 1 && this->posY > 0) { + this->posX++; + this->posY--; + return true; + } + case DIR2_EAST: + if (this->posX < WORLD_W - 1) { + this->posX++; + return true; + } + break; + + case DIR2_SOUTH_EAST: + if (this->posX < WORLD_W -1 && this->posY < WORLD_H - 1) { + this->posX++; + this->posY++; + return true; + } + break; + + case DIR2_SOUTH: + if (this->posY < WORLD_H - 1) { + this->posY++; + return true; + } + break; + + case DIR2_SOUTH_WEST: this->posX--; this->posY++; break; + if (this->posX > 0 && this->posY < WORLD_H - 1) { + this->posX--; + this->posY++; + return true; + } + break; + + case DIR2_WEST: + if (this->posX > 0) { + this->posX--; + return true; + } + break; + + case DIR2_NORTH_WEST: + if (this->posX > 0 && this->posY > 0) { + this->posX--; + this->posY--; + return true; + } + break; + + + default: NOT_REACHED(); + } + + // Movement was not possible, silently repair the position. + if (this->posX < 0) this->posX = 0; + if (this->posX >= WORLD_W) this->posX = WORLD_W - 1; + if (this->posY < 0) this->posY = 0; + if (this->posY >= WORLD_H) this->posY = WORLD_H - 1; + return false; +} + + +///////////////////////////////////////////////////////////////////////////// diff --git a/core/position.h b/core/position.h new file mode 100644 index 0000000..f424d00 --- /dev/null +++ b/core/position.h @@ -0,0 +1,197 @@ +/* position.h + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file position.h + * @brief Defines position handling and direction enumeration for the + * Micropolis game engine. + * + * This header file provides classes and functions for handling + * positions and directions within the Micropolis game world. It + * includes the 'Position' class for representing X/Y coordinates and + * 'Direction2' enumeration for defining 8 cardinal directions. + * Functions for manipulating and querying these positions and + * directions are also provided, which are essential for navigating + * and interacting with the game world's grid. + */ + + +#ifndef H_POSITION +#define H_POSITION + + +/** Another direction enumeration class, with 8 possible directions. + * @todo Eliminate #Direction. + * @todo After eliminating #Direction, rename this enum to Direction. + */ +enum Direction2 { + DIR2_INVALID, ///< Invalid direction. + DIR2_NORTH, ///< Direction pointing north. + DIR2_NORTH_EAST, ///< Direction pointing north-east. + DIR2_EAST, ///< Direction pointing east. + DIR2_SOUTH_EAST, ///< Direction pointing south-east. + DIR2_SOUTH, ///< Direction pointing south. + DIR2_SOUTH_WEST, ///< Direction pointing south-west. + DIR2_WEST, ///< Direction pointing west. + DIR2_NORTH_WEST, ///< Direction pointing north-west. + + DIR2_BEGIN = DIR2_NORTH, ///< First valid direction. + DIR2_END = DIR2_NORTH_WEST + 1, ///< End-condition for directions +}; + +/** + * Increment the direction by 45 degrees. + * @param dir Direction to rotate. + * @return Rotated direction, possibly >= DIR2_END. + */ +static inline Direction2 increment45(Direction2 dir, int count = 1) +{ + return (Direction2)(dir + count); +} + + +/** + * Increment the direction by 90 degrees. + * @param dir Direction to rotate. + * @return Rotated direction, possibly >= DIR2_END. + */ +static inline Direction2 increment90(Direction2 dir) +{ + return increment45(dir, 2); +} + +/** + * Increment the direction by 45 degrees. + * @param dir Direction to rotate. + * @return Rotated direction. + */ +static inline Direction2 rotate45(Direction2 dir, int count = 1) +{ + return (Direction2)(((dir - DIR2_NORTH + count) & 7) + DIR2_NORTH); +} + +/** + * Rotate the direction by 90 degrees. + * @param dir Direction to rotate. + * @return Rotated direction. + */ +static inline Direction2 rotate90(Direction2 dir) +{ + return rotate45(dir, 2); +} + +/** + * Rotate the direction by 180 degrees. + * @param dir Direction to rotate. + * @return Rotated direction. + */ +static inline Direction2 rotate180(Direction2 dir) +{ + return rotate45(dir, 4); +} + + +/** X/Y position. */ +class Position { + +public: + + Position(); + Position(int x, int y); + Position(const Position &pos); + Position(const Position &pos, Direction2 dir); + Position(const Position &pos, int dx, int dy); + Position &operator=(const Position &pos); + + bool move(Direction2 dir); + inline bool testBounds(); + + int posX; ///< Horizontal coordinate of the position. + int posY; ///< Vertical coordnate of the position. +}; + + +/** + * Test whether the position is on-map. + * @return Position is on-map. + */ +inline bool Position::testBounds() +{ + return (this->posX >= 0 && this->posX < WORLD_W + && this->posY >= 0 && this->posY < WORLD_H); +} + +/** + * Less-than comparison on positions (needed for map since Position is used as + * key value). + * @param pos1 First position. + * @param pos2 Second position. + * @return First position is smaller than second position. + */ +inline bool operator<(const Position &pos1, const Position &pos2) +{ + if (pos1.posX != pos2.posX) return pos1.posX < pos2.posX; + return pos1.posY < pos2.posY; +} + + +#endif diff --git a/core/power.cpp b/core/power.cpp new file mode 100644 index 0000000..18db0ac --- /dev/null +++ b/core/power.cpp @@ -0,0 +1,195 @@ +/* power.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file power.cpp + * @brief Manages power distribution in the Micropolis game. + * + * This file contains functions for scanning the game map to + * distribute power from power plants to other structures. It utilizes + * a power stack to track and update the power status of tiles. The + * file includes constants for the power strength of coal and nuclear + * power plants, and functions to test for conductive tiles, scan the + * map for power distribution, and manipulate the power stack. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" +#include "text.h" + +//////////////////////////////////////////////////////////////////////// +// Constants + +/** Number of tiles that a coal power plant can supply power to. */ +static const Quad COAL_POWER_STRENGTH = 700L; + +/** Number of tiles that a nuclear power plant can supply power to. */ +static const Quad NUCLEAR_POWER_STRENGTH = 2000L; + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Check at position \a pos for a power-less conducting tile in the + * direction \a testDir. + * @param pos Position to start from. + * @param testDir Direction to investigate. + * @return Unpowered tile has been found in the indicated direction. + * @todo Re-use something like Micropolis::getFromMap(), and fold this function + * into its caller. + */ +bool Micropolis::testForConductive(const Position& pos, Direction2 testDir) +{ + Position movedPos(pos); + + if (movedPos.move(testDir)) { + if ((map[movedPos.posX][movedPos.posY] & CONDBIT) == CONDBIT) { + if (!powerGridMap.worldGet(movedPos.posX, movedPos.posY)) { + return true; + } + } + } + + return false; +} + + +/** + * Scan the map for powered tiles, and copy them to the Micropolis::powerGridMap + * array. + * Also warns the user about using too much power ('buy another power plant'). + */ +void Micropolis::doPowerScan() +{ + Direction2 anyDir,dir; + int conNum; + + // Clear power map. + powerGridMap.clear(); + + // Power that the combined coal and nuclear power plants can deliver. + Quad maxPower = coalPowerPop * COAL_POWER_STRENGTH + + nuclearPowerPop * NUCLEAR_POWER_STRENGTH; + + Quad numPower = 0; // Amount of power used. + + while (powerStackPointer > 0) { + Position pos = pullPowerStack(); + anyDir = DIR2_INVALID; + do { + numPower++; + if (numPower > maxPower) { + sendMessage(MESSAGE_NOT_ENOUGH_POWER); + return; + } + if (anyDir != DIR2_INVALID) { + pos.move(anyDir); + } + powerGridMap.worldSet(pos.posX, pos.posY, 1); + conNum = 0; + dir = DIR2_BEGIN; + while (dir < DIR2_END && conNum < 2) { + if (testForConductive(pos, dir)) { + conNum++; + anyDir = dir; + } + dir = increment90(dir); + } + if (conNum > 1) { + pushPowerStack(pos); + } + } while (conNum); + } +} + + +/** + * Push position \a pos onto the power stack if there is room. + * @param pos Position to push. + */ +void Micropolis::pushPowerStack(const Position &pos) +{ + if (powerStackPointer < (POWER_STACK_SIZE - 2)) { + powerStackPointer++; + powerStackXY[powerStackPointer] = pos; + } +} + + +/** + * Pull a position from the power stack. + * @return Pulled position. + * @pre Stack must be non-empty (powerStackPointer > 0). + */ +Position Micropolis::pullPowerStack() +{ + assert(powerStackPointer > 0); + powerStackPointer--; + return powerStackXY[powerStackPointer + 1]; +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/random.cpp b/core/random.cpp new file mode 100644 index 0000000..e701cf5 --- /dev/null +++ b/core/random.cpp @@ -0,0 +1,183 @@ +/* random.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file random.cpp + * @brief Contains functions for generating random numbers in + * Micropolis. + * + * This file includes functions for generating random numbers used in + * various aspects of the Micropolis game. It provides functions for + * generating random numbers within specific ranges, signed and + * unsigned random numbers, and a method to initialize the random + * number generator with a random seed. + * + * @bug Code seems to assume that \c sizeof(short)==2 and \c + * sizeof(int)==4 However, this depends on the compiler. We should + * introduce typedefs for them, and check correctness of our + * assumptions w.r.t. size of them (eg in + * Micropolis::randomlySeedRandom() or in Micropolis::Micropolis()). + * + * @bug Code stores unsigned 16 bit numbers in \c short which is a + * signed type. + */ + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Draw a random number (internal function). + * @todo Use Wolfram's fast cellular automata pseudo random number generator. + * @return Unsigned 16 bit random number. + */ +int Micropolis::simRandom() +{ + nextRandom = nextRandom * 1103515245 + 12345; + return (nextRandom & 0xffff00) >> 8; +} + + +/** + * Draw a random number in a given range. + * @param range Upper bound of the range (inclusive). + * @return Random number between \c 0 and \a range (inclusive). + */ +short Micropolis::getRandom(short range) +{ + int maxMultiple, rnum; + + range++; /// @bug Increment may cause range overflow. + maxMultiple = 0xffff / range; + maxMultiple *= range; + + do { + rnum = getRandom16(); + } while (rnum >= maxMultiple); + + return (rnum % range); +} + + +/** + * Get random 16 bit number. + * @return Unsigned 16 bit random number. + */ +int Micropolis::getRandom16() +{ + return simRandom() & 0x0000ffff; +} + + +/** Get signed 16 bit random number. */ +int Micropolis::getRandom16Signed() +{ + int i = getRandom16(); + + if (i > 0x7fff) { + i = 0x7fff - i; + } + + return i; +} + + +/** + * Get a random number within a given range, with a preference to smaller + * values. + * @param limit Upper bound of the range (inclusive). + * @return Random number between \c 0 and \a limit (inclusive). + */ +short Micropolis::getERandom(short limit) +{ + short z = getRandom(limit); + short x = getRandom(limit); + + return min(z, x); +} + + +/** Initialize the random number generator with a 'random' seed. */ +void Micropolis::randomlySeedRandom() +{ + struct timeval time; + gettimeofday(&time, NULL); + seedRandom(time.tv_usec ^ time.tv_sec); +} + + +/** + * Set seed of the random number generator. + * @param seed New seed. + */ +void Micropolis::seedRandom(int seed) +{ + nextRandom = seed; +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/scan.cpp b/core/scan.cpp new file mode 100644 index 0000000..4b4e3a6 --- /dev/null +++ b/core/scan.cpp @@ -0,0 +1,600 @@ +/* scan.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file scan.cpp + * @brief Implements various scanning and analysis algorithms for + * Micropolis. + * + * This file contains functions for scanning and analyzing different + * aspects of the city in the Micropolis game, including fire and + * police station coverage, population density, pollution, land value, + * crime rates, and terrain. It also includes utility functions for + * smoothing maps and calculating distances. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + +/** + * Smooth a station map. + * + * Used for smoothing fire station and police station coverage maps. + * @param map Map to smooth. + */ +static void smoothStationMap(MapShort8 *map) +{ + short x, y, edge; + MapShort8 tempMap(*map); + + for (x = 0; x < tempMap.MAP_W; x++) { + for (y = 0; y < tempMap.MAP_H; y++) { + edge = 0; + if (x > 0) { + edge += tempMap.get(x - 1, y); + } + if (x < tempMap.MAP_W - 1) { + edge += tempMap.get(x + 1, y); + } + if (y > 0) { + edge += tempMap.get(x, y - 1); + } + if (y < tempMap.MAP_H - 1) { + edge += tempMap.get(x, y + 1); + } + edge = tempMap.get(x, y) + edge / 4; + map->set(x, y, edge / 2); + } + } +} + +/** + * Make firerate map from firestation map. + * @todo Comment seems wrong; what's a firerate map? + */ +void Micropolis::fireAnalysis() +{ + smoothStationMap(&fireStationMap); + smoothStationMap(&fireStationMap); + smoothStationMap(&fireStationMap); + + fireStationEffectMap = fireStationMap; + + newMapFlags[MAP_TYPE_FIRE_RADIUS] = 1; + newMapFlags[MAP_TYPE_DYNAMIC] = 1; +} + + +/** @todo The tempMap1 has MAP_BLOCKSIZE > 1, so we may be able to optimize + * the first x, y loop. + */ +void Micropolis::populationDensityScan() +{ + /* sets: populationDensityMap, , , comRateMap */ + tempMap1.clear(); + Quad Xtot = 0; + Quad Ytot = 0; + Quad Ztot = 0; + for (int x = 0; x < WORLD_W; x++) { + for (int y = 0; y < WORLD_H; y++) { + MapValue mapValue = map[x][y]; + if (mapValue & ZONEBIT) { + MapTile mapTile = mapValue & LOMASK; + int pop = getPopulationDensity(Position(x, y), mapTile) * 8; + pop = min(pop, 254); + + tempMap1.worldSet(x, y, (Byte)pop); + Xtot += x; + Ytot += y; + Ztot++; + } + } + } + + doSmooth1(); // tempMap1 -> tempMap2 + doSmooth2(); // tempMap2 -> tempMap1 + doSmooth1(); // tempMap1 -> tempMap2 + + assert(populationDensityMap.MAP_W == tempMap2.MAP_W); + assert(populationDensityMap.MAP_H == tempMap2.MAP_H); + + // Copy tempMap2 to populationDensityMap, multiplying by 2 + Byte *srcMap = tempMap2.getBase(); + Byte *destMap = populationDensityMap.getBase(); + for (int i = 0; i < tempMap2.MAP_W * tempMap2.MAP_H; i++) { + destMap[i] = srcMap[i] * 2; + } + + computeComRateMap(); /* Compute the comRateMap */ + + + // Compute new city center + if (Ztot > 0) { /* Find Center of Mass for City */ + cityCenterX = (short)(Xtot / Ztot); + cityCenterY = (short)(Ytot / Ztot); + } else { + cityCenterX = WORLD_W / 2; /* if pop==0 center of map is city center */ + cityCenterY = WORLD_H / 2; + } + + // Set flags for updated maps + newMapFlags[MAP_TYPE_POPULATION_DENSITY] = 1; + newMapFlags[MAP_TYPE_RATE_OF_GROWTH] = 1; + newMapFlags[MAP_TYPE_DYNAMIC] = 1; +} + + +/** + * Get population of a zone. + * @param pos Position of the zone to count. + * @param tile Tile of the zone. + * @return Population of the zone. + */ +int Micropolis::getPopulationDensity(const Position &pos, MapTile tile) +{ + int pop; + + if (tile == FREEZ) { + pop = doFreePop(pos); + return pop; + } + + if (tile < COMBASE) { + pop = getResZonePop(tile); + return pop; + } + + if (tile < INDBASE) { + pop = getComZonePop(tile) * 8; + return pop; + } + + if (tile < PORTBASE) { + pop = getIndZonePop(tile) * 8; + return pop; + } + + return 0; +} + + +/* comefrom: simulate SpecialInit */ +void Micropolis::pollutionTerrainLandValueScan() +{ + /* Does pollution, terrain, land value */ + Quad ptot, LVtot; + int x, y, z, dis; + int pollutionLevel, loc, worldX, worldY, Mx, My, pnum, LVnum, pmax; + + // tempMap3 is a map of development density, smoothed into terrainMap. + tempMap3.clear(); + + LVtot = 0; + LVnum = 0; + + for (x = 0; x < landValueMap.MAP_W; x++) { + for (y = 0; y < landValueMap.MAP_H; y++) { + pollutionLevel = 0; + bool landValueFlag = false; + worldX = x * 2; + worldY = y * 2; + + for (Mx = worldX; Mx <= worldX + 1; Mx++) { + for (My = worldY; My <= worldY + 1; My++) { + loc = (map[Mx][My] & LOMASK); + if (loc) { + if (loc < RUBBLE) { + // Increment terrain memory. + Byte value = tempMap3.get(x >>1, y >>1); + tempMap3.set(x >>1, y >>1, value + 15); + continue; + } + pollutionLevel += getPollutionValue(loc); + if (loc >= ROADBASE) { + landValueFlag = true; + } + } + } + } + +/* XXX ??? This might have to do with the radiation tile returning -40. + if (pollutionLevel < 0) { + pollutionLevel = 250; + } +*/ + + pollutionLevel = min(pollutionLevel, 255); + tempMap1.set(x, y, pollutionLevel); + + if (landValueFlag) { /* LandValue Equation */ + dis = 34 - getCityCenterDistance(worldX, worldY) / 2; + dis = dis <<2; + dis += terrainDensityMap.get(x >>1, y >>1); + dis -= pollutionDensityMap.get(x, y); + if (crimeRateMap.get(x, y) > 190) { + dis -= 20; + } + dis = clamp(dis, 1, 250); + landValueMap.set(x, y, dis); + LVtot += dis; + LVnum++; + } else { + landValueMap.set(x, y, 0); + } + } + } + + if (LVnum > 0) { + landValueAverage = (short)(LVtot / LVnum); + } else { + landValueAverage = 0; + } + + doSmooth1(); // tempMap1 -> tempMap2 + doSmooth2(); // tempMap2 -> tempMap1 + + pmax = 0; + pnum = 0; + ptot = 0; + + for (x = 0; x < WORLD_W; x += pollutionDensityMap.MAP_BLOCKSIZE) { + for (y = 0; y < WORLD_H; y += pollutionDensityMap.MAP_BLOCKSIZE) { + z = tempMap1.worldGet(x, y); + pollutionDensityMap.worldSet(x, y, z); + + if (z) { /* get pollute average */ + pnum++; + ptot += z; + /* find max pol for monster */ + if (z > pmax || (z == pmax && (getRandom16() & 3) == 0)) { + pmax = z; + pollutionMaxX = x; + pollutionMaxY = y; + } + } + } + } + if (pnum) { + pollutionAverage = (short)(ptot / pnum); + } else { + pollutionAverage = 0; + } + + smoothTerrain(); + + newMapFlags[MAP_TYPE_POLLUTION] = 1; + newMapFlags[MAP_TYPE_LAND_VALUE] = 1; + newMapFlags[MAP_TYPE_DYNAMIC] = 1; +} + + +/** + * Return pollution of a tile value + * @param loc Tile character + * @return Value of the pollution (0..255, bigger is worse) + */ +int Micropolis::getPollutionValue(int loc) +{ + if (loc < POWERBASE) { + + if (loc >= HTRFBASE) { + return /* 25 */ 75; /* heavy traf */ + } + + if (loc >= LTRFBASE) { + return /* 10 */ 50; /* light traf */ + } + + if (loc < ROADBASE) { + + if (loc > FIREBASE) { + return /* 60 */ 90; + } + + /* XXX: Why negative pollution from radiation? */ + if (loc >= RADTILE) { + return /* -40 */ 255; /* radioactivity */ + } + + } + return 0; + } + + if (loc <= LASTIND) { + return 0; + } + + if (loc < PORTBASE) { + return 50; /* Ind */ + } + + if (loc <= LASTPOWERPLANT) { + return /* 60 */ 100; /* prt, aprt, cpp */ + } + + return 0; +} + + +/** + * Compute Manhattan distance between given world position and center of the + * city. + * @param x X world coordinate of given position. + * @param y Y world coordinate of given position. + * @return Manhattan distance (\c dx+dy ) between both positions. + * @note For long distances (> 64), value 64 is returned. + */ +int Micropolis::getCityCenterDistance(int x, int y) +{ + int xDis, yDis; + + if (x > cityCenterX) { + xDis = x - cityCenterX; + } else { + xDis = cityCenterX - x; + } + + if (y > cityCenterY) { + yDis = y - cityCenterY; + } else { + yDis = cityCenterY - y; + } + + return min(xDis + yDis, 64); +} + + +/** Smooth police station map and compute crime rate */ +void Micropolis::crimeScan() +{ + smoothStationMap(&policeStationMap); + smoothStationMap(&policeStationMap); + smoothStationMap(&policeStationMap); + + Quad totz = 0; + int numz = 0; + int cmax = 0; + + for (int x = 0; x < WORLD_W; x += crimeRateMap.MAP_BLOCKSIZE) { + for (int y = 0; y < WORLD_H; y += crimeRateMap.MAP_BLOCKSIZE) { + int z = landValueMap.worldGet(x, y); + if (z > 0) { + ++numz; + z = 128 - z; + z += populationDensityMap.worldGet(x, y); + z = min(z, 300); + z -= policeStationMap.worldGet(x, y); + z = clamp(z, 0, 250); + crimeRateMap.worldSet(x, y, (Byte)z); + totz += z; + + // Update new crime hot-spot + if (z > cmax || (z == cmax && (getRandom16() & 3) == 0)) { + cmax = z; + crimeMaxX = x; + crimeMaxY = y; + } + + } else { + crimeRateMap.worldSet(x, y, 0); + } + } + } + + if (numz > 0) { + crimeAverage = (short)(totz / numz); + } else { + crimeAverage = 0; + } + + policeStationEffectMap = policeStationMap; + + newMapFlags[MAP_TYPE_CRIME] = 1; + newMapFlags[MAP_TYPE_POLICE_RADIUS] = 1; + newMapFlags[MAP_TYPE_DYNAMIC] = 1; +} + + +/* comefrom: pollutionTerrainLandValueScan */ +void Micropolis::smoothTerrain() +{ + if (donDither & 1) { + int x, y = 0, dir = 1; + unsigned z = 0; + + for (x = 0; x < terrainDensityMap.MAP_W; x++) { + for (; y != terrainDensityMap.MAP_H && y != -1; y += dir) { + z += + tempMap3.get((x == 0) ? x : (x - 1), y) + + tempMap3.get((x == (terrainDensityMap.MAP_W - 1)) ? x : (x + 1), y) + + tempMap3.get(x, (y == 0) ? (0) : (y - 1)) + + tempMap3.get(x, (y == (terrainDensityMap.MAP_H - 1)) ? y : (y + 1)) + + (tempMap3.get(x, y) <<2); + Byte val = (Byte)(z / 8); + terrainDensityMap.set(x, y, val); + z &= 0x7; + } + dir = -dir; + y += dir; + } + } else { + short x, y; + + for (x = 0; x < terrainDensityMap.MAP_W; x++) { + for (y = 0; y < terrainDensityMap.MAP_H; y++) { + unsigned z = 0; + if (x > 0) { + z += tempMap3.get(x - 1, y); + } + if (x < (terrainDensityMap.MAP_W - 1)) { + z += tempMap3.get(x + 1, y); + } + if (y > 0) { + z += tempMap3.get(x, y - 1); + } + if (y < (terrainDensityMap.MAP_H - 1)) { + z += tempMap3.get(x, y + 1); + } + Byte val = (Byte)(z / 4 + tempMap3.get(x, y)) / 2; + terrainDensityMap.set(x, y, val); + } + } + } +} + +/** + * Perform smoothing with or without dithering. + * @param srcMap Source map. + * @param destMap Destination map. + * @param ditherFlag Function should apply dithering. + */ +static void smoothDitherMap(const MapByte2 &srcMap, + MapByte2 *destMap, + bool ditherFlag) +{ + if (ditherFlag) { + int x, y = 0, z = 0, dir = 1; + + for (x = 0; x < srcMap.MAP_W; x++) { + for (; y != srcMap.MAP_H && y != -1; y += dir) { + z += + srcMap.get((x == 0) ? x : (x - 1), y) + + srcMap.get((x == srcMap.MAP_W - 1) ? x : (x + 1), y) + + srcMap.get(x, (y == 0) ? (0) : (y - 1)) + + srcMap.get(x, (y == (srcMap.MAP_H - 1)) ? y : (y + 1)) + + srcMap.get(x, y); + Byte val = (Byte)(z / 4); + destMap->set(x, y, val); + z &= 3; + } + dir = -dir; + y += dir; + } + } else { + short x, y, z; + + for (x = 0; x < srcMap.MAP_W; x++) { + for (y = 0; y < srcMap.MAP_H; y++) { + z = 0; + if (x > 0) { + z += srcMap.get(x - 1, y); + } + if (x < srcMap.MAP_W - 1) { + z += srcMap.get(x + 1, y); + } + if (y > 0) { + z += srcMap.get(x, y - 1); + } + if (y < (srcMap.MAP_H - 1)) { + z += srcMap.get(x, y + 1); + } + z = (z + srcMap.get(x, y)) >>2; + if (z > 255) { + z = 255; + } + destMap->set(x, y, (Byte)z); + } + } + } +} + + +/* Smooth Micropolis::tempMap1 to Micropolis::tempMap2 */ +void Micropolis::doSmooth1() +{ + smoothDitherMap(tempMap1, &tempMap2, donDither & 2); +} + + +/* Smooth Micropolis::tempMap2 to Micropolis::tempMap1 */ +void Micropolis::doSmooth2() +{ + smoothDitherMap(tempMap2, &tempMap1, donDither & 4); +} + + +/** + * Compute distance to city center for the entire map. + * @see comRateMap + */ +void Micropolis::computeComRateMap() +{ + short x, y, z; + + for (x = 0; x < comRateMap.MAP_W; x++) { + for (y = 0; y < comRateMap.MAP_H; y++) { + z = (short)(getCityCenterDistance(x * 8,y * 8) / 2); // 0..32 + z = z * 4; // 0..128 + z = 64 - z; // 64..-64 + comRateMap.set(x, y, z); + } + } +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/simulate.cpp b/core/simulate.cpp new file mode 100644 index 0000000..72396b0 --- /dev/null +++ b/core/simulate.cpp @@ -0,0 +1,1723 @@ +/* simulate.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file simulate.cpp + * @brief Handles the main simulation logic for Micropolis. + * + * This file contains the primary functions responsible for advancing + * the simulation state in the Micropolis game. It includes methods + * for handling various aspects of the game world, such as power + * generation, population growth, resource management, and disaster + * events. The simulation is divided into multiple phases, with each + * phase focusing on specific components of the game world. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" +#include "text.h" + + +//////////////////////////////////////////////////////////////////////// +// Constants + +/** + * How often to perform the short term census. + * @todo Rename to CENSUS_MONTHLY_FREQUENCY or so? + */ +static const int CENSUS_FREQUENCY_10 = 4; + +/** + * How often to perform the long term census. + * @todo Rename to CENSUS_YEARLY_FREQUENCY or so? + */ +static const int CENSUS_FREQUENCY_120 = CENSUS_FREQUENCY_10 * 12; + +/** + * How often to collect taxes. + */ +static const int TAX_FREQUENCY = 48; + + +//////////////////////////////////////////////////////////////////////// + + +/* comefrom: doEditWindow scoreDoer doMapInFront graphDoer doNilEvent */ +void Micropolis::simFrame() +{ + + if (simSpeed == 0) { + return; + } + + if (++speedCycle > 1023) { + speedCycle = 0; + } + + if (simSpeed == 1 && (speedCycle % 5) != 0) { + return; + } + + if (simSpeed == 2 && (speedCycle % 3) != 0) { + return; + } + + simulate(); +} + + +/* comefrom: simFrame */ +void Micropolis::simulate() +{ + static const short speedPowerScan[3] = + { 2, 4, 5 }; + static const short SpeedPollutionTerrainLandValueScan[3] = + { 2, 7, 17 }; + static const short speedCrimeScan[3] = + { 1, 8, 18 }; + static const short speedPopulationDensityScan[3] = + { 1, 9, 19 }; + static const short speedFireAnalysis[3] = + { 1, 10, 20 }; + + short speedIndex = clamp((short)(simSpeed - 1), (short)0, (short)2); + + // The simulator has 16 different phases, which we cycle through + // according to phaseCycle, which is incremented and wrapped at + // the end of this switch. + + if (initSimLoad) { + phaseCycle = 0; + } else { + phaseCycle &= 15; + } + + switch (phaseCycle) { + + case 0: + + if (++simCycle > 1023) { + simCycle = 0; // This is cosmic! + } + + if (doInitialEval) { + doInitialEval = false; + cityEvaluation(); + } + + cityTime++; + cityTaxAverage += cityTax; + + if (!(simCycle & 1)) { + setValves(); + } + + clearCensus(); + + break; + + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + + // Scan 1/8 of the map for each of the 8 phases 1..8: + mapScan((phaseCycle - 1) * WORLD_W / 8, phaseCycle * WORLD_W / 8); + + break; + + case 9: + if (cityTime % CENSUS_FREQUENCY_10 == 0) { + take10Census(); + } + + if (cityTime % CENSUS_FREQUENCY_120 == 0) { + take120Census(); + } + + if (cityTime % TAX_FREQUENCY == 0) { + collectTax(); + cityEvaluation(); + } + + break; + + case 10: + + if (!(simCycle % 5)) { + decRateOfGrowthMap(); + } + + decTrafficMap(); + + newMapFlags[MAP_TYPE_TRAFFIC_DENSITY] = 1; + newMapFlags[MAP_TYPE_ROAD] = 1; + newMapFlags[MAP_TYPE_ALL] = 1; + newMapFlags[MAP_TYPE_RES] = 1; + newMapFlags[MAP_TYPE_COM] = 1; + newMapFlags[MAP_TYPE_IND] = 1; + newMapFlags[MAP_TYPE_DYNAMIC] = 1; + + sendMessages(); + + break; + + case 11: + + if ((simCycle % speedPowerScan[speedIndex]) == 0) { + doPowerScan(); + newMapFlags[MAP_TYPE_POWER] = 1; + newPower = true; /* post-release change */ + } + + break; + + case 12: + + if ((simCycle % SpeedPollutionTerrainLandValueScan[speedIndex]) == 0) { + pollutionTerrainLandValueScan(); + } + + break; + + case 13: + + if ((simCycle % speedCrimeScan[speedIndex]) == 0) { + crimeScan(); + } + + break; + + case 14: + + if ((simCycle % speedPopulationDensityScan[speedIndex]) == 0) { + populationDensityScan(); + } + + break; + + case 15: + + if ((simCycle % speedFireAnalysis[speedIndex]) == 0) { + fireAnalysis(); + } + + doDisasters(); + + break; + + } + + // Go on the the next phase. + phaseCycle = (phaseCycle + 1) & 15; +} + + +/** + * Initialize simulation. + * @todo Create constants for initSimLoad. + */ +void Micropolis::doSimInit() +{ + phaseCycle = 0; + simCycle = 0; + + if (initSimLoad == 2) { + /* if new city */ + initSimMemory(); + } + + if (initSimLoad == 1) { + /* if city just loaded */ + simLoadInit(); + } + + setValves(); + clearCensus(); + mapScan(0, WORLD_W); + doPowerScan(); + newPower = true; /* post rel */ + pollutionTerrainLandValueScan(); + crimeScan(); + populationDensityScan(); + fireAnalysis(); + newMap = 1; + censusChanged = true; + totalPop = 1; + doInitialEval = true; +} + + +/** + * Copy bits from powerGridMap to the #PWRBIT in the map for all zones in the + * world. + */ +void Micropolis::doNilPower() +{ + short x, y; + + for (x = 0; x < WORLD_W; x++) { + for (y = 0; y < WORLD_H; y++) { + MapValue z = map[x][y]; + if (z & ZONEBIT) { + setZonePower(Position(x, y)); + } + } + } +} + + +/** Decrease traffic memory */ +void Micropolis::decTrafficMap() +{ + /* tends to empty trafficDensityMap */ + short x, y, z; + + for (x = 0; x < WORLD_W; x += trafficDensityMap.MAP_BLOCKSIZE) { + for (y = 0; y < WORLD_H; y += trafficDensityMap.MAP_BLOCKSIZE) { + z = trafficDensityMap.worldGet(x, y); + if (z == 0) { + continue; + } + + if (z <= 24) { + trafficDensityMap.worldSet(x, y, 0); + continue; + } + + if (z > 200) { + trafficDensityMap.worldSet(x, y, z - 34); + } else { + trafficDensityMap.worldSet(x, y, z - 24); + } + } + } +} + + +/** + * Decrease rate of grow. + * @todo Limiting rate should not be done here, but when we add a new value to + * it. + */ +void Micropolis::decRateOfGrowthMap() +{ + /* tends to empty rateOfGrowthMap */ + short x, y, z; + + for (x = 0; x < rateOfGrowthMap.MAP_W; x++) { + for (y = 0; y < rateOfGrowthMap.MAP_H; y++) { + z = rateOfGrowthMap.get(x, y); + if (z == 0) { + continue; + } + + if (z > 0) { + z--; + z = clamp(z, (short)-200, (short)200); + rateOfGrowthMap.set(x, y, z); + continue; + } + + if (z < 0) { + z++; + z = clamp(z, (short)-200, (short)200); + rateOfGrowthMap.set(x, y, z); + } + } + } +} + + +/* comefrom: doSimInit */ +void Micropolis::initSimMemory() +{ + setCommonInits(); + + for (short x = 0; x < 240; x++) { + resHist[x] = 0; + comHist[x] = 0; + indHist[x] = 0; + moneyHist[x] = 128; + crimeHist[x] = 0; + pollutionHist[x] = 0; + } + + crimeRamp = 0; + pollutionRamp = 0; + totalPop = 0; + resValve = 0; + comValve = 0; + indValve = 0; + resCap = false; // Do not block residential growth + comCap = false; // Do not block commercial growth + indCap = false; // Do not block industrial growth + + externalMarket = 6.0; + disasterEvent = SC_NONE; + scoreType = SC_NONE; + + /* This clears powermem */ + powerStackPointer = 0; + doPowerScan(); + newPower = true; /* post rel */ + + initSimLoad = 0; +} + + +/* comefrom: doSimInit */ +void Micropolis::simLoadInit() +{ + // Disaster delay table for each scenario + static const short disasterWaitTable[SC_COUNT] = { + 0, // No scenario (free playing) + 2, // Dullsville (boredom) + 10, // San francisco (earth quake) + 4 * 10, // Hamburg (fire bombs) + 20, // Bern (traffic) + 3, // Tokyo (scary monster) + 5, // Detroit (crime) + 5, // Boston (nuclear meltdown) + 2 * 48, // Rio (flooding) + }; + + // Time to wait before score calculation for each scenario + static const short scoreWaitTable[SC_COUNT] = { + 0, // No scenario (free playing) + 30 * 48, // Dullsville (boredom) + 5 * 48, // San francisco (earth quake) + 5 * 48, // Hamburg (fire bombs) + 10 * 48, // Bern (traffic) + 5 * 48, // Tokyo (scary monster) + 10 * 48, // Detroit (crime) + 5 * 48, // Boston (nuclear meltdown) + 10 * 48, // Rio (flooding) + }; + + externalMarket = (float)miscHist[1]; + resPop = miscHist[2]; + comPop = miscHist[3]; + indPop = miscHist[4]; + resValve = miscHist[5]; + comValve = miscHist[6]; + indValve = miscHist[7]; + crimeRamp = miscHist[10]; + pollutionRamp = miscHist[11]; + landValueAverage = miscHist[12]; + crimeAverage = miscHist[13]; + pollutionAverage = miscHist[14]; + gameLevel = (GameLevel)miscHist[15]; + + if (cityTime < 0) { + cityTime = 0; + } + + if (!externalMarket) { + externalMarket = 4.0; + } + + // Set game level + if (gameLevel > LEVEL_LAST || gameLevel < LEVEL_FIRST) { + gameLevel = LEVEL_FIRST; + } + setGameLevel(gameLevel); + + setCommonInits(); + + // Load cityClass + cityClass = (CityClass)(miscHist[16]); + if (cityClass > CC_MEGALOPOLIS || cityClass < CC_VILLAGE) { + cityClass = CC_VILLAGE; + } + + cityScore = miscHist[17]; + if (cityScore > 999 || cityScore < 1) { + cityScore = 500; + } + + resCap = false; + comCap = false; + indCap = false; + + cityTaxAverage = (cityTime % 48) * 7; /* post */ + + // Set power map. + /// @todo What purpose does this serve? Weird... + powerGridMap.fill(1); + + doNilPower(); + + roadEffect = MAX_ROAD_EFFECT; + policeEffect = MAX_POLICE_STATION_EFFECT; + fireEffect = MAX_FIRE_STATION_EFFECT; + initSimLoad = 0; + + if (scenario >= SC_COUNT) { + scenario = SC_NONE; + } + + if (scenario != SC_NONE) { + assert(LENGTH_OF(disasterWaitTable) == SC_COUNT); + assert(LENGTH_OF(scoreWaitTable) == SC_COUNT); + + disasterEvent = scenario; + disasterWait = disasterWaitTable[disasterEvent]; + scoreType = disasterEvent; + scoreWait = scoreWaitTable[disasterEvent]; + + doStartScenario(scenario); + } else { + disasterEvent = SC_NONE; + disasterWait = 0; + scoreType = SC_NONE; + scoreWait = 0; + } + + doStartGame(); +} + + +/* comefrom: initSimMemory simLoadInit */ +void Micropolis::setCommonInits() +{ + evalInit(); + roadEffect = MAX_ROAD_EFFECT; + policeEffect = MAX_POLICE_STATION_EFFECT; + fireEffect = MAX_FIRE_STATION_EFFECT; + taxFlag = false; + taxFund = 0; +} + + +/* comefrom: simulate doSimInit */ +void Micropolis::setValves() +{ + /// @todo Break the tax table out into configurable parameters. + static const short taxTable[21] = { + 200, 150, 120, 100, 80, 50, 30, 0, -10, -40, -100, + -150, -200, -250, -300, -350, -400, -450, -500, -550, -600, + }; + static const float extMarketParamTable[3] = { + 1.2f, 1.1f, 0.98f, + }; + assert(LEVEL_COUNT == LENGTH_OF(extMarketParamTable)); + + /// @todo Make configurable parameters. + short resPopDenom = 8; + float birthRate = 0.02; + float laborBaseMax = 1.3; + float internalMarketDenom = 3.7; + float projectedIndPopMin = 5.0; + float resRatioDefault = 1.3; + float resRatioMax = 2; + float comRatioMax = 2; + float indRatioMax = 2; + short taxMax = 20; + float taxTableScale = 600; + + /// @todo Break the interesting values out into public member + /// variables so the user interface can display them. + float employment, migration, births, laborBase, internalMarket; + float resRatio, comRatio, indRatio; + float normalizedResPop, projectedResPop, projectedComPop, projectedIndPop; + + miscHist[1] = (short)externalMarket; + miscHist[2] = resPop; + miscHist[3] = comPop; + miscHist[4] = indPop; + miscHist[5] = resValve; + miscHist[6] = comValve; + miscHist[7] = indValve; + miscHist[10] = crimeRamp; + miscHist[11] = pollutionRamp; + miscHist[12] = landValueAverage; + miscHist[13] = crimeAverage; + miscHist[14] = pollutionAverage; + miscHist[15] = gameLevel; + miscHist[16] = (short)cityClass; + miscHist[17] = cityScore; + + normalizedResPop = (float)resPop / (float)resPopDenom; + totalPopLast = totalPop; + totalPop = (short)(normalizedResPop + comPop + indPop); + + if (resPop > 0) { + employment = (comHist[1] + indHist[1]) / normalizedResPop; + } else { + employment = 1; + } + + migration = normalizedResPop * (employment - 1); + births = normalizedResPop * birthRate; + projectedResPop = normalizedResPop + migration + births; // Projected res pop. + + // Compute laborBase + float temp = comHist[1] + indHist[1]; + if (temp > 0.0) { + laborBase = (resHist[1] / temp); + } else { + laborBase = 1; + } + laborBase = clamp(laborBase, 0.0f, laborBaseMax); + + internalMarket = (float)(normalizedResPop + comPop + indPop) / internalMarketDenom; + + projectedComPop = internalMarket * laborBase; + + assert(gameLevel >= LEVEL_FIRST && gameLevel <= LEVEL_LAST); + projectedIndPop = indPop * laborBase * extMarketParamTable[gameLevel]; + projectedIndPop = max(projectedIndPop, projectedIndPopMin); + + if (normalizedResPop > 0) { + resRatio = (float)projectedResPop / (float)normalizedResPop; // projected -vs- actual. + } else { + resRatio = resRatioDefault; + } + + if (comPop > 0) { + comRatio = (float)projectedComPop / (float)comPop; + } else { + comRatio = (float)projectedComPop; + } + + if (indPop > 0) { + indRatio = (float)projectedIndPop / (float)indPop; + } else { + indRatio = (float)projectedIndPop; + } + + resRatio = min(resRatio, resRatioMax); + comRatio = min(comRatio, comRatioMax); + resRatio = min(indRatio, indRatioMax); + + // Global tax and game level effects. + short z = min((short)(cityTax + gameLevel), taxMax); + resRatio = (resRatio - 1) * taxTableScale + taxTable[z]; + comRatio = (comRatio - 1) * taxTableScale + taxTable[z]; + indRatio = (indRatio - 1) * taxTableScale + taxTable[z]; + + // Ratios are velocity changes to valves. + resValve = clamp(resValve + (short)resRatio, -RES_VALVE_RANGE, RES_VALVE_RANGE); + comValve = clamp(comValve + (short)comRatio, -COM_VALVE_RANGE, COM_VALVE_RANGE); + indValve = clamp(indValve + (short)indRatio, -IND_VALVE_RANGE, IND_VALVE_RANGE); + + if (resCap && resValve > 0) { + resValve = 0; // Need a stadium, so cap resValve. + } + + if (comCap && comValve > 0) { + comValve = 0; // Need a airport, so cap comValve. + } + + if (indCap && indValve > 0) { + indValve = 0; // Need an seaport, so cap indValve. + } + + valveFlag = true; +} + + +/* comefrom: simulate doSimInit */ +void Micropolis::clearCensus() +{ + poweredZoneCount = 0; + unpoweredZoneCount = 0; + firePop = 0; + roadTotal = 0; + railTotal = 0; + resPop = 0; + comPop = 0; + indPop = 0; + resZonePop = 0; + comZonePop = 0; + indZonePop = 0; + hospitalPop = 0; + churchPop = 0; + policeStationPop = 0; + fireStationPop = 0; + stadiumPop = 0; + coalPowerPop = 0; + nuclearPowerPop = 0; + seaportPop = 0; + airportPop = 0; + powerStackPointer = 0; /* Reset before Mapscan */ + + fireStationMap.clear(); + //fireStationEffectMap.clear(); // Added in rev293 + policeStationMap.clear(); + //policeStationEffectMap.clear(); // Added in rev293 + +} + + +/** + * Take monthly snaphsot of all relevant data for the historic graphs. + * Also update variables that control building new churches and hospitals. + * @todo Rename to takeMonthlyCensus (or takeMonthlySnaphshot?). + * @todo A lot of this max stuff is also done in graph.cpp + */ +void Micropolis::take10Census() +{ + // TODO: Make configurable parameters. + int resPopDenom = 8; + + short x; + + /* put census#s in Historical Graphs and scroll data */ + resHist10Max = 0; + comHist10Max = 0; + indHist10Max = 0; + + for (x = 118; x >= 0; x--) { + + resHist10Max = max(resHist10Max, resHist[x]); + comHist10Max = max(comHist10Max, comHist[x]); + indHist10Max = max(indHist10Max, indHist[x]); + + resHist[x + 1] = resHist[x]; + comHist[x + 1] = comHist[x]; + indHist[x + 1] = indHist[x]; + crimeHist[x + 1] = crimeHist[x]; + pollutionHist[x + 1] = pollutionHist[x]; + moneyHist[x + 1] = moneyHist[x]; + + } + + graph10Max = resHist10Max; + graph10Max = max(graph10Max, comHist10Max); + graph10Max = max(graph10Max, indHist10Max); + + resHist[0] = resPop / resPopDenom; + comHist[0] = comPop; + indHist[0] = indPop; + + crimeRamp += (crimeAverage - crimeRamp) / 4; + crimeHist[0] = min(crimeRamp, (short)255); + + pollutionRamp += (pollutionAverage - pollutionRamp) / 4; + pollutionHist[0] = min(pollutionRamp, (short)255); + + x = (cashFlow / 20) + 128; /* scale to 0..255 */ + moneyHist[0] = clamp(x, (short)0, (short)255); + + changeCensus(); + + short resPopScaled = resPop >> 8; + + if (hospitalPop < resPopScaled) { + needHospital = 1; + } + + if (hospitalPop > resPopScaled) { + needHospital = -1; + } + + if (hospitalPop == resPopScaled) { + needHospital = 0; + } + + int faithfulPop = resPopScaled + faith; + + if (churchPop < faithfulPop) { + needChurch = 1; + } + + if (churchPop > faithfulPop) { + needChurch = -1; + } + + if (churchPop == faithfulPop) { + needChurch = 0; + } +} + + +/* comefrom: simulate */ +void Micropolis::take120Census() +{ + // TODO: Make configurable parameters. + int resPopDenom = 8; + + /* Long Term Graphs */ + short x; + + resHist120Max = 0; + comHist120Max = 0; + indHist120Max = 0; + + for (x = 238; x >= 120; x--) { + + resHist120Max = max(resHist120Max, resHist[x]); + comHist120Max = max(comHist120Max, comHist[x]); + indHist120Max = max(indHist120Max, indHist[x]); + + resHist[x + 1] = resHist[x]; + comHist[x + 1] = comHist[x]; + indHist[x + 1] = indHist[x]; + crimeHist[x + 1] = crimeHist[x]; + pollutionHist[x + 1] = pollutionHist[x]; + moneyHist[x + 1] = moneyHist[x]; + + } + + graph120Max = resHist120Max; + graph120Max = max(graph120Max, comHist120Max); + graph120Max = max(graph120Max, indHist120Max); + + resHist[120] = resPop / resPopDenom; + comHist[120] = comPop; + indHist[120] = indPop; + crimeHist[120] = crimeHist[0] ; + pollutionHist[120] = pollutionHist[0]; + moneyHist[120] = moneyHist[0]; + changeCensus(); +} + + +/** Collect taxes + * @bug Function seems to be doing different things depending on + * Micropolis::totalPop value. With an non-empty city it does fund + * calculations. For an empty city, it immediately sets effects of + * funding, which seems inconsistent at least, and may be wrong + * @bug If Micropolis::taxFlag is set, no variable is touched which seems + * non-robust at least + */ +void Micropolis::collectTax() +{ + short z; + + /** + * @todo Break out so the user interface can configure this. + */ + static const float RLevels[3] = { 0.7, 0.9, 1.2 }; + static const float FLevels[3] = { 1.4, 1.2, 0.8 }; + + assert(LEVEL_COUNT == LENGTH_OF(RLevels)); + assert(LEVEL_COUNT == LENGTH_OF(FLevels)); + + cashFlow = 0; + + /** + * @todo Apparently taxFlag is never set to true in MicropolisEngine + * or the TCL code, so this always runs. + * @todo Check old Mac code to see if it's ever set, and why. + */ + + if (!taxFlag) { // If the Tax Port is clear + + /// @todo Do something with z? Check old Mac code to see if it's used. + z = cityTaxAverage / 48; // post release + + cityTaxAverage = 0; + + policeFund = (long)policeStationPop * 100; + fireFund = (long)fireStationPop * 100; + roadFund = (long)((roadTotal + (railTotal * 2)) * RLevels[gameLevel]); + taxFund = (long)((((Quad)totalPop * landValueAverage) / 120) * cityTax * FLevels[gameLevel]); + + if (totalPop > 0) { + /* There are people to tax. */ + cashFlow = (short)(taxFund - (policeFund + fireFund + roadFund)); + doBudget(); + } else { + /* Nobody lives here. */ + roadEffect = MAX_ROAD_EFFECT; + policeEffect = MAX_POLICE_STATION_EFFECT; + fireEffect = MAX_FIRE_STATION_EFFECT; + } + } +} + + +/** + * Update effects of (possibly reduced) funding + * + * It updates effects with respect to roads, police, and fire. + * @note This function should probably not be used when #totalPop is + * clear (ie with an empty) city. See also bugs of #collectTax() + * @bug I think this should be called after loading a city, or any + * time anything it depends on changes. + */ +void Micropolis::updateFundEffects() +{ + // Compute road effects of funding + roadEffect = MAX_ROAD_EFFECT; + if (roadFund > 0) { + // Multiply with funding fraction + roadEffect = (short)((float)roadEffect * (float)roadSpend / (float)roadFund); + } + + // Compute police station effects of funding + policeEffect = MAX_POLICE_STATION_EFFECT; + if (policeFund > 0) { + // Multiply with funding fraction + policeEffect = (short)((float)policeEffect * (float)policeSpend / (float)policeFund); + } + + // Compute fire station effects of funding + fireEffect = MAX_FIRE_STATION_EFFECT; + if (fireFund > 0) { + // Multiply with funding fraction + fireEffect = (short)((float)fireEffect * (float)fireSpend / (float)fireFund); + } + +#if 0 + printf("========== updateFundEffects road %d %d %d fire %d %d %d police %d %d %d\n", + (int)roadEffect, (int)roadSpend, (int)roadFund, + (int)fireEffect, (int)fireSpend, (int)fireFund, + (int)policeEffect, (int)policeSpend, (int)policeFund); +#endif + + mustDrawBudget = 1; +} + + +/* comefrom: simulate doSimInit */ +void Micropolis::mapScan(int x1, int x2) +{ + short x, y; + + for (x = x1; x < x2; x++) { + for (y = 0; y < WORLD_H; y++) { + + MapValue mapVal = map[x][y]; + if (mapVal == DIRT) { + continue; + } + + MapTile tile = mapVal & LOMASK; /* Mask off status bits */ + + if (tile < FLOOD) { + continue; + } + + // tile >= FLOOD + + Position pos(x, y); + + + if (tile < ROADBASE) { + + if (tile >= FIREBASE) { + firePop++; + if (!(getRandom16() & 3)) { + doFire(pos); /* 1 in 4 times */ + } + continue; + } + + if (tile < RADTILE) { + doFlood(pos); + } else { + doRadTile(pos); + } + + continue; + } + + if (newPower && (mapVal & CONDBIT)) { + // Copy PWRBIT from powerGridMap + setZonePower(pos); + } + + if (tile >= ROADBASE && tile < POWERBASE) { + doRoad(pos); + continue; + } + + if (mapVal & ZONEBIT) { /* process Zones */ + doZone(pos); + continue; + } + + if (tile >= RAILBASE && tile < RESBASE) { + doRail(pos); + continue; + } + + if (tile >= SOMETINYEXP && tile <= LASTTINYEXP) { + /* clear AniRubble */ + map[x][y] = randomRubble(); + } + } + } +} + + +/** + * Handle rail track. + * Generate a train, and handle road deteriorating effects. + * @param pos Position of the rail. + */ +void Micropolis::doRail(const Position &pos) +{ + railTotal++; + + generateTrain(pos.posX, pos.posY); + + if (roadEffect < (15 * MAX_ROAD_EFFECT / 16)) { + + // roadEffect < 15/16 of max road, enable deteriorating rail + if (!(getRandom16() & 511)) { + + MapValue curValue = map[pos.posX][pos.posY]; + if (!(curValue & CONDBIT)) { + + // Otherwise the '(getRandom16() & 31)' makes no sense + assert(MAX_ROAD_EFFECT == 32); + if (roadEffect < (getRandom16() & 31)) { + MapTile tile = curValue & LOMASK; + if (tile < RAILBASE + 2) { + map[pos.posX][pos.posY] = RIVER; + } else { + map[pos.posX][pos.posY] = randomRubble(); + } + return; + } + } + } + } +} + + +/** + * Handle decay of radio-active tile + * @param pos Position of the radio-active tile. + */ +void Micropolis::doRadTile(const Position &pos) +{ + if ((getRandom16() & 4095) == 0) { + map[pos.posX][pos.posY] = DIRT; /* Radioactive decay */ + } +} + + +/** + * Handle road tile. + * @param pos Position of the road. + */ +void Micropolis::doRoad(const Position &pos) +{ + short tden, z; + static const short densityTable[3] = { ROADBASE, LTRFBASE, HTRFBASE }; + + roadTotal++; + + MapValue mapValue = map[pos.posX][pos.posY]; + MapTile tile = mapValue & LOMASK; + + /* generateBus(pos.posX, pos.posY); */ + + if (roadEffect < (15 * MAX_ROAD_EFFECT / 16)) { + // roadEffect < 15/16 of max road, enable deteriorating road + if ((getRandom16() & 511) == 0) { + if (!(mapValue & CONDBIT)) { + assert(MAX_ROAD_EFFECT == 32); // Otherwise the '(getRandom16() & 31)' makes no sense + if (roadEffect < (getRandom16() & 31)) { + if ((tile & 15) < 2 || (tile & 15) == 15) { + map[pos.posX][pos.posY] = RIVER; + } else { + map[pos.posX][pos.posY] = randomRubble(); + } + return; + } + } + } + } + + if ((mapValue & BURNBIT) == 0) { /* If Bridge */ + roadTotal += 4; // Bridge counts as 4 road tiles + if (doBridge(Position(pos.posX, pos.posY), tile)) { + return; + } + } + + if (tile < LTRFBASE) { + tden = 0; + } else if (tile < HTRFBASE) { + tden = 1; + } else { + roadTotal++; // Heavy traffic counts as 2 roads. + tden = 2; + } + + short trafficDensity = trafficDensityMap.worldGet(pos.posX, pos.posY) >>6; + + if (trafficDensity > 1) { + trafficDensity--; + } + + if (tden != trafficDensity) { /* tden 0..2 */ + z = ((tile - ROADBASE) & 15) + densityTable[trafficDensity]; + z |= mapValue & (ALLBITS - ANIMBIT); + + if (trafficDensity > 0) { + z |= ANIMBIT; + } + + map[pos.posX][pos.posY] = z; + } +} + + +/** + * Handle a bridge. + * @param pos Position of the bridge. + * @param tile Tile value of the bridge. + * @return ??? + * + * @todo What does this function return? + * @todo Discover the structure of all the magic constants. + */ +bool Micropolis::doBridge(const Position &pos, MapTile tile) +{ + static short HDx[7] = { -2, 2, -2, -1, 0, 1, 2 }; + static short HDy[7] = { -1, -1, 0, 0, 0, 0, 0 }; + static short HBRTAB[7] = { + HBRDG1 | BULLBIT, HBRDG3 | BULLBIT, HBRDG0 | BULLBIT, + RIVER, BRWH | BULLBIT, RIVER, HBRDG2 | BULLBIT, + }; + static short HBRTAB2[7] = { + RIVER, RIVER, HBRIDGE | BULLBIT, HBRIDGE | BULLBIT, HBRIDGE | BULLBIT, + HBRIDGE | BULLBIT, HBRIDGE | BULLBIT, + }; + static short VDx[7] = { 0, 1, 0, 0, 0, 0, 1 }; + static short VDy[7] = { -2, -2, -1, 0, 1, 2, 2 }; + static short VBRTAB[7] = { + VBRDG0 | BULLBIT, VBRDG1 | BULLBIT, RIVER, BRWV | BULLBIT, + RIVER, VBRDG2 | BULLBIT, VBRDG3 | BULLBIT, + }; + static short VBRTAB2[7] = { + VBRIDGE | BULLBIT, RIVER, VBRIDGE | BULLBIT, VBRIDGE | BULLBIT, + VBRIDGE | BULLBIT, VBRIDGE | BULLBIT, RIVER, + }; + int z, x, y, MPtem; + + if (tile == BRWV) { /* Vertical bridge close */ + + if ((!(getRandom16() & 3)) && getBoatDistance(pos) > 340) { + + for (z = 0; z < 7; z++) { /* Close */ + + x = pos.posX + VDx[z]; + y = pos.posY + VDy[z]; + + if (testBounds(x, y)) { + + if ((map[x][y] & LOMASK) == (VBRTAB[z] & LOMASK)) { + map[x][y] = VBRTAB2[z]; + } + + } + } + } + return true; + } + + if (tile == BRWH) { /* Horizontal bridge close */ + + if ((!(getRandom16() & 3)) && getBoatDistance(pos) > 340) { + + for (z = 0; z < 7; z++) { /* Close */ + + x = pos.posX + HDx[z]; + y = pos.posY + HDy[z]; + + if (testBounds(x, y)) { + + if ((map[x][y] & LOMASK) == (HBRTAB[z] & LOMASK)) { + + map[x][y] = HBRTAB2[z]; + + } + } + } + } + return true; + } + + if (getBoatDistance(pos) < 300 || (!(getRandom16() & 7))) { + if (tile & 1) { + if (pos.posX < WORLD_W - 1) { + if (map[pos.posX + 1][pos.posY] == CHANNEL) { /* Vertical open */ + + for (z = 0; z < 7; z++) { + + x = pos.posX + VDx[z]; + y = pos.posY + VDy[z]; + + if (testBounds(x, y)) { + + MPtem = map[x][y]; + if (MPtem == CHANNEL || ((MPtem & 15) == (VBRTAB2[z] & 15))) { + map[x][y] = VBRTAB[z]; + } + } + } + return true; + } + } + return false; + + } else { + + if (pos.posY > 0) { + if (map[pos.posX][pos.posY - 1] == CHANNEL) { + + /* Horizontal open */ + for (z = 0; z < 7; z++) { + + x = pos.posX + HDx[z]; + y = pos.posY + HDy[z]; + + if (testBounds(x, y)) { + + MPtem = map[x][y]; + if (((MPtem & 15) == (HBRTAB2[z] & 15)) || MPtem == CHANNEL) { + map[x][y] = HBRTAB[z]; + } + } + } + return true; + } + } + return false; + } + + } + return false; +} + + +/** + * Compute distance to nearest boat from a given bridge. + * @param pos Position of bridge. + * @return Distance to nearest boat. + */ +int Micropolis::getBoatDistance(const Position &pos) +{ + int sprDist; + SimSprite *sprite; + + int dist = 99999; + int mx = pos.posX * 16 + 8; + int my = pos.posY * 16 + 8; + + for (sprite = spriteList; sprite != NULL; sprite = sprite->next) { + if (sprite->type == SPRITE_SHIP && sprite->frame != 0) { + + sprDist = absoluteValue(sprite->x + sprite->xHot - mx) + + absoluteValue(sprite->y + sprite->yHot - my); + + dist = min(dist, sprDist); + } + } + return dist; +} + + +/** + * Handle tile being on fire. + * @param pos Position of the fire. + * + * @todo Needs a notion of iterative neighbour tiles computing. + * @todo Use a getFromMap()-like function here. + * @todo Extract constants of fire station effectiveness from here. + */ +void Micropolis::doFire(const Position &pos) +{ + static const short DX[4] = { -1, 0, 1, 0 }; + static const short DY[4] = { 0, -1, 0, 1 }; + + // Try to set neighbouring tiles on fire as well + for (short z = 0; z < 4; z++) { + + if ((getRandom16() & 7) == 0) { + + short xTem = pos.posX + DX[z]; + short yTem = pos.posY + DY[z]; + + if (testBounds(xTem, yTem)) { + + MapValue c = map[xTem][yTem]; + if (!(c & BURNBIT)) { + continue; + } + + if (c & ZONEBIT) { + // Neighbour is a zone and burnable + fireZone(Position(xTem, yTem), c); + + if ((c & LOMASK) > IZB) { /* Explode */ + makeExplosionAt(xTem *16 + 8, yTem * 16 + 8); + } + } + + map[xTem][yTem] = randomFire(); + } + } + } + + // Compute likelyhood of fire running out of fuel + short rate = 10; // Likelyhood of extinguishing (bigger means less chance) + short z = fireStationEffectMap.worldGet(pos.posX, pos.posY); + + if (z > 0) { + rate = 3; + if (z > 20) { + rate = 2; + } + if (z > 100) { + rate = 1; + } + } + + // Decide whether to put out the fire. + if (getRandom(rate) == 0) { + map[pos.posX][pos.posY] = randomRubble(); + } +} + + +/** + * Handle a zone on fire. + * + * Decreases rate of growth of the zone, and makes remaining tiles bulldozable. + * + * @param pos Position of the zone on fire. + * @param ch Character of the zone. + */ +void Micropolis::fireZone(const Position &pos, MapValue ch) +{ + short XYmax; + + int value = rateOfGrowthMap.worldGet(pos.posX, pos.posY); + value = clamp(value - 20, -200, 200); + rateOfGrowthMap.worldSet(pos.posX, pos.posY, value); + + ch = ch & LOMASK; + + if (ch < PORTBASE) { + XYmax = 2; + } else { + if (ch == AIRPORT) { + XYmax = 5; + } else { + XYmax = 4; + } + } + + // Make remaining tiles of the zone bulldozable + for (short x = -1; x < XYmax; x++) { + for (short y = -1; y < XYmax; y++) { + + short xTem = pos.posX + x; + short yTem = pos.posY + y; + + if (!testBounds(xTem, yTem)) { + continue; + } + + if ((MapTile)(map[xTem][yTem] & LOMASK) >= ROADBASE) { + /* post release */ + map[xTem][yTem] |= BULLBIT; + } + + } + } +} + + +/** + * Repair a zone at \a pos. + * @param pos Center-tile position of the zone. + * @param zCent Value of the center tile. + * @param zSize Size of the zone (in both directions). + */ +void Micropolis::repairZone(const Position &pos, MapTile zCent, short zSize) +{ + MapTile tile = zCent - 2 - zSize; + + // y and x loops one position shifted to compensate for the center-tile position. + for (short y = -1; y < zSize - 1; y++) { + for (short x = -1; x < zSize - 1; x++) { + + int xx = pos.posX + x; + int yy = pos.posY + y; + + tile++; + + if (testBounds(xx, yy)) { + + MapValue mapValue = map[xx][yy]; + + if (mapValue & ZONEBIT) { + continue; + } + + if (mapValue & ANIMBIT) { + continue; + } + + MapTile mapTile = mapValue & LOMASK; + + if (mapTile < RUBBLE || mapTile >= ROADBASE) { + map[xx][yy] = tile | CONDBIT | BURNBIT; + } + } + } + } +} + + +/** + * Update special zones. + * @param pos Position of the zone. + * @param powerOn Zone is powered. + */ +void Micropolis::doSpecialZone(const Position &pos, bool powerOn) +{ + // Bigger numbers reduce chance of nuclear melt down + static const short meltdownTable[3] = { 30000, 20000, 10000 }; + + MapTile tile = map[pos.posX][pos.posY] & LOMASK; + + switch (tile) { + + case POWERPLANT: + + coalPowerPop++; + + if ((cityTime & 7) == 0) { + repairZone(pos, POWERPLANT, 4); /* post */ + } + + pushPowerStack(pos); + coalSmoke(pos); + + return; + + case NUCLEAR: + + assert(LEVEL_COUNT == LENGTH_OF(meltdownTable)); + + if (enableDisasters && !getRandom(meltdownTable[gameLevel])) { + doMeltdown(pos); + return; + } + + nuclearPowerPop++; + + if ((cityTime & 7) == 0) { + repairZone(pos, NUCLEAR, 4); /* post */ + } + + pushPowerStack(pos); + + return; + + case FIRESTATION: { + + int z; + + fireStationPop++; + + if (!(cityTime & 7)) { + repairZone(pos, FIRESTATION, 3); /* post */ + } + + if (powerOn) { + z = fireEffect; /* if powered get effect */ + } else { + z = fireEffect / 2; /* from the funding ratio */ + } + + Position pos2(pos); + bool foundRoad = findPerimeterRoad(&pos2); + + if (!foundRoad) { + z = z / 2; /* post FD's need roads */ + } + + int value = fireStationMap.worldGet(pos2.posX, pos2.posY); + value += z; + fireStationMap.worldSet(pos2.posX, pos2.posY, value); + + return; + } + + case POLICESTATION: { + + int z; + + policeStationPop++; + + if (!(cityTime & 7)) { + repairZone(pos, POLICESTATION, 3); /* post */ + } + + if (powerOn) { + z = policeEffect; + } else { + z = policeEffect / 2; + } + + Position pos2(pos); + bool foundRoad = findPerimeterRoad(&pos2); + + if (!foundRoad) { + z = z / 2; /* post PD's need roads */ + } + + int value = policeStationMap.worldGet(pos2.posX, pos2.posY); + value += z; + policeStationMap.worldSet(pos2.posX, pos2.posY, value); + + return; + } + + case STADIUM: // Empty stadium + + stadiumPop++; + + if (!(cityTime & 15)) { + repairZone(pos, STADIUM, 4); + } + + if (powerOn) { + // Every now and then, display a match + if (((cityTime + pos.posX + pos.posY) & 31) == 0) { + drawStadium(pos, FULLSTADIUM); + map[pos.posX + 1][pos.posY] = FOOTBALLGAME1 + ANIMBIT; + map[pos.posX + 1][pos.posY + 1] = FOOTBALLGAME2 + ANIMBIT; + } + } + + return; + + case FULLSTADIUM: // Full stadium + + stadiumPop++; + + if (((cityTime + pos.posX + pos.posY) & 7) == 0) { + // Stop the match + drawStadium(pos, STADIUM); + } + + return; + + case AIRPORT: + + airportPop++; + + if ((cityTime & 7) == 0) { + repairZone(pos, AIRPORT, 6); + } + + // If powered, display a rotating radar + if (powerOn) { + if ((map[pos.posX + 1][pos.posY - 1] & LOMASK) == RADAR) { + map[pos.posX + 1][pos.posY - 1] = RADAR0 + ANIMBIT + CONDBIT + BURNBIT; + } + } else { + map[pos.posX + 1][pos.posY - 1] = RADAR + CONDBIT + BURNBIT; + } + + if (powerOn) { // Handle the airport only if there is power + doAirport(pos); + } + + return; + + case PORT: + + seaportPop++; + + if ((cityTime & 15) == 0) { + repairZone(pos, PORT, 4); + } + + // If port has power and there is no ship, generate one + if (powerOn && getSprite(SPRITE_SHIP) == NULL) { + generateShip(); + } + + return; + } +} + + +/** + * Draw a stadium (either full or empty). + * @param center Center tile position of the stadium. + * @param z Base tile value. + * + * @todo Merge with zonePlop()-like function. + */ +void Micropolis::drawStadium(const Position ¢er, MapTile z) +{ + int x, y; + + z = z - 5; + + for (y = center.posY - 1; y < center.posY + 3; y++) { + for (x = center.posX - 1; x < center.posX + 3; x++) { + map[x][y] = z | BNCNBIT; + z++; + } + } + + map[center.posX][center.posY] |= ZONEBIT | PWRBIT; +} + + +/** + * Generate a airplane or helicopter every now and then. + * @param pos Position of the airport to start from. + */ +void Micropolis::doAirport(const Position &pos) +{ + if (getRandom(5) == 0) { + generatePlane(pos); + return; + } + + if (getRandom(12) == 0) { + generateCopter(pos); + } +} + + +/** + * Draw coal smoke tiles around given position (of a coal power plant). + * @param pos Center tile of the coal power plant + */ +void Micropolis::coalSmoke(const Position &pos) +{ + static const short SmTb[4] = { + COALSMOKE1, COALSMOKE2, + COALSMOKE3, COALSMOKE4, + }; + static const short dx[4] = { 1, 2, 1, 2 }; + static const short dy[4] = { -1, -1, 0, 0 }; + + for (short x = 0; x < 4; x++) { + map[pos.posX + dx[x]][pos.posY + dy[x]] = + SmTb[x] | ANIMBIT | CONDBIT | PWRBIT | BURNBIT; + } +} + + +/** + * Perform a nuclear melt-down disaster + * @param pos Position of the nuclear power plant that melts. + */ +void Micropolis::doMeltdown(const Position &pos) +{ + makeExplosion(pos.posX - 1, pos.posY - 1); + makeExplosion(pos.posX - 1, pos.posY + 2); + makeExplosion(pos.posX + 2, pos.posY - 1); + makeExplosion(pos.posX + 2, pos.posY + 2); + + // Whole power plant is at fire + for (int x = pos.posX - 1; x < pos.posX + 3; x++) { + for (int y = pos.posY - 1; y < pos.posY + 3; y++) { + map[x][y] = randomFire(); + } + } + + // Add lots of radiation tiles around the plant + for (int z = 0; z < 200; z++) { + + int x = pos.posX - 20 + getRandom(40); + int y = pos.posY - 15 + getRandom(30); + + if (!testBounds(x, y)) { // Ignore off-map positions + continue; + } + + MapValue t = map[x][y]; + + if (t & ZONEBIT) { + continue; // Ignore zones + } + + if ((t & BURNBIT) || t == DIRT) { + map[x][y] = RADTILE; // Make tile radio-active + } + + } + + // Report disaster to the user + sendMessage(MESSAGE_NUCLEAR_MELTDOWN, pos.posX, pos.posY, true, true); +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/sprite.cpp b/core/sprite.cpp new file mode 100644 index 0000000..5cab2c8 --- /dev/null +++ b/core/sprite.cpp @@ -0,0 +1,2039 @@ +/* sprite.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file sprite.cpp + * @brief Manages sprite objects and their behavior in Micropolis. + * + * This file defines functions related to the creation, movement, + * interaction, and destruction of various sprites such as trains, + * helicopters, airplanes, ships, monsters, tornadoes, and explosions + * within the Micropolis game. It handles the logic for sprite + * behavior, including movement patterns, interactions with other + * sprites and the game map, and event-triggered actions like + * explosions and sound effects. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" +#include "text.h" + + +//////////////////////////////////////////////////////////////////////// + + +#define TRA_GROOVE_X -39 +#define TRA_GROOVE_Y 6 +#define BUS_GROOVE_X -39 +#define BUS_GROOVE_Y 6 + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Create and initialize a sprite. + * @param name Name of the sprite (always \c ""). + * @param type Type pf the sprite. @see SpriteType. + * @param x X coordinate of the sprite (in pixels). + * @param y Y coordinate of the sprite (in pixels). + * @return New sprite object. + */ +SimSprite *Micropolis::newSprite(const std::string &name, int type, int x, int y) +{ + SimSprite *sprite; + + // If a sprite is available at the pool, use one. + // else, allocate a new one. + if (freeSprites) { + sprite = freeSprites; + freeSprites = sprite->next; + } else { + sprite = (SimSprite *)newPtr(sizeof (SimSprite)); + } + + sprite->name = name; + sprite->type = type; + + initSprite(sprite, x, y); + + sprite->next = spriteList; + spriteList = sprite; + + return sprite; +} + + +/** Re-initialize an existing sprite. + * @param sprite Sprite to re-use. + * @param x New x coordinate of the sprite (in pixels?). + * @param y New y coordinate of the sprite (in pixels?). + * @todo Make derived classes for each type. + * @todo Move code to (derived) #SimSprite methods. + */ +void Micropolis::initSprite(SimSprite *sprite, int x, int y) +{ + sprite->x = x; + sprite->y = y; + sprite->frame = 0; + sprite->origX = 0; + sprite->origY = 0; + sprite->destX = 0; + sprite->destY = 0; + sprite->count = 0; + sprite->soundCount = 0; + sprite->dir = 0; + sprite->newDir = 0; + sprite->step = 0; + sprite->flag = 0; + sprite->control = -1; + sprite->turn = 0; + sprite->accel = 0; + sprite->speed = 100; + + if (globalSprites[sprite->type] == NULL) { + globalSprites[sprite->type] = sprite; + } + + switch (sprite->type) { + + case SPRITE_TRAIN: + sprite->width = 32; + sprite->height = 32; + sprite->xOffset = 32; + sprite->yOffset = -16; + sprite->xHot = 40; + sprite->yHot = -8; + sprite->frame = 1; + sprite->dir = 4; + break; + + case SPRITE_SHIP: + sprite->width = 48; + sprite->height = 48; + sprite->xOffset = 32; + sprite->yOffset = -16; + sprite->xHot = 48; + sprite->yHot = 0; + + if (x < (4 <<4)) { + sprite->frame = 3; + } else if (x >= ((WORLD_W - 4) <<4)) { + sprite->frame = 7; + } else if (y < (4 <<4)) { + sprite->frame = 5; + } else if (y >= ((WORLD_H - 4) <<4)) { + sprite->frame = 1; + } else { + sprite->frame = 3; + } + + sprite->newDir = sprite->frame; + sprite->dir = 10; + sprite->count = 1; + break; + + case SPRITE_MONSTER: + sprite->width = 48; + sprite->height = 48; + sprite->xOffset = 24; + sprite->yOffset = 0; + sprite->xHot = 40; + sprite->yHot = 16; + + if (x > ((WORLD_W <<4) / 2)) { + if (y > ((WORLD_H <<4) / 2)) { + sprite->frame = 10; + } else { + sprite->frame = 7; + } + } else if (y > ((WORLD_H <<4) / 2)) { + sprite->frame = 1; + } else { + sprite->frame = 4; + } + + sprite->count = 1000; + sprite->destX = pollutionMaxX <<4; + sprite->destY = pollutionMaxY <<4; + sprite->origX = sprite->x; + sprite->origY = sprite->y; + break; + + case SPRITE_HELICOPTER: + sprite->width = 32; + sprite->height = 32; + sprite->xOffset = 32; + sprite->yOffset = -16; + sprite->xHot = 40; + sprite->yHot = -8; + sprite->frame = 5; + sprite->count = 1500; + sprite->destX = getRandom((WORLD_W <<4) - 1); + sprite->destY = getRandom((WORLD_H <<4) - 1); + sprite->origX = x - 30; + sprite->origY = y; + break; + + case SPRITE_AIRPLANE: + sprite->width = 48; + sprite->height = 48; + sprite->xOffset = 24; + sprite->yOffset = 0; + sprite->xHot = 48; + sprite->yHot = 16; + if (x > ((WORLD_W - 20) <<4)) { + sprite->x -= 100 + 48; + sprite->destX = sprite->x - 200; + sprite->frame = 7; + } else { + sprite->destX = sprite->x + 200; + sprite->frame = 11; + } + sprite->destY = sprite->y; + break; + + case SPRITE_TORNADO: + sprite->width = 48; + sprite->height = 48; + sprite->xOffset = 24; + sprite->yOffset = 0; + sprite->xHot = 40; + sprite->yHot = 36; + sprite->frame = 1; + sprite->count = 200; + break; + + case SPRITE_EXPLOSION: + sprite->width = 48; + sprite->height = 48; + sprite->xOffset = 24; + sprite->yOffset = 0; + sprite->xHot = 40; + sprite->yHot = 16; + sprite->frame = 1; + break; + + case SPRITE_BUS: + sprite->width = 32; + sprite->height = 32; + sprite->xOffset = 30; + sprite->yOffset = -18; + sprite->xHot = 40; + sprite->yHot = -8; + sprite->frame = 1; + sprite->dir = 1; + break; + + } +} + + +/** + * Destroy all sprites by de-activating them all (setting their + * SimSprite::frame to 0). + */ +void Micropolis::destroyAllSprites() +{ + SimSprite *sprite; + + for (sprite = spriteList; sprite != NULL; sprite = sprite->next) { + sprite->frame = 0; + } +} + + +/** + * Destroy the sprite by taking it out of the active list. + * @param sprite Sprite to destroy. + * @todo Break the connection between any views that are following this sprite. + */ +void Micropolis::destroySprite(SimSprite *sprite) +{ + SimSprite **sp; + + if (globalSprites[sprite->type] == sprite) { + globalSprites[sprite->type] = (SimSprite *)NULL; + } + + for (sp = &spriteList; *sp != NULL; sp = &((*sp)->next)) { + if (sprite == (*sp)) { + *sp = sprite->next; + break; + } + } + + sprite->next = freeSprites; + freeSprites = sprite; +} + + +/** + * Return the sprite of the give type, if available. + * @param type Type of the sprite. + * @return Pointer to the active sprite if avaiable, else \c NULL. + */ +SimSprite *Micropolis::getSprite(int type) +{ + SimSprite *sprite = globalSprites[type]; + if (sprite == NULL || sprite->frame == 0) { + return (SimSprite *)NULL; + } else { + return sprite; + } +} + + +/** + * Make a sprite either by re-using the old one, or by making a new one. + * @param type Sprite type of the new sprite. + * @param x X coordinate of the new sprite. + * @param y Y coordinate of the new sprite. + */ +SimSprite *Micropolis::makeSprite(int type, int x, int y) +{ + SimSprite *sprite; + + sprite = globalSprites[type]; + if (sprite == NULL) { + sprite = newSprite("", type, x, y); + } else { + initSprite(sprite, x, y); + } + return sprite; +} + + +/** + * Get character from the map. + * @param x X coordinate in pixels. + * @param y Y coordinate in pixels. + * @return Map character if on-map, or \c -1 if off-map. + */ +short Micropolis::getChar(int x, int y) +{ + // Convert sprite coordinates to tile coordinates. + x >>= 4; + y >>= 4; + + if (!testBounds(x, y)) { + return -1; + } else { + return map[x][y] & LOMASK; + } +} + + +/** + * Turn. + * @param p Present direction (1..8). + * @param d Destination direction (1..8). + * @return New direction. + * @todo Remove local magic constants and document the code. + */ +short Micropolis::turnTo(int p, int d) +{ + if (p == d) { + return p; + } + + if (p < d) { + if (d - p < 4) { + p++; + } else { + p--; + } + } else { + if (p - d < 4) { + p--; + } else { + p++; + } + } + + if (p > 8) { + p = 1; + } + + if (p < 1) { + p = 8; + } + + return p; +} + +/** ??? + * @todo Figure out what this function is doing. + * @todo Remove local magic constants and document the code. + */ +bool Micropolis::tryOther(int Tpoo, int Told, int Tnew) +{ + short z; + + z = Told + 4; + + if (z > 8) { + z -= 8; + } + + if (Tnew != z) { + return false; + } + + if (Tpoo == POWERBASE || Tpoo == POWERBASE + 1 + || Tpoo == RAILBASE || Tpoo == RAILBASE + 1) { + return true; + } + + return false; +} + + +/** + * Check whether a sprite is still entirely on-map. + * @param sprite Sprite to check. + * @return Sprite is at least partly off-map. + */ +bool Micropolis::spriteNotInBounds(SimSprite *sprite) +{ + int x = sprite->x + sprite->xHot; + int y = sprite->y + sprite->yHot; + + return x < 0 || y < 0 || x >= (WORLD_W <<4) || y >= (WORLD_H <<4); +} + +/** + * Get direction (0..8?) to get from starting point to destination point. + * @param orgX X coordinate starting point. + * @param orgY Y coordinate starting point. + * @param desX X coordinate destination point. + * @param desY Y coordinate destination point. + * @return Direction to go in. + * @todo Remove local magic constants and document the code. + * @bug Has a condition that never holds. + */ +short Micropolis::getDir(int orgX, int orgY, int desX, int desY) +{ + static const short Gdtab[13] = { 0, 3, 2, 1, 3, 4, 5, 7, 6, 5, 7, 8, 1 }; + int dispX, dispY, z; + + dispX = desX - orgX; + dispY = desY - orgY; + + if (dispX < 0) { + if (dispY < 0) { + z = 11; + } else { + z = 8; + } + } else { + if (dispY < 0) { + z = 2; + } else { + z = 5; + } + } + + dispX = absoluteValue(dispX); + dispY = absoluteValue(dispY); + absDist = dispX + dispY; + + if (dispX * 2 < dispY) { + z++; + } else if (dispY * 2 < dispY) { // XXX This never holds!! + z--; + } + + if (z < 0 || z > 12) { + z = 0; + } + + return Gdtab[z]; +} + + +/** + * Compute Manhattan distance between two points. + * @param x1 X coordinate first point. + * @param y1 Y coordinate first point. + * @param x2 X coordinate second point. + * @param y2 Y coordinate second point. + * @return Manhattan distance between both points. + */ +int Micropolis::getDistance(int x1, int y1, int x2, int y2) +{ + return absoluteValue(x1 - x2) + absoluteValue(y1 - y2); +} + + +/** + * Check whether two sprites collide with each other. + * @param s1 First sprite. + * @param s2 Second sprite. + * @return Sprites are colliding. + */ +bool Micropolis::checkSpriteCollision(SimSprite *s1, SimSprite *s2) +{ + return s1->frame != 0 && s2->frame != 0 && + getDistance(s1->x + s1->xHot, s1->y + s1->yHot, + s2->x + s2->xHot, s2->y + s2->yHot) < 30; +} + + +/** + * Move all sprites. + * + * Sprites with SimSprite::frame == 0 are removed. + * @todo It uses SimSprite::name[0] == '\0' as condition which seems stupid. + * @todo Micropolis::destroySprite modifies the Micropolis::spriteList + * while we loop over it. + */ +void Micropolis::moveObjects() +{ + SimSprite *sprite; + + if (!simSpeed) { + return; + } + + spriteCycle++; + + for (sprite = spriteList; sprite != NULL;) { + if (sprite->frame > 0) { + switch (sprite->type) { + + case SPRITE_TRAIN: + doTrainSprite(sprite); + break; + + case SPRITE_HELICOPTER: + doCopterSprite(sprite); + break; + + case SPRITE_AIRPLANE: + doAirplaneSprite(sprite); + break; + + case SPRITE_SHIP: + doShipSprite(sprite); + break; + + case SPRITE_MONSTER: + doMonsterSprite(sprite); + break; + + case SPRITE_TORNADO: + doTornadoSprite(sprite); + break; + + case SPRITE_EXPLOSION: + doExplosionSprite(sprite); + break; + + case SPRITE_BUS: + doBusSprite(sprite); + break; + + } + + sprite = sprite->next; + + } else { + + if (sprite->name[0] == '\0') { + SimSprite *s = sprite; + sprite = sprite->next; + destroySprite(s); + } else { + sprite = sprite->next; + } + + } + } +} + + +/** + * Move train sprite. + * @param sprite Train sprite. + * @todo Remove local magic constants and document the code. + */ +void Micropolis::doTrainSprite(SimSprite *sprite) +{ + /* Offset in pixels of sprite x and y to map tile */ + static const short Cx[4] = { 0, 16, 0, -16 }; + static const short Cy[4] = { -16, 0, 16, 0 }; + /* X and Y movement of the sprite in pixels */ + static const short Dx[5] = { 0, 4, 0, -4, 0 }; + static const short Dy[5] = { -4, 0, 4, 0, 0 }; + + static const short TrainPic2[5] = { 1, 2, 1, 2, 5 }; + short z, dir, dir2; + short c; + + if (sprite->frame == 3 || sprite->frame == 4) { + sprite->frame = TrainPic2[sprite->dir]; + } + + sprite->x += Dx[sprite->dir]; + sprite->y += Dy[sprite->dir]; + + if ((spriteCycle & 3) == 0) { + + dir = getRandom16() & 3; + for (z = dir; z < dir + 4; z++) { + dir2 = z & 3; + + if (sprite->dir != 4) { + if (dir2 == ((sprite->dir + 2) & 3)) { + continue; + } + } + + c = getChar(sprite->x + Cx[dir2] + 48, sprite->y + Cy[dir2]); + + if ((c >= RAILBASE && c <= LASTRAIL) /* track? */ + || c == RAILVPOWERH || c == RAILHPOWERV) { + + if (sprite->dir != dir2 && sprite->dir != 4) { + + if (sprite->dir + dir2 == 3) { + sprite->frame = 3; + } else { + sprite->frame = 4; + } + + } else { + sprite->frame = TrainPic2[dir2]; + } + + if (c == HRAIL || c == VRAIL) { + sprite->frame = 5; + } + + sprite->dir = dir2; + return; + } + } + + if (sprite->dir == 4) { + sprite->frame = 0; + return; + } + + sprite->dir = 4; + } +} + +/** + * Move helicopter sprite. + * @param sprite Helicopter sprite. + * @todo Remove local magic constants and document the code. + */ +void Micropolis::doCopterSprite( + SimSprite *sprite) +{ + static const short CDx[9] = { 0, 0, 3, 5, 3, 0, -3, -5, -3 }; + static const short CDy[9] = { 0, -5, -3, 0, 3, 5, 3, 0, -3 }; + + if (sprite->soundCount > 0) { + sprite->soundCount--; + } + + if (sprite->control < 0) { + + if (sprite->count > 0) { + sprite->count--; + } + + if (sprite->count == 0) { + + /* Attract copter to monster so it blows up more often */ + SimSprite *s = getSprite(SPRITE_MONSTER); + + if (s != NULL) { + sprite->destX = s->x; + sprite->destY = s->y; + } else { + + /* Attract copter to tornado so it blows up more often */ + s = getSprite(SPRITE_TORNADO); + + if (s != NULL) { + sprite->destX = s->x; + sprite->destY = s->y; + } else { + sprite->destX = sprite->origX; + sprite->destY = sprite->origY; + } + + } + } + + if (sprite->count == 0) { /* land */ + getDir(sprite->x, sprite->y, sprite->origX, sprite->origY); + + if (absDist < 30) { + sprite->frame = 0; + return; + } + + } + + } else { + + getDir(sprite->x, sprite->y, sprite->destX, sprite->destY); + + if (absDist < 16) { + sprite->destX = sprite->origX; + sprite->destY = sprite->origY; + sprite->control = -1; + } + + } + + if (sprite->soundCount == 0) { /* send report */ + + // Convert sprite coordinates to world coordinates. + short x = (sprite->x + 48) / 16; + short y = sprite->y / 16; + + if (x >= 0 && x < WORLD_W && y >= 0 && y < WORLD_H) { + + /* Don changed from 160 to 170 to shut the #$%#$% thing up! */ + + int chopperX = x + 1; + int chopperY = y + 1; + if (trafficDensityMap.worldGet(x, y) > 170 && (getRandom16() & 7) == 0) { + sendMessage(MESSAGE_HEAVY_TRAFFIC, chopperX, chopperY, true); + makeSound("city", "HeavyTraffic", chopperX, chopperY); /* chopper */ + sprite->soundCount = 200; + } + + } + + } + + short z = sprite->frame; + + if ((spriteCycle & 3) == 0) { + short d = getDir(sprite->x, sprite->y, sprite->destX, sprite->destY); + z = turnTo(z, d); + sprite->frame = z; + } + + sprite->x += CDx[z]; + sprite->y += CDy[z]; +} + + +/** + * Move airplane sprite. + * @param sprite Airplane sprite. + * @todo Remove local magic constants and document the code. + * @todo absDist gets updated by Micropolis::getDir(), which is not always + * called before reading it (or worse, we just turned towards the old + * destination). + */ +void Micropolis::doAirplaneSprite( + SimSprite *sprite) +{ + static const short CDx[12] = { 0, 0, 6, 8, 6, 0, -6, -8, -6, 8, 8, 8 }; + static const short CDy[12] = { 0, -8, -6, 0, 6, 8, 6, 0, -6, 0, 0, 0 }; + + short z = sprite->frame; + + if ((spriteCycle % 5) == 0) { + + if (z > 8) { /* TakeOff */ + z--; + if (z < 9) { + z = 3; + } + sprite->frame = z; + } else { /* goto destination */ + short d = getDir(sprite->x, sprite->y, sprite->destX, sprite->destY); + z = turnTo(z, d); + sprite->frame = z; + } + + } + + if (absDist < 50) { /* at destination */ + sprite->destX = getRandom((WORLD_W * 16) + 100) - 50; + sprite->destY = getRandom((WORLD_H * 16) + 100) - 50; + } + + /* deh added test for enableDisasters */ + if (enableDisasters) { + SimSprite *s; + bool explode = false; + + /* Check whether another sprite is near enough to collide with */ + for (s = spriteList; s != NULL; s = s->next) { + if (s->frame == 0 || s == sprite) { + /* Non-active sprite, or self: skip */ + continue; + } + + if ((s->type == SPRITE_HELICOPTER || s->type == SPRITE_AIRPLANE) + && checkSpriteCollision(sprite, s)) { + explodeSprite(s); + explode = true; + } + } + + if (explode) { + explodeSprite(sprite); + } + } + + sprite->x += CDx[z]; + sprite->y += CDy[z]; + + if (spriteNotInBounds(sprite)) { + sprite->frame = 0; + } +} + + +/** + * Move ship sprite. + * @param sprite Ship sprite. + * @todo Remove local magic constants and document the code. + */ +void Micropolis::doShipSprite(SimSprite *sprite) +{ + static const short BDx[9] = { 0, 0, 1, 1, 1, 0, -1, -1, -1 }; + static const short BDy[9] = { 0, -1, -1, 0, 1, 1, 1, 0, -1 }; + static const short BPx[9] = { 0, 0, 2, 2, 2, 0, -2, -2, -2 }; + static const short BPy[9] = { 0, -2, -2, 0, 2, 2, 2, 0, -2 }; + static const short BtClrTab[8] = { RIVER, CHANNEL, POWERBASE, POWERBASE + 1, + RAILBASE, RAILBASE + 1, BRWH, BRWV }; + short x, y, z, t = RIVER; + short tem, pem; + + if (sprite->soundCount > 0) { + sprite->soundCount--; + } + + if (!sprite->soundCount) { + + if ((getRandom16() & 3) == 1) { + + // Convert sprite coordinates to tile coordinates. + int shipX = sprite->x >>4; + int shipY = sprite->y >>4; + + if (scenario == SC_SAN_FRANCISCO && getRandom(10) < 5) { + makeSound("city", "FogHornLow", shipX, shipY); + } else { + makeSound("city", "HonkHonkLow", shipX, shipY); + } + + } + + sprite->soundCount = 200; + } + + if (sprite->count > 0) { + sprite->count--; + } + + if (sprite->count == 0) { + + sprite->count = 9; + + if (sprite->frame != sprite->newDir) { + sprite->frame = turnTo(sprite->frame, sprite->newDir); + return; + } + + tem = getRandom16() & 7; + + for (pem = tem; pem < (tem + 8); pem++) { + + z = (pem & 7) + 1; + + if (z == sprite->dir) { + continue; + } + + x = ((sprite->x + (48 - 1)) >>4) + BDx[z]; + y = (sprite->y >>4) + BDy[z]; + + if (testBounds(x, y)) { + + t = map[x][y] & LOMASK; + + if (t == CHANNEL || t == BRWH || t == BRWV + || tryOther(t, sprite->dir, z)) { + + sprite->newDir = z; + sprite->frame = turnTo(sprite->frame, sprite->newDir); + sprite->dir = z + 4; + + if (sprite->dir > 8) { + sprite->dir -= 8; + } + + break; + } + } + } + + if (pem == (tem + 8)) { + sprite->dir = 10; + sprite->newDir = (getRandom16() & 7) + 1; + } + + } else { + + z = sprite->frame; + + if (z == sprite->newDir) { + sprite->x += BPx[z]; + sprite->y += BPy[z]; + } + } + + if (spriteNotInBounds(sprite)) { + sprite->frame = 0; + return; + } + + for (z = 0; z < 8; z++) { + + if (t == BtClrTab[z]) { + break; + } + + if (z == 7) { + explodeSprite(sprite); + destroyMapTile(sprite->x + 48, sprite->y); + } + + } +} + + +/** + * Move monster sprite. + * + * There are 16 monster sprite frames: + * + * Frame 0: NorthEast Left Foot + * Frame 1: NorthEast Both Feet + * Frame 2: NorthEast Right Foot + * Frame 3: SouthEast Right Foot + * Frame 4: SouthEast Both Feet + * Frame 5: SouthEast Left Foot + * Frame 6: SouthWest Right Foot + * Frame 7: SouthWest Both Feet + * Frame 8: SouthWest Left Foot + * Frame 9: NorthWest Left Foot + * Frame 10: NorthWest Both Feet + * Frame 11: NorthWest Right Foot + * Frame 12: North Left Foot + * Frame 13: East Left Foot + * Frame 14: South Right Foot + * Frame 15: West Right Foot + * + * @param sprite Monster sprite. + * @todo Remove local magic constants and document the code. + */ +void Micropolis::doMonsterSprite(SimSprite *sprite) +{ + static const short Gx[5] = { 2, 2, -2, -2, 0 }; + static const short Gy[5] = { -2, 2, 2, -2, 0 }; + static const short ND1[4] = { 0, 1, 2, 3 }; + static const short ND2[4] = { 1, 2, 3, 0 }; + static const short nn1[4] = { 2, 5, 8, 11 }; + static const short nn2[4] = { 11, 2, 5, 8 }; + short d, z, c; + + if (sprite->soundCount > 0) { + sprite->soundCount--; + } + + if (sprite->control < 0) { + /* business as usual */ + + if (sprite->control == -2) { + + d = (sprite->frame - 1) / 3; + z = (sprite->frame - 1) % 3; + + if (z == 2) { + sprite->step = 0; + } + + if (z == 0) { + sprite->step = 1; + } + + if (sprite->step) { + z++; + } else { + z--; + } + + c = getDir(sprite->x, sprite->y, sprite->destX, sprite->destY); + + if (absDist < 18) { + + sprite->control = -1; + sprite->count = 1000; + sprite->flag = 1; + sprite->destX = sprite->origX; + sprite->destY = sprite->origY; + + } else { + + c = (c - 1) / 2; + + if ((c != d && getRandom(5) == 0) || getRandom(20) == 0) { + + int diff = (c - d) & 3; + + if (diff == 1 || diff == 3) { + d = c; + } else { + + if (getRandom16() & 1) { + d++; + } else { + d--; + } + + d &= 3; + } + } else { + + if (getRandom(20) == 0) { + + if (getRandom16() & 1) { + d++; + } else { + d--; + } + + d &= 3; + } + } + } + } else { + + d = (sprite->frame - 1) / 3; + + if (d < 4) { /* turn n s e w */ + + z = (sprite->frame - 1) % 3; + + if (z == 2) { + sprite->step = 0; + } + + if (z == 0) { + sprite->step = 1; + } + + if (sprite->step) { + z++; + } else { + z--; + } + + getDir(sprite->x, sprite->y, sprite->destX, sprite->destY); + + if (absDist < 60) { + + if (sprite->flag == 0) { + + sprite->flag = 1; + sprite->destX = sprite->origX; + sprite->destY = sprite->origY; + + } else { + + sprite->frame = 0; + return; + + } + + } + + c = getDir(sprite->x, sprite->y, sprite->destX, sprite->destY); + c = (c - 1) / 2; + + if ((c != d) && (!getRandom(10))) { + + if (getRandom16() & 1) { + z = ND1[d]; + } else { + z = ND2[d]; + } + + d = 4; + + if (!sprite->soundCount) { + // Convert sprite coordinates to tile coordinates. + int monsterX = sprite->x >>4; + int monsterY = sprite->y >>4; + makeSound("city", "Monster", monsterX, monsterY); /* monster */ + sprite->soundCount = 50 + getRandom(100); + } + + } + + } else { + + d = 4; + c = sprite->frame; + z = (c - 13) & 3; + + if (!(getRandom16() & 3)) { + + if (getRandom16() & 1) { + z = nn1[z]; + } else { + z = nn2[z]; + } + + d = (z - 1) / 3; + z = (z - 1) % 3; + + } + + } + + } + + } else { + + /* somebody's taken control of the monster */ + + d = sprite->control; + z = (sprite->frame - 1) % 3; + + if (z == 2) { + sprite->step = 0; + } + + if (z == 0) { + sprite->step = 1; + } + + if (sprite->step) { + z++; + } else { + z--; + } + + } + + z = d * 3 + z + 1; + + if (z > 16) { + z = 16; + } + + sprite->frame = z; + + sprite->x += Gx[d]; + sprite->y += Gy[d]; + + if (sprite->count > 0) { + sprite->count--; + } + + c = getChar(sprite->x + sprite->xHot, sprite->y + sprite->yHot); + + if (c == -1 + || (c == RIVER && sprite->count != 0 && sprite->control == -1)) { + sprite->frame = 0; /* kill scary monster */ + } + + { + SimSprite *s; + for (s = spriteList; s != NULL; s = s->next) { + if (s->frame != 0 && + (s->type == SPRITE_AIRPLANE || s->type == SPRITE_HELICOPTER + || s->type == SPRITE_SHIP || s->type == SPRITE_TRAIN) && + checkSpriteCollision(sprite, s)) { + explodeSprite(s); + } + } + } + + destroyMapTile(sprite->x + 48, sprite->y + 16); +} + +/** + * Move tornado. + * @param sprite Tornado sprite to move. + * @todo Remove local magic constants and document the code. + */ +void Micropolis::doTornadoSprite(SimSprite *sprite) +{ + static const short CDx[9] = { 2, 3, 2, 0, -2, -3 }; + static const short CDy[9] = { -2, 0, 2, 3, 2, 0 }; + short z; + + z = sprite->frame; + + if (z == 2) { + + /* cycle animation... post Rel */ + + if (sprite->flag) { + z = 3; + } else { + z = 1; + } + + } else { + + if (z == 1) { + sprite->flag = 1; + } else { + sprite->flag = 0; + } + + z = 2; + } + + if (sprite->count > 0) { + sprite->count--; + } + + sprite->frame = z; + + { + SimSprite *s; + for (s = spriteList; s != NULL; s = s->next) { + if (s->frame != 0 && + (s->type == SPRITE_AIRPLANE || s->type == SPRITE_HELICOPTER + || s->type == SPRITE_SHIP || s->type == SPRITE_TRAIN) && + checkSpriteCollision(sprite, s)) { + explodeSprite(s); + } + } + } + + z = getRandom(5); + sprite->x += CDx[z]; + sprite->y += CDy[z]; + + if (spriteNotInBounds(sprite)) { + sprite->frame = 0; + } + + if (sprite->count != 0 && getRandom(500) == 0) { + sprite->frame = 0; + } + + destroyMapTile(sprite->x + 48, sprite->y + 40); +} + + +/** + * 'Move' fire sprite. + * @param sprite Fire sprite. + */ +void Micropolis::doExplosionSprite(SimSprite *sprite) +{ + short x, y; + + if ((spriteCycle & 1) == 0) { + + if (sprite->frame == 1) { + // Convert sprite coordinates to tile coordinates. + int explosionX = sprite->x >>4; + int explosionY = sprite->y >>4; + makeSound("city", "ExplosionHigh", explosionX, explosionY); /* explosion */ + x = (sprite->x >>4) + 3; + y = (sprite->y >>4); + sendMessage(MESSAGE_EXPLOSION_REPORTED, x, y); + } + + sprite->frame++; + } + + if (sprite->frame > 6) { + sprite->frame = 0; + + startFire(sprite->x + 48 - 8, sprite->y + 16); + startFire(sprite->x + 48 - 24, sprite->y); + startFire(sprite->x + 48 + 8, sprite->y); + startFire(sprite->x + 48 - 24, sprite->y + 32); + startFire(sprite->x + 48 + 8, sprite->y + 32); + } +} + + +/** + * Move bus sprite. + * @param sprite Bus sprite. + * @todo Remove local magic constants and document the code. + */ +void Micropolis::doBusSprite(SimSprite *sprite) +{ + static const short Dx[5] = { 0, 1, 0, -1, 0 }; + static const short Dy[5] = { -1, 0, 1, 0, 0 }; + static const short Dir2Frame[4] = { 1, 2, 1, 2 }; + int dx, dy, tx, ty, otx, oty; + int turned = 0; + int speed = 0; + int z; + +#ifdef DEBUGBUS + printf("Bus dir %d turn %d frame %d\n", + sprite->dir, sprite->turn, sprite->frame); +#endif + + if (sprite->turn) { + + if (sprite->turn < 0) { /* ccw */ + + if (sprite->dir & 1) { /* up or down */ + sprite->frame = 4; + } else { /* left or right */ + sprite->frame = 3; + } + + sprite->turn++; + sprite->dir = (sprite->dir - 1) & 3; + + } else { /* cw */ + + if (sprite->dir & 1) { /* up or down */ + sprite->frame = 3; + } else { /* left or right */ + sprite->frame = 4; + } + + sprite->turn--; + sprite->dir = (sprite->dir + 1) & 3; + + } + + turned = 1; + + } else { + + /* finish turn */ + if ((sprite->frame == 3) || + (sprite->frame == 4)) { + turned = 1; + sprite->frame = Dir2Frame[sprite->dir]; + } + } + + if (sprite->speed == 0) { + + /* brake */ + dx = 0; dy = 0; + + } else { /* cruise at traffic speed */ + + tx = (sprite->x + sprite->xHot) >>5; + ty = (sprite->y + sprite->yHot) >>5; + + if (tx >= 0 && tx < WORLD_W_2 && ty >= 0 && ty < WORLD_H_2) { + + z = trafficDensityMap.worldGet(tx << 1, ty << 1) >>6; + + if (z > 1) { + z--; + } + + } else { + + z = 0; + + } + + switch (z) { + + case 0: + speed = 8; + break; + + case 1: + speed = 4; + break; + + case 2: + speed = 1; + break; + + } + + /* govern speed */ + if (speed > sprite->speed) { + speed = sprite->speed; + } + + if (turned) { + +#ifdef DEBUGBUS + printf("turned\n"); +#endif + + if (speed > 1) { + speed = 1; + } + + dx = Dx[sprite->dir] * speed; + dy = Dy[sprite->dir] * speed; + + } else { + + dx = Dx[sprite->dir] * speed; + dy = Dy[sprite->dir] * speed; + + tx = (sprite->x + sprite->xHot) >>4; + ty = (sprite->y + sprite->yHot) >>4; + + /* drift into the right lane */ + switch (sprite->dir) { + + case 0: /* up */ + + z = ((tx <<4) + 4) - (sprite->x + sprite->xHot); + + if (z < 0) { + dx = -1; + } else if (z > 0) { + dx = 1; + } + +#ifdef DEBUGBUS + printf("moving up x %x z %d dx %d\n", sprite->x + sprite->xHot, z, dx); +#endif + + break; + + case 1: /* right */ + + z = ((ty <<4) + 4) - (sprite->y + sprite->yHot); + + if (z < 0) { + dy = -1; + } else if (z > 0) { + dy = 1; + } + +#ifdef DEBUGBUS + printf("moving right y %x z %d dy %d\n", sprite->y + sprite->yHot, z, dy); +#endif + + break; + + case 2: /* down */ + + z = (tx <<4) - (sprite->x + sprite->xHot); + + if (z < 0) { + dx = -1; + } else if (z > 0) { + dx = 1; + } + +#ifdef DEBUGBUS + printf("moving down x %x z %d dx %d\n", sprite->x + sprite->xHot, z, dx); +#endif + + break; + + case 3: /* left */ + + z = (ty <<4) - (sprite->y + sprite->yHot); + + if (z < 0) { + dy = -1; + } else if (z > 0) { + dy = 1; + } + +#ifdef DEBUGBUS + printf("moving left y %x z %d dy %d\n", sprite->y + sprite->yHot, z, dy); +#endif + + break; + } + } + } + +#ifdef DEBUGBUS + printf("speed dx %d dy %d\n", dx, dy); +#endif + +#define AHEAD 8 + + otx = (sprite->x + sprite->xHot + (Dx[sprite->dir] * AHEAD)) >>4; + oty = (sprite->y + sprite->yHot + (Dy[sprite->dir] * AHEAD)) >>4; + + otx = clamp(otx, 0, WORLD_W - 1); + oty = clamp(oty, 0, WORLD_H - 1); + + tx = (sprite->x + sprite->xHot + dx + (Dx[sprite->dir] * AHEAD)) >>4; + ty = (sprite->y + sprite->yHot + dy + (Dy[sprite->dir] * AHEAD)) >>4; + + tx = clamp(tx, 0, WORLD_W - 1); + ty = clamp(ty, 0, WORLD_H - 1); + + if (tx != otx || ty != oty) { + +#ifdef DEBUGBUS + printf("drive from tile %d %d to %d %d\n", + otx, oty, tx, ty); +#endif + + z = canDriveOn(tx, ty); + + if (z == 0) { + + /* can't drive forward into a new tile */ + if (speed == 8) { + bulldozerTool(tx, ty); + } else { + } + + } else { + + /* drive forward into a new tile */ + if (z > 0) { + /* smooth */ + } else { + /* bumpy */ + dx /= 2; + dy /= 2; + } + + } + } + + tx = (sprite->x + sprite->xHot + dx) >>4; + ty = (sprite->y + sprite->yHot + dy) >>4; + + z = canDriveOn(tx, ty); + + if (z > 0) { + /* cool, cruise along */ + } else { + if (z < 0) { + /* bumpy */ + } else { + /* something in the way */ + } + } + + sprite->x += dx; + sprite->y += dy; + + if (enableDisasters) { + SimSprite *s; + int explode = 0; + + for (s = spriteList; s != NULL; s = s->next) { + if (sprite != s && s->frame != 0 + && (s->type == SPRITE_BUS + || (s->type == SPRITE_TRAIN && s->frame != 5)) + && checkSpriteCollision(sprite, s)) { + explodeSprite(s); + explode = 1; + } + } + + if (explode) { + explodeSprite(sprite); + } + + } +} + + +/** + * Can one drive at the specified tile? + * @param x X coordinate at map. + * @param y Y coordinate at map. + * @return 0 if not, 1 if you can, -1 otherwise + */ +int Micropolis::canDriveOn(int x, int y) +{ + int tile; + + if (!testBounds(x, y)) { + return 0; + } + + tile = map[x][y] & LOMASK; + + if ((tile >= ROADBASE && tile <= LASTROAD && tile != BRWH && tile != BRWV) + || tile == HRAILROAD || tile == VRAILROAD) { + return 1; + } + + if (tile == DIRT || tally(tile)) { + return -1; + } + + return 0; +} + + +/** + * Handle explosion of sprite (mostly due to collision?). + * @param sprite that should explode. + * @todo Add a 'bus crashed' message to #MessageNumber. + */ +void Micropolis::explodeSprite(SimSprite *sprite) +{ + int x, y; + + sprite->frame = 0; + + x = sprite->x + sprite->xHot; + y = sprite->y + sprite->yHot; + makeExplosionAt(x, y); + + x = (x >>4); + y = (y >>4); + + switch (sprite->type) { + + case SPRITE_AIRPLANE: + sendMessage(MESSAGE_PLANE_CRASHED, x, y, true); + break; + + case SPRITE_SHIP: + sendMessage(MESSAGE_SHIP_CRASHED, x, y, true); + break; + + case SPRITE_TRAIN: + sendMessage(MESSAGE_TRAIN_CRASHED, x, y, true); + break; + + case SPRITE_HELICOPTER: + sendMessage(MESSAGE_HELICOPTER_CRASHED, x, y, true); + break; + + case SPRITE_BUS: + sendMessage(MESSAGE_TRAIN_CRASHED, x, y, true); /* XXX for now */ + break; + + } + + // Convert sprite coordinates to tile coordinates. + makeSound("city", "ExplosionHigh", x, y); /* explosion */ + + return; +} + + +bool Micropolis::checkWet(int x) +{ + if (x == HPOWER || x == VPOWER || x == HRAIL || x == VRAIL + || x == BRWH || x == BRWV) { + return true; + } else { + return false; + } +} + + +/** + * Destroy a map tile. + * @param ox X coordinate in pixels. + * @param oy Y coordinate in pixels. + */ +void Micropolis::destroyMapTile(int ox, int oy) +{ + short t, z, x, y; + + x = ox >>4; + y = oy >>4; + + if (!testBounds(x, y)) { + return; + } + + z = map[x][y]; + t = z & LOMASK; + + if (t >= TREEBASE) { + if (!(z & BURNBIT)) { + + if (t >= ROADBASE && t <= LASTROAD) { + map[x][y] = RIVER; + } + + return; + } + + if (z & ZONEBIT) { + + startFireInZone(x, y, z); + + if (t > RZB) { + makeExplosionAt(ox, oy); + } + + } + + if (checkWet(t)) { + map[x][y] = RIVER; + } else { + map[x][y] = (doAnimation ? TINYEXP : (LASTTINYEXP - 3)) + | BULLBIT | ANIMBIT; + } + } +} + + +/** + * Start a fire in a zone. + * @param Xloc X coordinate in map coordinate. + * @param Yloc Y coordinate in map coordinate. + * @param ch Map character at (\a Xloc, \a Yloc). + */ +void Micropolis::startFireInZone(int Xloc, int Yloc, int ch) +{ + short Xtem, Ytem; + short x, y, XYmax; + + int value = rateOfGrowthMap.worldGet(Xloc, Yloc); + value = clamp(value - 20, -200, 200); + rateOfGrowthMap.worldSet(Xloc, Yloc, value); + + ch &= LOMASK; + + if (ch < PORTBASE) { + XYmax = 2; + } else { + if (ch == AIRPORT) { + XYmax = 5; + } else { + XYmax = 4; + } + } + + for (x = -1; x < XYmax; x++) { + for (y = -1; y < XYmax; y++) { + + Xtem = Xloc + x; + Ytem = Yloc + y; + + if (testBounds(Xtem, Ytem) && (map[Xtem][Ytem] & LOMASK) >= ROADBASE) { + map[Xtem][Ytem] |= BULLBIT; + } + + } + } +} + + +/** + * Start a fire at a single tile. + * @param x X coordinate in map coordinate. + * @param y Y coordinate in map coordinate. + */ +void Micropolis::startFire(int x, int y) +{ + int t, z; + + x >>= 4; + y >>= 4; + + if (!testBounds(x, y)) { + return; + } + + z = map[x][y]; + t = z & LOMASK; + + if (!(z & BURNBIT) && t != DIRT) { + return; + } + + if (z & ZONEBIT) { + return; + } + + map[x][y] = randomFire(); +} + + +/** + * Try to start a new train sprite at the given map tile. + * @param x X coordinate in map coordinate. + * @param y Y coordinate in map coordinate. + */ +void Micropolis::generateTrain(int x, int y) +{ + if (totalPop > 20 && getSprite(SPRITE_TRAIN) == NULL && getRandom(25) == 0) { + makeSprite(SPRITE_TRAIN, (x <<4) + TRA_GROOVE_X, (y <<4) + TRA_GROOVE_Y); + } +} + + +/** + * Try to start a new bus sprite at the given map tile. + * @param x X coordinate in map coordinate. + * @param y Y coordinate in map coordinate. + */ +void Micropolis::generateBus(int x, int y) +{ + if (getSprite(SPRITE_BUS) == NULL && getRandom(25) == 0) { + makeSprite(SPRITE_BUS, (x <<4) + BUS_GROOVE_X, (y <<4) + BUS_GROOVE_Y); + } +} + + +/** Try to construct a new ship sprite */ +void Micropolis::generateShip() +{ + short x, y; + + if (!(getRandom16() & 3)) { + for (x = 4; x < WORLD_W - 2; x++) { + if (map[x][0] == CHANNEL) { + makeShipHere(x, 0); + return; + } + } + } + + if (!(getRandom16() & 3)) { + for (y = 1; y < WORLD_H - 2; y++) { + if (map[0][y] == CHANNEL) { + makeShipHere(0, y); + return; + } + } + } + + if (!(getRandom16() & 3)) { + for (x = 4; x < WORLD_W - 2; x++) { + if (map[x][WORLD_H - 1] == CHANNEL) { + makeShipHere(x, WORLD_H - 1); + return; + } + } + } + + if (!(getRandom16() & 3)) { + for (y = 1; y < WORLD_H - 2; y++) { + if (map[WORLD_W - 1][y] == CHANNEL) { + makeShipHere(WORLD_W - 1, y); + return; + } + } + } +} + + +/** + * Start a new ship sprite at the given map tile. + * @param x X coordinate in map coordinate. + * @param y Y coordinate in map coordinate. + */ +void Micropolis::makeShipHere(int x, int y) +{ + makeSprite(SPRITE_SHIP, (x <<4) - (48 - 1), (y <<4)); +} + + +/** + * Start a new monster sprite. + * @todo Make monster over land, because it disappears if it's made over water. + * Better yet make monster not disappear for a while after it's created, + * over land or water. Should never disappear prematurely. + */ +void Micropolis::makeMonster() +{ + int x, y, z, done = 0; + SimSprite *sprite; + + sprite = getSprite(SPRITE_MONSTER); + if (sprite != NULL) { + sprite->soundCount = 1; + sprite->count = 1000; + sprite->destX = pollutionMaxX <<4; + sprite->destY = pollutionMaxY <<4; + return; + } + + for (z = 0; z < 300; z++) { + + x = getRandom(WORLD_W - 20) + 10; + y = getRandom(WORLD_H - 10) + 5; + + if (map[x][y] == RIVER || map[x][y] == RIVER + BULLBIT) { + makeMonsterAt(x, y); + done = 1; + break; + } + + } + + if (!done) { + makeMonsterAt(60, 50); + } + +} + + +/** + * Start a new monster sprite at the given map tile. + * @param x X coordinate in map coordinate. + * @param y Y coordinate in map coordinate. + */ +void Micropolis::makeMonsterAt(int x, int y) +{ + makeSprite(SPRITE_MONSTER, (x << 4) + 48, (y << 4)); + sendMessage(MESSAGE_MONSTER_SIGHTED, x + 5, y, true, true); +} + + +/** + * Ensure a helicopter sprite exists. + * + * If it does not exist, create one at the given coordinates. + * @param pos Start position in map coordinates. + */ +void Micropolis::generateCopter(const Position &pos) +{ + if (getSprite(SPRITE_HELICOPTER) != NULL) { + return; + } + + makeSprite(SPRITE_HELICOPTER, (pos.posX << 4), (pos.posY << 4) + 30); +} + + +/** + * Ensure an airplane sprite exists. + * + * If it does not exist, create one at the given coordinates. + * @param pos Start position in map coordinates. + */ +void Micropolis::generatePlane(const Position &pos) +{ + if (getSprite(SPRITE_AIRPLANE) != NULL) { + return; + } + + makeSprite(SPRITE_AIRPLANE, (pos.posX <<4) + 48, (pos.posY <<4) + 12); +} + + +/** Ensure a tornado sprite exists. */ +void Micropolis::makeTornado() +{ + short x, y; + SimSprite *sprite; + + sprite = getSprite(SPRITE_TORNADO); + if (sprite != NULL) { + sprite->count = 200; + return; + } + + x = getRandom((WORLD_W <<4) - 800) + 400; + y = getRandom((WORLD_H <<4) - 200) + 100; + + makeSprite(SPRITE_TORNADO, x, y); + sendMessage(MESSAGE_TORNADO_SIGHTED, (x >>4) + 3, (y >>4) + 2, true, true); +} + + +/** + * Construct an explosion sprite. + * @param x X coordinate of the explosion (in map coordinates). + * @param y Y coordinate of the explosion (in map coordinates). + */ +void Micropolis::makeExplosion(int x, int y) +{ + if (testBounds(x, y)) { + makeExplosionAt((x << 4) + 8, (y << 4) + 8); + } +} + + +/** + * Construct an explosion sprite. + * @param x X coordinate of the explosion (in pixels). + * @param y Y coordinate of the explosion (in pixels). + */ +void Micropolis::makeExplosionAt( int x, int y) +{ + newSprite("", SPRITE_EXPLOSION, x - 40, y - 16); +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/text.h b/core/text.h new file mode 100644 index 0000000..2019577 --- /dev/null +++ b/core/text.h @@ -0,0 +1,178 @@ +/* text.h + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file text.h + * @brief Defines string identification numbers for texts used in the + * Micropolis game engine. + * + * This file provides enumerations for identifying various strings and + * messages used within the game. It includes definitions for scoring + * metrics, in-game messages, and notifications. These identifications + * facilitate the retrieval and display of context-specific text, + * contributing to the user interface and game interactions. + */ + + +#ifndef _H_TEXT +#define _H_TEXT + + +//////////////////////////////////////////////////////////////////////// + + +/** String numbers of score card. */ +enum Stri202 { + STR202_POPULATIONDENSITY_LOW = 0, ///< Low + STR202_POPULATIONDENSITY_MEDIUM = 1, ///< Medium + STR202_POPULATIONDENSITY_HIGH = 2, ///< High + STR202_POPULATIONDENSITY_VERYHIGH = 3, ///< Very High + + STR202_LANDVALUE_SLUM = 4, ///< Slum + STR202_LANDVALUE_LOWER_CLASS = 5, ///< Lower Class + STR202_LANDVALUE_MIDDLE_CLASS = 6, ///< Middle Class + STR202_LANDVALUE_HIGH_CLASS = 7, ///< High + + STR202_CRIME_NONE = 8, ///< Safe + STR202_CRIME_LIGHT = 9, ///< Light + STR202_CRIME_MODERATE = 10, ///< Moderate + STR202_CRIME_DANGEROUS = 11, ///< Dangerous + + STR202_POLLUTION_NONE = 12, ///< None + STR202_POLLUTION_MODERATE = 13, ///< Moderate + STR202_POLLUTION_HEAVY = 14, ///< Heavy + STR202_POLLUTION_VERY_HEAVY = 15, ///< Very Heavy + + STR202_GROWRATE_DECLINING = 16, ///< Declining + STR202_GROWRATE_STABLE = 17, ///< Stable + STR202_GROWRATE_SLOWGROWTH = 18, ///< Slow Growth + STR202_GROWRATE_FASTGROWTH = 19, ///< Fast Growth +}; + +/** String numbers of messages. */ +enum MessageNumber { + MESSAGE_NEED_MORE_RESIDENTIAL = 1, ///< More residential zones needed. + MESSAGE_NEED_MORE_COMMERCIAL, ///< More commercial zones needed. + MESSAGE_NEED_MORE_INDUSTRIAL, ///< More industrial zones needed. + MESSAGE_NEED_MORE_ROADS, ///< More roads required. + MESSAGE_NEED_MORE_RAILS, ///< 5: Inadequate rail system. + MESSAGE_NEED_ELECTRICITY, ///< Build a Power Plant. + MESSAGE_NEED_STADIUM, ///< Residents demand a Stadium. + MESSAGE_NEED_SEAPORT, ///< Industry requires a Sea Port. + MESSAGE_NEED_AIRPORT, ///< Commerce requires an Airport. + MESSAGE_HIGH_POLLUTION, ///< 10: Pollution very high. + MESSAGE_HIGH_CRIME, ///< Crime very high. + MESSAGE_TRAFFIC_JAMS, ///< Frequent traffic jams reported. + MESSAGE_NEED_FIRE_STATION, ///< Citizens demand a Fire Department. + MESSAGE_NEED_POLICE_STATION, ///< Citizens demand a Police Department. + MESSAGE_BLACKOUTS_REPORTED, ///< 15: Blackouts reported. Check power map. + MESSAGE_TAX_TOO_HIGH, ///< Citizens upset. The tax rate is too high. + MESSAGE_ROAD_NEEDS_FUNDING, ///< Roads deteriorating, due to lack of funds. + MESSAGE_FIRE_STATION_NEEDS_FUNDING, ///< Fire departments need funding. + MESSAGE_POLICE_NEEDS_FUNDING, ///< Police departments need funding. + MESSAGE_FIRE_REPORTED, ///< 20: Fire reported ! + MESSAGE_MONSTER_SIGHTED, ///< A Monster has been sighted !! + MESSAGE_TORNADO_SIGHTED, ///< Tornado reported !! + MESSAGE_EARTHQUAKE, ///< Major earthquake reported !!! + MESSAGE_PLANE_CRASHED, ///< A plane has crashed ! + MESSAGE_SHIP_CRASHED, ///< 25: Shipwreck reported ! + MESSAGE_TRAIN_CRASHED, ///< A train crashed ! + MESSAGE_HELICOPTER_CRASHED, ///< A helicopter crashed ! + MESSAGE_HIGH_UNEMPLOYMENT, ///< Unemployment rate is high. + MESSAGE_NO_MONEY, ///< YOUR CITY HAS GONE BROKE! + MESSAGE_FIREBOMBING, ///< 30: Firebombing reported ! + MESSAGE_NEED_MORE_PARKS, ///< Need more parks. + MESSAGE_EXPLOSION_REPORTED, ///< Explosion detected ! + MESSAGE_NOT_ENOUGH_FUNDS, ///< Insufficient funds to build that. + MESSAGE_BULLDOZE_AREA_FIRST, ///< Area must be bulldozed first. + MESSAGE_REACHED_TOWN, ///< 35: Population has reached 2,000. + MESSAGE_REACHED_CITY, ///< Population has reached 10,000. + MESSAGE_REACHED_CAPITAL, ///< Population has reached 50,000. + MESSAGE_REACHED_METROPOLIS, ///< Population has reached 100,000. + MESSAGE_REACHED_MEGALOPOLIS, ///< Population has reached 500,000. + MESSAGE_NOT_ENOUGH_POWER, ///< 40: Brownouts, build another Power Plant. + MESSAGE_HEAVY_TRAFFIC, ///< Heavy Traffic reported. + MESSAGE_FLOODING_REPORTED, ///< Flooding reported !! + MESSAGE_NUCLEAR_MELTDOWN, ///< A Nuclear Meltdown has occurred !!! + MESSAGE_RIOTS_REPORTED, ///< They're rioting in the streets !! + MESSAGE_STARTED_NEW_CITY, ///< 45: Started a New City. + MESSAGE_LOADED_SAVED_CITY, ///< Restored a Saved City. + MESSAGE_SCENARIO_WON, ///< You won the scenario + MESSAGE_SCENARIO_LOST, ///< You lose the scenario + MESSAGE_ABOUT_MICROPOLIS, ///< About micropolis. + MESSAGE_SCENARIO_DULLSVILLE, ///< 50: Dullsville scenario. + MESSAGE_SCENARIO_SAN_FRANCISCO, ///< San Francisco scenario. + MESSAGE_SCENARIO_HAMBURG, ///< Hamburg scenario. + MESSAGE_SCENARIO_BERN, ///< Bern scenario. + MESSAGE_SCENARIO_TOKYO, ///< Tokyo scenario. + MESSAGE_SCENARIO_DETROIT, ///< 55: Detroit scenario. + MESSAGE_SCENARIO_BOSTON, ///< Boston scenario. + MESSAGE_SCENARIO_RIO_DE_JANEIRO, ///< 57: Rio de Janeiro scenario. + + MESSAGE_LAST = 57, ///< Last valid message +}; + + +//////////////////////////////////////////////////////////////////////// + + +#endif diff --git a/core/tool.cpp b/core/tool.cpp new file mode 100644 index 0000000..d79ee1c --- /dev/null +++ b/core/tool.cpp @@ -0,0 +1,1617 @@ +/* tool.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file tool.cpp + * @brief Implements tool actions and effects for Micropolis game. + * + * This file defines the behavior and effects of various tools (like + * bulldozer, road construction, zone creation) used in Micropolis. It + * includes functions for handling tool actions, applying their + * effects to the game world, and managing the cost and consequences + * of these actions. The file also contains logic for specific tools + * such as query, wire, park, land alteration, and various zone + * constructions (residential, commercial, industrial, etc.). + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + +/** Constructor. */ +ToolEffects::ToolEffects(Micropolis *mpolis) +{ + this->sim = mpolis; + + this->clear(); +} + +ToolEffects::~ToolEffects() +{ + /* free all frontend messages */ + while(!this->frontendMessages.empty()) { + delete this->frontendMessages.back(); + this->frontendMessages.pop_back(); + } +} + +/** Reset all effects. */ +void ToolEffects::clear() +{ + this->cost = 0; + this->modifications.clear(); + + /* free all frontend messages */ + while(!this->frontendMessages.empty()) { + delete this->frontendMessages.back(); + this->frontendMessages.pop_back(); + } +} + +/** + * Perform the effects stored in the object to the simulator world. + * @param sim Simulator object to modify. + * @post Effects have been copied to the simulator world, and the #ToolEffects + * object is ready for the next use. + */ +void ToolEffects::modifyWorld() +{ + WorldModificationsMap::const_iterator modIter; + FrontendMessages::const_iterator msgIter; + Micropolis *mpolis = this->sim; + + mpolis->spend(this->cost); // Spend the costs + mpolis->updateFunds(); + + /* Modify the world. */ + for (modIter = this->modifications.begin(); + modIter != this->modifications.end(); modIter++) { + Position pos(modIter->first); + mpolis->map[pos.posX][pos.posY] = modIter->second; + } + + /* And finally send the messages. */ + for (msgIter = this->frontendMessages.begin(); + msgIter != this->frontendMessages.end(); msgIter++) { + (*msgIter)->sendMessage(mpolis); + } + + this->clear(); +} + +/** + * If there are enough funds, apply the effects. + * @return The effects have been applied. + * @note If funding was not adequate, the object is not modified (that is, the + * effects are still available). + */ +bool ToolEffects::modifyIfEnoughFunding() +{ + if (this->sim->totalFunds < this->cost) { + return false; // Not enough money + } + + this->modifyWorld(); + return true; +} + +/** + * Get a map value from the world. + * Unlike the simulator world, this method takes modifications made + * previously by (other) tools into account. + * @param pos Position of queried map value. Position must be on-map. + * @return Map value of the queried position. + */ +MapValue ToolEffects::getMapValue(const Position &pos) const +{ + WorldModificationsMap::const_iterator iter; + + iter = this->modifications.find(pos); + if (iter == this->modifications.end()) { + return this->sim->map[pos.posX][pos.posY]; + } + + return (*iter).second; +} + +/** + * Set a new map value. + * @param pos Position to set. + * @param mapVal Value to set. + */ +void ToolEffects::setMapValue(const Position &pos, MapValue mapVal) +{ + this->modifications[pos] = mapVal; +} + +//////////////////////////////////////////////////////////////////////// +// BuildingProperties + +BuildingProperties::BuildingProperties(int xs, int ys, MapTile base, + EditingTool tl, std::string tName, bool anim) : + sizeX(xs), + sizeY(ys), + baseTile(base), + tool(tl), + toolName(tName), + buildingIsAnimated(anim) +{ +} + +BuildingProperties::~BuildingProperties() +{ +} + + +//////////////////////////////////////////////////////////////////////// + +/** + * Cost of each tool. + * Maybe move this information to eg #BuildingProperties? + */ +static const short gCostOf[] = { + 100, 100, 100, 500, /* res, com, ind, fire */ + 500, 0, 5, 1, /* police, query, wire, bulldozer */ + 20, 10, 5000, 10, /* rail, road, stadium, park */ + 3000, 3000, 5000, 10000, /* seaport, coal, nuclear, airport */ + 100, 0, 0, 0, /* network, water, land, forest */ + 0, +}; + +/** + * Size of each tool. + * @note Actually it is the size of the building rather than the tool. + * @todo This information is duplicated in the #BuildingProperties at least. + */ +static const short gToolSize[] = { + 3, 3, 3, 3, + 3, 1, 1, 1, + 1, 1, 4, 1, + 4, 4, 4, 6, + 1, 1, 1, 1, + 0, +}; + + +//////////////////////////////////////////////////////////////////////// +// Utilities + + +/** + * Put a park down at the give tile. + * @param mapH X coordinate of the tile. + * @param mapV Y coordinate of the tile. + * @param effects Storage of effects of putting down the park. + * @return Tool result. + * @todo Add auto-bulldoze? (seems to be missing). + */ +ToolResult Micropolis::putDownPark(short mapH, short mapV, ToolEffects *effects) +{ + short value = getRandom(4); + MapValue tile = BURNBIT | BULLBIT; + + if (value == 4) { + tile |= FOUNTAIN | ANIMBIT; + } else { + tile |= value + WOODS2; + } + + if (effects->getMapValue(mapH, mapV) != DIRT) { + return TOOLRESULT_NEED_BULLDOZE; + } + + effects->addCost(gCostOf[TOOL_PARK]); + effects->setMapValue(mapH, mapV, tile); + + return TOOLRESULT_OK; +} + + +/** + * Put down a communication network. + * @param mapH X coordinate of the tile. + * @param mapV Y coordinate of the tile. + * @return Tool result. + * @param effects Storage of effects of putting down the park. + * @todo Auto-bulldoze costs should be pulled from a table/constant. + */ +ToolResult Micropolis::putDownNetwork(short mapH, short mapV, + ToolEffects *effects) +{ + MapTile tile = effects->getMapTile(mapH, mapV); + + if (tile != DIRT && tally(tile)) { + effects->addCost(gCostOf[TOOL_BULLDOZER]); + effects->setMapValue(mapH, mapV, DIRT); + tile = DIRT; + } + + if (tile != DIRT) return TOOLRESULT_NEED_BULLDOZE; + + effects->setMapValue(mapH, mapV, + TELEBASE | CONDBIT | BURNBIT | BULLBIT | ANIMBIT); + + effects->addCost(gCostOf[TOOL_NETWORK]); + + return TOOLRESULT_OK; +} + + +/** + * Put down a water tile. + * @param mapH X coordinate of the tile. + * @param mapV Y coordinate of the tile. + * @return Tool result. + */ +ToolResult Micropolis::putDownWater(short mapH, short mapV, + ToolEffects *effects) +{ + MapTile tile = effects->getMapTile(mapH, mapV); + + if (tile == RIVER) return TOOLRESULT_FAILED; + + effects->setMapValue(mapH, mapV, RIVER); + + effects->addCost(gCostOf[TOOL_WATER]); + + return TOOLRESULT_OK; +} + + +/** + * Put down a land tile. + * @param mapH X coordinate of the tile. + * @param mapV Y coordinate of the tile. + * @return Tool result. + * @todo Auto-bulldoze deducts always 1. + * @todo Auto-bulldoze costs should be pulled from a table/constant. + */ +ToolResult Micropolis::putDownLand(short mapH, short mapV, ToolEffects *effects) +{ + int tile = effects->getMapTile(mapH, mapV); +// static short dx[8] = { -1, 0, 1, -1, 1, -1, 0, 1, }; +// static short dy[8] = { -1, -1, -1, 0, 0, 1, 1, 1, }; + + + if (tile == DIRT) return TOOLRESULT_FAILED; + + effects->setMapValue(mapH, mapV, DIRT); + +// int i; +// for (i = 0; i < 8; i++) { +// int xx = mapH + dx[i]; +// int yy = mapV + dy[i]; +// if (testBounds(xx, yy)) { +// //smoothTreesAt(xx, yy, true); +// } +// } + + effects->addCost(gCostOf[TOOL_LAND]); + + return TOOLRESULT_OK; +} + + +/** + * Put down a forest tile. + * @param mapH X coordinate of the tile. + * @param mapV Y coordinate of the tile. + * @return Tool result. + * @todo Auto-bulldoze deducts always 1. + */ +ToolResult Micropolis::putDownForest(short mapH, short mapV, + ToolEffects *effects) +{ + static short dx[8] = { -1, 0, 1, -1, 1, -1, 0, 1, }; + static short dy[8] = { -1, -1, -1, 0, 0, 1, 1, 1, }; + + effects->setMapValue(mapH, mapV, WOODS | BLBNBIT); + + int i; + for (i = 0; i < 8; i++) { + int xx = mapH + dx[i]; + int yy = mapV + dy[i]; + if (testBounds(xx, yy)) { + smoothTreesAt(xx, yy, true, effects); + } + } + + effects->addCost(gCostOf[TOOL_FOREST]); + + return TOOLRESULT_OK; +} + + +/** + * Compute where the 'center' (at (1,1)) of the zone is, depending on where the + * user clicked. + * + * Only inner tiles are recognized, and possibly not even complete (ie stadium + * while game is playing). + * + * @param id Tile character value of the tile that the user clicked on. + * @param deltaHPtr Pointer where horizontal position correction is written to. + * @param deltaVPtr Pointer where vertical position correction is written to. + * @return Size of the zone clicked at (or \c 0 if clicked outside zone). + * @todo Make this table driven. + */ +static short checkBigZone(MapTile id, short *deltaHPtr, short *deltaVPtr) +{ + switch (id) { + + case POWERPLANT: /* check coal plant */ + case PORT: /* check sea port */ + case NUCLEAR: /* check nuc plant */ + case STADIUM: /* check stadium */ + *deltaHPtr = 0; + *deltaVPtr = 0; + return 4; + + case POWERPLANT + 1: /* check coal plant */ + case COALSMOKE3: /* check coal plant, smoke */ + case COALSMOKE3 + 1: /* check coal plant, smoke */ + case COALSMOKE3 + 2: /* check coal plant, smoke */ + case PORT + 1: /* check sea port */ + case NUCLEAR + 1: /* check nuc plant */ + case STADIUM + 1: /* check stadium */ + *deltaHPtr = -1; + *deltaVPtr = 0; + return 4; + + case POWERPLANT + 4: /* check coal plant */ + case PORT + 4: /* check sea port */ + case NUCLEAR + 4: /* check nuc plant */ + case STADIUM + 4: /* check stadium */ + *deltaHPtr = 0; + *deltaVPtr = -1; + return 4; + + case POWERPLANT + 5: /* check coal plant */ + case PORT + 5: /* check sea port */ + case NUCLEAR + 5: /* check nuc plant */ + case STADIUM + 5: /* check stadium */ + *deltaHPtr = -1; + *deltaVPtr = -1; + return 4; + + case AIRPORT: /* check airport */ + *deltaHPtr = 0; + *deltaVPtr = 0; + return 6; + + case AIRPORT + 1: + *deltaHPtr = -1; + *deltaVPtr = 0; + return 6; + + case AIRPORT + 2: + *deltaHPtr = -2; + *deltaVPtr = 0; + return 6; + + case AIRPORT + 3: + *deltaHPtr = -3; + *deltaVPtr = 0; + return 6; + + case AIRPORT + 6: + *deltaHPtr = 0; + *deltaVPtr = -1; + return 6; + + case AIRPORT + 7: + *deltaHPtr = -1; + *deltaVPtr = -1; + return 6; + + case AIRPORT + 8: + *deltaHPtr = -2; + *deltaVPtr = -1; + return 6; + + case AIRPORT + 9: + *deltaHPtr = -3; + *deltaVPtr = -1; + return 6; + + case AIRPORT + 12: + *deltaHPtr = 0; + *deltaVPtr = -2; + return 6; + + case AIRPORT + 13: + *deltaHPtr = -1; + *deltaVPtr = -2; + return 6; + + case AIRPORT + 14: + *deltaHPtr = -2; + *deltaVPtr = -2; + return 6; + + case AIRPORT + 15: + *deltaHPtr = -3; + *deltaVPtr = -2; + return 6; + + case AIRPORT + 18: + *deltaHPtr = 0; + *deltaVPtr = -3; + return 6; + + case AIRPORT + 19: + *deltaHPtr = -1; + *deltaVPtr = -3; + return 6; + + case AIRPORT + 20: + *deltaHPtr = -2; + *deltaVPtr = -3; + return 6; + + case AIRPORT + 21: + *deltaHPtr = -3; + *deltaVPtr = -3; + return 6; + + default: + *deltaHPtr = 0; + *deltaVPtr = 0; + return 0; + + } +} + + +/** + * Can the tile be auto-bulldozed?. + * @param tileValue Value of the tile. + * @return \c True if the tile can be auto-bulldozed, else \c false. + */ +bool Micropolis::tally(short tileValue) +{ + return (tileValue >= FIRSTRIVEDGE && tileValue <= LASTRUBBLE) || + (tileValue >= POWERBASE + 2 && tileValue <= POWERBASE + 12) || + (tileValue >= TINYEXP && tileValue <= LASTTINYEXP + 2); +} + + +/** + * Return the size of the zone that the tile belongs to. + * @param tileValue Value of the tile in the zone. + * @return Size of the zone if it is a known tile value, else \c 0. + */ +short Micropolis::checkSize(short tileValue) +{ + // check for the normal com, resl, ind 3x3 zones & the fireDept & PoliceDept + if ((tileValue >= RESBASE - 1 && tileValue <= PORTBASE - 1) || + (tileValue >= LASTPOWERPLANT + 1 && tileValue <= POLICESTATION + 4) || + (tileValue >= CHURCH1BASE && tileValue <= CHURCH7LAST)) { + return 3; + } + + if ((tileValue >= PORTBASE && tileValue <= LASTPORT) || + (tileValue >= COALBASE && tileValue <= LASTPOWERPLANT) || + (tileValue >= STADIUMBASE && tileValue <= LASTZONE)) { + return 4; + } + + return 0; +} + + +/** + * Check and connect a new zone around the border. + * @param xMap X coordinate of top-left tile. + * @param yMap Y coordinate of top-left tile. + * @param sizeX Horizontal size of the new zone. + * @param sizeY Vertical size of the new zone. + * @param effects Storage of the effects. + */ +void Micropolis::checkBorder(short xMap, short yMap, int sizeX, int sizeY, + ToolEffects *effects) +{ + short cnt; + + /* this will do the upper bordering row */ + for (cnt = 0; cnt < sizeX; cnt++) { + connectTile(xMap + cnt, yMap - 1, CONNECT_TILE_FIX, effects); + } + + /* this will do the left bordering row */ + for (cnt = 0; cnt < sizeY; cnt++) { + connectTile(xMap - 1, yMap + cnt, CONNECT_TILE_FIX, effects); + } + + /* this will do the bottom bordering row */ + for (cnt = 0; cnt < sizeX; cnt++) { + connectTile(xMap + cnt, yMap + sizeY, CONNECT_TILE_FIX, effects); + } + + /* this will do the right bordering row */ + for (cnt = 0; cnt < sizeY; cnt++) { + connectTile(xMap + sizeX, yMap + cnt, CONNECT_TILE_FIX, effects); + } +} + +/** + * Put down a building, starting at (\a leftX, \a topY) with size + * (\a sizeX, \a sizeY). + * @param leftX Position of left column of tiles of the building. + * @param topY Position of top row of tiles of the building. + * @param sizeX Horizontal size of the building. + * @param sizeY Vertical size of the building. + * @param baseTile Tile value to use at the top-left position. Tiles are laid + * in column major mode. + * @param aniFlag Set animation flag at relative position (1, 2) + * @param effects Storage of the effects. + * + * @pre All tiles are within world boundaries. + * + * @todo We should ask the buildings themselves how they should be drawn. + */ +void Micropolis::putBuilding(int leftX, int topY, int sizeX, int sizeY, + MapTile baseTile, bool aniFlag, + ToolEffects *effects) +{ + for (int dy = 0; dy < sizeY; dy++) { + int posY = topY + dy; + + for (int dx = 0; dx < sizeX; dx++) { + int posX = leftX + dx; + + MapValue tileValue = baseTile | BNCNBIT; + if (dx == 1) { + if (dy == 1) { + tileValue |= ZONEBIT; + } else if (dy == 2 && aniFlag) { + tileValue |= ANIMBIT; + } + } + + effects->setMapValue(posX, posY, tileValue); + + baseTile++; + } + } +} + +/** + * Prepare the site where a building is about to be put down. + * + * This function performs some basic sanity checks, and implements the + * auto-bulldoze functionality to prepare the site. + * All effects are stored in the \a effects object. + * + * @param leftX Position of left column of tiles of the building. + * @param topY Position of top row of tiles of the building. + * @param sizeX Horizontal size of the building. + * @param sizeY Vertical size of the building. + * @param effects Storage of effects of preparing the site. + * @return: Result of preparation. + */ +ToolResult Micropolis::prepareBuildingSite(int leftX, int topY, + int sizeX, int sizeY, + ToolEffects *effects) +{ + // Check that the entire site is on the map + if (leftX < 0 || leftX + sizeX > WORLD_W) { + return TOOLRESULT_FAILED; + } + if (topY < 0 || topY + sizeY > WORLD_H) { + return TOOLRESULT_FAILED; + } + + // Check whether the tiles are clear + for (int dy = 0; dy < sizeY; dy++) { + int posY = topY + dy; + + for (int dx = 0; dx < sizeX; dx++) { + int posX = leftX + dx; + + unsigned short tileValue = effects->getMapTile(posX, posY); + + if (tileValue == DIRT) { // DIRT tile is buidable + continue; + } + + if (!autoBulldoze) { + // No DIRT and no bull-dozer => not buildable + return TOOLRESULT_NEED_BULLDOZE; + } + if (!tally(tileValue)) { + // tilevalue cannot be auto-bulldozed + return TOOLRESULT_NEED_BULLDOZE; + } + + effects->setMapValue(posX, posY, DIRT); + effects->addCost(gCostOf[TOOL_BULLDOZER]); + } + } + + return TOOLRESULT_OK; +} + + +/** + * Build a building. + * @param mapH Horizontal position of the 'center' tile in the world. + * @param mapV Vertical position of the 'center' tile in the world. + * @param buildingProps Building properties of the building being constructed. + * @param effects Storage of effects of putting down the building. + * @return Tool result. + * + * @todo Give #putBuilding a #BuildingProperties pointer instead. + * @todo Move cost into building properties? + */ +ToolResult Micropolis::buildBuilding(int mapH, int mapV, + const BuildingProperties *buildingProps, + ToolEffects *effects) +{ + mapH--; mapV--; // Move position to top-left + + ToolResult prepareResult = prepareBuildingSite(mapH, mapV, + buildingProps->sizeX, + buildingProps->sizeY, + effects); + if (prepareResult != TOOLRESULT_OK) { + return prepareResult; + } + + /* Preparation was ok, put down the building. */ + effects->addCost(gCostOf[buildingProps->tool]); + + putBuilding(mapH, mapV, buildingProps->sizeX, buildingProps->sizeY, + buildingProps->baseTile, buildingProps->buildingIsAnimated, + effects); + + checkBorder(mapH, mapV, + buildingProps->sizeX, buildingProps->sizeY, + effects); + + return TOOLRESULT_OK; +} + + +/* Query */ + +/* search table for zone status string match */ +static short idArray[29] = { + DIRT, RIVER, TREEBASE, RUBBLE, + FLOOD, RADTILE, FIRE, ROADBASE, + POWERBASE, RAILBASE, RESBASE, COMBASE, + INDBASE, PORTBASE, AIRPORTBASE, COALBASE, + FIRESTBASE, POLICESTBASE, STADIUMBASE, NUCLEARBASE, + // FIXME: I think HBRDG_END should be HBRDG0...? + HBRDG0, RADAR0, FOUNTAIN, INDBASE2, + // FIXME: What are tiles 952 and 956? + FOOTBALLGAME1, VBRDG0, 952, 956, + 9999, // a huge short +}; + +/* + 0, 2, 21, 44, + 48, 52, 53, 64, + 208, 224, 240, 423, + 612, 693, 709, 745, + 761, 770, 779, 811, + 827, 832, 840, 844, + 932, 948, 952, 956 + + Clear, Water, Trees, Rubble, + Flood, Radioactive Waste, Fire, Road, + Power, Rail, Residential, Commercial, + Industrial, Port, AirPort, Coal Power, + Fire Department, Police Department, Stadium, Nuclear Power, + Draw Bridge, Radar Dish, Fountain, Industrial, + 49er's 38 Bears 3, Draw Bridge, Ur 238, Unknown +*/ + + +/** + * Get string index for a status report on tile \a mapH, \a mapV on a + * given status category. + * @param catNo Category number: + * 0: population density + * 1: land value. + * 2: crime rate. + * 3: pollution. + * 4: growth rate. + * @param mapH X coordinate of the tile. + * @param mapV Y coordinate of the tile. + * @return Index into stri.202 file. + */ +int Micropolis::getDensity(short catNo, short mapH, short mapV) +{ + int z; + + switch (catNo) { + + case 0: + default: + z = populationDensityMap.worldGet(mapH, mapV); + z = z >> 6; + z = z & 3; + return z + STR202_POPULATIONDENSITY_LOW; + + case 1: + z = landValueMap.worldGet(mapH, mapV); + if (z < 30) return STR202_LANDVALUE_SLUM; + if (z < 80) return STR202_LANDVALUE_LOWER_CLASS; + if (z < 150) return STR202_LANDVALUE_MIDDLE_CLASS; + return STR202_LANDVALUE_HIGH_CLASS; + + case 2: + z = crimeRateMap.worldGet(mapH, mapV); + z = z >> 6; + z = z & 3; + return z + STR202_CRIME_NONE; + + case 3: + z = pollutionDensityMap.worldGet(mapH, mapV); + if (z < 64 && z > 0) return 13; + z = z >> 6; + z = z & 3; + return z + STR202_POLLUTION_NONE; + + case 4: + z = rateOfGrowthMap.worldGet(mapH, mapV); + if (z < 0) return STR202_GROWRATE_DECLINING; + if (z == 0) return STR202_GROWRATE_STABLE; + if (z > 100) return STR202_GROWRATE_FASTGROWTH; + return STR202_GROWRATE_SLOWGROWTH; + + } +} + + +/** + * Report about the status of a tile. + * @param mapH X coordinate of the tile. + * @param mapV Y coordinate of the tile. + * @bug Program breaks for status on 'dirt' + */ +void Micropolis::doZoneStatus(short mapH, short mapV) +{ + int tileCategory; + int status[5]; + + short tileNum = map[mapH][mapV] & LOMASK; + + if (tileNum >= COALSMOKE1 && tileNum < FOOTBALLGAME1) { + tileNum = COALBASE; + } + + // Find the category where the tile belongs to + // Note: If 'tileNum < idArray[i]', it belongs to category i-1 + short i; + for (i = 1; i < 29; i++) { + if (tileNum < idArray[i]) { + break; + } + } + + i--; + // i contains the category that the tile belongs to (in theory 0..27). + // However, it is 0..26, since 956 is the first unused tile + + // FIXME: This needs to be fixed to support plug-in churches. + + // TODO: This should also return the bounding box and hot spot of + // the zone to the user interface, as well as other interesting + // information. + + // Code below looks buggy, 0 is a valid value (namely 'dirt'), and upper + // limit is not correctly checked either ('stri.219' has only 27 lines). + + // FIXME: This is strange... Normalize to zero based index. + if (i < 1 || i > 28) { + i = 28; // This breaks the program (when you click 'dirt') + } + + // Obtain the string index of the tile category. + // 'stri.219' has only 27 lines, so 0 <= i <= 26 is acceptable. + tileCategory = i + 1; + + for (i = 0; i < 5; i++) { + int id = clamp(getDensity(i, mapH, mapV) + 1, 1, 20); + status[i] = id; + } + + doShowZoneStatus( + tileCategory, + status[0], status[1], status[2], + status[3], status[4], + mapH, mapV); +} + + +/** Tell front-end to report on status of a tile. + * @param tileCategoryIndex Category of the tile text index. + * @param populationDensityIndex Population density text index. + * @param landValueIndex Land value text index. + * @param crimeRateIndex Crime rate text index. + * @param pollutionIndex Pollution text index. + * @param growthRateIndex Grow rate text index. + * @param x X coordinate of the tile. + * @param y Y coordinate of the tile. + */ +void Micropolis::doShowZoneStatus( + int tileCategoryIndex, + int populationDensityIndex, + int landValueIndex, + int crimeRateIndex, + int pollutionIndex, + int growthRateIndex, + int x, + int y) +{ + callback->showZoneStatus(this, callbackVal, tileCategoryIndex, populationDensityIndex, landValueIndex, crimeRateIndex, pollutionIndex, growthRateIndex, x, y); +} + + +/** + * Make a \a size by \a size tiles square of rubble + * @param x Horizontal position of the left-most tile + * @param y Vertical position of the left-most tile + * @param size Size of the rubble square + */ +void Micropolis::putRubble(int x, int y, int size, ToolEffects *effects) +{ + for (int xx = x; xx < x + size; xx++) { + for (int yy = y; yy < y + size; yy++) { + + if (testBounds(xx, yy)) { + int tile = effects->getMapTile(xx, yy); + + if (tile != RADTILE && tile != DIRT) { + tile = (doAnimation ? (TINYEXP + getRandom(2)) : SOMETINYEXP); + effects->setMapValue(xx, yy, tile | ANIMBIT | BULLBIT); + } + } + } + } +} + + +/** + * Report to the front-end that a tool was used. + * @param name: Name of the tool. + * @param x X coordinate of where the tool was applied. + * @param y Y coordinate of where the tool was applied. + */ +void Micropolis::didTool(std::string name, short x, short y) +{ + std::string json; + json += "["; + json += name; + json += "\","; + json += std::to_string(x); + json += ","; + json += std::to_string(y); + json += "]"; + + callback->didTool(this, callbackVal, name, x, y); +} + + +//////////////////////////////////////////////////////////////////////// +// Tools + + +/** + * Do query tool. + * @param x X coordinate of the position of the query. + * @param y Y coordinate of the position of the query. + * @return Tool result. + */ +ToolResult Micropolis::queryTool(short x, short y) +{ + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + doZoneStatus(x, y); + didTool("Qry", x, y); + + return TOOLRESULT_OK; +} + +ToolResult Micropolis::bulldozerTool(short x, short y) +{ + ToolEffects effects(this); + + ToolResult result = bulldozerTool(x, y, &effects); + + if (result == TOOLRESULT_OK) { + effects.modifyWorld(); + } + + return result; +} + +/** + * Apply bulldozer tool. + * @param x X coordinate of the position of the query. + * @param y Y coordinate of the position of the query. + * @return Tool result. + * + * @todo Code is too complex/long. + * @bug Tool does not return TOOLRESULT_NO_MONEY. + * @bug Sometimes we can delete parts of a residential zone, but not always. + * Decide what rule we should have, and fix accordingly. + * + * @note Auto-bulldoze functionality is in Micropolis::prepareBuildingSite() + */ +ToolResult Micropolis::bulldozerTool(short x, short y, ToolEffects *effects) +{ + ToolResult result = TOOLRESULT_OK; + + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + MapValue mapVal = effects->getMapValue(x, y); + MapTile tile = mapVal & LOMASK; + + short zoneSize = 0; // size of the zone, 0 means invalid. + short deltaH; // Amount of horizontal shift to the center tile of the zone. + short deltaV; // Amount of vertical shift to the center tile of the zone. + FrontendMessage *frontendMsg; + + if (mapVal & ZONEBIT) { /* zone center bit is set */ + zoneSize = checkSize(tile); + deltaH = 0; + deltaV = 0; + } else { + zoneSize = checkBigZone(tile, &deltaH, &deltaV); + } + + if (zoneSize > 0) { + effects->addCost(gCostOf[TOOL_BULLDOZER]); + + int dozeX = x; + int dozeY = y; + int centerX = x + deltaH; + int centerY = y + deltaV; + + switch (zoneSize) { + + case 3: + frontendMsg = new FrontendMessageMakeSound( + "city", "Explosion-High", dozeX, dozeY); + effects->addFrontendMessage(frontendMsg); + + putRubble(centerX - 1, centerY - 1, 3, effects); + break; + + case 4: + frontendMsg = new FrontendMessageMakeSound( + "city", "Explosion-Low", dozeX, dozeY); + effects->addFrontendMessage(frontendMsg); + + putRubble(centerX - 1, centerY - 1, 4, effects); + break; + + case 6: + frontendMsg = new FrontendMessageMakeSound( + "city", "Explosion-High", dozeX, dozeY); + effects->addFrontendMessage(frontendMsg); + + frontendMsg = new FrontendMessageMakeSound( + "city", "Explosion-Low", dozeX, dozeY); + effects->addFrontendMessage(frontendMsg); + + putRubble(centerX - 1, centerY - 1, 6, effects); + break; + + default: + NOT_REACHED(); + break; + + } + + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + frontendMsg = new FrontendMessageDidTool("Dozr", x, y); + effects->addFrontendMessage(frontendMsg); + } + + return result; + + } + + + if (tile == RIVER || tile == REDGE || tile == CHANNEL) { + + result = connectTile(x, y, CONNECT_TILE_BULLDOZE, effects); + + if (tile != effects->getMapTile(x, y)) { + effects->addCost(5); + } + } else { + result = connectTile(x, y, CONNECT_TILE_BULLDOZE, effects); + } + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + frontendMsg = new FrontendMessageDidTool("Dozr", x, y); + didTool("Dozr", x, y); + effects->addFrontendMessage(frontendMsg); + } + + return result; +} + + +/** + * Build a road at a tile. + * @param x Horizontal position of the tile to lay road. + * @param y Vertical position of the tile to lay road. + * @param effects Storage of effects of laying raod at the tile. + * @return Tool result. + * @todo Merge roadTool, railroadTool, wireTool, and parkTool functions. + */ +ToolResult Micropolis::roadTool(short x, short y, ToolEffects *effects) +{ + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + ToolResult result = connectTile(x, y, CONNECT_TILE_ROAD, effects); + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + FrontendMessage *didToolMsg; + didToolMsg = new FrontendMessageDidTool("Road", x, y); + effects->addFrontendMessage(didToolMsg); + } + + return result; +} + + +/** + * Build a rail track at a tile. + * @param x Horizontal position of the tile. + * @param y Vertical position of the tile. + * @param effects Storage of effects of laying the rail. + * @return Tool result. + */ +ToolResult Micropolis::railroadTool(short x, short y, ToolEffects *effects) +{ + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + ToolResult result = connectTile(x, y, CONNECT_TILE_RAILROAD, effects); + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + FrontendMessage *didToolMsg; + didToolMsg = new FrontendMessageDidTool("Rail", x, y); + effects->addFrontendMessage(didToolMsg); + } + + return result; +} + + +/** + * Build a wire at a tile. + * @param x Horizontal position of the tile to wire. + * @param y Vertical position of the tile to wire. + * @param effects Storage of effects of wiring the tile. + * @return Tool result. + */ +ToolResult Micropolis::wireTool(short x, short y, ToolEffects *effects) +{ + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + ToolResult result = connectTile(x, y, CONNECT_TILE_WIRE, effects); + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + FrontendMessage *didToolMsg; + didToolMsg = new FrontendMessageDidTool("Wire", x, y); + effects->addFrontendMessage(didToolMsg); + } + + return result; +} + + +/** + * Build a park. + * @param x Horizontal position of 'center tile' of the park. + * @param y Vertical position of 'center tile' of the park. + * @param effects Storage of effects of putting down the park. + * @return Tool result. + */ +ToolResult Micropolis::parkTool(short x, short y, ToolEffects *effects) +{ + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + ToolResult result = putDownPark(x, y, effects); + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + FrontendMessage *didToolMsg; + didToolMsg = new FrontendMessageDidTool("Park", x, y); + effects->addFrontendMessage(didToolMsg); + } + + return result; +} + + +/** + * Build a building. + * @param x Horizontal position of center tile of the new building. + * @param y Vertical position of center tile of the new building. + * @param buildingProps Building properties of the building being constructed. + * @param effects Storage of effects of putting down the building. + * @return Tool result. + */ +ToolResult Micropolis::buildBuildingTool(short x, short y, + const BuildingProperties *buildingProps, + ToolEffects *effects) +{ + ToolResult result = buildBuilding(x, y, buildingProps, effects); + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + FrontendMessage *didToolMsg; + didToolMsg = new FrontendMessageDidTool(buildingProps->toolName, x, y); + effects->addFrontendMessage(didToolMsg); + } + + return result; +} + +/** Building properties of a residential zone. */ +static const BuildingProperties residentialZoneBuilding = + BuildingProperties(3, 3, RESBASE, TOOL_RESIDENTIAL, "Res", false); + +/** Building properties of a commercial zone. */ +static const BuildingProperties commercialZoneBuilding = + BuildingProperties(3, 3, COMBASE, TOOL_COMMERCIAL, "Com", false); + +/** Building properties of a industrial zone. */ +static const BuildingProperties industrialZoneBuilding = + BuildingProperties(3, 3, INDBASE, TOOL_INDUSTRIAL, "Ind", false); + +/** Building properties of a police station. */ +static const BuildingProperties policeStationBuilding = + BuildingProperties(3, 3, POLICESTBASE, TOOL_POLICESTATION, "Pol", false); + +/** Building properties of a fire station. */ +static const BuildingProperties fireStationBuilding = + BuildingProperties(3, 3, FIRESTBASE, TOOL_FIRESTATION, "Fire", false); + +/** Building properties of a stadium. */ +static const BuildingProperties stadiumBuilding = + BuildingProperties(4, 4, STADIUMBASE, TOOL_STADIUM, "Stad", false); + +/** Building properties of a coal power station. */ +static const BuildingProperties coalPowerBuilding = + BuildingProperties(4, 4, COALBASE, TOOL_COALPOWER, "Coal", false); + +/** Building properties of a nuclear power station. */ +static const BuildingProperties nuclearPowerBuilding = + BuildingProperties(4, 4, NUCLEARBASE, TOOL_NUCLEARPOWER, "Nuc", true); + +/** Building properties of a seaport. */ +static const BuildingProperties seaportBuilding = + BuildingProperties(4, 4, PORTBASE, TOOL_SEAPORT, "Seap", false); + +/** Building properties of a airport. */ +static const BuildingProperties airportBuilding = + BuildingProperties(6, 6, AIRPORTBASE, TOOL_AIRPORT, "Airp", false); + + +/** + * Put down a network. + * @todo Is this ever used? + */ +ToolResult Micropolis::networkTool(short x, short y, ToolEffects *effects) +{ + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + ToolResult result = putDownNetwork(x, y, effects); + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + FrontendMessage *didToolMsg; + didToolMsg = new FrontendMessageDidTool("Net", x, y); + effects->addFrontendMessage(didToolMsg); + } + + return result; +} + + +ToolResult Micropolis::waterTool(short x, short y, ToolEffects *effects) +{ + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + ToolResult result = bulldozerTool(x, y, effects); + + if (result == TOOLRESULT_OK) { + result = putDownWater(x, y, effects); + } + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + FrontendMessage *didToolMsg; + didToolMsg = new FrontendMessageDidTool("Water", x, y); + effects->addFrontendMessage(didToolMsg); + } + + return result; +} + + +ToolResult Micropolis::landTool(short x, short y, ToolEffects *effects) +{ + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + /// @todo: Is this good? It is not auto-bulldoze!! + /// @todo: Handle result value (probably) + ToolResult result = bulldozerTool(x, y, effects); + + result = putDownLand(x, y, effects); + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + FrontendMessage *didToolMsg; + didToolMsg = new FrontendMessageDidTool("Land", x, y); + effects->addFrontendMessage(didToolMsg); + } + + return result; +} + + +ToolResult Micropolis::forestTool(short x, short y, ToolEffects *effects) +{ + ToolResult result = TOOLRESULT_OK; + + if (!testBounds(x, y)) { + return TOOLRESULT_FAILED; + } + + MapValue tile = effects->getMapValue(x, y); + + if (isTree(tile)) { + return TOOLRESULT_OK; + } + + if ((tile & LOMASK) != DIRT) { + /// @todo bulldozer should be free in terrain mode or from a free tool. + result = bulldozerTool(x, y, effects); + } + + tile = effects->getMapValue(x, y); + + if (tile == DIRT) { + result = putDownForest(x, y, effects); + + if (result == TOOLRESULT_OK) { + /* send 'didtool' message */ + FrontendMessage *didToolMsg; + didToolMsg = new FrontendMessageDidTool("Forest", x, y); + effects->addFrontendMessage(didToolMsg); + } + + } else { + result = TOOLRESULT_FAILED; + } + + return result; +} + + +/** + * Apply a tool. + * @param tool Tool to use. + * @param tileX Horizontal position in the city map. + * @param tileY Vertical position in the city map. + * @return Tool result. + */ +ToolResult Micropolis::doTool(EditingTool tool, short tileX, short tileY) +{ + ToolEffects effects(this); + ToolResult result; + + switch (tool) { + + case TOOL_RESIDENTIAL: + result = buildBuildingTool(tileX, tileY, &residentialZoneBuilding, + &effects); + break; + + case TOOL_COMMERCIAL: + result = buildBuildingTool(tileX, tileY, &commercialZoneBuilding, + &effects); + break; + + case TOOL_INDUSTRIAL: + result = buildBuildingTool(tileX, tileY, &industrialZoneBuilding, + &effects); + break; + + case TOOL_FIRESTATION: + result = buildBuildingTool(tileX, tileY, &fireStationBuilding, + &effects); + break; + + case TOOL_POLICESTATION: + result = buildBuildingTool(tileX, tileY, &policeStationBuilding, + &effects); + break; + + case TOOL_QUERY: + return queryTool(tileX, tileY); + + case TOOL_WIRE: + result = wireTool(tileX, tileY, &effects); + break; + + case TOOL_BULLDOZER: + result = bulldozerTool(tileX, tileY, &effects); + break; + + case TOOL_RAILROAD: + result = railroadTool(tileX, tileY, &effects); + break; + + case TOOL_ROAD: + result = roadTool(tileX, tileY, &effects); + break; + + case TOOL_STADIUM: + result = buildBuildingTool(tileX, tileY, &stadiumBuilding, + &effects); + break; + + case TOOL_PARK: + result = parkTool(tileX, tileY, &effects); + break; + + case TOOL_SEAPORT: + result = buildBuildingTool(tileX, tileY, &seaportBuilding, + &effects); + break; + + case TOOL_COALPOWER: + result = buildBuildingTool(tileX, tileY, &coalPowerBuilding, + &effects); + break; + + case TOOL_NUCLEARPOWER: + result = buildBuildingTool(tileX, tileY, &nuclearPowerBuilding, + &effects); + break; + + case TOOL_AIRPORT: + result = buildBuildingTool(tileX, tileY, &airportBuilding, + &effects); + break; + + case TOOL_NETWORK: + result = networkTool(tileX, tileY, &effects); + break; + + case TOOL_WATER: + result = waterTool(tileX, tileY, &effects); + break; + + case TOOL_LAND: + result = landTool(tileX, tileY, &effects); + break; + + case TOOL_FOREST: + result = forestTool(tileX, tileY, &effects); + break; + + default: + return TOOLRESULT_FAILED; + + } + + // Perform the effects of applying the tool if enough funds. + if (result == TOOLRESULT_OK) { + if (!effects.modifyIfEnoughFunding()) { + return TOOLRESULT_NO_MONEY; + } + } + + return result; +} + + +void Micropolis::toolDown(EditingTool tool, short tileX, short tileY) +{ + ToolResult result = doTool(tool, tileX, tileY); + + if (result == TOOLRESULT_NEED_BULLDOZE) { + sendMessage(MESSAGE_BULLDOZE_AREA_FIRST, NOWHERE, NOWHERE, false, true); + /// @todo: Multi player: This sound should only be heard by the user + /// who called this function. + makeSound("interface", "UhUh", tileX <<4, tileY <<4); + + } else if (result == TOOLRESULT_NO_MONEY) { + sendMessage(MESSAGE_NOT_ENOUGH_FUNDS, NOWHERE, NOWHERE, false, true); + /// @todo: Multi player: This sound should only be heard by the user + /// who called this function. + makeSound("interface", "Sorry", tileX <<4, tileY <<4); + } + + simPass = 0; + invalidateMaps(); +} + +/** + * Drag a tool from (\a fromX, \a fromY) to (\a toX, \a toY). + * @param tool Tool being dragged. + * @param fromX Horizontal coordinate of the starting position. + * @param fromY Vertical coordinate of the starting position. + * @param toX Horizontal coordinate of the ending position. + * @param toY Vertical coordinate of the ending position. + */ +void Micropolis::toolDrag(EditingTool tool, + short fromX, short fromY, short toX, short toY) +{ + // Do not drag big tools. + int toolSize = gToolSize[tool]; + if (toolSize > 1) { + doTool(tool, toX, toY); + + simPass = 0; // update editors overlapping this one + invalidateMaps(); + return; + } + + short dirX = (toX > fromX) ? 1 : -1; // Horizontal step direction. + short dirY = (toY > fromY) ? 1 : -1; // Vertical step direction. + + + if (fromX == toX && fromY == toY) { + return; + } + + doTool(tool, fromX, fromY); // Ensure the start position is done. + + // Vertical line up or down + if (fromX == toX && fromY != toY) { + + while (fromY != toY) { + fromY += dirY; + doTool(tool, fromX, fromY); + } + + simPass = 0; // update editors overlapping this one + invalidateMaps(); + return; + } + + // Horizontal line left/right + if (fromX != toX && fromY == toY) { + + while (fromX != toX) { + fromX += dirX; + doTool(tool, fromX, fromY); + } + + simPass = 0; // update editors overlapping this one + invalidateMaps(); + return; + } + + // General case: both X and Y change. + + short dx = absoluteValue(fromX - toX); // number of horizontal steps. + short dy = absoluteValue(fromY - toY); // number of vertical steps. + + short subX = 0; // Each X step is dy sub-steps. + short subY = 0; // Each Y step is dx sub-steps. + short numSubsteps = min(dx, dy); // Number of sub-steps we can do. + + while (fromX != toX || fromY != toY) { + subX += numSubsteps; + if (subX >= dy) { + subX -= dy; + fromX += dirX; + doTool(tool, fromX, fromY); + } + + subY += numSubsteps; + if (subY >= dx) { + subY -= dx; + fromY += dirY; + doTool(tool, fromX, fromY); + } + } + + simPass = 0; + invalidateMaps(); +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/tool.h b/core/tool.h new file mode 100644 index 0000000..4e6daf7 --- /dev/null +++ b/core/tool.h @@ -0,0 +1,347 @@ +/* tool.h + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file tool.h + * @brief Defines tools, building properties, and tool effects for the + * Micropolis game. + * + * This header file includes definitions for various tools used in the + * game, along with the properties of buildings and the effects tools + * have on the game's world. It encompasses the core functionalities + * of tools, such as building, bulldozing, and querying, and their + * impact on the game's map and financial aspects. The classes and + * enumerations in this file form an integral part of the game's + * interaction mechanics, allowing players to modify and interact with + * the game world. + */ + + +#ifndef _H_TOOL +#define _H_TOOL + + +//////////////////////////////////////////////////////////////////////// + + +#include +#include + + +//////////////////////////////////////////////////////////////////////// +// Forward declarations + + +class Micropolis; + + +//////////////////////////////////////////////////////////////////////// + + +/** Value of a tile in the map array incuding the #MapTileBits. */ +typedef unsigned short MapValue; + + +/** + * Value of a tile in the map array excluding the #MapTileBits (that is, just + * a value from #MapCharacters). + */ +typedef unsigned short MapTile; + + +/** + * Status bits of a map tile. + * @see MapTile MapCharacters MapTile MapValue + * @todo #ALLBITS should end with MASK. + * @todo Decide what to do with #ANIMBIT (since sim-backend may not be the + * optimal place to do animation). + * @todo How many of these bits can be derived from the displayed tile? + */ +enum MapTileBits { + PWRBIT = 0x8000, ///< bit 15, tile has power. + CONDBIT = 0x4000, ///< bit 14. tile can conduct electricity. + BURNBIT = 0x2000, ///< bit 13, tile can be lit. + BULLBIT = 0x1000, ///< bit 12, tile is bulldozable. + ANIMBIT = 0x0800, ///< bit 11, tile is animated. + ZONEBIT = 0x0400, ///< bit 10, tile is the center tile of the zone. + + /// Mask for the bits-part of the tile + ALLBITS = ZONEBIT | ANIMBIT | BULLBIT | BURNBIT | CONDBIT | PWRBIT, + LOMASK = 0x03ff, ///< Mask for the #Tiles part of the tile + + BLBNBIT = BULLBIT | BURNBIT, + BLBNCNBIT = BULLBIT | BURNBIT | CONDBIT, + BNCNBIT = BURNBIT | CONDBIT, +}; + + +/** + * Available tools. + * + * These describe the wand values, the object dragged around on the screen. + */ +enum EditingTool { + TOOL_RESIDENTIAL, + TOOL_COMMERCIAL, + TOOL_INDUSTRIAL, + TOOL_FIRESTATION, + TOOL_POLICESTATION, + TOOL_QUERY, + TOOL_WIRE, + TOOL_BULLDOZER, + TOOL_RAILROAD, + TOOL_ROAD, + TOOL_STADIUM, + TOOL_PARK, + TOOL_SEAPORT, + TOOL_COALPOWER, + TOOL_NUCLEARPOWER, + TOOL_AIRPORT, + TOOL_NETWORK, + TOOL_WATER, + TOOL_LAND, + TOOL_FOREST, + + TOOL_COUNT, + TOOL_FIRST = TOOL_RESIDENTIAL, + TOOL_LAST = TOOL_FOREST, +}; + + +/** Set of modifications in the world accessible by position. */ +typedef std::map WorldModificationsMap; + + +/** List of messages to send to the frontend. */ +typedef std::list FrontendMessages; + +/** + * Class for storing effects of applying a tool to the world. + * + * When applying a tool, two things change: + * - The world map. + * - The funds of the player. + * - Messages sent to the player and the front-end. + * - Sounds played for the player. + * + * The funds gives a decision problem. To decide whether the tool can be + * applied, you need to know the cost. To know the cost you need to know the + * exact changes being made. + * The simplest way to compute the exact changes is to simply apply the tool to + * the world. This holds especially when tools get stacked on top of each + * other. + * + * This class provides an easy way out, greatly simplifying the problem. + * All tools do not modify the world directly, but instead put their results + * in an instance of this class, thus collecting all the modifications. + * After the whole operation is 'done', the #ToolEffects instance can tell the + * precise cost and what has been changed in the world. At that moment, the + * yes/no decision can be made, and the effects can be copied to the real map + * and funds. + * + * @todo Extend the class for storing messages and sounds. + */ +class ToolEffects +{ +public: + ToolEffects(Micropolis *sim); + ~ToolEffects(); + + void clear(); + void modifyWorld(); + bool modifyIfEnoughFunding(); + + MapValue getMapValue(const Position& pos) const; + inline MapValue getMapValue(int x, int y) const; + inline MapTile getMapTile(const Position& pos) const; + inline MapTile getMapTile(int x, int y) const; + inline int getCost() const; + + inline void addCost(int amount); + void setMapValue(const Position& pos, MapValue mapVal); + inline void setMapValue(int x, int y, MapValue mapVal); + inline void addFrontendMessage(FrontendMessage *msg); + +private: + Micropolis *sim; ///< Simulator to get map values from, and to apply changes. + int cost; ///< Accumulated costs. + WorldModificationsMap modifications; ///< Collected world modifications. + FrontendMessages frontendMessages; ///< Collected messages to send. +}; + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Get the tile of a map position. + * @param pos Position being queried. + * @return Tile at the specified position. + * + * @pre Position must be within map limits + */ +inline MapTile ToolEffects::getMapTile(const Position& pos) const +{ + return this->getMapValue(pos) & LOMASK; +} + + +/** + * Get the tile of a map position. + * @param x Horizontal coordinate of position being queried. + * @param y Vertical coordinate of position being queried. + * @return Tile at the specified position. + * + * @pre Position must be within map limits + */ +inline MapValue ToolEffects::getMapTile(int x, int y) const +{ + return this->getMapValue(Position(x, y)) & LOMASK; +} + + +/** + * Get the total cost collected so far. + * @return Total cost. + */ +inline int ToolEffects::getCost() const +{ + return this->cost; +} + + +/** + * Add some amount to the total. + */ +inline void ToolEffects::addCost(int amount) +{ + assert(amount >= 0); // To be on the safe side. + this->cost += amount; +} + + +/** + * Get the value of a map position. + * @param x Horizontal coordinate of position being queried. + * @param y Vertical coordinate of position being queried. + * @return Map value at the specified position. + * + * @pre Position must be within map limits + */ +inline MapValue ToolEffects::getMapValue(int x, int y) const +{ + return this->getMapValue(Position(x, y)); +} + + +/** + * Set a new map value. + * @param pos Position to set. + * @param x Horizontal coordinate of position to set. + * @param y Vertical coordinate of position to set. + * @param mapVal Value to set. + */ +inline void ToolEffects::setMapValue(int x, int y, MapValue mapVal) +{ + this->setMapValue(Position(x, y), mapVal); +} + + +/** + * Add a #FrontendMessage to the queue to send. + * @param msg Frontend message to send. + */ +inline void ToolEffects::addFrontendMessage(FrontendMessage *msg) +{ + this->frontendMessages.push_back(msg); +} + + +//////////////////////////////////////////////////////////////////////// + + +/** Properties of a building with respect to its construction. */ +class BuildingProperties +{ +public: + BuildingProperties(int xs, int ys, MapTile base, EditingTool tool, + std::string tName, bool anim); + ~BuildingProperties(); + + const int sizeX; ///< Number of tiles in horizontal direction. + const int sizeY; ///< Number of tiles in vertical direction. + + const MapTile baseTile; ///< Tile value at top-left in the map. + + const EditingTool tool; ///< Tool needed for making the building. + + /** Name of the tool needed for making the building. */ + std::string toolName; + + const bool buildingIsAnimated; ///< Building has animated tiles. +}; + + +//////////////////////////////////////////////////////////////////////// + + +#endif diff --git a/core/traffic.cpp b/core/traffic.cpp new file mode 100644 index 0000000..dfa260b --- /dev/null +++ b/core/traffic.cpp @@ -0,0 +1,519 @@ +/* traffic.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file traffic.cpp + * @brief Implements traffic simulation for the Micropolis game + * engine. + * + * This file handles the generation, management, and effects of + * traffic within the Micropolis game. It includes functions for + * simulating traffic flow, connecting destinations, and updating + * traffic density maps. The code manages various traffic-related + * tasks such as finding road connections, driving to destinations, + * and handling dead-end situations. Additionally, it updates the + * simulation's internal state based on traffic conditions. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Makes traffic starting from the road tile at \x, \y. + * @param x Start x position of the attempt + * @param y Start y position of the attempt + * @param dest Zone type to go to. + * @return \c 1 if connection found, \c 0 if not found, + * \c -1 if no connection to road found. + */ +short Micropolis::makeTrafficAt(int x, int y, ZoneType dest) +{ + Position pos; + pos.posX = x; + pos.posY = y; + + if (tryDrive(pos, dest)) { /* attempt to drive somewhere */ + addToTrafficDensityMap(); /* if sucessful, inc trafdensity */ + return 1; /* traffic passed */ + } + + return 0; /* traffic failed */ +} + + +/** + * Find a connection over a road from position \a x \a y to a specified zone type. + * @param x Start x position of the attempt + * @param y Start y position of the attempt + * @param dest Zone type to go to. + * @return \c 1 if connection found, \c 0 if not found, + * \c -1 if no connection to road found. + */ +short Micropolis::makeTraffic(int x, int y, ZoneType dest) +{ + Position startPos; + startPos.posX = x; + startPos.posY = y; + return makeTraffic(startPos, dest); +} + + +/** + * Find a connection over a road from \a startPos to a specified zone type. + * @param startPos Start position of the attempt. + * @param dest Zone type to go to. + * @return \c 1 if connection found, \c 0 if not found, + * \c -1 if no connection to road found. + */ +short Micropolis::makeTraffic(const Position &startPos, ZoneType dest) +{ + curMapStackPointer = 0; // Clear position stack + + Position pos(startPos); + +#if 0 + if ((!getRandom(2)) && findPerimeterTelecom(pos)) { + /* printf("Telecom!\n"); */ + return 1; + } +#endif + + if (findPerimeterRoad(&pos)) { /* look for road on zone perimeter */ + + if (tryDrive(pos, dest)) { /* attempt to drive somewhere */ + addToTrafficDensityMap(); /* if sucessful, inc trafdensity */ + return 1; /* traffic passed */ + } + + return 0; /* traffic failed */ + } else { + return -1; /* no road found */ + } +} + + +/** + * Update the #trafficDensityMap from the positions at the + * #curMapStackXY stack. + */ +void Micropolis::addToTrafficDensityMap() +{ + /* For each saved position of the drive */ + while (curMapStackPointer > 0) { + + Position pos = pullPos(); + if (pos.testBounds()) { + + MapTile tile = map[pos.posX][pos.posY] & LOMASK; + + if (tile >= ROADBASE && tile < POWERBASE) { + SimSprite *sprite; + + // Update traffic density. + int traffic = trafficDensityMap.worldGet(pos.posX, pos.posY); + traffic += 50; + traffic = min(traffic, 240); + trafficDensityMap.worldSet(pos.posX, pos.posY, (Byte)traffic); + + // Check for heavy traffic. + if (traffic >= 240 && getRandom(5) == 0) { + + trafMaxX = pos.posX; + trafMaxY = pos.posY; + + /* Direct helicopter towards heavy traffic */ + sprite = getSprite(SPRITE_HELICOPTER); + if (sprite != NULL && sprite->control == -1) { + + sprite->destX = trafMaxX * 16; + sprite->destY = trafMaxY * 16; + + } + } + } + } + } +} + + +/** + * Push a position onto the position stack. + * @param pos Position to push. + * @pre Stack may not be full. + */ +void Micropolis::pushPos(const Position &pos) +{ + curMapStackPointer++; + assert(curMapStackPointer < MAX_TRAFFIC_DISTANCE + 1); + curMapStackXY[curMapStackPointer] = pos; +} + + +/** + * Pull top-most position from the position stack. + * @return Pulled position. + * @pre Stack may not be empty (curMapStackPointer > 0) + */ +Position Micropolis::pullPos() +{ + assert(curMapStackPointer > 0); + curMapStackPointer--; + return curMapStackXY[curMapStackPointer + 1]; +} + + +/** + * Find a connection to a road at the perimeter. + * @param pos Starting position. + * Gets updated when a perimeter has been found. + * @return Indication that a connection has been found. + * + * @todo We could randomize the search. + */ +bool Micropolis::findPerimeterRoad(Position *pos) +{ + /* look for road on edges of zone */ + static const short PerimX[12] = {-1, 0, 1, 2, 2, 2, 1, 0,-1,-2,-2,-2}; + static const short PerimY[12] = {-2,-2,-2,-1, 0, 1, 2, 2, 2, 1, 0,-1}; + short tx, ty; + + for (short z = 0; z < 12; z++) { + + tx = pos->posX + PerimX[z]; + ty = pos->posY + PerimY[z]; + + if (testBounds(tx, ty)) { + + if (roadTest(map[tx][ty])) { + + pos->posX = tx; + pos->posY = ty; + + return true; + } + } + } + + return false; +} + + +/** + * Find a telecom connection at the perimeter. + * @param pos Position to start searching. + * @return A telecom connection has been found. + * + * @todo Decide whether we want telecomm code. + */ +bool Micropolis::findPerimeterTelecom(const Position &pos) +{ + /* look for telecom on edges of zone */ + static const short PerimX[12] = {-1, 0, 1, 2, 2, 2, 1, 0,-1,-2,-2,-2}; + static const short PerimY[12] = {-2,-2,-2,-1, 0, 1, 2, 2, 2, 1, 0,-1}; + short tx, ty, tile; + + for (short z = 0; z < 12; z++) { + + tx = pos.posX + PerimX[z]; + ty = pos.posX + PerimY[z]; + + if (testBounds(tx, ty)) { + + tile = map[tx][ty] & LOMASK; + if (tile >= TELEBASE && tile <= TELELAST) { + return true; + } + } + } + + return false; +} + + +/** + * Try to drive to a destination. + * @param startPos Starting position. + * @param destZone Zonetype to drive to. + * @return Was drive succesful? + * @post Position stack (curMapStackXY) is filled with some intermediate + * positions of the drive. + * + * @bug The stack is popped, but position (and dirLast) is not updated. + */ +bool Micropolis::tryDrive(const Position &startPos, ZoneType destZone) +{ + Direction2 dirLast = DIR2_INVALID; + Position drivePos(startPos); + + /* Maximum distance to try */ + for (short dist = 0; dist < MAX_TRAFFIC_DISTANCE; dist++) { + + Direction2 dir = tryGo(drivePos, dirLast); + if (dir != DIR2_INVALID) { // we found a road + drivePos.move(dir); + dirLast = rotate180(dir); + + /* Save pos every other move. + * This also relates to + * Micropolis::trafficDensityMap::MAP_BLOCKSIZE + */ + if (dist & 1) { + pushPos(drivePos); + } + + if (driveDone(drivePos, destZone)) { // if destination is reached + return true; /* pass */ + } + + } else { + + if (curMapStackPointer > 0) { /* dead end, backup */ + curMapStackPointer--; + dist += 3; + } else { + return false; /* give up at start */ + } + + } + } + + return false; /* gone MAX_TRAFFIC_DISTANCE */ +} + + +/** + * Try to drive one tile in a random direction. + * @param pos Current position. + * @param dirLast Forbidden direction for movement (to prevent reversing). + * @return Direction of movement, \c #DIR2_INVALID is returned if not moved. + */ +Direction2 Micropolis::tryGo(const Position &pos, Direction2 dirLast) +{ + Direction2 directions[4]; + + // Find connections from current position. + Direction2 dir = DIR2_NORTH; + int count = 0; + for (int i = 0; i < 4; i++) { + if (dir != dirLast && roadTest(getTileFromMap(pos, dir, DIRT))) { + // found a road in an allowed direction + directions[i] = dir; + count++; + } else { + directions[i] = DIR2_INVALID; + } + + dir = rotate90(dir); + } + + if (count == 0) { // dead end + return DIR2_INVALID; + } + + // We have at least one way to go. + + if (count == 1) { // only one solution + for (int i = 0; i < 4; i++) { + if (directions[i] != DIR2_INVALID) { + return directions[i]; + } + } + } + + // more than one choice, draw a random number. + int i = getRandom16() & 3; + while (directions[i] == DIR2_INVALID) { + i = (i + 1) & 3; + } + return directions[i]; +} + + +/** + * Get neighbouring tile from the map. + * @param pos Current position. + * @param dir Direction of neighbouring tile, only horizontal and + * vertical directions are supported. + * @param defaultTile Tile to return if off-map. + * @return The tile in the indicated direction. If tile is off-world or an + * incorrect direction is given, \c DIRT is returned. + */ +MapTile Micropolis::getTileFromMap(const Position &pos, + Direction2 dir, MapTile defaultTile) +{ + switch (dir) { + + case DIR2_NORTH: + if (pos.posY > 0) { + return map[pos.posX][pos.posY - 1] & LOMASK; + } + + return defaultTile; + + case DIR2_EAST: + if (pos.posX < WORLD_W - 1) { + return map[pos.posX + 1][pos.posY] & LOMASK; + } + + return defaultTile; + + case DIR2_SOUTH: + if (pos.posY < WORLD_H - 1) { + return map[pos.posX][pos.posY + 1] & LOMASK; + } + + return defaultTile; + + case DIR2_WEST: + if (pos.posX > 0) { + return map[pos.posX - 1][pos.posY] & LOMASK; + } + + return defaultTile; + + default: + return defaultTile; + + } +} + + +/** + * Has the journey arrived at its destination? + * @param pos Current position. + * @param destZone Zonetype to drive to. + * @return Destination has been reached. + */ +bool Micropolis::driveDone(const Position &pos, ZoneType destZone) +{ + // FIXME: Use macros to determine the zone type: residential, commercial or industrial. + /* commercial, industrial, residential destinations */ + static const MapTile targetLow[3] = {COMBASE, LHTHR, LHTHR}; + static const MapTile targetHigh[3] = {NUCLEAR, PORT, COMBASE}; + + assert(ZT_NUM_DESTINATIONS == LENGTH_OF(targetLow)); + assert(ZT_NUM_DESTINATIONS == LENGTH_OF(targetHigh)); + + MapTile l = targetLow[destZone]; // Lowest acceptable tile value + MapTile h = targetHigh[destZone]; // Highest acceptable tile value + + if (pos.posY > 0) { + MapTile z = map[pos.posX][pos.posY - 1] & LOMASK; + if (z >= l && z <= h) { + return true; + } + } + + if (pos.posX < (WORLD_W - 1)) { + MapTile z = map[pos.posX + 1][pos.posY] & LOMASK; + if (z >= l && z <= h) { + return true; + } + } + + if (pos.posY < (WORLD_H - 1)) { + MapTile z = map[pos.posX][pos.posY + 1] & LOMASK; + if (z >= l && z <= h) { + return true; + } + } + + if (pos.posX > 0) { + MapTile z = map[pos.posX - 1][pos.posY] & LOMASK; + if (z >= l && z <= h) { + return true; + } + } + + return false; +} + + +/** + * Can the given tile be used as road? + * @param mv Value from the map. + * @return Indication that you can drive on the given tile + */ +bool Micropolis::roadTest(MapValue mv) +{ + MapTile tile = mv & LOMASK; + + if (tile < ROADBASE || tile > LASTRAIL) { + return false; + } + + if (tile >= POWERBASE && tile < LASTPOWER) { + return false; + } + + return true; +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/update.cpp b/core/update.cpp new file mode 100644 index 0000000..1c737cc --- /dev/null +++ b/core/update.cpp @@ -0,0 +1,281 @@ +/* update.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file update.cpp + * @brief Handles updates and refreshes in various aspects of + * Micropolis. + * + * This file contains functions to update and refresh game elements + * such as maps, graphs, evaluation metrics, financial status, and + * other user interface components. It ensures that the game state is + * accurately reflected in the user interface, including changes in + * city time, budget, and city demand. The file plays a crucial role + * in syncing the game's backend calculations with frontend displays + * and interactions. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" +#include "text.h" + + +///////////////////////////////////////////////////////////////////////// + + +void Micropolis::doUpdateHeads() +{ + showValves(); + doTimeStuff(); + reallyUpdateFunds(); + updateOptions(); +} + + +void Micropolis::updateMaps() +{ + invalidateMaps(); + doUpdateHeads(); +} + + +void Micropolis::updateGraphs() +{ + changeCensus(); +} + + +void Micropolis::updateEvaluation() +{ + changeEval(); +} + + +void Micropolis::updateHeads() +{ + mustUpdateFunds = true; + valveFlag = true; + cityTimeLast = cityYearLast = cityMonthLast = totalFundsLast = + resLast = comLast = indLast = -999999; + doUpdateHeads(); +} + + +/** Set a flag that the funds display is out of date. */ +void Micropolis::updateFunds() +{ + mustUpdateFunds = true; +} + + +void Micropolis::reallyUpdateFunds() +{ + if (!mustUpdateFunds) { + return; + } + + mustUpdateFunds = false; + + if (totalFunds != totalFundsLast) { + totalFundsLast = totalFunds; + + callback->updateFunds(this, callbackVal, totalFunds); + } + +} + + +void Micropolis::doTimeStuff() +{ + updateDate(); +} + + +/** + * @bug Message is wrong. + */ +void Micropolis::updateDate() +{ + int megalinium = 1000000; + + cityTimeLast = cityTime >> 2; + + cityYear = ((int)cityTime / 48) + (int)startingYear; + cityMonth = ((int)cityTime % 48) >> 2; + + if (cityYear >= megalinium) { + setYear(startingYear); + cityYear = startingYear; + sendMessage(MESSAGE_NOT_ENOUGH_POWER, NOWHERE, NOWHERE, true); + + } + + if ((cityYearLast != cityYear) || + (cityMonthLast != cityMonth)) { + + cityYearLast = cityYear; + cityMonthLast = cityMonth; + + callback->updateDate(this, callbackVal, cityYear, cityMonth); + } +} + + +void Micropolis::showValves() +{ + if (valveFlag) { + drawValve(); + valveFlag = false; + } +} + + +void Micropolis::drawValve() +{ + float r, c, i; + + r = resValve; + + if (r < -1500) { + r = -1500; + } + + if (r > 1500) { + r = 1500; + } + + c = comValve; + + if (c < -1500) { + c = -1500; + } + + if (c > 1500) { + c = 1500; + } + + i = indValve; + + if (i < -1500) { + i = -1500; + } + + if (i > 1500) { + i = 1500; + } + + if ((r != resLast) || + (c != comLast) || + (i != indLast)) { + + resLast = (int)r; + comLast = (int)c; + indLast = (int)i; + + setDemand(r, c, i); + } +} + + +void Micropolis::setDemand(float r, float c, float i) +{ + callback->updateDemand(this, callbackVal, r, c, i); +} + + +void Micropolis::updateOptions() +{ + if (mustUpdateOptions) { + mustUpdateOptions = false; + callback->updateOptions(this, callbackVal); + } +} + + +/** @todo Keeping track of pending updates should be moved to the interface + * (the simulator generates events, the interface forwards them to + * the GUI when possible/allowed. + */ +void Micropolis::updateUserInterface() +{ + /// @todo Send all pending update messages to the user interface. + + // city: after load file, load scenario, or generate city + // map: when small overall map changes + // editor: when large close-up map changes + // graph: when graph changes + // evaluation: when evaluation changes + // budget: when budget changes + // date: when date changes + // funds: when funds change + // demand: when demand changes + // level: when level changes + // speed: when speed changes + // delay: when delay changes + // option: when options change +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/utilities.cpp b/core/utilities.cpp new file mode 100644 index 0000000..7715c20 --- /dev/null +++ b/core/utilities.cpp @@ -0,0 +1,435 @@ +/* utilities.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file utilities.cpp + * @brief Utility functions for the Micropolis game engine. + * + * This file includes a collection of utility functions used + * throughout the Micropolis game engine. These functions perform a + * variety of tasks such as manipulating game speed, updating game + * levels, handling city names, and managing game settings like + * disasters, auto-bulldoze, and sound. It also includes functions for + * updating the financial status and formatting numbers into currency + * strings. The utilities support the main game engine by providing + * essential services for game management and player interaction. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +/* comefrom: drawTaxesCollected incBoxValue decBoxValue drawCurrentFunds + drawActualBox updateFunds updateCurrentCost */ +std::string Micropolis::makeDollarDecimalStr(const std::string &numStr) +{ + short leftMostSet; + short numOfDigits; + short numOfChars; + short numOfCommas; + short dollarIndex = 0; + short numIndex = 0; + short x; + + numOfDigits = numStr.length(); + + std::string dollarStr; + + dollarStr += '$'; + if (numOfDigits == 1) { + dollarStr += numStr[0]; + return dollarStr; + } else if (numOfDigits == 2) { + dollarStr += numStr[0]; + dollarStr += numStr[1]; + return dollarStr; + } else if (numOfDigits == 3) { + dollarStr += numStr[0]; + dollarStr += numStr[1]; + dollarStr += numStr[2]; + return dollarStr; + } else { + leftMostSet = numOfDigits % 3; + + if (leftMostSet == 0) { + leftMostSet = 3; + } + + numOfCommas = (numOfDigits - 1) / 3; + + /* add 1 for the dollar sign */ + numOfChars = numOfDigits + numOfCommas + 1; + + for (x = 1; x <= leftMostSet; x++) { + dollarStr += numStr[numIndex++]; + } + + for (x = 1; x <= numOfCommas; x++) { + dollarStr += ','; + dollarStr += numStr[numIndex++]; + dollarStr += numStr[numIndex++]; + dollarStr += numStr[numIndex++]; + } + + } + + return dollarStr; +} + +/** + * Pause a simulation + * @see resume + */ +void Micropolis::pause() +{ + if (!simPaused) { + simPausedSpeed = simSpeedMeta; + setSpeed(0); + simPaused = true; + } + + // Call back even if the state did not change. + callback->updatePaused(this, callbackVal, simPaused); +} + +/** + * Resume simulation after pausing it + * @see pause + */ +void Micropolis::resume() +{ + if (simPaused) { + simPaused = false; + setSpeed(simPausedSpeed); + } + + // Call back even if the state did not change. + callback->updatePaused(this, callbackVal, simPaused); +} + + +void Micropolis::setSpeed(short speed) +{ + if (speed < 0) { + speed = 0; + } else if (speed > 3) { + speed = 3; + } + + simSpeedMeta = speed; + + if (simPaused) { + simPausedSpeed = simSpeedMeta; + speed = 0; + } + + simSpeed = speed; + + callback->updateSpeed(this, callbackVal, speed); +} + + +void Micropolis::setPasses(int passes) +{ + simPasses = passes; + simPass = 0; + callback->updatePasses(this, callbackVal, passes); +} + +/** + * Set the game level and initial funds. + * @param level New game level. + */ +void Micropolis::setGameLevelFunds(GameLevel level) +{ + switch (level) { + + default: + case LEVEL_EASY: + setFunds(20000); + setGameLevel(LEVEL_EASY); + break; + + case LEVEL_MEDIUM: + setFunds(10000); + setGameLevel(LEVEL_MEDIUM); + break; + + case LEVEL_HARD: + setFunds(5000); + setGameLevel(LEVEL_HARD); + break; + + } +} + + +/** Set/change the game level. + * @param level New game level. + */ +void Micropolis::setGameLevel(GameLevel level) +{ + assert(level >= LEVEL_FIRST && level <= LEVEL_LAST); + gameLevel = level; + updateGameLevel(); +} + + +/** Report to the front-end that a new game level has been set. */ +void Micropolis::updateGameLevel() +{ + callback->updateGameLevel(this, callbackVal, gameLevel); +} + + +void Micropolis::setCityName(const std::string &name) +{ + std::string cleanName; + + int i; + int n = name.length(); + for (i = 0; i < n; i++) { + char ch = name[i]; + if (!isalnum(ch)) { + ch = '_'; + } + cleanName.push_back(ch); + } + + setCleanCityName(cleanName); +} + + +/** + * Set the name of the city. + * @param name New name of the city. + */ +void Micropolis::setCleanCityName(const std::string &name) +{ + cityName = name; + + callback->updateCityName(this, callbackVal, cityName); +} + + +void Micropolis::setYear(int year) +{ + // Must prevent year from going negative, since it screws up the non-floored modulo arithmetic. + if (year < startingYear) { + year = startingYear; + } + + year = (year - startingYear) - (cityTime / 48); + cityTime += year * 48; + doTimeStuff(); +} + + +/** + * Get the current year. + * @return The current game year. + */ +int Micropolis::currentYear() +{ + return (cityTime / 48) + startingYear; +} + + +/** + * Notify the user interface to start a new game. + */ +void Micropolis::doNewGame() +{ + callback->newGame(this, callbackVal); +} + + +/** + * set the enableDisasters flag, and set the flag to + * update the user interface. + * @param value New setting for #enableDisasters + */ +void Micropolis::setEnableDisasters(bool value) +{ + enableDisasters = value; + mustUpdateOptions = true; +} + + +/** + * Set the auto-budget to the given value. + * @param value New value for the auto-budget setting. + */ +void Micropolis::setAutoBudget(bool value) +{ + autoBudget = value; + mustUpdateOptions = true; +} + + +/** + * Set the autoBulldoze flag to the given value, + * and set the mustUpdateOptions flag to update + * the user interface. + * + * @param value The value to set autoBulldoze to. + */ +void Micropolis::setAutoBulldoze(bool value) +{ + autoBulldoze = value; + mustUpdateOptions = true; +} + + +/** + * Set the autoGoto flag to the given value, + * and set the mustUpdateOptions flag to update + * the user interface. + * + * @param value The value to set autoGoto to. + */ +void Micropolis::setAutoGoto(bool value) +{ + autoGoto = value; + mustUpdateOptions = true; +} + + +/** + * Set the enableSound flag to the given value, + * and set the mustUpdateOptions flag to update + * the user interface. + * + * @param value The value to set enableSound to. + */ +void Micropolis::setEnableSound(bool value) +{ + enableSound = value; + mustUpdateOptions = true; +} + + +/** + * Set the doAnimation flag to the given value, + * and set the mustUpdateOptions flag to update + * the user interface. + * + * @param value The value to set doAnimation to. + */ +void Micropolis::setDoAnimation(bool value) +{ + doAnimation = value; + mustUpdateOptions = true; +} + + +/** + * Set the doMessages flag to the given value, + * and set the mustUpdateOptions flag to update + * the user interface. + * + * @param value The value to set doMessages to. + */ +void Micropolis::setDoMessages(bool value) +{ + doMessages = value; + mustUpdateOptions = true; +} + + +/** + * Set the doNotices flag to the given value, + * and set the mustUpdateOptions flag to update + * the user interface. + * + * @param value The value to set doNotices to. + */ +void Micropolis::setDoNotices(bool value) +{ + doNotices = value; + mustUpdateOptions = true; +} + + +/** + * Return the residential, commercial and industrial + * development demands, as floating point numbers + * from -1 (lowest demand) to 1 (highest demand). + */ +void Micropolis::getDemands( + float *resDemandResult, + float *comDemandResult, + float *indDemandResult) +{ + *resDemandResult = (float)resValve / (float)RES_VALVE_RANGE; + *comDemandResult = (float)comValve / (float)COM_VALVE_RANGE; + *indDemandResult = (float)indValve / (float)IND_VALVE_RANGE; +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/core/zone.cpp b/core/zone.cpp new file mode 100644 index 0000000..291e154 --- /dev/null +++ b/core/zone.cpp @@ -0,0 +1,1037 @@ +/* zone.cpp + * + * Micropolis, Unix Version. This game was released for the Unix platform + * in or about 1990 and has been modified for inclusion in the One Laptop + * Per Child program. Copyright (C) 1989 - 2007 Electronic Arts Inc. If + * you need assistance with this program, you may contact: + * http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. You should have received a + * copy of the GNU General Public License along with this program. If + * not, see . + * + * ADDITIONAL TERMS per GNU GPL Section 7 + * + * No trademark or publicity rights are granted. This license does NOT + * give you any right, title or interest in the trademark SimCity or any + * other Electronic Arts trademark. You may not distribute any + * modification of this program using the trademark SimCity or claim any + * affliation or association with Electronic Arts Inc. or its employees. + * + * Any propagation or conveyance of this program must include this + * copyright notice and these terms. + * + * If you convey this program (or any modifications of it) and assume + * contractual liability for the program to recipients of it, you agree + * to indemnify Electronic Arts for any liability that those contractual + * assumptions impose on Electronic Arts. + * + * You may not misrepresent the origins of this program; modified + * versions of the program must be marked as such and not identified as + * the original program. + * + * This disclaimer supplements the one included in the General Public + * License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + * PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + * OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + * SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + * DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + * INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + * FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + * RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + * USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + * INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + * MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + * UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + * WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + * CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + * ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + * JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + * WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + * CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + * NOT APPLY TO YOU. + */ + +/** + * @file zone.cpp + * @brief Manages zone processing in Micropolis. + * + * This file contains functions related to zone processing in the + * Micropolis game. It includes routines for handling different types + * of zones such as residential, commercial, and industrial. Functions + * in this file are responsible for simulating zone growth, decline, + * and effects like pollution, power supply, and traffic generation. + * It also includes utility functions for evaluating zone conditions + * and performing zone transformations such as building or demolishing + * structures in response to game conditions. + */ + + +//////////////////////////////////////////////////////////////////////// + + +#include "micropolis.h" + + +//////////////////////////////////////////////////////////////////////// + + +/** + * Handle zone. + * @param pos Position of the zone. + */ +void Micropolis::doZone(const Position &pos) +{ + // Set Power Bit in Map from powerGridMap + bool zonePowerFlag = setZonePower(pos); + + + if (zonePowerFlag) { + poweredZoneCount++; + } else { + unpoweredZoneCount++; + } + + MapTile tile = map[pos.posX][pos.posY] & LOMASK; + + // Do special zones. + if ((tile > PORTBASE) && + (tile < CHURCH1BASE)) { + doSpecialZone(pos, zonePowerFlag); + return; + } + + // Do residential zones. + if (tile < HOSPITAL) { + doResidential(pos, zonePowerFlag); + return; + } + + // Do hospitals and churches. + if ((tile < COMBASE) || + ((tile >= CHURCH1BASE) && + (tile <= CHURCH7LAST))) { + doHospitalChurch(pos); + return; + } + + // Do commercial zones. + if (tile < INDBASE) { + doCommercial(pos, zonePowerFlag); + return; + } + + // Do industrial zones. + if (tile < CHURCH1BASE) { + doIndustrial(pos, zonePowerFlag); + return; + } + + printf("UNEXPOECTED ZONE: %d !!!\n", tile); +} + +/** + * Handle repairing or removing of hospitals and churches. + * @param pos Position of the hospital or church. + */ +void Micropolis::doHospitalChurch(const Position &pos) +{ + MapTile tile = map[pos.posX][pos.posY] & LOMASK; + + if (tile == HOSPITAL) { + + hospitalPop++; + + if (!(cityTime & 15)) { + repairZone(pos, HOSPITAL, 3); + } + + if (needHospital == -1) { // Too many hospitals! + if (!getRandom(20)) { + zonePlop(pos, RESBASE); // Remove hospital. + } + } + + } else if ((tile == CHURCH0) || + (tile == CHURCH1) || + (tile == CHURCH2) || + (tile == CHURCH3) || + (tile == CHURCH4) || + (tile == CHURCH5) || + (tile == CHURCH6) || + (tile == CHURCH7)) { + + churchPop++; + + //printf("CHURCH %d %d %d %d\n", churchPop, pos.posX, pos.posY, tile); + + bool simulate = true; + + if (!(cityTime & 15)) { + repairZone(pos, tile, 3); + } + + if (needChurch == -1) { // Too many churches! + if (!getRandom(20)) { + zonePlop(pos, RESBASE); // Remove church. + simulate = false; + } + } + + if (simulate) { + //printf("SIM %d %d %d\n", pos.posX, pos.posY, tile); + + int churchNumber = 0; + + switch (tile) { + case CHURCH0: + churchNumber = 0; + break; + case CHURCH1: + churchNumber = 1; + break; + case CHURCH2: + churchNumber = 2; + break; + case CHURCH3: + churchNumber = 3; + break; + case CHURCH4: + churchNumber = 4; + break; + case CHURCH5: + churchNumber = 5; + break; + case CHURCH6: + churchNumber = 6; + break; + case CHURCH7: + churchNumber = 7; + break; + default: + assert(0); // Unexpected church tile + break; + } + + callback->simulateChurch(this, callbackVal, pos.posX, pos.posY, churchNumber); + } + + } + +} + + +#define ASCBIT (ANIMBIT | CONDBIT | BURNBIT) +#define REGBIT (CONDBIT | BURNBIT) + +void Micropolis::setSmoke(const Position &pos, bool zonePower) +{ + static bool aniThis[8] = { true, false, true, true, false, false, true, true }; + static short dx1[8] = { -1, 0, 1, 0, 0, 0, 0, 1 }; + static short dy1[8] = { -1, 0, -1, -1, 0, 0, -1, -1 }; + static short aniTabA[8] = { 0, 0, 32, 40, 0, 0, 48, 56 }; + static short aniTabB[8] = { 0, 0, 36, 44, 0, 0, 52, 60 }; + static short aniTabC[8] = { IND1, 0, IND2, IND4, 0, 0, IND6, IND8 }; + static short aniTabD[8] = { IND1, 0, IND3, IND5, 0, 0, IND7, IND9 }; + + MapTile tile = map[pos.posX][pos.posY] & LOMASK; + + if (tile < IZB) { + return; + } + + int z = (tile - IZB) >>3; /// @todo Why div 8? Industry is 9 tiles long!! + z = z & 7; + + if (aniThis[z]) { + int xx = pos.posX + dx1[z]; + int yy = pos.posY + dy1[z]; + + if (testBounds(xx, yy)) { + + if (zonePower) { + + /// @todo Why do we assign the same map position twice? + /// @todo Add #SMOKEBASE into aniTabA and aniTabB tables? + if ((map[xx][yy] & LOMASK) == aniTabC[z]) { + map[xx][yy] = ASCBIT | (SMOKEBASE + aniTabA[z]); + map[xx][yy] = ASCBIT | (SMOKEBASE + aniTabB[z]); + } + + } else { + + /// @todo Why do we assign the same map position twice? + if ((map[xx][yy] & LOMASK) > aniTabC[z]) { + map[xx][yy] = REGBIT | aniTabC[z]; + map[xx][yy] = REGBIT | aniTabD[z]; + } + + } + + } + + } + +} + + +/** + * If needed, add a new hospital or a new church. + * @param pos Center position of the new hospital or church. + */ +void Micropolis::makeHospital(const Position &pos) +{ + if (needHospital > 0) { + zonePlop(pos, HOSPITAL - 4); + needHospital = 0; + return; + } + + if (needChurch > 0) { + int churchType = getRandom(7); // 0 to 7 inclusive + int tile; + if (churchType == 0) { + tile = CHURCH0; + } else { + tile = CHURCH1 + ((churchType - 1) * 9); + } + + //printf("NEW CHURCH tile %d x %d y %d type %d\n", tile, pos.posX, pos.posY, churchType); + + zonePlop(pos, tile - 4); + needChurch = 0; + return; + } +} + +/** + * Compute land value at \a pos, taking pollution into account. + * @param pos Position of interest. + * @return Indication of land-value adjusted for pollution + * (\c 0 => low value, \c 3 => high value) + */ +short Micropolis::getLandPollutionValue(const Position &pos) +{ + short landVal; + + landVal = landValueMap.worldGet(pos.posX, pos.posY); + landVal -= pollutionDensityMap.worldGet(pos.posX, pos.posY); + + if (landVal < 30) { + return 0; + } + + if (landVal < 80) { + return 1; + } + + if (landVal < 150) { + return 2; + } + + return 3; +} + + +/** + * Update the rate of growth at position \a pos by \a amount. + * @param pos Position to modify. + * @param amount Amount of change (can both be positive and negative). + */ +void Micropolis::incRateOfGrowth(const Position &pos, int amount) +{ + int value = rateOfGrowthMap.worldGet(pos.posX, pos.posY); + + value = clamp(value + amount * 4, -200, 200); + rateOfGrowthMap.worldSet(pos.posX, pos.posY, value); +} + + +/** + * Put down a 3x3 zone around the center tile at \a pos.. + * @param base Tile number of the top-left tile. @see Tiles + * @return Build was a success. + * @bug This function allows partial on-map construction. Is that intentional? No! + */ +bool Micropolis::zonePlop(const Position &pos, int base) +{ + short z, x; + static const short Zx[9] = {-1, 0, 1,-1, 0, 1,-1, 0, 1}; + static const short Zy[9] = {-1,-1,-1, 0, 0, 0, 1, 1, 1}; + + for (z = 0; z < 9; z++) { /* check for fire */ + int xx = pos.posX + Zx[z]; + int yy = pos.posY + Zy[z]; + + if (testBounds(xx, yy)) { + x = map[xx][yy] & LOMASK; + + if ((x >= FLOOD) && (x < ROADBASE)) { + return false; + } + + } + + } + + for (z = 0; z < 9; z++) { + int xx = pos.posX + Zx[z]; + int yy = pos.posY + Zy[z]; + + if (testBounds(xx, yy)) { + map[xx][yy] = base + BNCNBIT; + } + + base++; + } + + setZonePower(pos); + map[pos.posX][pos.posY] |= ZONEBIT + BULLBIT; + + return true; +} + +/** + * Count the number of single tile houses in a residential zone. + * @param pos Position of the residential zone. + * @return Number of single tile houses. + */ +short Micropolis::doFreePop(const Position &pos) +{ + short count = 0; + + for (short x = pos.posX - 1; x <= pos.posX + 1; x++) { + for (short y = pos.posY - 1; y <= pos.posY + 1; y++) { + if (x >= 0 && x < WORLD_W && y >= 0 && y < WORLD_H) { + MapTile tile = map[x][y] & LOMASK; + if (tile >= LHTHR && tile <= HHTHR) { + count++; + } + } + } + } + + return count; +} + + +/** + * Copy the value of #powerGridMap at position \a pos to the map. + * @param pos Position to copy. + * @return Does the tile have power? + */ +bool Micropolis::setZonePower(const Position &pos) +{ + MapValue mapValue = map[pos.posX][pos.posY]; + MapTile tile = mapValue & LOMASK; + + if (tile == NUCLEAR || tile == POWERPLANT) { + map[pos.posX][pos.posY] = mapValue | PWRBIT; + return true; + } + + if (powerGridMap.worldGet(pos.posX, pos.posY)) { + map[pos.posX][pos.posY] = mapValue | PWRBIT; + return true; + } else { + map[pos.posX][pos.posY] = mapValue & (~PWRBIT); + return false; + } +} + + +/** + * Try to build a house at the zone at \a pos. + * @param pos Center tile of the zone. + * @param value Value to build (land value?) + * @todo Have some form of looking around the center tile (like getFromMap()) + */ +void Micropolis::buildHouse(const Position &pos, int value) +{ + short z, score, hscore, BestLoc; + static short ZeX[9] = { 0,-1, 0, 1,-1, 1,-1, 0, 1}; + static short ZeY[9] = { 0,-1,-1,-1, 0, 0, 1, 1, 1}; + + BestLoc = 0; + hscore = 0; + + for (z = 1; z < 9; z++) { + int xx = pos.posX + ZeX[z]; + int yy = pos.posY + ZeY[z]; + + if (testBounds(xx, yy)) { + + score = evalLot(xx, yy); + + /// @bug score is never 0 !! + if (score != 0) { + + if (score > hscore) { + hscore = score; + BestLoc = z; + } + + /// @todo Move the code below to a better place. + /// If we just updated hscore above, we could + // trigger this code too. + if (score == hscore && !(getRandom16() & 7)) { + BestLoc = z; + } + + } + + } + + } + + if (BestLoc) { + int xx = pos.posX + ZeX[BestLoc]; + int yy = pos.posY + ZeY[BestLoc]; + + if (testBounds(xx, yy)) { + /// @todo Is HOUSE the proper constant here? + map[xx][yy] = HOUSE + BLBNCNBIT + getRandom(2) + value * 3; + } + + } +} + + +/** + * Evaluate suitability of the position for placing a new house. + * @return Suitability. + */ +short Micropolis::evalLot(int x, int y) +{ + short z, score; + static short DX[4] = { 0, 1, 0,-1}; + static short DY[4] = {-1, 0, 1, 0}; + + /* test for clear lot */ + z = map[x][y] & LOMASK; + + if (z && (z < RESBASE || z > RESBASE + 8)) { + return -1; + } + + score = 1; + + for (z = 0; z < 4; z++) { + int xx = x + DX[z]; + int yy = y + DY[z]; + + if (testBounds(xx, yy) && + map[xx][yy] != DIRT && (map[xx][yy] & LOMASK) <= LASTROAD) { + score++; /* look for road */ + } + + } + + return score; +} + +/** + * Handle residential zone. + * @param pos Center tile of the residential zone. + * @param zonePwrFlg Does the zone have power? + */ +void Micropolis::doResidential(const Position &pos, bool zonePower) +{ + short tpop, zscore, locvalve, value, TrfGood; + + resZonePop++; + + MapTile tile = map[pos.posX][pos.posY] & LOMASK; + + if (tile == FREEZ) { + tpop = doFreePop(pos); + } else { + tpop = getResZonePop(tile); + } + + resPop += tpop; + + if (tpop > getRandom(35)) { + /* Try driving from residential to commercial */ + TrfGood = makeTraffic(pos, ZT_COMMERCIAL); + } else { + TrfGood = 1; + } + + if (TrfGood == -1) { + value = getLandPollutionValue(pos); + doResOut(pos, tpop, value); + return; + } + + if (tile == FREEZ || !(getRandom16() & 7)) { + + locvalve = evalRes(pos, TrfGood); + zscore = resValve + locvalve; + + if (!zonePower) { + zscore = -500; + } + + if (zscore > -350 && + ((short)(zscore - 26380) > ((short)getRandom16Signed()))) { + + if (!tpop && !(getRandom16() & 3)) { + makeHospital(pos); + return; + } + + value = getLandPollutionValue(pos); + doResIn(pos, tpop, value); + return; + } + + if (zscore < 350 && + (((short)(zscore + 26380)) < ((short)getRandom16Signed()))) { + value = getLandPollutionValue(pos); + doResOut(pos, tpop, value); + } + } +} + + +/** + * Perform residential immigration into the current residential tile. + * @param pos Position of the tile. + * @param pop Population ? + * @param value Land value corrected for pollution. + */ +void Micropolis::doResIn(const Position &pos, int pop, int value) +{ + short pollution = pollutionDensityMap.worldGet(pos.posX, pos.posY); + + if (pollution > 128) { + return; + } + + MapTile tile = map[pos.posX][pos.posY] & LOMASK; + + if (tile == FREEZ) { + + if (pop < 8) { + buildHouse(pos, value); + incRateOfGrowth(pos, 1); + return; + } + + if (populationDensityMap.worldGet(pos.posX, pos.posY) > 64) { + resPlop(pos, 0, value); + incRateOfGrowth(pos, 8); + return; + } + + return; + } + + if (pop < 40) { + resPlop(pos, (pop / 8) - 1, value); + incRateOfGrowth(pos, 8); + } + +} + + +/** + * Perform residential emigration from the current residential tile. + * @param pos Position of the tile. + * @param pop Population ? + * @param value Land value corrected for pollution. + */ +void Micropolis::doResOut(const Position &pos, int pop, int value) +{ + static short Brdr[9] = {0,3,6,1,4,7,2,5,8}; + short x, y, loc, z; + + if (!pop) { + return; + } + + if (pop > 16) { + resPlop(pos, (pop - 24) / 8, value); + incRateOfGrowth(pos, -8); + return; + } + + if (pop == 16) { + incRateOfGrowth(pos, -8); + map[pos.posX][pos.posY] = (FREEZ | BLBNCNBIT | ZONEBIT); + for (x = pos.posX - 1; x <= pos.posX + 1; x++) { + for (y = pos.posY - 1; y <= pos.posY + 1; y++) { + if (testBounds(x, y)) { + if ((map[x][y] & LOMASK) != FREEZ) { + map[x][y] = LHTHR + value + getRandom(2) + BLBNCNBIT; + } + } + } + } + } + + if (pop < 16) { + incRateOfGrowth(pos, -1); + z = 0; + for (x = pos.posX - 1; x <= pos.posX + 1; x++) { + for (y = pos.posY - 1; y <= pos.posY + 1; y++) { + if (testBounds(x, y)) { + loc = map[x][y] & LOMASK; + if ((loc >= LHTHR) && (loc <= HHTHR)) { + map[x][y] = Brdr[z] + BLBNCNBIT + FREEZ - 4; + return; + } + } + z++; + } + } + } +} + + +/** + * Return population of a residential zone center tile + * (RZB, RZB+9, ..., HOSPITAL - 9). + * + * @param mapTile Center tile of a residential zone. + * @return Population of the residential zone. + * (16, 24, 32, 40, 16, ..., 40 ) + */ +short Micropolis::getResZonePop(MapTile mapTile) +{ + short CzDen = ((mapTile - RZB) / 9) % 4; + + return CzDen * 8 + 16; +} + +/** + * Put down a residential zone. + * @param pos Center tile of the residential zone. + * @param den Population density (0..3) + * @param value Land value - pollution (0..3), higher is better. + */ +void Micropolis::resPlop(const Position &pos, int den, int value) +{ + short base; + + base = ((value * 4 + den) * 9) + RZB - 4; + zonePlop(pos, base); +} + + +/** + * Evaluate residential zone. + */ +short Micropolis::evalRes(const Position &pos, int traf) +{ + short value; + + if (traf < 0) { + return -3000; + } + + value = landValueMap.worldGet(pos.posX, pos.posY); + value -= pollutionDensityMap.worldGet(pos.posX, pos.posY); + + if (value < 0) { + value = 0; /* Cap at 0 */ + } else { + value = min(value * 32, 6000); /* Cap at 6000 */ + } + + value = value - 3000; + + return value; +} + + +/** + * Handle commercial zone. + * @param pos Position of the commercial zone. + * @param zonePwrFlg Does the zone have power? + * @todo Make zonePwrFlg a boolean. + */ +void Micropolis::doCommercial(const Position &pos, bool zonePower) +{ + short tpop, TrfGood; + short zscore, locvalve, value; + + MapTile tile = map[pos.posX][pos.posY] & LOMASK; + + comZonePop++; + tpop = getComZonePop(tile); + comPop += tpop; + + if (tpop > getRandom(5)) { + /* Try driving from commercial to industrial */ + TrfGood = makeTraffic(pos, ZT_INDUSTRIAL); + } else { + TrfGood = 1; + } + + if (TrfGood == -1) { + value = getLandPollutionValue(pos); + doComOut(pos, tpop, value); + return; + } + + if (!(getRandom16() & 7)) { + + locvalve = evalCom(pos, TrfGood); + zscore = comValve + locvalve; + + if (!zonePower) { + zscore = -500; + } + + if (TrfGood && + (zscore > -350) && + (((short)(zscore - 26380)) > ((short)getRandom16Signed()))) { + value = getLandPollutionValue(pos); + doComIn(pos, tpop, value); + return; + } + + if ((zscore < 350) && + (((short)(zscore + 26380)) < ((short)getRandom16Signed()))) { + value = getLandPollutionValue(pos); + doComOut(pos, tpop, value); + } + + } + +} + + +/** + * Handle immigration of commercial zone. + * @param pos Position of the commercial zone. + * @param pop Population ? + * @param value Land value corrected for pollution. + */ +void Micropolis::doComIn(const Position &pos, int pop, int value) +{ + short z; + + z = landValueMap.worldGet(pos.posX, pos.posY); + z = z >>5; + + if (pop > z) { + return; + } + + if (pop < 5) { + comPlop(pos, pop, value); + incRateOfGrowth(pos, 8); + } +} + +/** + * Handle emigration of commercial zone. + * @param pos Position of the commercial zone. + * @param pop Population ? + * @param value Land value corrected for pollution. + */ +void Micropolis::doComOut(const Position &pos, int pop, int value) +{ + if (pop > 1) { + comPlop(pos, pop - 2, value); + incRateOfGrowth(pos, -8); + return; + } + + if (pop == 1) { + zonePlop(pos, COMBASE); + incRateOfGrowth(pos, -8); + } +} + + +/** + * Get commercial zone population number. + * @param tile Tile of the commercial zone. + * @return Population number of the zone. + */ +short Micropolis::getComZonePop(MapTile tile) +{ + if (tile == COMCLR) { + return 0; + } + + short CzDen = ((tile - CZB) / 9) % 5 + 1; + return CzDen; +} + + +/** + * Build a commercial zone. + * @param pos Position of the commercial zone. + * @param Den Density + * @param Value Land value corrected for pollution. + */ +void Micropolis::comPlop(const Position &pos, int Den, int Value) +{ + short base; + + base = ((Value * 5) + Den) * 9 + CZB - 4; + zonePlop(pos, base); +} + + +/** + * Compute evaluation of a commercial zone. + * @param traf Result if traffic attempt. + * @return Evaluation value of the commercial zone. + */ +short Micropolis::evalCom(const Position &pos, int traf) +{ + short Value; + + if (traf < 0) { + return -3000; + } + + Value = comRateMap.worldGet(pos.posX, pos.posY); + + return Value; +} + + +/** + * Handle industrial zone. + * @param pos Position of the industrial zone. + * @param zonePwrFlg Does the zone have power? + * @todo Make zonePwrFlg a boolean. + */ +void Micropolis::doIndustrial(const Position &pos, bool zonePower) +{ + short tpop, zscore, TrfGood; + + MapTile tile = map[pos.posX][pos.posY] & LOMASK; + + indZonePop++; + setSmoke(pos, zonePower); + tpop = getIndZonePop(tile); + indPop += tpop; + + if (tpop > getRandom(5)) { + /* Try driving from industrial to residential */ + TrfGood = makeTraffic(pos, ZT_RESIDENTIAL); + } else { + TrfGood = 1; + } + + if (TrfGood == -1) { + doIndOut(pos, tpop, getRandom16() & 1); + return; + } + + if (!(getRandom16() & 7)) { + zscore = indValve + evalInd(TrfGood); + + if (!zonePower) { + zscore = -500; + } + + if (zscore > -350 && + (((short)(zscore - 26380)) > ((short)getRandom16Signed()))) { + doIndIn(pos, tpop, getRandom16() & 1); + return; + } + + if (zscore < 350 && + (((short)(zscore + 26380)) < ((short)getRandom16Signed()))) { + doIndOut(pos, tpop, getRandom16() & 1); + } + } +} + + +/** + * Handle immigration of industrial zone. + * @param pos Position of the center tile of the industrial tile. + * @param pos Population value of the industrial zone. + * @param value Random land value (it seems). + */ +void Micropolis::doIndIn(const Position &pos, int pop, int value) +{ + if (pop < 4) { + indPlop(pos, pop, value); + incRateOfGrowth(pos, 8); + } +} + +/** + * Handle industrial zone emigration. + * @param pos Position of the center tile of the industrial tile. + * @param pos Population value of the industrial zone. + * @param value Random land value (it seems). + */ +void Micropolis::doIndOut(const Position &pos, int pop, int value) +{ + if (pop > 1) { + indPlop(pos, pop - 2, value); + incRateOfGrowth(pos, -8); + return; + } + + if (pop == 1) { + zonePlop(pos, INDBASE); // empty industrial zone + incRateOfGrowth(pos, -8); + } +} + + +/** + * Get the population value for the given industrial tile. + * @param tile Center tile value of the industrial zone. + * @return Population value. + */ +short Micropolis::getIndZonePop(MapTile tile) +{ + if (tile == INDCLR) { + return 0; + } + + short CzDen = (((tile - IZB) / 9) % 4) + 1; + return CzDen; +} + +/** + * Place an industrial zone around center tile \a pos. + * @param pos Center of the industrial zone. + * @param den Population density of the industrial zone (0, 1, 2, or 3). + * @param value Landvalue of the industrial zone (0 or 1). + */ +void Micropolis::indPlop(const Position &pos, int den, int value) +{ + short base = ((value * 4) + den) * 9 + IND1; + zonePlop(pos, base); +} + + +/** + * Compute evaluation of an industrial zone. + * @param traf Result if traffic attempt. + * @return Evaluation value of the industrial zone. + */ +short Micropolis::evalInd(int traf) +{ + if (traf < 0) { + return -1000; + } + + return 0; +} + + +//////////////////////////////////////////////////////////////////////// diff --git a/docs/HAR2009Transcript.html b/docs/HAR2009Transcript.html new file mode 100644 index 0000000..637bd0b --- /dev/null +++ b/docs/HAR2009Transcript.html @@ -0,0 +1,1374 @@ + + + + Constructionist Educational Open Source SimCity, by Don Hopkins, at HAR 2009. + + + + + + + + + + + +

HAR 2009 Lightning Talk Transcript: Constructionist Educational Open Source SimCity, by Don Hopkins.

+ +
+ + Illustrated and edited transcript of the + YouTube video playlist: HAR 2009: Lightning talks Friday. + +
+
+ + + + + + + Constructionist Educational Open Source SimCity
+ By Don Hopkins,
+ Stupid Fun Club, Amsterdam.
+ Email: don@DonHopkins.com
+ Blog: http://www.DonHopkins.com
+ Demo: http://www.MicropolisOnline.com
+ Project: http://code.google.com/p/micropolis
+ Facebook: http://apps.facebook.com/micropolisonline
+
+ +
+ +
+ + + + + + + +
+
+ + + + + +

+ I'm Don Hopkins, and this is the + Micropolis + Online project. +

+ +

+ I'll give you a quick history, and then try to get through the slides + to the demo. +

+ +

+ I started working on + SimCity + about 1992. +

+ +

+ When I saw it at + college + before that, I just fell in love with it, and really wanted to + figure out how it worked, and do stuff with the user + interface and everything. +

+ +

+ So when I had the chance to port + SimCity to the Sun Workstation, + I jumped at that, and made a version of it using the + NeWS + window system, + James Gosling's + PostScript based window system. +

+ +

+ And then I developed an + X11 version of + SimCity, + which was multi player. We sold that as a + Unix product. Then the contract expired on that. +

+ +

+ Later on I went on to + Maxis + to work on + The Sims + with + Will Wright. +

+ + + +

+ I dredged up this SimCity code, and we talked Electronic Arts into + making it open source under the + GPLv3 + a few years ago. +

+ +

+ The argument -- not the argument: actually they were very pleasant + about it -- the thing that convinced them that it was a good idea was + the + One Laptop Per Child + project. +

+ +

+ The OLPC project is focused on + "Constructionist Education", + which is about children learning -- anyone learning, by building + things. +

+ +

+ And SimCity is pretty much the + quintessential constructionist education game. +

+ +

+ But it needed to be + opened up, + so that it can be even better. +

+ + + +

+ This OLPC project is based on + Seymour Papert's + ideas about + teaching children to program, + even when they're very young, and + Alan Kay's + ideas about the + Dynabook + and + object oriented programming, + and + how kids learn. +

+ +

+ One of the important things about constructionism is kids helping + each other, communicating, and learning from each other. +

+ +

+ I adapted the old X11/Unix version of SimCity to the + OLPC XO-I Children's Laptop. + The original X11 version supported multi player mode, + but I disabled that feature to simplify the game, because it + didn't scale well, was complex to configure, and not well + designed. OLPC games for kids need to be very easy to use. +

+ +

+ What we really needed to do was to make a new version that had a + much better user interface designed to take advantage of the + OLPC collaboration features and social networking platforms like + Facebook. It needs to have meaningful, scalable, easy to use + multi player interaction. +

+ +

+ Fortunately, the OLPC project chose to use + Python + as the official scripting language. Python is a + powerful, easy to learn language, + that is + widely used in education. + It's also very useful as a web programming language, for implementing a multi player game server. +

+ +

+ But let me go on: +

+ +

+ Micropolis Project Goals +

+ +

+
    +
  • + Develop a fun web based educational game, based on the original + SimCity source code. +
      +
    • + Focused on constructionist education. +
    • +
    • + Built out of free open source software. +
    • +
    • + Runs on the server, plays in the browser. +
    • +
    • + Supports collaborative, democratic, multi-user play. +
    • +
    +
  • +
+

+ + + +

+ The goals: We want to make a fun game that's based on the original + source code. +

+ +

+ "Constructionist Education" is a the overall theme, but it's not + obvious how that actually manifests itself in a game, and it + takes a lot of experimentation, trial and error to figure out. +

+ +

+ We're using free open source software, distributing it over the + web, and running it on centralized servers. So it's easy to make + updates to the game as the design evolves. +

+ +

+ We want to put in features to support collaboration, voting, + teach democracy, and also teach language skills and + interpersonal communication skills. +

+ +

+ Accomplishments So Far +

+ +

+
    +
  • + Ported and shipped the TC L/Tk/X11 version of Micropolis + on the One Laptop Per Child XO-I. +
  • +
  • + Developed a cross platform, desktop version of Micropolis, based + on GTK/Python. +
  • +
  • + Developed an open source, internationalized, web based version + of Micropolis. +
      +
    • + Client based on OpenLaszlo/Flash. +
    • +
    • + Server based on TurboGears/Python/C++. +
    • +
    +
  • +
  • + Renovated, re-factored and documented the code. +
  • +
  • + Established a solid groundwork and open framework for developing + an educational, collaborative, multi-player game. +
  • +
+

+ + + +

+ So far what's been done: First, we took the old + TCL/Tk/X11 + version, cleaned it up, got it through EA's Quality Assurance, + and put it on the One Laptop Per Child. +

+ +

+ Then we stripped down the code, translated it into C++, then + cleaned it up, refactored it, and took out all the user + interface. Then we started building a new user interface on top + of that. +

+ +

+ I had some really great help from some talented people. + John Gilmore + supported me for many years during the development of SimCity, + and shepherded it through the complex legal process of + relicensing it under GPLv3. +

+ +

+ Albert Hofkamp + is a software developer at the Eindhoven University of + Technology. He helped me clean up this code, and put Doxygen + documentation into it. Now the code is much sturdier and easier + to do something with. +

+ +

+ Tom Tjon A Loi + is a an artist who's also helping on the project. I'll + show you some ideas that we've put together about what direction it's + going to go in the future. +

+ +

+ We're also benefiting from + Kennisnet + and + IBM Netherlands, + who are helping us make an educational version of this game. +

+ +

+ The OLPC has been something for people to focus on, and get a + bunch of people on board to make this happen. But we want + Micropolis to run on as many different platforms as possible. +

+ +

+ What's really wonderful is that I have had some really great + conversations about this and encouragement from Alan Kay, who has been + trying to do this stuff for years with kids. +

+ +

+ Alan Kay's criticism of SimCity + is that you can't see inside of it and understand what it's + doing, and you have to accept it as a black box. So now I'm + trying to solve that problem. +

+ +

+ Open Source Software +

+ +

+
    +
  • + Micropolis is built with a carefully chosen, well proven, widely + supported set of open source, cross platform tools and libraries. +
  • +
  • + Micropolis itself and its TileEngine module are open source + (GPL3). The client runs on the proprietary Adobe Flash + player. With a little more work, The client will also run in + standard browsers, thanks to OpenLaszlo. +
  • +
  • + Linux. Apache. MySQL. Python. Cairo. Pango. GTK. GCC. SWIG. + PyCairo. PyGTK. TurboGears. Genshi. SQLAlchemy. CherryPy. + PyAMF. AMFast. Pie menus. OpenLaszlo. Red5. Java. Tomcat. + MediaWiki. PHP. Subversion. Doxygen. +
  • +
+

+ + + +

+ We're using a whole bunch of + Free and open source software, + building on top of it, and then making new software that's open + source. +

+ +

+ One of the things that the OLPC project wants + game developers + to do is to make games out of modular components that can be + plugged together to make other games. +

+ +

+ So I've been separating out the + tile engine + of SimCity, and the sprites, and the sound, and trying to make + those work for other things. +

+ +

+ Web Server and Client +

+ +

+
    +
  • + Server: Linux, Apache, MySQL, Python, TurboGears, SWIG, C++ +
      +
    • + Portable, cross platform C++ and Python code. +
    • +
    • + Linux and Unix +
    • +
    • + Mac OS/X +
    • +
    • + Windows (not currently maintained but viable) +
    • +
    • + Deploys on standard Fedora Linux server, i.e. Amazon Elastic + Computing Server, etc. +
    • +
    +
  • +
  • + Client: OpenLaszlo, XML, JavaScript, AMF +
      +
    • + Web based client runs in Adobe Flash player, widely supported on + most web browsers and operating systems. +
    • +
    +
  • +
+

+ + + +

+ The architecture of the web version is that there's a C++ core + MicropolisEngine, which is plugged into the Python programming + language as an extension module. Then Python is used to script + the higher level parts of the game, graphics and web server. + The user interface is implemented in the client, which is + written in OpenLaszlo and runs on Flash in the web browser. +

+ +

+ I'm using + SWIG, + a tool for making wrappers for libraries, and plugging + them into extension language. And it lets you get your library to a + whole bunch of different extension languages. So right now it's + Python, but it could be Lua or Java or whatever. +

+ +

+ The SWIG wrapper layer around the C++ game engine is glue that + binds the game's C++ classes into Python. So C++ can call + Python, and Python can call C++, and they can access and modify + each other's data structures. One nice thing about SWIG is that + you can subclass your C++ classes in Python, and then just + script everything in a nice language. +

+ +

+ It's all open source stuff. +

+ +

+ The web server does HTTP and it does + Adobe AMF, + which is kind of like binary JSON for Flash. +

+ +

+ Now I'm doing the client in another open source scripting language called + OpenLaszlo. + It's like JavaScript and XML that gets compiled into Flash. + But it will also compile into generic DHTML. +

+ + + +

+ Right now I'm concentrating on just getting the Flash interface + working, and once the paint's dry on that, I can then do the + parts that were Flash specific using the Canvas and DHTML and + nice open standards like that. +

+ +

+ The intention is to get it independent of Flash, but Flash is the + fastest way to get it working first. +

+ +

+ The other thing I have is a Python scripted GTK based user + interface, for the desktop. +

+ +

+ Internationalization +

+ +

+
    +
  • + All text comes from Unicode XML localization files, so the + text can be translated to support different languages and + countries. +
  • +
  • + Currently supports English and Dutch, but other languages are + easy to add, given translation resources. +
  • +
  • + Web based tools for conveniently reviewing and editing + translations. +
  • +
  • + This is a very important feature, since we're initially + delivering to the Dutch educational system, and we intend + to support many other languages in the future. +
  • +
+

+ +

+ Another important thing is internationalizing it and taking all the + strings out. I would love to have volunteers to help translate it to + other languages. I made a little web based tool to do that. We're + doing this for the Dutch educational system, with Kennisnet's support. +

+ +

+ Multi Player Collaboration +

+ +

+
    +
  • + Designed, developed and shipped a multi-player X11 version of + SimCity in 1993 for DUX Software, demonstrated in Amsterdam + at INTERCHI '93. +
  • +
  • + Micropolis has been systematically redesigned with multi-player + collaboration and constructionist education in mind. +
  • +
  • + Currently laying the groundwork for multi player and online + community support, while getting the single player game up and + running first. +
  • +
  • + User accounts. Saved cities. Shared cities. Chat. Robots and + Avatars. Basic MediaWiki integration. Client/server session, + messaging and simulation engine plumbing. +
  • +
+

+ + + + + + + +

+ Previously I made a + multi player version of this for + X11. + But X11 doesn't scale very well, and it was kind of an experiment. +

+ +

+ But it did test out some ideas of making it a collaborative, + cooperative game, instead of a competitive game. +

+ +

+ I didn't want to mess up the game, but I wanted to layer another + social game on top of it. +

+ +

+ We're all sharing the same money, we're trying to achieve the same + goals, so if somebody does something that pisses you off, you're going + to be mad at them, and won't play with them. That will play out at a + higher level than the game. +

+ +

+ It's got voting for expensive things, like making a nuclear power + plant, or changing the taxes. And the non-expensive things are just a + free-for-all. +

+ +

+ I want to re-visit the multi player game, but first get a really + solid base to build it on top of. Doing a web based game is the + best way to do that. +

+ +

+ Constructionist Education +

+ +

+
    +
  • + The original SimCity game was an exemplary constructionist + educational game, which has been successfully used in many + classrooms, but it was a closed commercial product, not + specifically designed to support education. +
  • +
  • + Since Micropolis is open source SimCity, we can open up, + renovate, visualize, document and extend it in wonderful ways, + to specifically support constructionist education, social + networking and collaborative democratic play. +
  • +
  • + "One of the most wonderful possibilities about this venture is + that it will bring together very fluent designers from many + worlds of computing (more worlds than usually combine to make a + game) in the service of the children. We should really try to + pull this off!" -Alan Kay +
  • +
+

+ + + +

+ I'm adding stuff, like integrating it with + MediaWiki. +

+ +

+ One of the important things about Constructionist Education is getting + people to help each other out, and chat. +

+ +

+ I want to teach language skills with this. Not just how to be a good + mayor. That's not the goal. It's how to write about what you want to + do, and convince other people to vote for it. +

+ +

+ I think it's going to be nice to embed this in things like + Facebook + and + MediaWiki, + because what you're doing is writing stories and + newspapers, and blogging. +

+ + + +

+ The Sims 1 (and later versions) had something called + The Sims Exchange, + where when you save your game file, it also writes out a bunch + of web files, that describe your house, your family, the story + you've told about them with pictures. And then it uploads that + to the web. +

+ +

+ So really, the game is a web publishing tool. I want to apply + those ideas to SimCity, and that would be in the form of a + newspaper. So you could act as a journalist when something + happened. +

+ +

+ These events in the game are generating opportunities for you to click + on it, open it up, and write about what your interpretation of it + is. And then automatically push it into a wiki page or a blog. +

+ +

+ So the result of playing a game will be this rich save file that has + points of interest with stories attached to them. You could look at it + geographically as a map, to see all the points of interest. You could + look at it as a calendar, like a blog. And then all these things that + happened with the story can link to a save file, so you can then jump + back into the game at that point. +

+ + + +

+ The eventual goal is to make it sort of like TiVo for + SimCity. You have all these save file snapshots, and then you + can fast forward and reverse by replaying the edits that you + did. +

+ +

+ And you will have branching. You can imagine that when you play + game, at any point, if you decide "let's raise taxes", you could + make a checkpoint there. And then you could revisit that + decision, and then branch reality out to another thing, if you + didn't raise taxes. +

+ +

+ I want players to be able to make a tree of possibilities, and then + share all these save files, and then comment on them, and write about + them. +

+ +

+ That's where the educational stuff comes in. The teacher should be + able to write scenarios that plug into the game, that generate events, + and give people things to discuss. +

+ + + +

+ Alan Kay said some really wonderful things about the project to + bring open source SimCity to the OLPC: +

+ +

+

+ "One of the most wonderful possibilities about this venture is that + it will bring together very fluent designers from many worlds of + computing (more worlds than usually combine to make a game) in the + service of the children. We should really try to pull this off!" + -Alan Kay +
+

+ +

+ I'm looking for volunteers. I never thought I'd be working directly or + indirectly with Alan Kay, so it just blew my mind that he was + interested in it. And he's very supportive. +

+ +

+ Here's the long term goal: There's a game, and there's a robot or a + monster. You double click on a monster, and it should open up a window + that has a visual program that controls how it behaves. +

+ +

+ This has already been done in the 80's on the Apple ][, and it was a + game called + Robot Odyssey, + by + Warren Robinett, + who made + Atari Adventure. + And it was so before its time. It turns out that it is one of + Alan Kay's favorite games, + and that he's + waiting for the other shoe to drop. +

+ +

+ Robot Odyssey taught + visual programming + and logic to kids. You go inside a robot, and it's a room, with + plugs and sensors, and you have logic parts that you can bring + out, and make a circuit inside that robot. +

+ +

+ What I'm trying to do -- oh I'd better get to the demo -- is do this + within SimCity. And with a visual programming language that's just a + layer on top of + Python. + We already have Python. I like Python. It's well designed. I'm + not going to try to invent something different, I just want to + give you a visual way to get to everything Python can do, which + is anything. +

+ + + + + +
+ + + + + +
+ +

+ Educational Applications +

+ +

+
    +
  • + Encourage creative writing by blogging, twittering, chatting, + debating, writing and publishing newspaper articles about + events and issues in the city. +
  • +
  • + Teach democratic processes. Writing proposals. Campaigning for + support. Discussing and debating issues. Voting on bills. +
  • +
  • + Publish wiki pages with interactive annotated maps, timelines of + events and creative writing about the cities. +
  • +
  • + Open up the simulator to enable plug-in programmable zones, + tools, robots, avatars, events, policies, courseware, etc. +
  • +
  • + Teach older kids to program Python and C++. Implement a visual + behavior programming language (like Robot Odyssey and + SimAntics). Teach younger kids to think logically and program + robots (like Logo turtles and Lego Robotics). +
  • +
+

+ + + +

+ How does Constructionist Education manifest itself in something + like SimCity? +

+ +

+ Creative writing, blogging, twittering and chatting: and all this + social stuff that people do. +

+ +

+ Democracy. Writing proposals. Trying to get somebody to support your + proposal. Publishing things into wikis. +

+ +

+ Opening it up to enable plugin programming. The first step is to look + at the code to see how it works. And then tweak it and change it, and + then make your whole new thing. +

+ +

+ The teachers should be able to write courseware, scenarios, + teaching events and educational content that plugs into the game, + without any programming. +

+ +

+ The older kids and adults can use existing examples to learn + Python and C++ programming. +

+ +

+ And younger kids plus everyone else will have an easier, higher + level visual programming language in which to discover and + customize the system. +

+ +

+ That is version three. I'm only at version one right now. +

+ +

+ Next Steps +

+ +

+
    +
  • + Shared city library. Ratings. Tagging. Journals. Discussions. + Linking. History browsing. Sharing. Voting. Profiles. Friends. +
  • +
  • + Text, voice and video chat. In-game chat with avatars on the + map. Integrated video player for help, tutorials and + lessons. Integrated html frame for synchronized web browsing. +
  • +
  • + MediaWiki integration, to support creative writing by students + and courseware development by teachers. +
  • +
  • + PayPal integrations. Donations, subscriptions and + micro-payments, for virtual money, cheats, high speed + simulation, extra storage, fund raising, etc. +
  • +
+

+ + + +

+ I have the web server and browser client running. I want to put + in sharing cities, tagging, journals, discussions -- you know, + the whole social net thing. It occurs to me that maybe I should + just let Facebook handle a lot of that stuff. I'll just make a + Facebook + application. +

+ +

+ Slow the game down a lot, so your Facebook wall will let your + friends vote on things. I'm getting ahead of myself. +

+ +

+ MediaWiki + integration. Take well known things that solve a problem + well, and piggy back on top of them, instead of trying to invent your + own things. +

+ +

+ PayPay, so we can pay for all the CPU time it takes. +

+ +

+ Social Networking +

+ +

+ Tom Tjon A Loi made these mock-ups of what SimCity might look like inside a + social network like Facebook. +

+ +

+ Identity +

+ + +
+ +

+ The important thing is that you have to have an identity. It knows + about you. You're part of a community of real people. +

+ +

+ Voting +

+ + +
+ +

+ You've got friends, and this could be a Facebook app. If you add + the app, you can do all this stuff and play it yourself. But + even if you don't add the app, you can still see and interact + with what other people are doing. +

+ +

+ Citizen +

+ + +
+ +

+ It's all about showing other people what you're doing, + explaining it to them, discussing the issues, and getting their + feedback. +

+ +

+ Journal +

+ + +
+ +

+ You can have these links into the save files, and people saying + things. I want to make it so one game might last a week, and take + many little steps. +

+ +

+ Community +

+ + +
+ +

+ What I have already made to prove the concept of plugins, is plugin + zones. The first plugin zone I made was a plugin church, because + that's controversial and will upset people. +

+ +

+ The idea is that I want to be able to script churches and other + zones in Python. And create new zones and content for them + without even programming. The other plugin is a plugin + character, or agent. Like the monster or helicopter, with + programmable behavior. +

+ +

+ Chat +

+ + +
+ +

+ In a multiplayer game, there could be several people in the same + game, and you're all on the same map in one place, and you can + chat embedded in the game, with collaborative editing. +

+ +

+ If you put something down, it would open up an interface that + says: "Hey, Don wants to make this. Do you vote for it? Yes or + no." And then have a chat associated with that, where you can + discuss the issue. +

+ +

+ Squatters +

+ + +
+ +

+ And then imagine + other people could come into you game, + and they find: "Hey this zone is not developed. We're going to + put a coffeeshop here!" +

+ +

+ I want it eventually to be open enough that other people can come in + and effect your game. And of course you always have a save file. +

+ +

+ Micropolis Demo +

+ +

+ There's a tool for doing translations. +

+ + +
+ +

+ The source code, designs and documentation are all in + Google Code. +

+ + +
+ +

+ Ah, that's the robot! I wanted to + show some code. + This is how PacMan works. He follows the road. +

+ +

+ So I wrote a plugin robot that you can put into the city. +

+ + +
+ +

+ I'd better get to the actual code that's running. +

+ + +
+ +

+ These are the different scenarios, we could load, or generate + something randomly. Here, we'll do one of my favorite cities here. I + made this city. +

+ + +
+ +

+ This is a neat kind of a + lazy tile view. + There are 120 by 100 tiles on the server, and we're telling the + server where we're looking at. And it's sending just the tiles + that we need to see. +

+ + +
+ +

+ Things that happen in the city get logged, and there's a chat. +

+ +

+ This will help you figure out what you need to do to improve you + city. +

+ +

+ This is a history. +

+ + +
+ +

+ Here's the nice one here: we can raise taxes a lot. It was so funny + because the taxes in the Netherlands are so much more than 20%. +

+ + +
+ +

+ We can look at the population density map overlay. +

+ + +
+ +

+ Ok, now here's a meltdown. And when you get a meltdown, the notice + window says "Hey there's a meltdown!", and has a live view showing it, + that you can click on to go there. +

+ + +
+ +

+ Now this little window up here, when something interesting happens in + the game, will show you a live view, and tell you something. But we + can also have a link to Wikipedia or whatever. +

+ +

+ I want to put in more educational stuff. Like the church says "Hey, + did you know that Scientologists believe this?" and "Click here for + more!". We can think of the churches as in-game advertising. +

+ +

+ And then if you have too many churches, you use the bulldozer to get + rid of them. +

+ +

+ There's a speed control. I can make it go super-duper fast. And + everybody just left. This is more like a twitch game. +

+ +

+ Let me do the cheat. Ok, what is it? I just added this, so I'm + not quite sure. You go "!faith 1000". That makes them want a lot + more churches. Woah! Ok, so I'm getting many churches. There + goes the tax base. +

+ +

+ I've programmed a plug-in church with a plug-in agent: the + Church of Pacmania, and the PacBot. The church spawn PacBots on + the road next to it, which eat the traffic on the roads + (lowering the pollution and raising their score, of course). So + naturally the Church of Pacmania generate a lot of traffic, to + attract and feed the PacBots. I'm going to have a "Tax the + Churches" option, too. If I lower the taxes, then more people + will come in, and the churches will recruit them, and they'll + all drive to church. So then there will be a lot more traffic + for the PacBots to eat. +

+ +

+ Oh, I ran out of money. Let me do the robots real quick. So this is + PacBot. You can put him down. Oh, I'm out of money! The fastest way is + to just refresh the screen, and start fresh. +

+ +

+ We'll go straight in, we'll get rid of this. Oh, pie menus, right! If + you click... (Dutch "Taartmenu" cursor pops up!) I've got to have a + talk with my translator. +

+ + +
+ +

+ You click, and you get a pie menu, which has items around the cursor + in different directions. So if you click and go right, you get a road. + And then you can do a little road. And if you click and go up and + right, you get a bulldozer. +

+ + +
+ +

+ And then there are submenus for zoning parks, and stuff like + that. This gives you a nice quick gesture interface. +

+ + +
+ +

+ The one I wanted was PacBot. So if you click him, that's running + Python code that is looking at the map, and is looks for the traffic, + and it goes up, up, up, up, up. See? +

+ + +
+ +

+ Wait, you haven't -- hang on, wait: you can have lots of them. And + then they compete. You get this wonderful emergent behavior of PacBot + looking for traffic, and then the other PacBot eats it. You really + need to zoom this up a little bit. +

+ + +
+ +

+ The great thing about this: this is another game layered on top. You + can make your PacBot maze, and then you can torture them. They'll go + crazy, it's like a lion in his cage here. Ah, caught one! Ah! He's + blue. Let's get him here. He's not going to be happy about + this. Where'd he go? Oh oh, there's a menu to get rid of him, so I + think I deleted him. Here, we'll put one there. He's just going nuts + there. +

+ + +
+ +

+ Wait, where were we? Real quick. Where's my iPhone? Did I leave the + phone down here? You can't see it so you'll have to believe me. +

+ +

+ The first multi-player interface I'm making is an iPhone app, so it + loads the city, and it lets you zoom and run over it. And I'm just + about to hook it up to the server, so you can come into the game as a + helicopter, and just tilt to run around, and then just chat. +

+ +

+ Eventually I want to do the whole game on the iPhone, Andriod and + whatever else. The first step is to just get presence and chatting in + there. +

+ +

+ One interesting thing: Micropolis is + GPLv3. + So you can't put it on the iPhone, because of the + anti-TiVoization + clause, which prohibits using hardware restrictions to prevent users from running modified versions of the software + on that hardware. +

+ +

+ But it's possible to have the simulation running on the server + and a client displaying and interacting on the iPhone. I think + it's more interesting to have the simulation running on the + server, in order to enable social interactions; and anyway + there's already an authentic single player SimCity that runs on + the iPhone. +

+ + + +

+ Any questions? +

+ +

+ Q: What's the cheat code to get money? +

+ +

+ Mike: War! +

+ +

+ Don: That's what churches are for. +

+ +

+ I encourage you to script your own church and plug it in. I'm totally + going to have the + Flying Spaghetti Monster, + and he's going to actually convert all the other churches to + Flying Spaghetti Monster churches, so it will be a moot point, + and there will be no war. +

+ +

+ Announcer: Please thank Mr. Hopkins for his nice solution to the + traffic problem. +

+ +

+ Micropolis on Facebook +

+ +

+ You can now play + Micropolis on Facebook! +

+ + +
+ + + + \ No newline at end of file diff --git a/docs/HackingAtRandomTalk.txt b/docs/HackingAtRandomTalk.txt new file mode 100644 index 0000000..6103b34 --- /dev/null +++ b/docs/HackingAtRandomTalk.txt @@ -0,0 +1,93 @@ +Micropolis, the open source version of SimCity, is a fun, engaging +game, that helps teach kids about science, language, mathematics, art +and politics. Its goal is to fulfill SimCity's potential as a +microworld for children's learning and exploration. + +A web based version of Micropolis is the best way to quickly reach the +largest audience, and an important step towards the long term goal of +developing an open source, collaborative multi player, educationally +oriented simulation gaming platform. + +This project is about creating educational open source software. It's +the culmination of years of research and development, that is now +possible thanks to Electronic Arts making SimCity open source. + +Will Wright wrote the original SimCity city simulation game, first +released in 1989. Since 1992, Don Hopkins ported SimCity to various +platforms, redesigned the user interface, added multi player support, +cleaned and refactored the code, and integrated it with scripting +languages and web servers. + +On January 10, 2008 the SimCity source code was released under the +free software GPL 3 license, under the name "Micropolis". Now that +it's GPL, it can be adapted to many platforms, including Linux, Mac, +and Windows guis, as well as web servers, cell phones and embedded +devices! And it can be improved and extended to make it a better +educational tool and open source programming example. + +The Micropolis project is building an exemplary open source game out +of modular reusable components, that other people can learn from, +build on top of, integrate with other languages and user interfaces, +and use as a starting point for their own projects. + +The plan to develop Micropolis into an educational gaming platform +draws heavily on the vision and experience of educators, researchers +and designers including Seymour Papert, Hal Abelson, Alan Kay, Will +Wright, Ben Shneiderman, and Mark Weiser. + +Accomplishments of the Micropolis project so far: + +Translated the original C SimCity code to C++. + +Cleaned up all the code, organized into types and classes, refactored +and rewrote old crappy code, renamed variables and functions, measured +performance and optimized bottlenecks, applied a consistent +programming style, and heavily commented the code, wrote lots of +documentation and designs. + +Used doxygen to generate extensive online documentation from formatted +commments in the code, with an html reference manual, member and +parameter descriptions, usage cross references, hyperlinked listings, +bug and todo lists, etc. + +Removed all of the user interface code from the core simulation engine +(called MicropolisCore), and added programming interfaces to +efficiently access the internal data and control the simulation. + +Implemented a general purpose TileEngine module, used by but +independent of Micropolis. Supports various memory formats, efficient +rendering techniques, graphics sets, tile mapping, lazy procedural +tile rendering, scaling and panning, caching, and tile animation +compressed network protocols. The CellEngine cellular automata machine +module also uses the TileEngine. + +Integrated MicropolisCore, TileEngine and CellEngine with Python by +using SWIG, a scripting language interface wrapper generator. SWIG +makes it easy to develop and change the programming interface (C++ +classes, etc), and automatically generate all the glue code that makes +it possible to access and control the C++ objects from Python (or +other languages). SWIG's advantage is that it makes it easy to plug +the same C++ code into many other languages like Lua, Ruby, Java, etc. + +Implemented a desktop based GTK user interface to Micropolis, which +runs on Mac, Windows and Linux. The user interface is written in +Python, and based on PyGTK for user interface widgets, Cairo for +graphics, and Pango for text. + +Implemented a desktop based GTK user interface to the CellEngine +module, a cellular automata machine simulation, which uses the same +TileEngine as Micropolis. + +Implemented a web server based OpenLaszlo (Flash) user interface to +Micropolis, which runs the simulation on the web server, and displays +the user interface in a web browser with Flash (or eventually any +mainstream DHTML browser). + +Internationalized the web based version of Micropolis, and implemented +a web based tool for localization, managing and editing translations +into different languages. + +Implemented a MediaWiki extension for embedding OpenLaszlo +applications in wiki pages, so you can write Wiki pages including live +playable views of cities. + diff --git a/docs/MicropolisHARTalk.key/Contents/PkgInfo b/docs/MicropolisHARTalk.key/Contents/PkgInfo new file mode 100644 index 0000000..b0bc8e0 --- /dev/null +++ b/docs/MicropolisHARTalk.key/Contents/PkgInfo @@ -0,0 +1 @@ +???????? \ No newline at end of file diff --git a/docs/MicropolisHARTalk.key/QuickLook/Thumbnail.jpg b/docs/MicropolisHARTalk.key/QuickLook/Thumbnail.jpg new file mode 100644 index 0000000000000000000000000000000000000000..50dcde3cfd9a8ce31231c905b40e1364902a53e4 GIT binary patch literal 107178 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

=g-VgX1qg$GosQFYsM!D}lg( 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/color-profile b/docs/MicropolisHARTalk.key/color-profile new file mode 100644 index 0000000000000000000000000000000000000000..fe74975d41381f77670ece20e2ab46ff14055d30 GIT binary patch literal 54500 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�qZe#CG5YRW5eLZ}qK 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

S0ZsyoStu&%2|NR?lN(!vY7e4)z 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/presentation_micropolis2-5.jpg b/docs/MicropolisHARTalk.key/presentation_micropolis2-5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80bcb5c9cd3f6e28cc9b1967dda57c3c744d974d GIT binary patch literal 362278 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

P0@N8jg`*?fiK{#VN`G_c-v0-Y|LZgE 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 OhtV_uO9S@*Zvp_=Qcd{) literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/presentation_micropolis3-3.jpg b/docs/MicropolisHARTalk.key/presentation_micropolis3-3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..68025b1ace99263ad0e2fa89c892311d438d107e GIT binary patch literal 200358 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 TzFuF);HwS%U)TWpukrr?b2=NM literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/presentation_micropolis4-3.jpg b/docs/MicropolisHARTalk.key/presentation_micropolis4-3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b3d56ad9ab8c56aa736ccbcd0965e89529aa21b GIT binary patch literal 181647 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/presentation_micropolis5-3.jpg b/docs/MicropolisHARTalk.key/presentation_micropolis5-3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7f6956dbb68d4a7da8ec96d86ac71e160f91a3ed GIT binary patch literal 156541 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

jBd9iu3@0iqwi0<@ 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/presentation_micropolis6-3.jpg b/docs/MicropolisHARTalk.key/presentation_micropolis6-3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2edae3d43cce85b6874427c2fe1da3046e17566a GIT binary patch literal 171605 zcmeFZc{r5s`#(IQ?Aekcrm}@l_K;~qs3wFMOeKVnePqmCWZ#NV#8gNWlkDr*g(UkH zW(e75EMu7Mx!>RQ_x*f7-{*Lq-|>6?c#h*eb6jIw_uSW9=e3;Y`Ffq_HLOt<0U~H> zWMTwiV}n50z$b)7gj_I0xw$|f*RMkqArJ@`ge}Sq!U4VmuR_GZ0)gy%yYJs?IL^Oi z|M&Oo|8kKv0l5se_rE^&vG4oq!T#5iOv{hS_BjAO@gd)KiDDMS2!ee{I)qwpGTJhr% zjJFVKz@g4}V`^z!bzy_4FeIqbH&JF~rEd^L_C^Xo8pHO%sfo>q2?m zjZC1n{diZblJdhAprlPjH)REJ$=Fl8H86cin>nEe|mr$gKcaX$SML9h?P` z%3(@4QFK|5oB~ERjP$i1pl$=10_o5lk&Q#aJ}ih2?8JX*PJkLy&VnqoVkkiF4qdBb zC4dDnwxsC;MCV)S)K(+vf2Hz`)@7%Yr8-z{x0l~3P9yy zLC*Z$y}w8A@3nWr`0uUpw_^EQE&pvb{^COutWLjMVsetR z=%

VNY!i?X-(A0X!>lGN*61J8-#Je`5sU8r46ii?mQ*6VE=H zdlQ6Afft4z-E(AznyKfB4?3gp%j-O+-q)3W`DYv|HHyh&860$%wvRcYtz{!(_e)^k zQcQ!EVw0WlXZ5wu#u zGBy-iWGp&2uXUjeOdAH8nsCKv@M}1Zfn?+p6wIh*`12O>S+-_kyIck$RJC>SSko=x zQQEbeCkVjfhLEFeyVgj=(l+_!tY(d`4ZPRE!1dGRlkGEiSKWT5B!#GxGh+P;jPJ`F zzI3sP<9fxSLqzB)VR`%@cn8(aPSSh>}J|;0MRZG&I$?J$L zu5%+UBg|@}`c-o4$`$;Cd!)vsbVjp2tEV0@sP|~@re>=4c$o1=wi;PUhqURHySnb2 z7cdridGCw=kX>0u+*p0N0s4Kc(l33&fA;dP-qLI+>Wr`k9n7R%Wm1`USbD?0(mJY- zw_CtRz-vk5wvueO>5E+#9p_(uybH&j603`^VGI&&jBdwY8N4ewG3GF_`CytqvLHSq z-&8wgOnRnJX=|EN3=Z~n%pkU;ve^uq022#F%Gaa_7Z%9m#EU!%)QOzrPHu1Ud!X-6B1=WW8v+Pf9pm6yx zHyl-ZXVr-&j}|AxI$*K7*d`iwKlO&$?cx-ZVXxw~nCfgj6vc>AQm{K`KNoobt~qnB zDqXc{CMWDubZp_uOTq%d!}^l%sIu-=dQ+(y*eZBd;zR(IF-KXR## zSBqDE=y2tiTf2pu*PzuFE%EbV(b-RyIbyDI=~F8h?>^+81Qz6A12}DHpf86m#)356 zWs z8nlC+v|0Tg-zUM81RLf6o6Iq$f*%MgVQT!dR+GlO8SJ;fegM12L7LhvmIc9<(1C9( zh+c*gLkRzmy*H-o(wN+27Q`rtgamu%LaD|?#kD<;x0b)wm9;6Ts9@;`3GZZ#;oHyAGPV} z3_9R6zoJNdeu#Fr^Zls`jB!@xBNb_dmR=#<7w%f)3_FLq-UXi6Jp@54qE3588P=M- zT%&^hWa8l?-0pgv#%3cAwa27xiP4o{QPW%U4`4gDkJ`L@)@FS4;Dekbp(vD_Zw00j)B^l# zYv4vD8cv+tH{5HPJ#9N!blN3toLg?=aIl41>qni&d%;`9)_8kR zzEpr@u7@1;uqUras9;3kWaS3Er5f3c9~sSyPG%dq8Io<+gm+)l93O!pu}>Z7q%ptm zj`D2J3J{#ezD;;yqdOK}en1~is+1dY;2SDqe%=#i5jC!3s;86j8GT)}a-#d~|e5*f3`d-QoSvH!v(1-IhSD=*dHnqDcji<^d1<#tv-fvaSM@e*(z z)Au3E6Br58tB7~*$%_N0#UG4ldJBD;M}%aa^AbpP0Zzrsc8J~_$HLjOnT^pex-NDV?7z((`Gbuy9aCr2@!JBY z6NWze9(8$EyZMx*Rek+{a`FfbxFLMfz9TSt-#2p3 zYYWTGq|?Qw6`Y&bK{2-&G5Th-K+I2Zpm|x+XrTpjfW)Yz;A6|9pI@bjKd!p)JbdHz zd?5D`eSxfRC)EV-Etunks_@eV8D={^`2iZ+r6%W<>(`3%Ci+M8zmG&J%~e$q#p>or z6S!SO0ckrmbuBMQGBVRS_~UfX&hg5a{1?pVwm&Cn35#uM@wz@fQ ziwMKGNXzr&JVowX#**xNsd6LHh*l}l;ehp{)NrG#`3@ru0yR}7Ls|tVH4lFFk<$u4 zsYq|pIX2Qv)OTuI(3IQwRT$vbwlom5n|C;6qt+m?a^KI!b|ta+c)2|UyzK*Xmg>L! z?Oe|TH(etfZi-*;Vt;@`khxbH#k$|23m|auVp8{FXndH?%OF~yxuBMoXhs7Khv*XJ zwN+%-nA3Ear)0dH^UDzqgj_Qw1;<`?ig{?fD!9`E= zGWn=BMtybS6&2!MNgr|_qciHazklL8IkWP~bm6qaTkV+QR`(EX-XVjIm!$(v;cToyrLG7lhZ4_G-o;(&<`s?AEp+)Mc=1N5WcCRg+dNu zKmQ5x%2>k&dj}m$;vgS&I+#E!xRq2_bi~=q2$lw=D%z|#+@%R&2JI@J)XD6mpq0oy zvDCQccH;N12)l3V$0`zkC(m;`Ir9adExST*&G zrZzO07|0`);|L~q6HNd! zn2r_3Xdzy+Aa34qfrl;Zm$ddYY8b;YA1;IqANa;$cWKJ9M2NX@srafhZ_+{{SFhsz zb4-=;V;Y~X7sg!DtNf8&J0_DgiG8;R2s)F#e;q$lU}YIQ=ZPmxbUVO_Q3z5}T%EdT zeMd~4{0x@ADJV(qy77&w5?j9kw-<-BiT2w-es(2sJrXHtAeomGT?XStU!!`=t{Uh) zi=>R}(aswUqgvXD_JWtC5AdBk%5i68cM~&>FEzr_G%@1<=n#WiIf^o#0KRT9EQa9+ z$CF*LD|^q*{6Zl11qWW%i5BU8$gy!9v)L#mKQQY)^l0c*h~jhmiAjwNI6_HdyuV{X z->g~q+XPh$bmMM#UT>^B&dKJA{O|OcqC7wje(m?1GD~XDH`Y zC5{?7X_Z_v6|`4ZRF8j@{{z%|C6?N)!|##_4ygX?T{qkn^5}&>b{2;yy1?MKI|Y^n zNv$E;TFKT8xCT66_=~B|g2W6me#_ntvit?TYzTlDzH)&s+)XfEO(7(NSoi6x5~m}l z%lLBz%gOg6Hsg~=H_Ge8#L~}}TPb$sX8$kqr8 zasVuy7Z{&`6@j-b$RFC$Hk5kWl`b4a%zi=YZNryiSNe!%0{fORoR>eMYFq3cp5*1f z)B&rnuXt)SDi@_UDae6psbDWgcH;@-EXXdD1@VB=*#E%x4ED-rew=P5Cvne^Q3zaw zsVb@g1tKbqJzTYsS@Q6=(n1Z7;IiQ!-_orRChsn&LO6DYSdbN;pZKkZsdQMITadnX z&>1@ixc8kfvlwBmfT!Gzu6NG7%~pG)-Uj$VNe=bw4rJFAWw8jfYOcG~ak6SmT`+Ni z-=Mi)U1KC&?Z@IV^N+tv&q4$qZ-EF^UVBB103W?fac}raeF}|KZIGcZ{dC6*YI^i4 ztiHcx1eB};=__d;?S(PcPN$>RAqMJCt2PB1>F19AIJPZsZF=TL&nKfbN}$<*b^p3I z5MAY)FF2p5u+etW(Hd{#4C;9%dlMh~KCbhO2QF6oUxz*Y^~PozPqKg|!AjRVyvMa$ zbvssiNKuV=KIUPn$M-K`puw`ameS_O`8|E3`Kh^8bgStht=`uSuH*QDAiD50lUtjV zLJ$M#!vml(m?LC~&2X;r&(L%NENaSY94AmW&fU@v9R69QK#4Gty8rvIK-O~}_TuzU=9wZU zl*-(M>(*nR)cFPHvQZGLvb3QV zwh4<7|5N78NyWFOjfhPhBPGSw89KXRbv^jC<|#TQBYsBlVr0#|a&Y+tF`m|)r+Lu5 zN9rz;FAdM^5P&9B5l%DYic7RddTAO>IYp<1D>~LhcKo7ZY_*h&G36-j655+857L=E z;|r}lt}THWNop{OdFtWTD({8Tu%DB^Oq-QL5Dy~14VDUZHdaj9qWBMOms2L!J}1qyGx>j5!zXxW^(~Z) zPs0RUjjcHj-7UC%UuZPRl+gkzeWWY+Do>akzeH{ zbrARWHsQy$n;&2Oi8k?6sNB@_R9U;9%^Q_0D7^5nqV`Js`>UObzQyI0;Jkv%?WGsp ziv_{`Wv_2kq*B{`GH&%$wQyV1bDFyQ-+H^UGJw#`f&1@aL(+*S!oDqE$}-g1==o6d zXU{*hkAAezP?QnkMEdzYRsmvec<7%MFE&Hya8i+t(jAb$y+Ht946NDyl`2)pdjxXG z&;Mt}tjZuV`3d+Du;eu@hhN|}JaiMh_g@S069{Ckc<-9P8u5FZBf!>30P>~i9v+-x zBT%puIw%wFd=LwAJ;-YF*dshq0#sX$g}@@;HWgrin4YP_f-GKTQXaeqNh4U&;`9GX zi~a`~{civjH_yvFXbqBGaLQ#6>Eb}7dp!bxm(!bormpD?1?D$^B1-0D#(cr`)yaaC zQWW>HD&wSaw-1gUr$onZ;= zLm>Hy(_hxloQ2J&|jrv~#R zs1nt;K?XXQ1yMLf1v_(RT@Y9-T*BAwG5KJGDC|aZQW%nQ5bSP7@h4g@ZVo4f{~Z8l z)*G`Rrmy#QB3Y0%5f(&({{AoiT@LdE`~&&Nf>r{T6F8hNG0YLkVA73uAhBn&J36u_ z4>W;DXbw7E-oc2`jbc7gqOW-TPk23$1>pmJf1qoCm_G?b@%>dE(Z#*Qx;_N`DmB2z z=k%kC-ZT7KCNhCMA3p^Mx!glRASUu}MQP=pcU6rr0cNvF1s2&nk2@<8Pnb$cuhtSSR$ntKs&+Cg0yFPd6)9dck2$9RRIu(u8*ltkktx;F~G_s01kyFaR(mlFFWz2FdoX9uOPytOaudLUFQr$(x~%cd_?@CPQfx z;I8WU{5dgSY}EKzM^*Xrq+z@O=w}pYNatZjPGP_?;5Mlt?Vi_Wq;%sa5^3n3-JLc} z7jp~{Wpben8Ob1|K(hYxHb(a~pjZ(q&5Tuq}B|(-}|j zp1=`i3siCo7x(x;22++)T;jnR^%kw-#HYUn<^i`z4FFKD^h=^#TatAyRj^L_M!j1&d#RM*pJECEP ztm(tjBzx^0b2stGl#k2ih)5StHHos|u_wRZYo|*G@=Ay__5hs0>o1b*SP(_CAX+-kUMJIAUc}Z5@h=qzG*i^bYToBhETXVf)>P3zEH0zHF;~ z_u|RHYOBp9R=UY$1cqw3@2tQ@NGqts+_U~l9cjZskArGF2I<2rNVtb){Q)gTFxsG~K|8Y?W!Z zY`{y7AFc@<{~T9wRkk9l!v4e$?JM_q3NsBfxDPCK%W>?E{*`n8HhzC|bLe76LG?&bor4XsCo92KOmj_$e(>iBX`c8s8c;4&TaFL3EZrFNe<^k!|ss)u&4vSpxW zQIbTg{HwcPyt3uWwGWTfO0I@XKB!rDq9GYifZrV~$bB45zDA7s;xe*hoi1iI1*e`` zXgjm^z2t#7&qsMZ<58!F0vD6vGah?IjEDw3v_K!s3Dh9Q!x(k+sr~>@?MB^W+FF$c zCkF^=Q--C_)O0o8r9S<3{K>^5n)D1%qKEp|iMS&`(b4yB$lWIoLWngaFN3Q;-VkOH>UoJQfP*IZoEyiRG} zcbg2F@j1X~>1;>iss!aCBYi6iISXqJRka$xK>rBZPuQc9;E{;n!|jl7fBGY>IRr04 z!nic)FMuX@eM{o>VW8nF3;rlwjd?GN4{L2 z^_9B|t$N9%H}<#QSvmH8p7Cx!^07s^rBh@4rDVMbto}WU4io{e)>}jPyY!93C)|Og1_`O7Rl`nX ztA)sW!)57x>zcPfwanl9>h`70{jZ6~)Yo>yO6=@;6AFmdsuGtqa%AR2y9N;!K3-j_ zWw?fJR~NX@-P!hAr*1X%JlMXT+aFlZP-Ysh8NDp+$XhI#6!vlo(@Z%Z6aisYd*l!7sDYmQ&rT1Iki2h|NCZ1E#_@^b2xiCRooB=|H|SbM#m1A__N=&Vz3xg z7g?}!wB60XY9v4Ru~Ra;+yP#j7%7WR?8A`_H_$7+5pG@uDz9Yv0Z)BX!}5ko{YT@7~SflVcvHORJ@H) zlYWF#b$p~JPQC0jJ@z7TPRfz#Au|phCM9u~ z2PTJ2q~kv&>Dr8mzedU0uo=zwVq1d0R~gHH|N79AyS@H~vuM}0Z;~9%){c?!*nYX^ z5wBjyU7yj%FZ^dcYKu;B-=~tNJEPO z!LLI)K1jx96Aq%;!2?p~7=ffXTB1F4?38{vp7b1sMyuSvQ1{ z^iX?Cwu$`?f0*&zrz)WIt1;X6{X=#pw^d&qQcQSOs?Ow}0Hd}~==*1J*|YPwm9 zH{7D%U!yVm zTN9G>Kk6-h^&WorCE?0k(3z%N!AGRdxHHG0rGqR8NT0NjjR}D-Wy~8Dj&Y!7K zma$EmSpsVa=7u%fLZwc`OX2U?X1-=lM3TL9e9p_hA0(gj@_g$a+e+uISsAR`gQ4=8 zmEL!)uKtQnu1`LX$PjbzMMDg&-CbxGG+Li?#``H4_m`uFl7m`y93{x|El9x@kK)l^ zDzk!-{%&W-`f?;vqYlP@);WnEu!J|13~AI#nqAA5$kH}{Dqoqb#$zJ#@xF7%5ygw5 z^!uQG2N(YXC{=!ERr?bP(Sd~21$;!6Ql5~=4(hiW2K+sux9YvG9UU+I)g?Wt!Otw} zvsY6;p~Gdflth))rXO}CvLMeeP!xjV#wf14EFS?6Kb~}hG!nmNHD8v|d0^C2^T16z z`Irk=-Xz4wzUvbG1;S%$QmV_b;Fotc6;WGidEejOs@XKgGY6q03xFyQG~&mVX3|?!!#*szI3uaoCS-fVv)$Gy zd1;t4X9!C6#^C3ogAMtQ2 zL}1lM%^oFb6o}}Io$Nd**9nb(ij;3zmhLeqiYj{AYFguCQR;Q}vAk^2>hP}yN7wSd zwlRTGbo-uy;^Xr7*C`IT{vBO7RcqW+0dVymKin?&WI1h0qtfF!7-&u&NAD93t(2ke z@H>KJ3a7yBr5#uaXZYGmn(KhZbhO?5beejEQ5il_ZEDKt?Lw_GV1Oi0+$dbStt5T?8zFW}XPPsbsG=C@ zZIP0C)Ku-d(w3=NrP^?3z5ltY5Fs<&&M6)dQ+H)s#^N4G8D&DL+6TLDrBL2e$saGI z08Zm5?i1AyC9@x9L{vYM8asI|n!=AP$CK<;ca7HD*Y_A8XSwX=h@^3$x|!TrG+DY8 zNNp)&zE2C6_4wIT4PaX_O5_ivGZG4`&S~85D=G(usk=9OPV&as8$-sQoV(|ccpBUf z4-C}M$H`H2k?vWoaH4ALG=H6W@#NHl1ktpt;xWhGQw}%!UVZlY_G9#>Nh4w3V;*8p z$&mV*O7pDrrAOgeN`8hP`aP^`kO6Zp{&yZ2D|ag0Ouh0uM{jHr=^z$@aV2dde`?18 zgjbKD?eNh!Cim{l^ccPg!$#`p5QwMD!$myo7Gfq$a{X(K|;D$qa$MsN1_@JCn)p+AdF1QI}}i=LwW(XVDh6IOIY- z_ITrSUQP4r*U1P?7rC5i7a}(8+nN|-EjMpZEjj8-Ml_4s|??@(A;nY z)N7BK159a9sdqpjQ&dDtHYa#&)bEq6`Mwv4^)_Z?E$%<=ZBP3OEiBpBCGNc>GBn8tHb-yu7dT zIlBVvt<+iY8?!OJP~kezFzpwh+RRL<&tP8A44C7VW7BR1G6Q9wLJ|-c>cZirWiC}; zg8Q7G)#rMayKwBk%YrDY)!K2=MZ*bFFKCvSR`K%u$Of5lOb@=qHGEr@Z^B(nOKWpE zV{6CG?sn+AA`5R7neT%1Y!9L8QHnXS`}~adQO##2G_BRH9g3+LVrkNvK=jDP%`*(s zoo&n}LUSt-eq~z~amoGjAj9rMw$1?uK7vuIF@4aH`V}D%?n?!(jLehPaQ+S2{r$@O z9^`I}BX%W+^-!gyk=`1?CG(mp`-7)J==mC1As+=|Vo7a^H4tSNh$9H{Hiwj9<6=q zn43n`@R0v*IlsZ8!H|5$HQ$x;6h+bMarIs(=tMJljY-B=7!?>v`eTxOxWRE$KJf~k zH-{QB1G2+Pp?VgT&ygm9DyN6?P`|kXogH54xEvEyPp9;XST0nEs|6N#`*c_xF;!WE z2PqhhJ9LDkGq5jBM+!$;fZ+4LQV{+odRx`Iq91|3;wKLzkWe}Y$spa2gl`uQT0I-$ z^MR_}CJv3hH&iBRvGnWfuPfftm&|AG-|6anlc;@XwvGy#GmZjAaf1{JKC2yv)4)eM zo=PHcL@|Yn)Gv_@KYS`!44gu~QOWM{QEcvWF`PPVlwjNJc@$S~Acz?)O5&dGzcja$+L zg5uA3!BhsC%+W9cKXhg~2JeO(x7e=J4Dl#L*nWt5&ry~+j&zMbFq3x1Il5g8h~yp z@7aWy#*UL;F#_P|!rZ(Q03O6FJW3;p1Lf2xW;c%VzE(}vj#kz`FIQVo_Fka$c5Z9% zS8laT-`dxbHhv216dMYdMi*9zX~VPoW5+t+1OB)qfVWPYw9sVnAX|nM6jgUVw=>s0 zqwhAmd%D<3tD4%>c;D2?C;I*0wI88N3F)g6q!CIaBi-NtrrQxly-d5|2q)m;TO2?p zhbVARb}lJ~vNSNs>rpV-jL?;P-|Vvc-Cg)%O6q(3A=g0%TR6|V>o>H#l*xW3V^vWPZOUGkan7HbTbX3Ppb#~ql2aQK33-V+oSaZy`eR0hfgJP4SL)%}_En;C zNHg|OS??;A50%uC@!4+b#SHJ6COb2am+dpTADx}89lBqH@dL&{IVb%PvJv|gP8Zdt zB$kj3UKFD6L|iMJ?EyxREcxRZ2r{M~LtUeFbvIEVLcqL2D&a8_|}8bpezbzh<%cG1=6LOuFnn3Ho>buDlDKqJKyY zp;<25k2YG(V{>#LrEBJWdMV+l>7S9Bnme57P=8K6zLYI2!s>?SV0=dTa9Xli>0^gU zq+>@SrVI8J*@mCco^fD7nt^a$Vi4IYD;Hk$O*3Tv%d?5gGG`5rNhj0tlXw%2f@kWX zGfAKwqr9YECw*$ci^U!vmyyps^6z$u18srYXc!8P%=B^HzN}xfoZn^nc)1D^<4U$k)))C z6G>tyoHf}wFZEr&Q_{`K8V@t8NL!8-gH9gqgN;oN-}q=Y4*@|JpC7Ve&6XC=LQ^nn zeOQ>DZ%ui%RchAMv%9|Er5isRx@pSydOq$*>lz;38F3KUPX%odM;4<5aD{`kO*>2w ztw#vnQauR&V5hWL^Q|`Bs%Fsj@K3~OYhP}<2)Fo|Z=YVwf6zuxJfeGmch-XR7%$OV zVtG6%iq7_#nnLtSI)I$f(BfF$eK%18wQdqf|||_r0zkP{|W3iaQnB1CCc4Ogm3LOYy%`wQ#<{90^~Z zCRriJ!ds9aEAQ?--a&MYWU4P=p@2K=z-=mmDdgY*|619vudaXQw6J~shP~e8i4CH& zVT8c9##Lcw@K>4WCUAkMH-C&QGipuw?d*TrC-2lx2W8*zHp?x_um4FpcdKwH_T%8a zm8|sum)*3CW#{hAEq~;fpp{-yK82l;)u6OAB}P3*uAGIgvVESg>n&V@3YII2b03}w zy1nYJTKX|Ifvbkz%R@g_H3LZ2}tJ1B|asA!;w>QGcBT0T~73c}Tzh z4&?TQOu1%*wkXpQ8LiLz=6;S$i zNsSr_tk6Oa&pDszrc|GqvTG+q>PRQf;9VQoL6^+J0D2qq4aotfqTry^%9-^>WHh!k zuPaNe%~6n)9!0-jQ=SnVrt@7l2I^d8eq74`zTXkgQ5REsAhnh(437aM^n=NlXpUsn zSa=-zvQ}Y$q~myhKa--B>D%ci+Hl-9maWS0+2k7^WX^BYuMx4BHp_O)_!DBXyz-%| zVu987-#nbEg!@+@6_Q#AANz9@g?&>hHOE&AE0%h%7kMqL%dg_VJ<(2eeoMbd6`@ID zIt@6fm+(jGJo7$$QjHE+mvnbR)^D7s%UGNr=&CQY{Z=u3`rF$W%!Rjpj^}76Kq*x* zC#dX{JQ55v-0ss)rFf|&IVcvS#ZjhifUeeXM*LyZ)}rSsbL`ZGuZkj%5(FQ5**?QQ zKA*antq#sd9`k#~4qa4?09%c@>p_MwMWHR;Z1yM*a}y0z`c02&=|S^rkAmmy^d}8B z#h`5+$LKw@W6WtJw*fc!?N=MLF~ie`R4^x(rVnCHXoCz=PyH)A-U?qI8*-CWS18Dp z!*ju@(*5akrA@kwPVCW#e>zR@PTzmM{55BN!z0z~wNCk3txBfd4${od*1p92V-ej< z36Xm7RBgFy$Wk#g1geNW%Xn&_Pj~$pupT`nRR#u=XNj@Y0=o1E_Xbt+X>r-&f=_j; ze7XTIzw(c$i|sqpbSaHfMzGPF4*Ec0&X{4S&D`etr*p+=BQ03c zbsQi1B;y&L@D_89${^w+nP;dIB%|BXBxW^nT~zX(var=vg8@&)i;C}iCGfqXt%!8g zalwnlARKP8GvGzRK<1lt9V&@}HBaf1PXk}EVa0UmS%hBZsn6MlwF4`sem{b}-w?b>(~xre~UDuKEniImdV#029TG?#*??oOU4}h;#M!^!D>5 zcTsj@iDOO)Y49nX)3nA$9_|gYZIs~buvC_*iXzF^C+_-qtwrtpj!mhlbKAD=NwICnPg8r#|-yz_uWjJ{$b+sLW@yB!JdsfgX+o=aZU>NsuoT-#WY6INqKcf#R`pB=R&F8Ow} zq`CW=86TSM%iXRlu7n4;FrBpDMYRmZwsetw;2~vuABM4y%ne1iIA8u_@c7WkFRL)Y zW8q;T;sJ*S*!N@^8GtK{D!bEx8-r288F>H^i+^xk1v-}4bbt7>Gr2Ul=6mM@6xduFb6>3B7)Ik_BaX-H0;N8W*-~$)Ts4D%-F=PuH5-rmwG&D z<->O6(fQ!t92|UtaPd-}ZTKjS(n~#0Ql%VWRDpv8m$*24)ZjR?PwVStBBkVuS*D@O zSFPDq;n#=SwfB^KdZ279$V2#3JM4<;3~W@Jk_?YA;3w6fz6u7HiAtw}8E4@%2kHPNj-0*%s#vb5D6|4Oq)Ar- zm5kC1HNR62g|jcd1qNwZIh z$nYBN=3N6xF#CMGUlM++3g#8LV(;)V)m%F@JtA;?A766oNSC7&quzkS4f_SZf}@>t zu%rG4bvL26-9r`XzLIg@^MU`j0JDh>!S4CF`Hf-`u3P&iBG=S>f;&X4QuTFz_!gXjR# zgj=>O$!fA>=;5kLvU7F$bK^4}!6S1@r&UwE&LEz19mo7eIZ?oa17TKFEJcL8usY^V z(`EKmObL*r>NL2^#K_$eW53nMFV4$6t$SNtYZ>PE%wT92G(!8;7u?g2H&62HpS~Mr;oBd#_>cVKZ zkYhHMWCK9ZH>jUzzT@-X5fb1n;?Hz{q|bze zh8d-elTF`VNqClcf2@SdFXCL$dJJd>Zg`Jd5~GqDq|l0Ks*zAZgHveJ!QXuk>3T%i zp)rr~h}0FI-LGvSJfd1n(z_WZXT_hGJmg{U^#O$9X}$&?Fw7=F!Z!6nP~9C!4*Y%P z!|O(a0g{1Ao~qX56ZPc?+l9)f_tW%%(+V$ya%H;@$zJ${zBE8-WITttdQXHjgGYl` zYB@Wwl8zqPCx$iQVkp118VokS!_%$M_;|J+@2k0BDd*&1+iN*q`&3wvy6ZQ8`0eV! z`O>Skp#ikb8}^0p%$=avxYCBAPesYu?8;`Qcz1UzBxn|jBo@=})IIb4?;^LjF zy*@CyFpkm|ez~gJn}>R$4)7rM%`Boh8cvpZi^|0#T*rUBI=EWf;E-9@Gp*7ytsH7I zJ54=>UD*T=Z{k)h394g{J7%!)bztC`x?Sf{;DBl|DeGTFD~Z7QJIfNJtFwxK^NXmy z3RIEdEQEv-@r0u3uUoJ(gB;ppI}~hI9n-f1W_5`*&Nkv)T{Nz)KWp|b&$?+J{Ndof zU5pX^{7!MoupuWb+@alv&O2b>g<4qf9u=Wvkaku=X}8b@jJIejVuD}0u6(%i_7UfSt;M^M zGfn}nnqR^5G8aVi_vN9M{FkB6 z3J$zHS+J=&iO8TVgGkhvM`^bXM)Eao1opIgWEbM`&EtxM);pW$wCrzjV;Ng-nGKl;Sh=aV)v7CQe zcLFI0{FI=90sBsY{{wAs?h(^iklt-7n3BghX^!lf{>P3R|M!YZ4adPGHSHbH%}W;8 zZUJd$>@vs$Nbg;FkI%$YW8?`ihJ(|D@(WhY~izSIGo$;NjOr;aH{@3o;{veZqold18;^Nq6(W zth6rJKdS<>3>j?r1{nQ0P<+&z4rUW3?LzxyMd_1ZN`MIr^i%#!7^nk;7Bd!P_9gJo zs+48~_SgaRzZ{>nSDW5t;-MR`TvMgpS}^%P83Uruz6!Jps6HdpL8kuH|5Rzy3f(%u z1ZQC5BD2aFzsbPBegjuu+H8UjnUD;f6HHBfNCg#fIKL_jl4$-vR0@K*lz;dc;5_^e z|3AJkY&Q3U5i2F&TmD}ta}@0Ho?LS+_8(^!F9#zO0whal6sY)bI*1WIye42H9kr+- zs?8HUrt@><{v zHSYDX5hnPI@{|==-?%Ysw*xOBYp)EjAjf+T10&yId%Pn9sbqK)KAL%qq?ujs4JHyi z;MP2vlMIuCYTUido^7N%QU6#MKQ^iQuvw06D&5 zaO>=8DiLD$(r1wE0$eCuQ_Y8n+$@{b9Zw;+*7QC4SEXZF9bYszhC&Zp8u`0vYI*`! zP_GlN4rcfS{baa-4wV$pWop0;jOu|y>Ry9eH^7GrP){t-b8`skjPN>epM3aK$lP4s zwdug^N?L+>x!?lm|A1*B;%U!7APN2iM8qL;WDNH0Kg$J%@_|XDC)2Ih)1)f3f%8QB8He5x zG|_p;+4V1-i(dE6%#p>?pCK_0b*cCE( z>z7c%qF~9kV`XC)RDIe;)%4Pp{sfr&rEU--T>dWA^aO;H^`i{%~zG z$?&MD82#vqRXyM6{43y%vwW9nzkF64C6^uk=;+GcwfggX6D_}NS~w}e1=&$*pX}J3 zmtY<-AP=J!5mR#kvl{7#QURe1V^t6Ge|VkGuNVJ(L+tGaW5Gki)KcwKu81clf=^>C zeNQpz>+t;k>2>j}oBMaGFQKXR311RTE|xsLdNn(?<+174oQy-Z?32~iPpwMl9W@dj zh>U%W6xxb0Wd4vbak%Tw6Hv3zZI@sa8^WK zEFkn)?s*kehG~C6!A=<-uWR)H`a5Y$>)9Q*dC5xxk>IVUfTC=?&LhapYgfihy*$3w zeFz+LW0&qsyPTR{c=fca!DSQApR%dKooB!5#j5J8v79*NIz63p^6mv)(Y80Pu9sJy zyao=SM%~|oqb?V`Tme`+9==@BGn&T zGTii=c~u%FCN`1SWv@VV>Hza>W~vf#5oiRzUwg-Bda0f%Cbdjf&hh-QUA5&;Z`8Ds z1|C`kUf!eJHyeOLN^8)E=p$Y{Qch+c|3hlFS&%*ksY+=LIz?&2u{3K?ZOASQ8Afwf z`*?o4hHusWB2SQgdZ$E|k{RR=P^{Vc&F3;@HIg3Zog28+ymG@b@*(U;qH+K2m7K2| zLd{u0#jb~k^<~9{eTV$27K)l3liYREJL1uXit^&g;t58k*->+(;WMl7f?TQ$xszx! zA0DwvM6~WiWXh7CFBTW;eM@;T>~XHkUnV1d?&4DTGDtqqz7vOlG*ZW7JCbeGYfs}w5wGY62 zu>DWJLsI`N^FNndKK%?B48}iW@#UW`V^;VB_y2Pb(|@|h<$u1@Ki^|pqz7P|k^OhS zE<@KlrE1j{i@->K~WBd)s^d)Pcu4#BsPhERe`^j+d-RnC|?Gfm^xm=M^K_fz?=% zzZiH%J$Ve&tD=iEU8T&z&YjNFzuf6QT>()vc)e_GaLvLadmNb!Y#!RRz&1Rei(|6l z`mC4l_cr~wx*o}{rV?w6k-`6jT@>W z3?x4J6|9C>F4mm$gaxeNS|brb-sN{bq)K<4JG5Y3N7Wt zktL;yKhD=lNf{V5_|zLhG>-vk1O0Jj|C~kfCzIkIKZ?r8-%Nm&HmPW@%W5L1&#rc| z$;;|5h7V?cG0?n}f0>PIJKP9QfZZW85u_HE)Tt(bG-?)kb|%~)w=0{|>GXO*FmZz* z2%b+zeA6f!0dJ)cpk5*w^?_f8eq84z4e)L)R5m)E)~JFGN>wC660f_?J6rf>T(4P4 zq;W=I7JyLqH&vRDN9zvtSmHn11*a!zZ!v45KtOVy2T6U^JeysQn0V1o58gn`zXFmO zisqGXgw!av(9R3h*?`mBH;8#$33vS;9!;B%EGN!BPQPm-&lYqHmL9kV7|KxdZQVc;K!&Y%Vz z(5A}szZhr*h}G{10xw;!`-qu(c84TN=)^*taTRebYqB}#i-)q>1FI;k zHE|=&#Xt6CnA?S3+>i@X(&TTqR<7;v3GmJ}za}|yef$yp7}~i^#M~*e8*#3rfPM+L zG8lE;)e^DLsy8h0TbK?YCO>pyhJi@IS^FG&y9MNLb{iT9co5|c<)z7)t*}-d9&-u6 zxB8!GNd?n}sKEe?U^5kU5oI@l_{EF(i@|olpV#}r&%r;Qobpfq4WYw-Me^`}`fH4s z|3!4mbN`EAZPACye@pVeruX=dBmcJ~|D#0y-~Rvqp(OoBc4$lg;?H{vXoRjO|4O3r zf5BhCmluZkCGWA1pq-ffI+^0K=XKMEjUP0*Z_|vQUC!V z=KP~s3WPL*+PaKMe1HR0>lz)ir1y`e_1MGjl+bA8mW<>-KX}}~wa{O4QV-b#!9T5y zspR&fzZhab|7b!V>M3sXDImU8A%7FY5B|_V|D!pP9s73=|83;{9>af`uz%0ezt`d4 zn&y8SU8=<)WsFX8szJwIvB+Vc2<0(xUw{G|-CZCc_%B5i{^MV%cjP3ZWE+GPCR*gT z*Ui7T-Yhiy9jY;G)Bn2fnRm>!2sV*Q#+D`JSTQbR*866zy}I%iZVlqe_?m3PI_0an zA8m8DlDD?kP+`jeD&#%A?^=1Ru_)Bu<4`xGP#*tNCv!3M&l~W**k$Gz*zLQ*m|u2d zEt|1~$-(|u18w}%_midU}Z8p{hKrbr^F>nD(|Yf8rCD>Yl5i|WwL0sckv;y{o5a;s@N z7tKUYI_?4CcxiHkp^wInxug{tu7VgMrn!pzKZhF|zQqhjKy+RkWN-z1Q81S(eze?8!3 zHLfM@mnNgy9zSE~uLS3rShY-^;Y&}dK96T0DBQn3;N57Xgneakp!C^JuMthk6)LyM7n5P2@ zmTm{&$h0}6=gU@ewMOOQoMZaOUsALliFm(Yf4r|`c=o>RpyAFXxr`}L)@zGa>uxF! zhNSsJ`so-tF5;*(Cc4$24|_8IQCJt}8RWy?lQM1q+W8qRR8ARnnjA2_#4(fB{oZY* zel+V(kIheRT#trcIMEt06MSv4j!>5`EXsRB*+G2T!bsV>eiWTSu}Wm^%6|2} z-sZQ}6mED89`_J}JVH=;Hc1-evNEMxu%Jbkxt&i#)Qi|YvD5x@Zf#2;b6Ei1EI6Cq zIdLP}+6>o$w`Ti2{WOcPU83u+@h!x8Eg;^EmJ`1Eng-A`HCR|wPu6%S6w-mDWb4W0 z8QRJ0X6Aa}2A}BN$pPQbfojQd#j+@`niqx(G?RPof{dw8t`>+!p71RJDjoyE1Mo*r zaYE}jY%@O@S+p^s<=R@Op;=V8C#W6Tev@p+isw-+c~=(Z>VMlwJrE) z?DLh4Nu9bQE*;oi@O&1cqMw_;Tc|(jX)Xub!xz^!uD}1fUjlIM1%H6|#_=422^r9~ zLF~y||G03pynxxD?v5l=7-#Qcy=PB}SjTl%d}IiaYvhY>KFUyRH7{U&l%$fwH|pbK zWW7#8k5gUot!PX(!XHieqZp++Krsvy7D(>kHwu{ z;(x5>K_)Qs`MC1QaC$qfm?&)hX2WN3njCem3z%R6nNqZ=rKn^qd7SN8h*C6Mh_Rm)J1^g_*pj8ovwQ!B zS5JYBu-@s9MUV8=-A8a9%^S1ZlIHTWC~{C-<7L#)G@u$*xBTH3px|?UMJrdvDta<` zCQ?s@1pCsE?%;EuG&u~v0yD(uF9wGJxd+uFJHVyuU+wkS%kN|gjV~)m*X|Olk57ul z<}}M2Ejbru_Kw+3G?k&;Q0|i(k8qVf$r{!H7k7*mo$M5TSKFH6mrEteK+KPuBnmw$L(OIJ7v ze7XOnU#U7L`3iC?v`EKGGdvb%>dBP79sd`@0^h_#z1bF~(k|n{M)u6+aORp|+nK&L zzkn#)#xgomai?Bt?>zub4KAa13e6s^r|ETY^0``vY#hITrhUQa`L8{da0NHM-@6QA ziVppP%SAz^^i!pjv(DI_AKrl8o6XF9k_^*d7%($^@woillMu%h2E6SyTqPtv=^)B& zIu$Zz-{rHi>;u;MiW<~prk`q{ob^lC>@XMd=z#EEDp=4&VpVGF&rWRRSK>qzV%B9U zkaZe&mhzWAKVF0YSmstU#M2>O+n-Zp#3Fx`vU)Kkvb4jKY+;Gx{K)8X$<*Uhwwgdv zTh7@x`dN!Exzh=wL#w}CmBYSb4P>TRaysx=_P~wI0gYqBVF2){*O3z!#mDw3 zx=qe{Vah%(JU1@&w1gZc@_Ba{rk;MqmkA{Jdi<;gaj#`^HWLruSE0E4VpS6Q=62ew z$IFo(9|fM5w&KsM&O zJFqR`%9YXd;yg@;2X}Kp?k$mBn}Seuc!J&b*TPc~iqdsYJ}u2GX}k@wwwC}#BNyHU zKZCqqO$2qwal0gJB(}SqL9n}$Ij=lu=m}x@Qorrka*x_!2JB&5znY0fiqQ0=Y2XAY zwyzLH)?4tU@+6Y<0hF0G0FzxV8`e)Bhcf?~cgYS#tJtyX% z2b2a#bp(~K+Kvs6a0?HU7R?Fv5YLwQ z6rVd=%dT5w<8dC}H6a3e^kaYa60UvnNM|(+F0P+v)5}vSxZ<-rNae_@W;JD&sp6BW zVka=iLnrJ(V+dDF6dQ`1EXVGQhvs~D7qY~^i>;36Keu|~nC0=lWo0c%u znmj}lCVgxsKPME=52og8)fBagc1PL^cqpH!K)sz{?=$;m zDa|XQv26X?xoXL;l$S06Rd#xoRlyw@F73aUrmMK|%>U*9(W1q+eMu|A(S^6MO2t1#RL34H^!!akCS?D;p zDlxnZ6gj#1mrP3Knm3?g*z7aDc}qna?>g;H0#Oh4qryI`sR@B(X(aMNd_^UfmjK*^uv<$17o&Z zOt`iSYT51^2aN6z{(TSTD}K#P zt+3Bz{8h10e$$Tg{I3L0A2(C*6iL`7U{ zTqp(&!r#hVMGsj^W{ z6YQ)`fpg1ML}chcnz{eV%O1o0bbY=Ypx;X(B#BA&StKNtEbfoo=WtI-wD%p>wPM#2 zs?07lSg-MEnl&96FxZ$hU-1oCYZ{-&l!xPofMh5v4b`kX1G`FQUO-MmT0z`OL#*V2 zPL)F;Ip>ynY`z1lJH&=~Zzk)V`&U#2}Swb`N9m1Gy#88BD6XjRfIw29&Jc;Qr& z>4(3VQSvV3l7x#`48zmj*gK)Muc*FSz+vRX5E(EKPLlkLN%0fPLw{K0j3~zBL(->e za?ldb=xYFu+lg=}phfN*j*m&WJo_Q@&|ckCF@OD$huQo-s;2SyJO^86+Cg|Im1D^$ z(1ytLOQGl6tzv8ii&%88QrQqFNyM|v?$=X3W$EuNUiK*>#M7YAP0AKpNq&d*9C-5=h__oh;=9r>m84Zk`e%&oQENkav2npC(OLAq0&>Yg2rFs}& zE?U(?dI`>0VXV7*isvH3oGof}8*Lnks{v8D4dy?07*%%3#Ykei2c<5&`YB-WT48LGC`#Zt@R?d`QPUW7^ zfp9X5mB1CZ+$3>#2H1@D{1AT}J6Wy+Rp95|H#goAc^p zy#5PrhoD>)7L*%Nt{oG41bX{g(@0BhJpfoGaZ%YuP#xmQl*M8WZC&D3_lM%78t2-V zD6}Z6d2~iu)P1Q=`VAP6UJ~pAuue!4oI>e9w#PXs@)IIw7oDeqs8bpm7p|eVXqj?v zOmL3d{RKX^=0oLen(%pcPsrzm^6OiNXU$_ltPdZ(o57|iFFBSH`#8|PhqDDiTG|w! zW+$s#CMn`}BUOn})|V1rT0^tV$L%SZhD1jXc0I3!JVJBnQq%oa>#_WLXKxvGx2BSp zKQ|aBBnQVo$TP3Ftw^{}C)Y!P^vGAEi@H(uui;{i3EdWuYMWW@t9G|>&I-(T;{~os z#I74M@E&~@d0_{;3v|YK6H+-agin>j50pT0CjlC(gr(L?yGyr;Oqr#gMMF-ckmm(1 zDQ9wPVkaiqt-^jjHSfRsNic+DO>PGk&<+i)4CMQ};3{x(Y|^ z)o00#g$>*Lns=Q9Har`fa!ri%#nTdJ-IRVME%T0FamgD@0r*A2V0w$Csz!vAcEKH( zUZJbcp$RUi*)TBGJuB_m^Y|6Sr!u`A7Qu7&!p9|lXy|;|L}jn1RhKRxd2OMpCb!&N z3O3;4VJlKDKMjf#^7Y?77oLs6%Ps#}O54W>`!y_tw<1F8jk^#r7<5-UfqA}jt73XR zZ311=HB{DnRyF-}suR>h22YK$+};)Q)_$|~3Dw^OrJwQwL}Hs_5!Lq>11XbMppbqQ}T;Zi458db;=%pp*DeFii|?>R zXP<74*MO^2jC}I>Q%7Dc^wVThZm&gY)~H(OhqSK^dr~57qNtYxRA2Z=mFefHe$xl4M)}B5Q zc!E=2kSw;|O7N|~VpT`BH&%z}9LE6C=D|^I;^uU>Qu5xt?Q)qhAHK`Jqj2)~ zFek6yJ&a0LZ1nQmqS2UUadgu(rpm=-wzx@SsIVaYsnn!taai*ERVTL(-(t zPEF|A%779OA(Ji6**t2)K~qXyAK!VQVCQ;=+qPDpfx!c-^*pgq(zh5lhT*00R82SJ8yKHb;Foxh2Gr2Podwdy z?M0)OI{2HpC+6!27LhXZ5d&VD%cTvK-M%9BLG73+$@oPJ$7d`Gnrbi(Li(dhyQ_PP z@EXr^zioeOiR&n;7j1K(Z^cKjs7Yd*MEYYg4I^SfqPpnorDlbDLFx9yk{rpvjWm5o zb#3#7yf-Nl_r&Wr{cxBmeg1*+SLO`$Xsxr-#Vn z<8{w|X9?FRUcUOioRdM`pkNVT{_6KykhzM5oFeCY?`H5W)mzT1Bd^b1yR4uub{Ocx z&KOc%1=oVzp+$h78io-tcnAfu0bpF8h?RQQ)hG1??7FQ`$rHYY|=tI26{Bmu20FE5DFjHwI{w|~rJF&g7Y!N&BjRE;_ z&%PQY|6Tr*-$dKvjcx2|R1A=|=NJ2YdAoVF#uywXYx>!FJlfh|C)uLHMrTk)(oH;l z*GO?Z8D~&ME?u+Rn(u<$fN>IT3q2!&gJqCw7xe zY4Ko3gaCXDBJ756PTx5-?Kh-L_{?|i1kyOuCOw_vc6-17T7&b&mK(3%e(Sn-?@g$P zT%!v>93=+SinD@`BRMe6oa``LGNQymC$8HbL=@q+6fclY_Vw)Nd1Ymr{XV1wpbONyWilZ?!29e)f^I|xF$b0_X~)1HyIhp&rZ{y+rjo0lPV{s z3kE>Ov{=M^9^@MYpGtWEQ=p|a^8wW1r{ouq!muZp+N#m#lcm%vwDjXT9Gz>iUc6(8 z{+93Z9~yF1i9}BhBhj3Ae##Aa2awkS7lH-SvJT|1yIe~cUOTeEq#?o8Iqj`}DgJ4b z;=RdT-4c~P9)Tef?JF(H)C|D1J#G+3mYUqUZx6Wuu0f0Reo*1uiqV!y>=yM$ZSs?P z2o_ZC^losuZ@Vy)&MxjKMB=$`*Ke6^UN@Va(A2`0;{u&;Q&^ zx@{FFnHMNf@?Ngbt3>pMpC$V8qqXItCP#)NiK~8 z#|DmfyE}TH3kdGZ&~G`Sw48ISn+HePtC4ev(>egPl<@){{dJsbhJsrA#OJObGwBy< zaLd%UH>!(0Kcw_MS6c66ipcV7iBq1I-q)KSjhLw&Nw^!TORQ!aX$p=<=Y)lwepF=g zd1<@Ma&ACI7VB#S(U*`MEuBzKB}dnDMjlWCF=rsXr^_b!xWp$Fg3|gPo%#@V_R5D2 zi{Pj&Ye#YF+wOS3447#d)q)HP@-A=%Dw;Gydlugffu|)Bhei{xI=*!1xt#07^iu?o zK@<+rYKocvh~&(h&;V3x^&wt@czXCR249|LF0$46^0!^{g9(rstnp&hhhOH_dJ+=0`{_Cc7oKWDTnxrkEiWUz4^_kYqh&{-M%2O ztA2o<{zYa5nG3tEe()$tU)Y3iq_6a})kTJHS7%?fzHDvw-dW07IE;WX5?>h|UzChM zLykeyIPfz^3AV0S-`>?bBYM9SI?g@lA=WoAl$D9T$`#t8U(uUq+u@wP1@0^juo<}V zYeuZqS7iBvPPOIu(+F6n@rhr*-Y|%B{hoXBHWn1|a(_-p#nY|WsFiBr5w8!qKN$!q z+#6}rQ~B=PX6bw1+^yNB&`Pz~Mcc+|cD4b#-9s`aOX64RiV&^$5sra)^XZP4cd8X5 zFlgClO-VT_)@v3P&JHZ^!X64GFzR0K6$c1Ud8rU!;i~NiF>3>sYczbw;U>|%V6k8Q zCu4G8{)yI?FQ~c$++P`Vulc?>=-q)}nGiRh^-3#Am!L=OlmlE7DZ>W>jY(Hk*! zQm)t_ezTm>n*1ys9*cahKUt&y`RCodQz_gF-hv=Jf=nUlr*yu;e;j#i5#5Mau}h?9 zM0U6k@dA-Ai7&a-U(B{B{b^$V$|X06UwE)@tRDkSC_8$!38-8JNd~cF=8J&v5X_3` zK|jScFBb)3)lz~F;y8hFF1xz_L{%KElwbAZpkK2x)x9M5=3q}TWBg6_XJMAP0<%>? zy%cr&Fytf#nBF0Cr^yrw*bh6psM-dKVD-EdQ))9kgVlq7ur+j(lJ@Er`NH}n9{x;l zI{w40FPzZqC~6c9jhX)jVF4;`fUpJgLtEMlJ8vOXAiN>PjOsS>jCdNkz!^@u@w(D_ z-Sd6E%Ssw)1AE3`%I=!ZQ=gX3sBOCzP+653ht|PP)wI;_7iIgu%f9GmV%_p>e4evA zyv!|ImSjE=9TE(kmm^C;s5~dz>8H-lgWhLqi~_V*7$7CS5phbxt0`JUL^YQ>wNtdAzoynAxaA2KU3R9Wf`+0@>pn$76*1goq|sxDuC(2iAA;? zF-O3p7C^CSOqd8In!5Qee9DP^3Y+MEpSUBi3gz0l3DO^isB9w9dhH-i`uJZAfOp;j zN`~Es%fa*s=7meMYD-nRqg|=_v)HK_R>{5N(sORV)E``6@)d0t0P6>)FxVk+3nC-YP_L>O}A*HNzdSL ztK!Sr4yQ}apT0F$kCgy5UDY(E4c8K!ktf`B89&bNDzI$cxuw>g&Ru;?sGjr`VIn{dNlElk8|F z>le=4%ViE-b21}Pz9?mBtYX~nq=I=o1aK0~x==J>{$x`xipb^!R%A|`sP$2LAHy#gy}7bJ;{BY~8h>k$ z>=<@0hH{hnPv8o0jzdYyfZr+DA3gwtysLb&2&zl`cs94^rR!KZsu-Q6oPTnv@xzyl zy|&xwFD*k-{1Rh+i)y7%g6Mtq;duUe&Z%QNi?4-1crzlX-IH9_-=bR0AMcuc6lmQv z6_{}G+U-q|SI^JgoVv|$>5W!zb~GJr{9sJFs+bLL`mio`)OhrX|7y}8-{oOLb3Ciz&`LbLKVAIdRM-az=nj@=e)7FXYd?V9Fp1zz@?8&6R z7~E{UeaxEP);K+3f7uajF$O8Oz?&^_P6v`K$X6&9WVUvIjw~*OuDTAI<`Z%+{}og{ zBByeuLe5{9V!Aqy$7f7lTJcoQXn`J_ntO6(3nc;G~5$)NkyBl`_@ zx0l*D+~8PPigkRLzSyb3(u)_XtuGh62;nlNv~h}L0>cF?_78zS7q^Yi@OwM`g9O@WC2wPT>@4a0|!MKc8gts9gCnRYeOWudmH1< zrBIK6Joenm{vnxztA{?e6_dY)RwYK3O>`4TGwtWB48Jm8XWn_{E#iO@byZ55Ez^j^ zry3~obJoruEM4Ey4fy3{hAL5d=O8i0%AWhC*6rPH=?5>`&R~MzQ}u0~@xIPW`yVtxNZC6#gZw@9}3MA4zHm3Ip<)fNGX@Fe=#VyPFqzT zYKeBddb~E0qL3KveP5&c;qa?hvj^_BvnKk`0jdK`4owazq~0dPz9r*@Ir(yDy4PVolzI&QcuyaQB8o9uqSgFQYE=~|fA zwC}!2ew$4;HzcLE`X1&x&zouxx;cJn1y%h}`UXnYfqcwiM!g4!{rdpsRYeNZNwddr z1+rqWB9i=hYVrULD6W^37dV2kG5MXSw6Cl%s zsS$St(^*yMVxp$=s_YH;Zu=&37dbOW@9jd%XNfaQ9q?HFQ zO$WA>V_R@dBjV0{9G-EZ>8vf9P!l~*c#kV4>zOyi`pbMkcgUB{R)tNh$a}I*uiRm@ zRVe@6KxaKs1jN5N$&$gf>;+4pce|XlclgaCA3&*mb3II}p>pkzKDlY%Z5TnFCnwH7 z^N_z7asBLOQI>-llTXpxL9bTcWk;*e1j`Z$7VNl$`1ZkwthH1zzKm2qTGZBjQR(vq zM8N%t-KuniWd9*`a&HGXVet`HY8C+LLAHkGDN;+EVa-}IIM{WfXz?2YWIb&lccLuu z!f!i=q%XA$1o7&a+N&%yfIBJp*E-e*h})c)BLn*vij3%Z)k(xz#M;Dw?*?7CKg4Nu zF^uDTqugoz-v-g29WjEK`H0_Of;s9Z1Jj&wM~2+-$rX1gk_VkFX5rxiP|hoEYb$Pn zL$b}ndZ^pzDaq5tXY%5aE`j#JCBrHeVD`gbU*K7ax8o&{U7oI+rNPIqTyBuEDV^P} z8R^B@OruQbdFvp0QC}I-(>8#{H1J7szPRVCt-|Dofx6yvr8%;V? zQ2o!dn-9q~HOaHD1NSa#IZ2h4RyQ5um)BrifXo4ImEZt-_}rX2agUs{I2cMe4p=jW zY<9+7%}SU`w|hU?>gWRwPA<+U5LQk$?=+Xt-C+~KTwgXpW?;;*Kq(!`MVjeCatIM9 zkxWs(>AQoG5L*Qi4@nyt84VinpsGf^f%oddpGtG#h=&U>q|}fps&9P>PF=wQ8Ta@KsYd3 z6lOjfSqTpzZq7sS4htS9sl2pAxY(L%zyaV}iGsN-*z{^}E^c0?_RHu_8d6{>YIS!4 z+1|xU*W0!YBp!3vou;3bG_=G3Cc)I~3$&=ZMHS+WJ)7Tl>BVc>FNN^~b!T?JtY-ZZ zncP8b@lt#dt+D_uu1A!R$5to71Bg7JCEIZ#)O$weYuY8`v%2+Fm6gF0hMSc#2l@FU z?K}^x<@bD!@1lsR;I}w}r`veO4nC5iY3G9Vo`^3nByhGOozNNI6K8zg)Q*+G|{)R1HvZ(qZ)Qzcw3 zRR+5D-nf8nXs!?KF*0(%3sh# zvrX;Z<0ow_MM5Tf?dL7_?X*%5#N%zCDyJ53*xWIs?j*v6lL4kf=#cX$HuhiHsC3~k zUtfEwe}`qX&-}vfjf^$1Ct;E!T@%^Z_6c-;S|vJdqvWs&KQ?DJex*~j7#!j;olY7d z*HQfG!{?O96e7Up*L$NXf3h9R)WADRy^!5;w_;@LBBlJ+2|vikV>``yGrNkQSp*|6 zKkMvIqiIOEs9yo;J*{dV7YwP=>*4_42grssLE-p=AW++(P_}rQTP*rjO>sbCeJ^Wj zDgK!a(GgfGBf9iujvzP#CzbbrD6p06y!ma^fWHvvK z)*A&akaJ`&y)k9ENNztQMa-C>0dl%kJiRd_`W@_0TORKiGvbl)&iTQOijc8&l_eHs z-nn(RQG2>ht%2d}`V_=C**Y( zx$qK~8aei`D;8x_4o@=8Ce`|?IS&DkS)2t3joDHsT9A5n8~L-0D2DU_&>2}Y?FRN_ zm~*3X-dey!YN@o?d6sifzwMlR)jc~t97XSu3#;@~QbbG}qzZ*!raY#?2y9B3C&_h0 z5M)xxMUY)LP;kc)>ThLybwsbcM!PZ(X*yh&@*A38)+JDM z-_yimxS*g2Qb^@ruaBX}fBm_EHJj}WE6Bf>!nfDfDIWajanDBkhrX6Gdbg#HlnK66 z;Zfoc;HGc2Q(Sb4KtMt7%pujBokpi|T>&0#Zbt6g=%7cg=J>Bxt^S3T`1dA_Z+>TA ziW$=&lvL{O5~(;&FUVRd0YwU>r8fpHqC$X0W^#qDLcQ{hmI0H>_H*cjizRG!1?Z+0 z`Wc!GR~0*>lq^Pk5zac-Hcv-+E>z$*iGbNwkcsCniE$xe?*P~~JN>KOGg*=AA3q6NdF#RFA2>WcqrQ>mjI zx?J`4NBqolg9=slyrj1$qUgUd(4lGbLlThf6&wiEDmo=ec-ttqFa*@~NwycNCu`?p ze`=p0*w-uuU7mF{y?h+dc8;Z)#lN;qDHB!FcjMd;$dnlGeWFD))n@S%e&91)d|VdI z^zQTT+b;GuF=1P9UfOFwjK*4Aeia^M)kzXtW$c8DGHQy{zd*+<25O&Iv~)SzPAwJI z&x_l+DmFKzQ&-F3FR(E)2R}E-er+1i`MCPMZmpU{w%>wcPTaOQSJgwgdTo)1;)mQlzVencyMACa z7+pX;il;T`T;l8<2;qM8;{!`^6a&Anm1=oA!KT-VH0e_$mm# z^diL|Y}=R4@-%JtQv49BfRDy;$W#h`w%9L_q(uwIKzAZ=g31t1KW`0xLVw4(6NG5) z4L+}$Xk{axsS>xP(IkQNuft9W%gYf0BLZxEznoTT<06Qu=HTP++83T*H%rP>uClOM zBN?ZAm#;b~vMxYJ@`Pj!>`c+sY4nc#kV{I4R6FBHZqAH8;E5=Ev_!0fK84EW=W2mHx8X+ z9d-9c3Q%Zx=%)>g)DZKT$g`&Rr`jiDPaC{oW*V{%Z{n_ceO(ovHsif-;uEB-54Q2XQ4Cao z%e#7?wXVj=%`DM&=@4gEkgbu|5!BBpEIChkvH_==SeC@kN=;9_Q3`8(Sg&v)VE1>dER)M(4_1jX)*Q{Ne zFAH@Jrh17-m6+?xl(@YnFNs(8l(CvdMtY#YW3TJojLRsgKECAm)cd5lca0?OLh? zv+XRGvoQv(S^UDGW9M!q&n-^&*P6vda0*@D`d;bkCo=I-Lch0G(}7h#_gASe&sNo@ zN6WtJidJh8M}y{zk4Sm~a*6J=+Y1Z>l7OOeEp=L3bOwURS3II&&livpmG)D5^9QvJ z6Z;rW;jBy%?b?kO1r^ z?JY100NLybt?Pb@Z8w^d!@qW;{M7BsZz$t;4M;C%?X7fPH#qJ-zk}?#oAKkTdb2h4 zCao6n7!wBps$xgNxygaVI;!wjqorAH@L95l4Pma3R#31R05#V9R{M5JER`h<`|OI6 zXHO|;w)F%}b>f1F`$t!6pQie}xoKd2NUgnwq}`B1qNu7X2yc5~vReUs5XlS_ot$#8 zr4@L`MMH!DZQLJZs#iCzp-VcOuOPDW>l)B|V{2CU$$bI4JGznaf-kt}Gez z+y3+mAk9G{&#@9V=WMl??Ug^h{KOc{=aL)wV19Yl^T)B=Fw{^SSsa1~5erDQv=GTL zxXkPf%!r8CdcTwoVd^Y(tq^{X_iDG!Pxbb4a!_thcFC;(Ob>4DRK7X9m^8O|_u661 zevIA&!e=4xlwf?Rd)D}3gTGkv+^rkZ>hk?gUh-WGEvNL)dqIMU=Zp+&^|Uv=qT-~y zGO|S7E|ul^`WARk*4tih;Pra1!Bvurc*b;qM8S;j z5F3O^()g_EmC~7-NjvyGfMxTb_un%`{%iY~=LDvIi3DvLS3;7-nW-Yc)js7^Q_G%5WN>cv&g1ofVtE)~T4E7`FcoqlvD6ze&A*_MDA#dk9A;Ov$#*p7 z)u~xI?SIx_xYPApMOQVks4Mf{J)XOHgF~%DQ>!F2h+qnS4@6JZk!PuMC)#C)fV^Xxww4oExDBbxV~yQ!hY>`uv4_iJGq!nuR+BqhQAopr{%)a;=1Fa z5d`1vb~n>o0C2vCDp#;!jR~tVI`qxQ(%T%@uwRXZ^$nneXV^%pJJ-*Iklp2)1g zGTjh)2btm7>xU`zF=6p}KR1NpXT3C3h@BFxy=p!Td}@+q0i#uT;kzRjlX3bZRkO0J zGd=4b$8MH&7oYiZ%(#>RAps`1e;tO95@@*xxL^btw>7>59Q9Vao0)zbm;*%;R#v-j zBq4*9-%&JcoAJBcZ+BNcq~+#tesARg6?F zL@OKOsS$`Y2*?gNuL%;U&maf}K?}H%zICI7>apI|EKKneh zYRqQ~^z!h19Vg;kESI@*bIS{|KFu7ip$UEBooC~0t=yafvmAPnTrO_PN16V?QJVQ% zWK6OR&L{8k0m@55&b;|5?LAcw z!5`|qE}m{eSTrmoKbh#l|GK1`#&E}dXixEiOs_H#Llwz zcrIt;rU$Wlr`^=vMt-#2O4zb2x27YQ@7>0WqWcqR*8^%}F?k%mKp52pMV~-$VqQ#B zhIl0bJVPeyIP7>qtLPZCKqa-%?*F0fO~ax7{`g@+LL#z7rb5b|tXZa#ElDMWm?G;~ z60(h%B7_h^5tD2oChOS8u9AdoBg>4CeMXEAv;6M!{a^RP|C9T{{iMs)WjM|`@Ar8x zuh;8MbpEaJ`AvUqr=!l3hF5Gw&u*K^ykmZ5@v{I%;&=-;X&OdzVHO9aOlI{RKln+L zuYAC|o#t#ff->^@W65{ddE&Q)z=p-Qw9N$LSNc5BFQeEQ2T=#8`0h6Ze;A~Snx&Zk zk4=o>NJXJx5a%W(&FCZYVsE~59)3pLzHm6{pTV!>OpGsG_{8ur$3O|6d;|EJ$UMKd z0I`O32y7U|@_%e6P_|Uey5hXA`id2iHB^_2v@?mLUpw^?9#3veCCA=Lq+5Jb=Xxac zz4&gY<30n}urH?LtUEISv^+qF8DMT!Q?mc9UUjWr)9=k-xE*eYZb9GhpLB$hr zs|53_xAr~OaGE#X+wh9vz*`vG8u18kU+ zSV|bSWBmd^BY}YO8BBa#pC<$d<&gY)`1Ew^UYySJ7}`!;mE5fT^z24Yf@5NYpi|%M z-PcE(x&IKLv!+Rg+)mDz4q*UEc{X#lm9onal<9Fk{TgM`M5)g&UuH?C+xcFSe4|N^ z32sQ3&@JZ*$g~pAvsBuwcsK&!Niqo$%--P^`f`ul>Fh1~?qfk)MY0_Z%5) zZR3@yxRY8}{@oHbEwl={UVWGER*5vvrM2__YU}pwsY|_BPJKHN9Skw+^+7JcwF(u{ zjZkWk80pP5)?ocu6Coi8cBJA>L&{qEq+y!T+nI^DnMT`pzdx0Hzj~SVEOTsZ?2!@D z%b%;FqWXEV&d<{(1@CX_a7@@ZuEWfK{i(^hJ-oes#n*t*ACkxU8gxx(uC%Y~A2DXb z@I4Ma4NJyQ9?3JrBsA5_Smg1|z!OV7}D1oL^mx>oHWQrNrP~Y-;i!M@GExTYt~5bcQcZ zy|+IIw!$0<~l=HV8p?082x7Tm39pB(+r^0bhe2#Ql@)W#mQ}> z(o{Ek4 zWs|Fdlm78TBvx4eMQZuix`Xz&E*r$KVGbZZkGErq|9SwgIARt$WtxJrqJqbMP9997 zxx9ja>E9xk*5!~w%0r#Uz7Y*he>30ZIjmh_P;iv6i7+!gpKkj654I0;0yDQlU z3jdWQ+c?Y5ad%pblaU!QqV~7YD>cs=o=ph%Sf_M3OU3V)pQf9Zh0ab-LxfVAh9;?cZF1TV%@K;ZAixWsL&;A&G|232K2 zgZ^e=w00Ti7Un9XbpCDr^F+*fM)w`{TCbhHUR>;K)l#QFq=TVpP_gS+lCoqcwkD-_ z_E{TjTvapD7mTi}!w9t{Y23W0L9Iv4)^+&Bc^!iF|30{e-PUZNjK`^Lf6=h0;4p3+ zs(5jpXpR)_l91?~_(D9N{xd{V^GDo=8AGhxVoK5U*TUSf3gwo^lCJIFAEus#>?pxCV(^87?^G!EMoQm!oA8Co3M9!SVQJk;xQqTLaUJF& ztPy(pOk}soLtIbFglp#v5A_bKfq;yt-1E`^V@xb($+hXwO%rx3 zrWBb5np2La+)m_tyN|D^d z*@6NtUugtR5}~xS`upNEU{ER$htJxVLi|N7?IKjae&Jr|y9Q!;wZwHRS`k%s-HGl# ziJpYji**qu`dPd@bJ)bpgd3qSvdz2LXlOi#0u4iUowP zv>%g19T^fX`mNz+Wh@aK=URp-3o^Z%xL zry~P^a|<8s^hu-o&I>nDJJKaz%ssMtuzU#ya(hZZat+-X18<7yC z*D8OV%D)-wO!oD-K}q|RI@9m3;65j4JL;BkWG80HrTyRo#uwH|IDsLo2cGe04BSgV z2+R~WJde6dh4-$KC~a1WGLBS%_>Evmew!VRMU7Nvwfa~ud2Qsm>b*nBCvVIuVYeUe zR-zz_&f?xB3quLY-iWH~zhXT7nBkpj54}mPb>+OrCY~IOzZgG6EVg>-8DXyAKgcT} zbM!^81#M2I&&#jv%ssd3h7YZRzL7=;AtW0&X*D0PaxAblNYWAQu<<{em zcTD}uPDz~JXyyCK6qENee$a#eIR1-2*Gcq``Yq0U!2;=PJnVsjo0p?R_j zX!UXlQmq)rJZP=VGJm)?Jl;@ZL{s%JO8)05N(C-vn-H6Q;?GvIEK;gkGKX;5j}f%tbL;WJZ{eg7qDnehRRnTZJ<4!T>s_2TCFI;_xci6oFG0J!c_nFyA~%g>^Di@e1Ze+o|jsRY6A!Z{JOSzI&N%Y3G9< z7p$MT9&hgZ{bT={Aj%1+YAs0&YSs~5 zNOX6~q@H%ao+kG0&-nfYd<;Y5pSPU=X_}{G>`u{qj#;8p>581*ch-T)prPVaiFopH_s%~?vg$WB?7zR%^M~ZJ)@~KDrePHO z|H^M%yS)NQaF~X`0oFGH>;bj-EeRoj+$>t&r6>u$ks*5&aUKl@c9Ln%2kNGGG&XsKC(FK z^Qw=(zcWecT6kHb4X+{yEAB3w1t8P^~f2ytzcRayM=O=Cf-g6I)ZfFWBSUuXMlS=OQQK6t`V zGV(=O?>RfBTu}N))Tg1`JoladvEBJDFxdthThE#&FvKo&!v0G>ghO#XvlP=+)k!<& z%=PshWh;A1MM*+V*ONu~T7M!Qv)z}A(;rQ$HYJ9nO!wiLyz_PS3De4_@lkqaKd)9P zuq8abf7ba;pZM|}-|Z7eMl91!>Oc?6SNi@pTIy8qs|Np;!}onp{#i-}r_l{_po)S5 z1ZM;Am-q9Bf+PLSEKTPL2_Kp)9OHevsh}b0=&|+XSW*`!CDN(_ozX+(>%{QD=l+VT zDl?E_z^#a-(4wgey(vi75~QL0NZsb-)XnW`!=x)is+H>z+D; z*qDP%JKblkY7NCH)Vkq&Uy))H`IA0>Hk6OAccz7X=@{_rD_jon7G9xxHK80Tz8xxT zx_i^&^pS+Yr0&B0d9Gtxjb{RlHxfE6Zq4??n=>wNPBNY4KSOY=JRV4E_gvk}6B z7+bnD-+SLV-RtlobKTq+yEdRVp_JYeRb_rMGI7!MU;jMl9(ttkV>$%ko*3{@up26} zeoCuBsbTPFfxfW(F^0{@&_vT=XCgFnEp-~Z?Ugt8EQt7sXF;j)v?eDe@~6E$@zW~O z%hw05u2Fqx{*I8IRE-w5lGW`nO@!spcG7Xt`l0Psy=(O$>f-C~&5l*Abf4vr9|KjB zDcUWnW>N~{n0&7x$kn6nLL+4EM9^c|#Z()EtI=DJAFXq8y;4inrOXt5RT}=?TWPXEwA1}nbFwa+=6?J~*NwNFg{Os|Nh)#peRp}^< znvKWc-&hTXbeIxagC8M~j#0*Gk%h&f@9Br7@7Rm@;1jb%4$MKJm{==9lUie>&}js6!S>#R&wO<_2e_02J1 zWYy;=*kioy5R&vAqtMc)8a^G>Y8BYFXSNml1LU@B_c+a<0 z`*vka-T74@_l>UUhn(Ct;VR5i`Gtm~97eZCDQGOYdEkh6cbcUz(ZZj0yL`c1!Mys) z^T4{d_ZSWL&l#R$4Z_9YUjF|fRYxe2Bs@crA3^r-rVH@qN>AMx+s5$RLkxJ4B^8_B z5F_56te<#gBpV%+Go2Wa#$^LJ20SQcAgRn>dF<6K)p4fy+@RbO@5gS*YIQvCl3)BM zzIjT!Vb@QwpWvCJ3Z3;&WY~}zFs=lC)?gb93iBwus>wyYk$5bvA47}3{4mYJeGgT` zLloc?o@x6gUiQv__hxay@u2w=5BFpqrrio})~bIp^f$uq? znq5@8E3_Bjoh0L%tbNMH;`}`}D-rr2-JNk5>Y;nGKph8<@4!WuQwTOtG*z-kTC8;_ zs60i;%UROm<63b1V#7Jj?Vl!BjK1vsU=`@%zA0iRaV$QK?2@UpL7JW;-NRhJFF~+i zNu53Yh=fh@wJk%R`&){+Pz+_0#V5jyqpEE7T+CXFE}5uINA0)eyA|0h%6;fK)wuQ0 z!m{v1m!OH6&V+HKsJ4FBe1KqSY`1kT9D%9aA}@aJb-fNoJ0yV_2U2AK<5c~tvsD_z$kNz93KMrbH*B61 z57e*xFj*6kSRLe$NxwMYt>i3%zeasmF`$(*k~uUqJy|~N)K1n9ykNbFQtAbVc@s!KWmcafV>DF1(7n3&?QP#3oWA?5Wsitn(|`tfG>E zc}vMILtE^bL@$4-o;t;bt8oLSMhi8r_vNL=m)w@R1|dawEXsV&g8Gs5HQcZQ&GO6j z7kR15H6k~bXJNtTSnI=C;eEtJ!r?}lW%!Y#IT)m5l@NR-`$-jD@ZQSsi5Z_JbS``7 zq>;~&v4jt5cMq3JhWqh3?_6K}bh?awxA4QJwEvSE`_3z@b^ONU+VGv@8JozBG+*WY zI$UN}{bC_J=OK?0@AmQ_v-KO}zDIImtC zq5N4}=FF2Ly!8Rm_pIQ_FkuPus>#s>FU3s*$q}NFn=iruhrYqGIomHdtK_Dr_&2S3 zvc7e-ykRxiZy$S@VFla+JEr3b>J+)v&K$a2$Pj0KtaVcHIO?6pM%{=HkWqLSeFhs6 z;QO&1Qhc4pcIO=!?#u$=Vif4$bU5khr%YMYp}S6eFtz*MJw?)A<0)i!7QprCZW+73-N}ei4tAmD$i&7F%7^H`u=gjdT(T8dCSATX_@wjWN8^ehHZe}eL_~#s80_>wNA&CG&F!Ue|&Z+N6iWHlhjn&{=Y62jY|FQ8}B0oAXKmWcmCT2$& z5VSfEe|nDdejd_!7Gyz`d&vLfy)q=W)r zzJrn~mwyhWEf-x)5SWOzCh?m!ujQEt)S&8~loA+1WD1!_&osMUPAcLS1TKO8h& z2}?iB7A(=u-Yj--h5EhsD`W8>hd>_+&AKuCedz8i{~2qS-o{PsDXin` zfuW!@A|Tt!06{{TP$br{ulx8E=wwuYIHm^LIuYtWoe|5R0y@7M$M z=~;1!h*;%kh@zR}6fuTqkxzb3Cq^9Z);z#rk!GbroV_*D^3hyr?T{yDA^_OGjM637 zZz5QH{w1EfVp?sA%sd(MpPxRQP*=X<&Y?`NjR-^a>WFVeYdv}P^+4;_`4w}V%e?IF z*qFo0Zu5w*>NIbtxpnDTo5aLPFHD5x#)#eW!+mKz`hRUVPB=-Ns*bt=Rvgc`0R_H? z%l*9b6tVTb zPcxx$q`K}b1P3bEqj>qaNlr+KISU zoEP~x9PCvVSZY~>iI`rSXCeIg#11->f677E}`le zY$11ZK$9&xC-N>4z_y*7c;Ril{Bxbr$49Uex4-Po-OTFwy zqi6T$&s|FIUct4k7{UY=?}35 zOd+lFU8B@WpZJM#Eh$(DM{DqF@wi^i6v(vF{(ksbV$$*}o}S2qAxYhHUcI5Aoj3MN zzxEZ><>uk>mbhO(K9nme+_I!GD*jcoKB0rrz<*vs#Pd--y7Iu2AC-cX=7o+@ayrM) zBc?+Ssvh$S&q`$Y2=1j$^dONMg!}j$zeyE8dkGokg@Q(LR+YY81PKT0r|MY&0h_4~ zmI8#N)?82Tnvth8KAoIgIWE&9<>e;%VKZ@!+QmJ&fXL>qf0p$cw-|ksLSTp*ImP-O zhl#MhX^8^S%Y_Fu^|kodW%rwF9M_+4B&!EbRk(y+AeAsgs{3xI_o5F%Q}ol9$>uW3 zv`E7pm3MuIePZ|<>OEz?eG9$+$^0I(of`~ZemYRIza1ddYb3y{eC_hy~-zQE2C`lgF7BR6o#x=PLbGr)b3! znm8Y_)<;U2F8Z}K)n5PCE-K1Czt%&N!hQ&oxJcxwsNlN<&ZiqXGCXfZ!F7YhnMJ5o z>D$(it;%B0vT0O!{d>i>@CN(cZe-z|efB2}nHT#ltNnfsX)hgyhkZMC9la`7mh!EH z6N|Wym*tc;-O3nkLV7IJ{g2IP)e1VJ%@Bfhz$iETg^cLND0k{?6j~QO(c~l4LyCYO zX`TrUA+=PWO19Xn|MF3j-}2U^i)Ypv?Yo0<*uz8Ce*upLAoZv}2MX zb&(F8)9{NkLtk_h(EHIDe-_)0=p2#3<=*-cutT907xjzWzE^6lv%E146a*X`6&?GM zZ@r6j$G&Vw$qfUYO%je7HsMF)ncx+-vLL1{KvbIUy~eM7s18 zUuoXj6~GxZXXl+&cc{11_nEP-pBde@FOE2D_#p0k0Q5~Tf$&#YKJnhQleKNXj>^)xb_#JCYJ=)~7p~fBKio=PU34;~ zfn+Lb0%?13A-0?fr`>F+9Uu9cXE4Zn>?ZZ>Wou-ul4s+Z*E&h{aLUv=#%i? z3@t%F{ItE|kvK>ZDZdhQ{=A>IZBxx6-eNPT6%LPL@qiZ)B+7FHcvW9gB_oo44y6w@ z&b4~j)ob~aVSt|YbF(5i;(9FamII>N^2nq1YlR%qPmL`Bq92k4Z?_Ds1;T|;t!UF! zlZ?3}=WS#EQfOpepu0kSF~Tu)HzrB>RAbXGsgvecE^{?5++{n0+~%E~Loh^}$XphK zlB{0hA3=rgRPT6$eFcHn3Vq7uC+{78bbe~A(E>M#Vey^L(iU?-H`9+Vi`fmm#;kpD zm|}Y??xI)$5^hO<$vaeVN)jXm zLcQD^9^$xX08hF(31|SOBy7Cx%vok(F!m`zP+zied7T!iXZ3Cmk3V3hB^&eJ*yiY` ziahh+OOM1;cknNQ&S^N-{nEFl(CsLr->U}opHMYx?3JodT^7%ilz;g$Pk-{*)60Dv zFx{8);_mSyAU3%`lu@Pn94brChQ$?fS9!IWZ>r-3MJ?Wy_CS&V$_^hu^|meyiV=I-0D5 zTk{5T4Uin}d61BmV3_db}5AyG6N_o1&4DWSxH1Hliue5)!vQUXydQ#N-3ukf$ z#04f?BbE7Rvy|~QG@%~XGnHcyE?#_*8YP>iOnW>%zefL}bAFx9{I`x6ia}q2Mrc9M zP$@70Yke^)t*d=J3wEfs8E|eiQ-i&Qw4Aia2c_-P2XsYo~Zz9)AJy^J6H{(jg3`L(?A@4k^W zGhhD%{nTIh;Wl2BHS~L*KPyo;;G}DgmH}j^gBx9I;ceNcXB!=+Ck~jK-ZaYiT_|+ubekKq z2;)Bca$kErmqMU@fhuN{Rjm&w zU{xu7BP7IB%{=$Z7G7*o_Z$VXTgx95FX8FmeN+@4 zY*6ld?KZY){!`w7^V+@;3{uQmE2g0(fBE^alT9KD_}9T?Er%^dF!8C0tCIbr^E?mz;nKZ0sd1u-3yctNPIl!TvWAIp4cXKK*@o zb*3QsJ*+=Pn$(qg_xxl%+i{F*%jzlp{loU}fEdaCr;FNk=o z^yEwCJmMANvlOAubp1i#yuTn4Q4j9{s$M9?(b|QyZX=N`@1ZXbQ|F(kXc<*?+N2dQGf`p!C|catwc=bt7UINPB&NvoVCpSV_qCTNl}`+XTAT%((S2 z6nWM6Mqk$otlu?2Ye(E}&-_xmU{~3@5NB;BNR2(<2T<~qlwMz>-q|T>LFj3(GOvNw zj79%|?fpkoWB;e5pNvYFU)NJJS&qH8Md)vsI{7sU#s~1KIUp-9Y8K$i^%Q1i8@3*- zadl;8%0{H-Oq2wn%ADGsJQPbZ({W9ZRt8()$?&D%+A)*W7|xl$&e~7~#m=E=JlK*S z$JJUl+0=k@@V3^K;xIc>{~D)j}=Xa&Y5en+5gokXtoL$D*X4d{T4j%HPHhc?P3gZTOHugC|9OX+Eh@p+;X+mLC zt1dNW*=847VdO><>Lju9p|R4J6_KGA{I5P8IX@6~{XYc4wiF*gmDfKX zM%vr9)HaK}F@F1(dsyw_$jfBk$pV{ON@)-4&5wQ*=NuQNpJbe6))QQk0=u!iN@%uF zD>9*LPz3pEx}U6Pi5{`^%x6Cpb}2Rb^VVy%_@5%a?Lv~8!wqpdkBcNm0*aS32iF$P zkSo6Y7H$cvv#cAYnLZ39y!idm1O)2p<+oMJ@^!yRfE+l2rbpNIJNSJ#^zAAgp-l4jOYha@#4+`q=Tw{;qkUWw7jq;iS~YOB=({lP)=UpDTyHa=fB~ zbYge@7^Vu_wRym^X)L-N&@PDyRet0-9G3u7m%~vnao#OI zTZqZ)_KvRGvn2R>GbMsd=ss&Gto4@4O~Q5Onha?2@xywujXeK(Klu@Boc4Po2-V9M z^Tj3q1-DmUHwbSLFPsgj*gmT%;pTM@hHK{sP$JKpKM(uK) z;Dbw~OKXabmzY?%r)mn2KTGKxBs!9DU3Z|PB!TFCo7|>Jt1_auU3SGUK0TN7e&5TF zraf8s!X&zKR&o62LPA)B2yqra>LIfXWkJ2rA(kgPWO#B#(J&=IZlIP-J0BK#=2Eh$ z+n(G@MtkI@tA#+q_ZlTMZ*XaUnx+ECx=pBmY#%31ITl4AJ{*?TyZEEVr@HdYYi91n z(P6A?{(#k_iv0~$(r(T*nq|e&{UIRFwaUHue~T2@|1Z(Q|8M{2jHCvV{Nq>`LWOOi z2y$YD?V$0Pw1iyRx2wrFT{7hET~K8IcXIH=1?LRoKv%WbHN4jO4*EaSyh=t5j_(y* z{N?)MdFg9M{$#>pnE(a-9=`CV8AYj@|< zkHpTJO7yB*qKk&^**x}xHG53p_h+UDH9e znrC+D9dr#WpZNXfq3ErqpHEA?DHre0OK7IxKtLu*aK{Ndh8B<91;FCH`_zi0-kegU z@Z?;!JiZq*=UyvJa$PT{*77%q_n_;B?ro7;+N?87W8*Fiwb_*R?C^^DPvROFN%dgu z7tr6eh|Z~n0um@Uq~+1vIk?a8u;sAcwS{S)XhWxJZ4W;+H6HE=04I+!VX#xVYHhOt z%`<7s=#a5fR@3dHbpc@Bp^n5!ZSg-5<10lXBT5B)3aOu#O|zA2*D7;n28#wrCK?Oh zGYN}mLkr-G?l7}9GzECQLkta|`M|)rf!PN_h-H=XtoqlR)(_$iT9`TVzkB-aafwKU z2l#d`W>yfr)ZeGYit5alby%crs0f~(G4-aSy7T^)*1VKJ6B}-fc+T!CrJ-ct_G?Gt zdKiAMp5;DTW^wd;$(g-RdAK|Ega}x&9f5KcH;D$|M6788lup0$wPZl{wvVremCkvK zV?$Bso-B4UP!;+uWN`lX1lVO+^g*v%p7r~P9(ZzQW|PRLCy#n)>nfLqPCvJC@u?2w z$d~%FiyOVBXur@9p0!vc78z`TW;Gor1=u{&rU?g3xsOfxPB4DLDA#b4pS%^za{k8# zGY?e@kyztVX0Fe=Pv@NM!cuzmbnu=dvZ_1M7{jGkd4pUX0^laFcJI8c9vr7KY6Ve zex|=0D@uO;XFYAd^Y1|w@y|jIYKJc=+&%ni`Y}7s8q4BwqwC#sluJj>3X^MMx~q&& z>|__JuyLgtez!5ddF++?CAMvmeH&vpLy`U!i`*f*&5E79EGZj@kUu%jNw{x)i<}tB zHB8j`{#LXc3VD><d4_F`R`oC0?N@7PcOW)%}n|~_a?PA zC_$tV$_eKB=zmhH0Ll64yk4SGm7{EKV26uZx2wqhSK}uZ3SEO)*s~j zZj3vTkQ3n*>0eRXMjI*JGr)kK7RJo+7?t_84Z1Qv4W<8`nAwoD5;|wG_$29Vq572# z@wNN*yy=ULx_a08iZC4~Fz#3ZZ?TJ6u`RyT=B_MlI~QtU&6qDK>-*L;&%YkRJ9Blt zw0rNW)_c&^z$t`!a5&*Fo|}!BbqcE+cQk1BLdrPUl-61c)iSt zmW_(_IT7_azWI?^N_J%*LrH{Ws$_60Q zPus0kRHy+x4sB?e?D*@cL*YN~@P{g=tTU_^CQqlqTTJE|SF@Q3A6gGRqVeXmcqtO6 z{r$dfPx?+iF|qk*bkr}nYVQc>ff*wvg^*`zT1O34yw`qIhwTzu#L^Wjr$0$lP!3J# zJ$`I;rsfl24s^h3_)A`Fv|LA@Muq0l7IjYZ5|gv)Wn<1IAL+`Ai}&f`R2fH&XqUEtsMc+$hE(@VtDERviga=DEec_)rwedCx>IR$L%jfo ztG#0p_vm(ddST^yNX2x0^Q!-a>Kxk5Aaa^jqzH?-IXUx}@gATAQ()DsERVxtZ6~2p zGG9Zza7b9#gT=2^_`w=5_0Sso@M98-yo`fL97%z;z#FqVgK)v?kl7SGA!B6WSCkbFCW1dW->5y zZ{h3(vVCN$gi~+Wtftljp8`2fEGC>O_92UL~b{f&_)592&@4|gMxFVJ;HNT7qyk#7D!!q?g6rP?R zRan~5Jn0)L0&3W!9dlf0%E_#sp* zTKfT2Z`$nS%jj2Lk1o0pa%PF+tRn}9F&?<5z`1Uw!1>@F=HO5&Z7JxFWP=U|67P>%PN z^(_Nba>@pRcH2%`o%(#e8yttO#av_Eg#(bJ?g$Cju9`Ai z2kRJQLvd3|x+{cfAZ7;y%W*^bf-#@!N0M2OEbUH0O1W7U6AvsVW;YKU8PdPiy2kyt?)7zlj-~XPE^3 zFuDq+gJTCyMD`u+ppJLfW5w&7ga@dD-OU2r4pYV#?G^e1%U6;~Clfi}920h1%XA$~M?adMnNM(qL1#nOMO^7xeT69C5~ISGX~g1EQaN1WOjQ9? zHntLWAD`EC*FwWzIh*IP!vv#POEUUZoBbRH((NbDzG!(s7YOzEFZ#QOGOCYb@p8Yn z2&RxN;bhzRK&{rY#J5TX&xFie%#`_uO(pL+>8qrEao@7PWXs0Ff98H*!hM~Wbtec8 z>BdF?aavW{7PGA7GF{9&PvAdx2`7s>mNJJCVZa-xwRX1S)+-LFBR1qw*BY6i+r~jB zI1d+gHs6a^Z>ynSz;tvNDnR9QPjnx)I;0OfVbu$-aZjf|M(NdoEq>Z!6*%vt*A4Tj z&+c5=Ha92~jOJ?2QG9I@#@T)-mvs3QFFR9VF1Wqm+2A#n+4d}?CpmYdZr;Adt{5da zBt`==^EpV$4=bT*hUthh%JqDMZ9ruQNtl}`J1odGtJd&a`{NYhv8vJk5!dr+c|b)1 z?0HlLx(i;7SSy*wCOC+#B~o&F&ZA7Aw_fv#R!1yJ$eITRHI^mz`e?WDNe>St+t8xZ zW26G>D*bkWm940NuQ&iTfwZi9+Rjmdrd|Z?CRIDB#%Zvh3k0el+ps$pWUKl@19QBwQw>CSkdQ4Vu3hM8oX*nbp z6ke_A{>RMLD-7jKyHedP>vraX$`047o80)@e$sV}L`+BNEDYm`NdnVVZ!?AGch`BS z<+P_+B)jg!6Jo|~)RGr|Etdn`{K`vZ!hA2N_YuCCJP@~0DoAF-#SrGoZ2|OecFm6N zhXw}42b6#}Aw_w>Mz_UuT!MSfN?3-4QD#_+1Nyo}o&st}lZGMRR}PL-|6}`P_wP~>;_inJ@t7*vEmNi`Y6WhixzaTV&H zUpJ&yq;%zq>U24HW!^5GY3eOi8I8XzbQ!rg&~dhZ40V)RjH9Nr4)M{&Q7+H`6^t9v zC2xX+$<<=C#W;c@U_39ogDMRu z%+I}t*Ms7}!5OAUCq}C7;|@Ux^1oeMm4}SH`0Xs=an;OuUz~75#)y}~kUH+qAVV;E z9{U32L=T1h0St+8On}x6HoKgm3;s=p9xoxrJfI6y0mr<-cJ!%O&&tABMMrb(8|z%} zuwG^h=X(eIo0M0c-sIjz8l%-ghU5m;@M)JoF~_l?f8<@Pf;fWdm-|6Zx(t5&+Eio+ z{YZp<`$*X5#hC{haekvO_wJ{uliPwJUvSR*KT&#g8#F*(nXZr0RiSj+MJS%G5DIu* z0ht2F?4gxe`=83nrwFgO@v(A_UA_U5pUj2})H1YVFSl^)%YGnaVE_q_@>q9NVC@0b zV}2HJyH%fIstBM|)^j{1#!w2P>ic?;`Aue4eo&P-n|jkStC*QQXVAwL;}brZP24XC zIRO-2b#~`7;u0`(CC5#>fcPWmX!pPXkY26D!VpVlK8D9XX}Tk{EV>`F@G>j!UM9bM z9{S60Maz|&GUk(oP6@JXtV&OL5yqS`fPNl^Bzs|En7Pz8KFEp=UjgF7FouZ9Xi?(b zUpqS^ehgs^hi4;x@6$$=i!6#0$hxmTXKMN@9qr<#qqC%acqQjgojz857xr@jQIxR574qRSTLJsL9A!<1>TT{8Z(B| z%B@^MpCHu7{!QdVhOI5&8=^3B#q|5<&5w5p?S;K<`7E%W^Jobt{pF+*X4^*lR`Tx*mlw47s(3he5W7=%6UzQ?_AqIGFqo3CW(%o4D@anj=c)B=nKXskxG3+59 zmSU*ttvYH3Hbw<^y1Dk3AGt1%ui>!Zp%E*8EmQ1cx6a;;e8-JVNG1+U%>|$uTf$^> zFGA7>eH01f(08N^_TUW#sN8XWbyvscqc+5qH*C#RGS8yE5cOV*d;ThyNj4FGipJY` zZu%@XG}Oed5FMM#B{BAY5q%(N$_&4fR2WDSv%Vq8uRiB{EWB2TDWc&6E zOFW4B+uJFYYO0h#H|O|xkPz<=oz4QL`~q_TK39SfA$VXRg{3|#;%@sa2-LE_l?gy9(+Z3@Lul!k&WB z?t-fr4X&aFrS2l%rEEf2vZ5!tbLfBBy7~DNzuD9Vt4i?WcU7x`}5^U+wr=7>v@Ofw>_@jQq zK(k@dY0d6~XH0Ekm1jMXPjf=nG}!kW-wg{Vu#$ZVZJhqQ8F-6|&h7$q*0E{t9 zgz@_8-}ePNNQu2UMPqfo3gVNhvSGj9y4U}^Y9Xm-DC<~ctMFbxp4o)fM-PKKZXZJ| zoixZ0lJCIOareO|`Dp$W`L4zmH?orzsS-%MjWaAu4bo?>a;K(py2)c`;%6ju$-;dT8 zW*;8gkLkLxC1|rby1g6kCoaKxVdHD&c{y|w>jzL?7gz^uR8H`IMlFR3vv?|~dbEB3 zd$L1+Bh<=wx>H+ca8yUf6bAwYU4nEib#`(#MUxI|Jzo}+D{zsyyOE{qY4n+!CTn)W z^Gk2UaTX8__V$MqU_e?QsG@XO66OHKNX$?O@J8c0tRQ)-UTiXq5(BAT9ocbAI*y4a zI=}t6{AwkfRmI!nH?k?$7^-~oo$Hsnv@7qw2mXagp!HZ2aL`|Y&Jh?QS#usS1YbB2 zMl*x}Ploe56!{SWNt!_c6)8t@J-S6bn^l9oY%HdyTE6Ofer3D*Q{lDVWIMdR{j!8q zv;`s#PVpC5p9fm6yeGiN2Y~69&+q&WpY7S?S#`ih2Uob=w?M4#em<{ZS8*J);bKFd z$FSLE>WXtsKcgqU3KtB##QtE=;4J6S)GwM0ckmYuU`1GGSl^!+$}BCUsd|sHh%5C1lA|)79$I*go0;Oz6$8&EMqKSRRkx75FXQ7shKR>fZmSA04l$nr z)jD6*4y+Jblr;{n>P^^`YFD;)Y}<*!{NEq`wy9GOX9n;abqlLM->Qw!QU{~HZ1uU0 zt|ws+vD0%JgkS!%K=l7V?0t7olU>^Al)So>Vd^|8fd0?)gz;pb(Gq zA0bRkvND-YU<4WtO}8)vjh}hx!*u}Oz5;N}Mk2`fG)abIUgk$fwncGQB~B{oa>B=R zT51KHw>{@(rppee?5S!a-$jOJC$*^t(^CFzj;`2`dr+-&5 zMGWuF;CWI)5rT&s$|0h5>s`yh54Yyue(vhqT9zXCB~DmkTZx#UWReT=&PX5BO&~{* zABa9D5^@gmVPfdb4FHzLGau)z`iuBzg&2O#K>y9}f^WCuuw%1b?%DeUn{fu!4)jGJG8 zf~1c2mC-i6xAU)O*<;G9Kr_zNoG812lYJR-DJ~>8QJtULTaR26nE4U8Uco#Aw@+Y( zB$*FjcaWwUPA8oGPSHXB>TlHS~jSjp#;5tbLN&vYtwFCWN% z=f?FmQu#mI&n8KEDQBZq_68mpnUDP-7kiEzvk8<$hui=i}Vt z+2C4j4P;~!di?rw!N1yfBej4Y;w75B5B;0sIg-n)WwtL|4G;1eBB!?~bFY7bflAo2 znL%j;4x18S=>q>nBQmFm_2f;+4u68Gs6*rg)hHsbJ%6O}gW*a*Vq#;%5(79~m0{KM~#8LVnZL;T{i@pEr}CBTw50z)&v^zRU@!Nn#Knt_oJ zNEwouoUr9QtCl)N=dh1d3l$X-8_p-$Wu%Y2$eoOoJUM0MZV>LtE?Fwg>%FBm-w0|~ z|8OB)5dGvgBSnM)38B3g2g%^=iet&)PXauTagnIUQ4CK8w>`}q>wfn5;&!O^5?ddrKFA49 z09#vYaj!Md(bc}1u9`%;^V-ok&~Vlv+%qq|?79BuIQ)mM(cN2zAF4Zonx*lvHr;xs zBS0u8{R1zksAy54l)lp4rVruTRya^be8Wd4Pj)w+9*@s#3ei zNkfl+Ky4D3_xsQ&%HEqoI~>Q@?1@2kHz?JaXU>Y+l?`52D}yq4`TG+mMWWoyhcDbV zO8Nx8ApX0LR07O&a5kB_Da@GiatKzW)K%$HqXUHe9d-PhjvZ5BY2IJvWOGFQs}Ei0 zRhDtml^#S@uUzC=cBbPH{+VQ^6F5z-NDLj?_Mllfvp^W^CYQG4b~N44#A>~30m3wDLSaGvYMDzVur&b z_J|-PHpZ6jSZ%YhxEwSuG2-NOzT@;+i(j?B-Ve|mE1Zv$`$qpxfd!t*+HKHPXjrWV zE9F&bOn0W1g#sfB8&hso@569rDcX--7{2TlkDf=%I+#ed?ASJ#C|zVjc5R0hlmK$z zy7zz;)pahJ#Y5V#)kapcNumGf5zbJ!4V-LKFhbz*h)RgV7JL&TY z6u#!!TEseK%thD@LQM42{Ai{!FkgY|93BA8`!cZ2lu~GZ*!_c2c(tnZ{`#{iCo3y( zFB->E-|zDmyj1Z8_qb|6Bv#u(B2VBA{vwc~7c!D|2;Rif!t265K<7Q?WK;{Yuff9U z6!(BXTrvIiNB^>u^6@W>+RsZQzWO1Mx>-3^bU8K7PhC|`D~x$Rl8dd#0WbJ?X!R~m z2-+Dn#KZIi)U6&MEP`x@f3wVHcF)Qv!0oQmuk2a@ylp(qBS~o zcK_)3D`Xg542VvEIHR#8&B1wyq!Xaf)7#ba8mF$b^~h?Y-sty*(f2@7va&Z6ZTydOw?=M<{m3eddk~;(|2LJJ939 zM1KGKET#eM$EW}bFoH45JjHp0$9w>pB4T|CafkbmJY&qsF@xELy&QQtaN0Rdd!LBd z-JIE{IhV;o;Dn%IrTivP`YSLGG!~BtemA}UZ(k)~)BqPJvOUAU9MlX9&N2~=&dh%8 z-|s@qYa_-J&r4o*lb<~HBCa>F3EdI!yr3!M#U5c&7T3-Wp5;Ww6vE#RV`(IiQLEKe z1@Ly#5RRrhmktO96!B^}Dr$H0TU-B9M^lCJ*bVmu&ndSzEHlTPZjt)a=HEYFS1DFY z!2=uru~$M3wy2pcd~EzeHVfxpM%$JSPLE#Cy()|a!zhc&=Tg<-TG)HoS2xL)R(>|` zXX=8Ox`o&4VC&<@OjfypW>BjJVTi|G62MG5$|$R+3}*t=CL)WpLR&Gll2zx>-0nwL z0)8Z2uYNK*I6T&RD8RS-@EbjMp|)#JT--)PJV=b4{lO(zSUxWWsD#f9lX*v)SuIs9 z!U}KJQR#DoYMblSwQx2KRn(qYG92MNsNMX%DE-C+y5F+7jGmq$V z({CBBpUOV<%Rs6{^N#*OOrHM=aKR>^u={@sQBh3axa!p?C zDA_^}A&2Hwn&&upWM%Rl&`#Xl=qF!olhl9wminQLB1N6O{A@iMnHvF?*R~&zS@&Q~ zX8Yghqo?84#~Bs>m9t3d@tpb2>A_o zDH)l_j$|ICcK4+;S$7#Z+61{?-(9UohDiPuf4VH z67e_wGP2XMHCaPHsTA#!56fa6f_APrIGtrm7$FrWgSTcpog!H+2a8}r4?q*r`zgi+ z-3FSfUy9N?J+CF5Txz{#C;I#=@0HATzwZl_4s&3{_5Tfu&~a;^ByB>e2|Z{-PH4fG?Sk%#zd-Ra9TuT*NPOuxe?2H}Zpa7R-?>mhSbP5a>!l4o-U zmlA7i+{OQJy#;nQjXW^LG=>iV5qEKjl_=IxJYPqpbr#+TR?iq6(-|Namq5Em%U<~U z-Tp0+pXz((z}-E2cNU&`c<=-27*s1ukVb~8MK~!277PLAZ}<%Z)r8thc0-AI5cIkX z)M*jd(^%B%#{n((I3ljb)G#X7SmSFP&hkRCths@T$~Mcr)Z+&dy#O~4 zIO8(^;7+BU0d(4%suc)rMuPAZ2o4QG^{#aY=!|REMZq@X|H;z$Q+4_hVAjVwrzWxMtP4`=n!>(VH6NG1A? zycNHo+DcZ#C;3ke)UTHnc!aUYj$c5CTCf^eggZ*pqwhs6((4vRxp@l;zGo&nZWY z2tz|tP1tDUFkPl%+|bBeg*p~BuKZHkvTpH$Zb03@S)ogxBl(&(y|{k(+QTB$f#XQb z2f(~py@>E9(iMSyyd{MW(%5`hPBz|3q5WaC{0QEx6YuLz_4gc-9CS|N_SQ-3za<~l znr4xhDtW(YI>Y{Vdo%#_0VJT<>f%5V^J(87E-zKWFtP*15^PkBjbYp|;C|1C-s7IL ztZ~J|ZpV*Lqn0d<%g63CrxSIlqENabjzrJ0jv+M z@ZtqHgds$GpGjo}z9?}#^J8_IjM z<263ym8e&YnLRgtH&qTjpnzP`oVm z`lRL9?zWH!Gw1j#FJ2I*`S)J@kApsilk;$P*w7V6Y=hme6^WY>uZLO#ANZ(vn)&ZP zxpcO<@MD(z#tts_IymWxU~LxU8-HoJYK1_jj5vm2_e{X=q~SV5s0&{a+&*X8B(;4kTYll6aHsQ!IUQJ#kQo+FGHSn3wntuqs|w zcNrhSQjFzq!OcfbY?lV{=~t*S)I6Y32Oqsp9?x3(Hf|q;X$T-SVfLDglS0xYUs@(@ zh=eP-&Bc9gIMqt=^HDTn{h0c7k!Rx+_@&*2nU(fW`6^c=jGgpvOzQP)7)3Sdk0JU9F&< z+@$liv;<`TJ|GB?+U#7%+k>y13H!tKRU4^eza}?Y{EVbM6eYc<@6;O z{0@#0_`~%S#|b4-v7ns{(mDqnEgMl*9;omo+%2f z>Rm_PZ9kJtDY*@&y7Gl4n=)KOw9HtzNBual+&7;u2014Ryb(sepuw?L`Zu?(8qazC zhwBoHTl^wm`Gb3GxcHJl1d|A=Sh)B% z@n`hTq2kg`V}-OgO4%cJt$X6gk#2bc(#qUxrIm{`o5uW55)a-0IRKL;pk4lQCoQdA zdk$Yl>60rYIO~#}XIoe{nt-L+gFZF4Mu(apkxI;qIlQWOxuo^geCX~^d65~+Df#H^ zw3>t=a?D~3MT#JYbfg*f8tunl=vV4pP3gbp&2>{`$VI%R)>B+BR$J;$t5lI-!%Oxo z(cpMyEh9$nR9a4A*L1Sq#^I_?xIYp(+)1B2^5z_=xWU}fxI($v%iZ45DMEE_)e(Bn zZw4qIC>iXeOnk(p&l{Nd^dr12m^{laX}SRtA$ z;d396fMC8qTtA7E>p=>iBPu>v0%{`#(0`58>&G_iXKDjL;aYXavsShQy0hu`5c~VS%_+Q$K;#i2AVcxaDzzFY$W=hM#Hwm?1dWKf1r~{$Y$_#$o}DqNTjL#$^eKdvp-x3 z=#PtVVE!Bqpk)`sQ82~<%=DkfLoT_cBXSq+u#3T)B?@H5!#O@~TY+|# zK)E>|iDNTy69<`QD>{N7w!i``>-w6d(|X-0@+&sZ6o-D6#OHCBLC}BSfQ{9 z1FUhXIq0w_ma5yJ#t(N5^>E*j&S80}`gFHFs%w>jhAdt(4rtd1n=E@J>c zpqZQ1RUhgYF{~Obn%7&1CEq_gaQkabHg~WJYYQiu?4GL2`~WMw#h?Txjlj)0Gk2q zsrq_(Y+0UDv$Ll+sr+?8>(}Ox817>Qn=Zv~4bZ8|bC(h8SS1PihglVM-V+e8GY<-S zaGR!_t4cd1UkLuz+W4mY3RnL+4@eh+_&llDge}s{94!F+4$ln$qJ3AFfiW77x>s?gN za`|ikowPd!suf31zhHw0sBX>TwLmipj@5#?^aK!THDnnWf_s{X8z!6naMgoLJ{G`< z1s4dQZK6pl=Mh~{V-olQ{LQ~c`IlV&Q=XS*f&cxp`y)RXO%L>&8>AT$n$L4yL!jF% zdB=)M)@HMhuy;d}ks9lWlH}N!?Jb87Gxs%hUu$#RkY;ijYA%-*h(A;YH?x%SF7&cS z^46rY`9@8PTPNd=9j0zwef8$BYDN>`iiO{%#F5Y1>>5HJnSN7u&TyiA%S;)%06+!X zqexuU%0qQ+*F?kf`x^tKM;_v{ZimWOgsYE#lgclaTKA60gg?V(Aj1K01&{Hd8Ba2E zBQ*5`8x2>`-*2d(_rf>rlM_rBeGziJ2BkOZ9IlKs_|@x4reDvikdOYr1uDG**dSOK z43PKN{&2Z~0C0Of|FK4rv~Lv9RT#!QOB656cRF6Nmwo(O{W(AB(!R(6n=i?~cn$`e ztP6Bd1km2-hZI5d)izyZhr(N2d}fUbnQH`p;`2-M>Y$j6lH!EX;j>4B-in60iJP!X zVji|Z@v#{}tiPr<1bpm*M(NHT!eOMldY}Ix=kj>dd%)tH7NP#UB=+mj+@a3rA@yg! zHcuv5+H$Y-GXX~MuTTFG5@Vmr(yeJFhoB3IkKXw(k4a0OEM+KcG^QD_Mo%bSLG`{3 z-3^tiOc3FSbcE0E50^=89z@+o#UeH~8wTLxhUoFf5dA_vtd#%o9%#vp=Ee&#qG+R4 z<^1+Eo*1nZN1w|*UbhXJAD+*bjy4W!75?mSm|H6*8Jz{u(+NAEP8ry~onyvCu{|E5 zzb+#CK{_vZ6u9Yh90@+_Z}W#Mu?K1Z{;oZF!-yZG#drmF04uMY+%JUe^{&Ni$o+NE z=_HV-owx+m#rzFTo`$I2h|s@={Ff~Mb%_2CZcpIX`w@s&ZraA(2%d0eT*GmWA7m&yVN+q0~r4(dYQyy zV4hAK>}Gz69DNVGwo@0$_N{7y^6uqV?giHE{(foO&Cg=I}~ABNvLoNhTQ>!p0QUS;QF`zwfS#UN8K7HG~+z7y+@JQgym&F@S-@Ac|DJ&##j1ZsxEqdCeLce4E?L{ z>59GF9O8%k?`p7I=KLZGphFN|23?Z*rbnb@n6|CJRWV{h#ol*MvuFN*?%?7%SyqJl zrO(EQ*n+ck_6qaie{cNwzx*dGitNay@nh=9fXNG1Mup$QB^UMH%YW>2B#HOZcoSt% z)LC{Tx}Rdb4q_NvK^E~D(15kZ=(#Ak{tuVA?xjtL4~p&<_T(N~2õdG-Eyg23v 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

eZ}z-0H;YlD`4 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�jgPXlf8vH|^ZUS`&M(yIYo3cWllT&)4_8mZf(h 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

OY#ex%jBTX!`zx4L+L1%d!*p|iF$E8i4i`N5 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

Bibliography

+ +

City Planning Bibliography

+ +
    + +
  • Boyer, R., and D. Savageau. Places Rated + Almanac. Chicago: Rand McNally & Co., 1986.
  • + +
  • Callenbach, Ernest. Ecotopia. Berkeley: Banyan Tree + Books, 1975.
  • + +
  • Choay, Francoise. The Modern City: Planning in the 19th + Century. New York: George Braziller, 1969.
  • + +
  • Clark, David. Urban Geography. Baltimore: The Johns + Hopkins University Press, 1982.
  • + +
  • Clay, Grady. Close-Up, How to Read the American + City. Chicago: The University of Chicago Press, 1980.
  • + +
  • Gallion, A., and S. Eisner. The Urban Pattern. New York: + Van Nostrand Reinhold Company, 1986.
  • + +
  • Greenburg, M., D. Krueckeberg, and C. Michaelson. Local + population and Employment Projection Techniques. New Brunswick: + Center for Urban Policy Research, 1987.
  • + +
  • Hoskin, Frank P. The Language of Cities. Cambridge: + Schenkman Publishing Company, 1972.
  • + +
  • Jacobs, Jane. The Death and Life of Great American + Cities. New York: John Wiley & Sons, 1974.
  • + +
  • Le Corbusier. The City of Tomorrow and Its Planning. New + York: Dover Publications, Inc., 1987.
  • + +
  • Lynch, Kevin. A Theory of Good City Form. Cambridge: MIT + Press, 1981.
  • + +
  • Register, Richard. Ecocity Berkeley. Berkeley: North + Atlantic Books, 1987
  • + +
  • Planning: The magazine of the American Planning + Association. 1313 E. 60th St. Chicago, IL 60637.
  • + +
+ +

Related Reading for Children

+ +

Fiction

+ +
    + +
  • Burton, Virginia Lee. The Little House. Boston: Houghton Mifflin, + 1942 (reissued 1969).
  • + +
  • Murphy, Shirley, and Murphy, Pat. Mrs. Tortino's Return to the + Sun. Shepard Books, 1980.
  • + +
  • Dr. Seuss. The Lorax. New Youk: Random House, 1971.
  • + +
+ +

Nonfiction

+ +
    + +
  • Barker, Albert. From Settlement to City. New York: Julian + Messner, 1978.
  • + +
  • Eichner, James A. The First Book of Local Government. New + York: Franklin Watts, 1976.
  • + +
  • Macaulay, David. City: A Story of Roman Planning and + Construction. Boston: Houghton Mifflin, 1974.
  • + +
  • Macaulay, David. Underground. Boston: Houghton Mifflin, + 1976.
  • + +
  • Monroe, Roxie. Artchitects Make Zigzags: Looking at + Architecture from A to Z. Washington D.C.: National Trust for + Historic Preservation, 1986.
  • + +
  • Rhodes, Dorthy. How to Read a City Map. Chicago: Elk + Grove Press, 1967.
  • + +
+ +

+ For information on city planning and related subjects, contact: +

+ +
+ American Planning Association +
+ Planners Bookstore +
+ 1313 E. 60th St. Chicago, IL 60637 +
+ (312) 955-9100 +
+
+ +
+ +
+

+

Micropolis, Unix Version.

+ This game was released for the Unix platform + in or about 1990 and has been modified for inclusion in the One Laptop + Per Child program. Copyright © 1989 - 2007 Electronic Arts Inc. If + you need assistance with this program, you may contact: +
http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. +

+

+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or (at + your option) any later version. +

+

+ + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. You should have received a + copy of the GNU General Public License along with this program. If + not, see http://www.gnu.org/licenses/. +

+

+ +

ADDITIONAL TERMS per GNU GPL Section 7

+ +

+

+ No trademark or publicity rights are granted. This license does NOT + give you any right, title or interest in the trademark SimCity or any + other Electronic Arts trademark. You may not distribute any + modification of this program using the trademark SimCity or claim any + affliation or association with Electronic Arts Inc. or its employees. +

+

+ + Any propagation or conveyance of this program must include this + copyright notice and these terms. +

+

+ + If you convey this program (or any modifications of it) and assume + contractual liability for the program to recipients of it, you agree + to indemnify Electronic Arts for any liability that those contractual + assumptions impose on Electronic Arts. +

+

+ + You may not misrepresent the origins of this program; modified + versions of the program must be marked as such and not identified as + the original program. +

+

+ + This disclaimer supplements the one included in the General Public + License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + NOT APPLY TO YOU. +

+ + + \ No newline at end of file diff --git a/docs/credits.html b/docs/credits.html new file mode 100755 index 0000000..ab46f9c --- /dev/null +++ b/docs/credits.html @@ -0,0 +1,131 @@ + + + + Credits + + + + +

Credits

+ +
    + +
  • Unix Implementation, User Interface, Graphics and Multi-Player Game Design: + Don Hopkins + +
  • TCL/Tk Scripting Language and Toolkit: John Ousterhout (Scriptics). + +
  • HyperLook User Interface System: + Arthur van Hoff, Doug Scoular, Don Hopkins (The Turing Institute, Ltd.) + +
  • Original Micropolis Concept and Design: + Will Wright (Maxis Software) + +
  • Contributors to Design: + Don Hopkins, Arthur van Hoff, Jeff Braun, Robert Strobel, Brian Witt + +
  • Graphic Artwork: + Don Bayless, Will Wright, Scott Martindale, Don Hopkins + +
  • Documentation: + Michael Bremer, Cliff Ellis, Akila Redmer, Tom Bentlery, Will Wright, Don Hopkins + +
  • Sounds: + Will Wright, Steve Hales, Don Hopkins + +
  • City Scenarios: + Jonathan Trachtenberg, Brett G. Durrett + +
  • Special Thanks to: + Will Wright, Lucy Bradshaw, Upmanu Lall, + Arthur van Hoff, Dug Scoular, Marcel van Vuure, Bob Adams, Carol + Adams, Rafael Bracho, Josh Siegel, John Gilmore, Tim Niblett, + Maxis, Dux Software, The Turing Institute, HyperNeWS Fund Contributers + +
+ + Software and Manual Copyright (C) 2002 by Electronic Arts. +

+ +


+

+

Micropolis, Unix Version.

+ This game was released for the Unix platform + in or about 1990 and has been modified for inclusion in the One Laptop + Per Child program. Copyright © 1989 - 2007 Electronic Arts Inc. If + you need assistance with this program, you may contact: + http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. +

+

+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or (at + your option) any later version. +

+

+ + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. You should have received a + copy of the GNU General Public License along with this program. If + not, see http://www.gnu.org/licenses/. +

+

+ +

ADDITIONAL TERMS per GNU GPL Section 7

+ +

+

+ No trademark or publicity rights are granted. This license does NOT + give you any right, title or interest in the trademark SimCity or any + other Electronic Arts trademark. You may not distribute any + modification of this program using the trademark SimCity or claim any + affliation or association with Electronic Arts Inc. or its employees. +

+

+ + Any propagation or conveyance of this program must include this + copyright notice and these terms. +

+

+ + If you convey this program (or any modifications of it) and assume + contractual liability for the program to recipients of it, you agree + to indemnify Electronic Arts for any liability that those contractual + assumptions impose on Electronic Arts. +

+

+ + You may not misrepresent the origins of this program; modified + versions of the program must be marked as such and not identified as + the original program. +

+

+ + This disclaimer supplements the one included in the General Public + License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + NOT APPLY TO YOU. +

+ + + \ No newline at end of file diff --git a/docs/history.html b/docs/history.html new file mode 100755 index 0000000..17c6940 --- /dev/null +++ b/docs/history.html @@ -0,0 +1,698 @@ + + + + History Of Cities And City Planning + + + + +

History Of Cities And City Planning

+ +

By Cliff Ellis

+ +

Introduction

+ + The building of cities has a long and complex history. Although city + planning as an organized profession has existed for less than a + century, all cities display various degrees of forethought and + conscious design in their layout and functioning.

+ + Early humans led a nomadic existence, relying on hunting and gathering + for sustenance. Between 8,000 and 10,000 years ago, systematic + cultivation of plants and the domestication of animals allowed for + more permanent settlements. During the fourth millennium B.C., the + requirements for the "urban revolution" were finally met: the + production of a surplus of storable food, a system of writing, a more + complex social organization, and technological advances such as the + plough, potter's wheel, loom, and metallurgy. +

+ + Cities exist for many reasons, and the diversity of urban forms can be + traced to the complex functions that cities perform. Cities serve as + centers of storage, trade, and manufacture. The agricultural surplus + from the surrounding countryside is processed and distributed in + cities. Cities also grew up around marketplaces, where goods from + distant places could be exchanged for local products. Throughout + history, cities have been founded at the intersections of + transportation routes, or at points where goods must shift from one + mode of transportation to another, as at river and ocean ports. +

+ + Religious elements have been crucial throughout urban history. Ancient + peoples had sacred places, often associated with cemeteries or + shrines, around which cities grew. Ancient cities usually had large + temple precincts with monumental religious buildings. Many medieval + cities were built near monasteries and cathedrals. +

+ + Cities often provide protection in a precarious world. During attacks, + the rural populace could flee behind city walls, where defence forces + assembled to repel the enemy. The wall served this purpose for + millennia, until the invention of heavy artillery rendered walls + useless in warfare. With the advent of modern aerial warfare, cities + have become prime targets for destruction rather than safe havens. +

+ + Cities serve as centers of government. In particular, the emergence of + the great nation-states of Europe between 1400 and 1800 led to the + creation of new capital cities or the investing of existing cities + with expanded governmental functions. +

+ + Washington, D.C., for example, displays the monumental buildings, + radial street pattern, and large public spaces typical of capital + cities. +

+ + Cities, with their concentration of talent, mixture of peoples, and + economic surplus, have provided a fertile ground for the evolution of + human culture: the arts, scientific research, and technical + innovation. They serve as centers of communication, where new ideas + and information are spread to the surrounding territory and to foreign + lands. +

+ +

Constraints on City Form

+ + Cities are physical artifacts inserted into a preexisting natural + world, and natural constraints must be respected if a settlement is to + survive and prosper. Cities must conform to the landscape in which + they are located, although technologies have gradually been developed + to reorganize the land to suit human purposes. Moderately sloping land + provides the best urban site, but spectacular effects have been + achieved on hilly sites such as San Francisco, Rio de Janeiro, and + Athens.

+ + Climate influences city form. For example, streets have been aligned + to take advantage of cooling breezes, and arcades designed to shield + pedestrians from sun and rain. The architecture of individual + buildings often reflects adaptations to temperature, rainfall, snow, + wind and other climatic characteristics. +

+ + Cities must have a healthy water supply, and locations along rivers + and streams, or near underground watercourses, have always been + favored. Many large modern cities have outgrown their local water + supplies and rely upon distant water sources diverted by elaborate + systems of pipes and canals. +

+ + City location and internal structure have been profoundly influenced + by natural transportation routes. Cities have often been sited near + natural harbors, on navigable rivers, or along land routes determined + by regional topography. +

+ + Finally, cities have had to survive periodic natural disasters such as + earthquakes, hurricanes, tornados, and floods. The San Francisco + earthquake of 1906 demonstrated how natural forces can undo decades of + human labor in a very short time. +

+ +

Elements of Urban Structure

+ + City planners must weave a complex, ever-changing array of elements + into a working whole: that is the perennial challenge of city + planning. The physical elements of the city can be divided into three + categories: networks, buildings, and open spaces. Many alternative + arrangements of these components have been tried throughout history, + but no ideal city form has ever been agreed upon. Lively debates about + the best way to arrange urban anatomies continue to rage, and show no + signs of abating.

+ +

Networks

+ + Every modern city contains an amazing array of pathways to carry flows + of people, goods, water, energy, and information. Transportation + networks are the largest and most visible of these. Ancient cities + relied on streets, most of them quite narrow by modern standards, to + carry foot traffic and carts. The modern city contains a complex + hierarchy of transportation channels, ranging from ten-lane freeways + to sidewalks. In the United States, the bulk of trips are carried by + the private automobile, with mass transit a distant second. American + cities display the low-density sprawl characteristic of auto-centered + urban development. In contrast, many European cities have the high + densities necessary to support rail transit.

+ + Modern cities rely on complex networks of utilities. When cities were + small, obtaining pure water and disposing of wastes was not a major + problem, but cities with large populations and high densities require + expensive public infrastructure. During the nineteenth century, rapid + urban growth and industrialization caused overcrowding, pollution, and + disease in urban areas. After the connection between impure water and + disease was established, American and European cities began to install + adequate sewer and water systems. Since the late nineteenth century, + cities have also been laced with wires and conduits carrying + electricity, gas, and communications signals. +

+ +

Buildings

+ + Buildings are the most visible elements of the city, the features that + give each city its unique character. Residential structures occupy + almost half of all urban land, with the building types ranging from + scattered single-family homes to dense high-rise apartments. + Commercial buildings are clustered downtown and at various subcenters, + with skyscrapers packed into the central business district and + low-rise structures prevailing elsewhere, although tall buildings are + becoming more common in the suburbs. Industrial buildings come in many + forms ranging from large factory complexes in industrial districts to + small workshops.

+ + City planners engage in a constant search for the proper arrangement + of these different types of land use, paying particular attention to + the compatibility of different activities, population densities, + traffic generation, economic efficiency, social relationships, and the + height and bulk of buildings. +

+ +

Open Spaces

+ + Open space is sometimes treated as a leftover, but it contributes + greatly to the quality of urban life. "Hard" spaces such as plazas, + malls, and courtyards provide settings for public activities of all + kinds. "Soft" spaces such as parks, gardens, lawns, and nature + preserves provide essential relief from harsh urban conditions and + serve as space for recreational activities. These "amenities" + increasingly influence which cities will be perceived as desirable + places to live.

+ +

Evolution of Urban Form

+ + The first true urban settlements appeared around 3,000 B.C. in ancient + Mesopotamia, Egypt, and the Indus Valley. Ancient cities displayed + both "organic" and "planned" types of urban form. These societies had + elaborate religious, political, and military hierarchies. Precincts + devoted to the activities of the elite were often highly planned and + regular in form. In contrast, residential areas often grew by a slow + process of accretion, producing complex, irregular patterns that we + term "organic." Two typical features of the ancient city are the wall + and the citadel: the wall for defense in regions periodically swept by + conquering armies, and the citadel -- a large, elevated precinct + within the city -- devoted to religious and state functions.

+ + Greek cities did not follow a single pattern. Cities growing slowly + from old villages often had an irregular, organic form, adapting + gradually to the accidents of topography and history. Colonial cities, + however, were planned prior to settlement using the grid system. The + grid is easy to lay out, easy to comprehend, and divides urban land + into uniform rectangular lots suitable for development. +

+ + The Romans engaged in extensive city-building activities as they + consolidated their empire. Rome itself displayed the informal + complexity created by centuries of organic growth, although particular + temple and public districts were highly planned. In contrast, the + Roman military and colonial towns were laid out in a variation of the + grid. Many European cities, like London and Paris, sprang from these + Roman origins. +

+ + We usually associate medieval cities with narrow winding streets + converging on a market square with a cathedral and city hall. Many + cities of this period display this pattern, the product of thousands + of incremental additions to the urban fabric. However, new towns + seeded throughout undeveloped regions of Europe were based upon the + familiar grid. In either case, large encircling walls were built for + defense against marauding armies; new walls enclosing more land were + built as the city expanded and outgrew its former container. +

+ + During the Renaissance, architects began to systematically study the + shaping of urban space, as though the city itself were a piece of + architecture that could be given an aesthetically pleasing and + functional order. Many of the great public spaces of Rome and other + Italian cities date from this era. Parts of old cities were rebuilt to + create elegant squares, long street vistas, and symmetrical building + arrangements. Responding to advances in firearms during the fifteenth + century, new city walls were designed with large earthworks to deflect + artillery, and star-shaped points to provide defenders with sweeping + lines of fire. Spanish colonial cities in the New World were built + according to rules codified in the Laws of the Indies of 1573, + specifying an orderly grid of streets with a central plaza, defensive + wall, and uniform building style. +

+ + We associate the baroque city with the emergence of great + nation-states between 1600 and 1750. Ambitious monarchs constructed + new palaces, courts, and bureaucratic offices. The grand scale was + sought in urban public spaces: long avenues, radial street networks, + monumental squares, geometric parks and gardens. Versailles is a clear + expression of this city-building model; Washington, D.C. is an example + from the United States. Baroque principles of urban design were used + by Baron Haussmann in his celebrated restructuring of Paris between + 1853 and 1870. Haussmann carved broad new thoroughfares through the + tangled web of old Parisian streets, linking major subcenters of the + city with one another in a pattern which has served as a model for + many other modernization plans. +

+ + Toward the latter half of the eighteenth century, particularly in + America, the city as a setting for commerce assumed primacy. The + buildings of the bourgeoisie expand along with their owners' + prosperity: banks, office buildings, warehouses, hotels, and small + factories. New towns founded during this period were conceived as + commercial enterprises, and the neutral grid was the most effective + means to divide land up into parcels for sale. The city became a + checkerboard on which players speculated on shifting land values. No + longer would religious, political, and cultural imperatives shape + urban development; rather, the market would be allowed to determine + the pattern of urban growth. New York, Philadelphia, and Boston around + 1920 exemplify the commercial city of this era, with their bustling, + mixed-use waterfront districts. +

+ +

Transition to the Industrial City

+ + Cities have changed more since the Industrial Revolution than in all + the previous centuries of their existence. New York had a population + of about 313,000 in 1840 but had reached 4,767,000 in 1910. Chicago + exploded from 4.000 to 2,185,000 during the same period. Millions of + rural dwellers no longer needed on farms flocked to the cities, where + new factories churned out products for the new markets made accessible + by railroads and steamships. In the United States, millions of + immigrants from Europe swelled the urban populations. Increasingly, + urban economies were being woven more rightly into the national and + international economies.

+ + Technological innovations poured forth, many with profound impacts on + urban form. Railroad tracks were driven into the heart of the city. + Internal rail transportation systems greatly expanded the radius of + urban settlement: horsecars beginning in the 1830s, cable cars in the + 1870s, and electric trolleys in the 1880s. In the 1880s, the first + central power plants began providing electrical power to urban areas. + The rapid communication provided by the telegraph and the telephone + allowed formerly concentrated urban activities to disperse across a + wider field. +

+ + The industrial city still focused on the city center, which contained + both the central business district, defined by large office buildings, + and substantial numbers of factory and warehouse structures. Both + trolleys and railroad systems converged on the center of the city, + which boasted the premier entertainment and shopping establishments. + The working class lived in crowded districts close to the city center, + near their place of employment. +

+ + Early American factories were located outside of major cities along + rivers which provided water power for machinery. After steam power + became widely available in the 1930s, factories could be located + within the city in proximity to port facilities, rail lines, and the + urban labor force. Large manufacturing zones emerged within the major + northeastern and midwestern cities such as Pittsburgh, Detroit, and + Cleveland. But by the late nineteenth century, factory + decentralization had already begun, as manufacturers sought larger + parcels of land away from the congestion of the city. Gary, Indiana, + for example, was founded in 1906 on the southern shore of Lake + Michigan by the United States Steel Company. +

+ + The increasing crowding, pollution, and disease in the central city + produced a growing desire to escape to a healthier environment in the + suburbs. The upper classes had always been able to retreat to homes in + the countryside. Beginning in the 1830s, commuter railroads enabled + the upper middle class to commute in to the city center. Horsecar + lines were built in many cities between the 1830s and 1880s, allowing + the middle class to move out from the central cities into more + spacious suburbs. Finally, during the 1890s electric trolleys and + elevated rapid transit lines proliferated, providing cheap urban + transportation for the majority of the population. +

+ + The central business district of the city underwent a radical + transformation with the development of the skyscraper between 1870 and + 1900. These tall buildings were not technically feasible until the + invention of the elevator and steel-frame construction methods. + Skyscrapers reflect the dynamics of the real estate market; the tall + building extracts the maximum economic value from a limited parcel of + land. These office buildings housed the growing numbers of + white-collar employees in banking, finance, management, and business + services, all manifestations of the shift from an economy of small + firms to one of large corporations. +

+ +

The Form of the Modern City + in the Age of the Automobile

+ + The city of today may be divided into two parts:

+ +

    + +
  • An inner zone, coextensive with the boundaries of the old industrial city. + +
  • Suburban areas, dating from the 1920s, which have been designed for the automobile from the beginning. + +
+ + The central business districts of American cities have become centers + of information processing, finance, and administration rather than + manufacturing. White-collar employees in these economic sectors + commute in from the suburbs on a network of urban freeways built + during the 1950s and 1960s; this "hub-and-wheel" freeway pattern can + be observed on many city maps. New bridges have spanned rivers and + bays, as in New York and San Francisco, linking together formerly + separate cities into vast urbanized regions.

+ + Waves of demolition and rebuilding have produced "Manhattanized" + downtowns across the land. During the 1950s and 1960s, urban renewal + programs cleared away large areas of the old city, releasing the land + for new office buildings, convention centers, hotels, and sports + complexes. Building surges have converted the downtowns of American + cities into forests of tall office buildings. More recently, office + functions not requiring a downtown location have been moved to huge + office parks in the suburbs. +

+ + Surrounding the central business area lies a large band of old + mixed-use and residential buildings which hose the urban poor. High + crime, low income, deteriorating services, inadequate housing, and + intractable social problems plague these neglected areas of urban + America. The manufacturing jobs formerly available to inner city + residents are no longer there, and resources have not been committed + to replace them. +

+ + These inner city areas have been left behind by a massive migration to + the suburbs, which began in the late nineteenth century but + accelerated in the 1920s with the spread of the automobile. Freeway + building after World War II opened up even larger areas of suburban + land, which were quickly filled by people fleeing central city + decline. Today, more people live in suburbs than in cities proper. + Manufacturers have also moved their production facilities to suburban + locations which have freeway and rail accessibility. +

+ + Indeed, we have reached a new stage of urbanization beyond the + metropolis. Most major cities are no longer focused exclusively on the + traditional downtown. New subcenters have arisen round the periphery, + and these subcenters supply most of the daily needs of their adjacent + populations. The old metropolis has become a multi-centered urban + region. In turn, many of these urban regions have expanded to the + point where they have coalesced into vast belts of urbanization -- + what the geographer Jean Gottman termed "megalopolis." The prime + example is the eastern seaboard of the United States from Boston to + Washington. The planner C.A. Doxiadis has speculated that similar vast + corridors of urbanization will appear throughout the world during the + next century. Thus far, American planners have not had much success in + imposing a rational form on this process. However, New Town and + greenbelt programs in Britain and the Scandinavian countries have, to + some extent, prevented formless sprawl from engulfing the countryside. +

+ +

The Economics of Urban Areas

+ + Since the 1950s, city planners have increasingly paid attention to the + economics of urban areas. When many American cities experienced fiscal + crises during the 1970s, urban financial management assumed even + greater importance. Today, planners routinely assess the economic + consequences of all major changes in the form of the city.

+ + Several basic concepts underlie urban and regional economic analysis. + First, cities cannot grow if their residents simply provide services + for one another. The city must create products which can be sold to an + external purchaser, bringing in money which can be reinvested in new + production facilities and raw materials. This "economic base" of + production for external markets is crucial. Without it, the economic + engine of the city grinds to a halt. +

+ + Once the economic base is established, an elaborate internal market + can evolve. This market includes the production of goods and services + for businesses and residents within the city. Obviously, a large part + of the city's physical plant is devoted to facilities for internal + transactions: retail stores of all kinds, restaurants, local + professional services, and so on. +

+ + Modern cities are increasingly engaged in competition for economic + resources such as industrial plants, corporate headquarters, + high-technology firms, and government facilities. Cities try to lure + investment with an array of features: low tax rates, improved + transportation and utility infrastructure, cheap land, and skilled + labor force. Amenities such as climate, proximity to recreation, + parks, elegant architecture, and cultural activities influence the + location decisions of businesses and individuals. Many older cities + have difficulty surviving in this new economic game. Abandoned by + traditional industries, they're now trying to create a new economic + base involving growth sectors such as high technology. +

+ + Today, cities no longer compete in mere regional or national markets: + the market is an international one. Multinational firms close plants + in Chicago or Detroit and build replacements in Asia or Latin America. + Foreign products dominate whole sectors of the American consumer goods + market. Huge sums of money shift around the globe in instantaneous + electronic transactions. Cities must struggle for survival in a + volatile environment in which the rules are always changing. This + makes city planning even more challenging than before. +

+ +

Modern City Planning

+ + Modern city planning can be divided into two distinct but related + types of planning. visionary city planning proposes radical changes in + the form of the city, often in conjunction with sweeping changes in + the social and economic order. Institutionalized city planning is + lodged within the existing structures of government, and modifies + urban growth processes in moderate, pragmatic ways. It is constrained + by the prevailing alignment of political and economic forces within + the city.

+ +

Visionary or Utopian City Planning

+ + People have imagined ideal cities for millennia. Plato's Republic was + an ideal city, although lacking in the spatial detail of later + schemes. Renaissance architects designed numerous geometric cities, + and ever since architects have been the chief source of imaginative + urban proposals. In the twentieth century, Le Corbusier, Frank Lloyd + Wright, Paolo Soleri, and dozens of other architects have designed + cities on paper. Although few have been realized in pure form, they + have influenced the layout of many new towns and urban redevelopment + projects.

+ + In his "Contemporary City for Three Million People" of 1922 and + "Radiant City" of 1935, Le Corbusier advocated a high-density urban + alternative, with skyscraper office buildings and mid-rise apartments + placed within park-like open spaces. Different land uses were located + in separate districts, forming a rigid geometric pattern with a + sophisticated system of superhighways and rail transit. +

+ + Frank Lloyd Wright envisioned a decentralized low-density city in + keeping with his distaste for large cities and belief in frontier + individualism. The Broadacre City plan of 1935 is a large grid of + arterials spread across the countryside, with most of the internal + space devoted to single-family homes on large lots. Areas are also + carefully set aside for small farms, light industry, orchards, + recreation areas, and other urban facilities. A network of + superhighways knits the region together, so spatially dispersed + facilities are actually very close in terms of travel time. In many + ways, Wright's Broadacre City resembles American suburban and exurban + developments of the post-WWII period. +

+ + Many other utopian plans could be catalogued, but the point is that + planners and architects have generated a complex array of urban + patterns from which to draw ideas and inspiration. Most city planners, + however, do not work on a blank canvas; they can only make incremental + changes to an urban scene already shaped by a complicated historical + process. +

+ +

Institutionalized City Planning

+ + The form of the city is determined primarily by thousands of private + decisions to construct buildings, within a framework of public + infrastructure and regulations administered by the city, state, and + federal governments. City planning actions can have enormous impacts + on land values. From the point of view of land economics, the city is + an enormous playing field on which thousands of competitors struggle + to capture value by constructing or trading land and buildings. The + goal of city planning is to intervene in this game in order to protect + widely shared public values such as health, safety, environmental + quality, social equality, and aesthetics.

+ + The roots of American city planning lie in an array of reform efforts + of the late nineteenth century: the Parks movement, the City Beautiful + movement, campaigns for housing regulations, the Progressive movement + for government reform, and efforts to improve public health through + the provision of sanitary sewers and clean water supplies. The First + National Conference on City Planning occurred in 1909, the same year + as Daniel Burnham's famous Plan of Chicago. That date may be used to + mark the inauguration of the new profession. The early city planners + actually came from diverse backgrounds such as architecture, landscape + architecture, engineering, and law, but they shared a common desire to + produce a more orderly urban pattern. +

+ + The zoning of land became, and still is, the most potent instrument + available to American city planners for controlling urban development. + Zoning is basically the dividing of the city into discrete areas + within which only certain land uses and types of buildings can be + constructed. The rationale is that certain activities of building + types don't mix well; factories and homes, for example. Illogical + mixtures create nuisances for the parties involved and lower land + values. After several decades of gradual development, land-use zoning + received legal approval from the Supreme Court in 1926. +

+ + Zoning isn't the same as planning: it is a legal tool for the + implementation of plans. Zoning should be closely integrated with a + Master Plan or Comprehensive Plan that spells out a logical path for + the city's future in areas such as land use, transportation, parks and + recreation, environmental quality, and public works construction. In + the early days of zoning this was often neglected, but this lack of + coordination between zoning and planning is less common now. +

+ + The other important elements of existing city planning are subdivision + regulations and environmental regulations. Subdivision regulations + require that land being subdivided for development be provided with + adequate street, sewers, water, schools, utilities, and various design + features. The goal is to prevent shabby, deficient developments that + produce headaches for both their residents and the city. Since the + late 1960s, environmental regulations have exerted a stronger + influence on patterns of urban growth by restricting development in + floodplains, on unstable slopes, on earthquake faults, or near + sensitive natural areas. Businesses have been forced to reduce smoke + emissions and the disposal of wastes has been more closely monitored. + Overall, the pace of environmental degradation has been slowed, but + certainly not stopped, and a dismaying backlog of environmental + hazards remains to be cleaned up. City planners have plenty of work to + do as we move into the twenty-first century. +

+ +

Conclusion: Good City Form

+ + What is the good city? We are unlikely to arrive at an unequivocal + answer; the diversity of human needs and tastes frustrates all + attempts to provide recipes or instruction manuals for the building of + cities. However, we can identify the crucial dimensions of city + performance, and specify the many ways in which cities can achieve + success along these dimensions.

+ + A most useful guide in this enterprise is Kevin Lynch's A Theory of + Good City Form (Cambridge, MA, MIT Press, 1981). Lynch offers five + basic dimensions of city performance: vitality, sense, fit, access, + and control. To these he adds two "meta-criteria," efficiency and + justice. +

+ + For Lynch, a vital city successfully fulfils the biological needs of + its inhabitants, and provides a safe environment for their activities. + A sensible city is organized so that its residents can perceive and + understand the city's form and function. A city with good fit provides + the buildings, spaces, and networks required for its residents to + pursue their projects successfully. An accessible city allows people + of all ages and background to gain the activities, resources, + services, and information that they need. A city with good control is + arranged so that its citizens have a say in the management of the + spaces in which they work and reside. +

+ + Finally, an efficient city achieves the goals listed above at the + least cost, and balances the achievement of the goals with one + another. They cannot all be maximized at the same time. And a just + city distributes benefits among its citizens according to some fair + standard. Clearly, these two meta-criteria raise difficult issues + which will continue to spark debates for the foreseeable future. +

+ + These criteria tell aspiring city builders where to aim, while + acknowledging the diverse ways of achieving good city form. Cities are + endlessly fascinating because each is unique, the product of decades, + centuries, or even millennia of historical evolution. As we walk + through city streets, we walk through time, encountering the + city-building legacy of past generations. Paris, Venice, Rome, New + York, Chicago, San Francisco -- each has its glories and its failures. + In theory, we should be able to learn the lessons of history and build + cities that our descendants will admire and wish to preserve. That + remains a constant challenge for all those who undertake the task of + city planning. +

+ +

+ +


+

+

Micropolis, Unix Version.

+ This game was released for the Unix platform + in or about 1990 and has been modified for inclusion in the One Laptop + Per Child program. Copyright © 1989 - 2007 Electronic Arts Inc. If + you need assistance with this program, you may contact: + http://wiki.laptop.org/go/Micropolis or email micropolis@laptop.org. +

+

+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or (at + your option) any later version. +

+

+ + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. You should have received a + copy of the GNU General Public License along with this program. If + not, see http://www.gnu.org/licenses/. +

+

+ +

ADDITIONAL TERMS per GNU GPL Section 7

+ +

+

+ No trademark or publicity rights are granted. This license does NOT + give you any right, title or interest in the trademark SimCity or any + other Electronic Arts trademark. You may not distribute any + modification of this program using the trademark SimCity or claim any + affliation or association with Electronic Arts Inc. or its employees. +

+

+ + Any propagation or conveyance of this program must include this + copyright notice and these terms. +

+

+ + If you convey this program (or any modifications of it) and assume + contractual liability for the program to recipients of it, you agree + to indemnify Electronic Arts for any liability that those contractual + assumptions impose on Electronic Arts. +

+

+ + You may not misrepresent the origins of this program; modified + versions of the program must be marked as such and not identified as + the original program. +

+

+ + This disclaimer supplements the one included in the General Public + License. TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THIS + PROGRAM IS PROVIDED TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY + OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK OF + SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. ELECTRONIC ARTS + DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, + INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, + FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY + RIGHTS, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, + USAGE, OR TRADE PRACTICE. ELECTRONIC ARTS DOES NOT WARRANT AGAINST + INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL + MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE + UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM WILL BE COMPATIBLE + WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE + CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY ELECTRONIC ARTS OR + ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME + JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED + WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY RIGHTS OF A + CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY + NOT APPLY TO YOU. +

+ + + \ No newline at end of file diff --git a/docs/images/Alan_Kay.jpg b/docs/images/Alan_Kay.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6443f9df79dcd1c0cc8807490aa9c50dd11280a1 GIT binary patch literal 23580 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 Bev|+J literal 0 HcmV?d00001 diff --git a/docs/images/Alan_Kay_Thumb.jpg b/docs/images/Alan_Kay_Thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..02f5f19f1c5a6e03aeb3a6a6ea81534bd36b91a9 GIT binary patch literal 34411 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ⅇGF)S5=} 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 literal 0 HcmV?d00001 diff --git a/docs/images/Don_Hopkins_Handwaving_Thumb.jpg b/docs/images/Don_Hopkins_Handwaving_Thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c9cf83b772347ff3078b8cec2cd68d2f1d2066a1 GIT binary patch literal 33659 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 literal 0 HcmV?d00001 diff --git a/docs/images/Don_Hopkins_OLPC.jpg b/docs/images/Don_Hopkins_OLPC.jpg new file mode 100644 index 0000000000000000000000000000000000000000..131f71dd86c711540e9dfc3c88fd873876f051de GIT binary patch literal 69659 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 Lp80H2{{a8l89BlD literal 0 HcmV?d00001 diff --git a/docs/images/Don_Hopkins_OLPC_Thumb.jpg b/docs/images/Don_Hopkins_OLPC_Thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e5c4f7073baf2da8bfa2dde983f52bf52612afcf GIT binary patch literal 51240 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 N4jD>6rd`nw|Jmt_<=6lK literal 0 HcmV?d00001 diff --git a/docs/images/Don_Hopkins_Talk_1.jpg b/docs/images/Don_Hopkins_Talk_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..48014a0a67403f17e698fbee930770f192415012 GIT binary patch literal 68624 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 literal 0 HcmV?d00001 diff --git a/docs/images/Don_Hopkins_Talk_1_Thumb.jpg b/docs/images/Don_Hopkins_Talk_1_Thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..396acc343957ff4ddb3f69d24cfcbb37f7b5a42c GIT binary patch literal 39555 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 Yd@^iZzlJL9{4rN=;flJa!xex3*)V-)VE_OC literal 0 HcmV?d00001 diff --git a/docs/images/Don_Hopkins_Talk_2_Thumb.jpg b/docs/images/Don_Hopkins_Talk_2_Thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2f78c4c03b0bbe9ae1baa3356ccb117c564ea225 GIT binary patch literal 38915 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ⓈW%ghFzJ~8X?3WdW1(ot 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 Z&O=rC2R_bLg|fyEk}5&6i1W|>{{f#A@-_ef literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st0.tiff b/docs/MicropolisHARTalk.key/thumbs/st0.tiff new file mode 100644 index 0000000000000000000000000000000000000000..0c5c45b0d9b046f0a0e60318652663c499f8b1bf GIT binary patch literal 15468 zcmb_?cYG98_x>c=&1RGBCA;ap_d-d5Ktdppgc1S)LPG41 zktU#Y3)Myu6h%}Jfmc)n1kU%IJ2Sf*#P|LE@x#w`Zf0g@=DE)~&nYwc`CKH&Mb3L7 z<=~0LeoO?3M9L4T3?yv004Jp(2Tn%A6*w0+;N&zEAdxG9b5(-WO$8hdXN4Mv2BbY8|+$^&r>i!Bt}bSFI7;Xy}Zf)VYH~?+!{D2Gd|r8_b|G+J+kEY`A-XS{&j& z;XL{c{unP}!i$;Mh3N)#BRSrXZY)!3;R%OeIReQ6$4U5sfH`6OSHKLk4KU|QfC(%= zq5i|j&RkQ)dRmRn(2YZ4bB?MYB zk%4rOIx}{q&Mu5yo>^p9WY)^Ag0V}?itI`RW}O9Q2uNe{WJ8Br+wiiR<8gO>Fy=+@?4tY)+z_~{7H^IZAY*`SV2RZ^^X4(2vu4eP zsJKL2a1;24hBFJ%d3Zx;OdKeTCI|?L0H4qZaK>xJw`mU%u?f&Mw0maN`=$PoJBPqc79={>wakIPHLh{NDX!$%nW-?U#m$GR#eFWxMe zy`$rkV+*!KcIJW(hKPBOWm1I_)jhu#Oqwzky5;60XZg^(UlC;H^nfln_YMw&u6R5j z_qB|l0L8Ck^azc&|th?Pl$+5gkF97 zv*YD8wTzm|5%slDP&5!aW#=#iA~JVG$PZt(HG27?LC~DGbj;Vf0wQ{bTyO+(3i599 z81f!w+=zH0@hhU0FfkSdSrB8?CPx%s2?{c~s|*c;+%*<0R*q6Yy2NXtO@Qe}yzrVp zBY2i5J>;3p2+0_cN(=F1LRTQ9giu6gLUbl?+c4u?9M=781$gdTqeiZob)&8k&uHQF zK&~jDJmPGuvAcC3OS_mBuu2hyeJt23l_o*-h_}7Qc;6Mq@pnrNQ;P4 zL}*3j;|Ctk7$)3DgU&N~xM6ih(;6u0EBg3nU&B!*ZX zt!Tx>E20(h2a>~9yyA^?xWr^!JW_9~i}Fa(AO)Zn@##fW-iXXP{BiCdC=7l-LyqT& zzcc&dis90cl@rgjtfFO$hSk&Rs z^8Ts_iULJ+Tftv>Rno+zu$$^bW5M0qAGDqFKvPi0I5o8CXrOo!qBIt|jz@n`f2Wrc7(BJ|6&<45!XmJ&^Ll96=HK-Aswrn)$`&EKPhlq{E^`I+j0b{=kFyPkI zYbcls%RxJ8Cg>~1gD)bcVUPO1A{O*ov}!RE;W;LY{ujTs*JH|^C}FetEFX15b+RcF z`Y0L~sS^1r$tuxcbyLADnc*S`3nB6Ue;mGcJpUWwfA}#*r&fq1R3Hdt9*egszM`_B z<@MN#*6h>DXKm`lCl8_qd-w+-QW6;6<#-ni03Xb&i7FAKg(d+s0)vHNH-Bm+o`smA zl<3E;luL+C6pveFAX3USgb3t}(Z{iIE=Wea2(li7L6)8ivOeYD+POElW)*Hcss|!q#O0tGzX;T0=7FYp4(O|&=UuaIGH9D; zgL=wJu=u28v_eQ|TOk&B7X6qhmtP=r6Ps%BuJmsfO=u~Uy7GwKSau;cD_k^G%Id+T zeHWH|EA@N{!e@&ZeLVe8__3tHM4pm)-e-LouY8CUtT-STg9^l|K92u8{ zigq!xAOqo5N-W^`ERhU~+=!`@5GIKRQYJD&5p6&qf#87zlFJGJ8RCFoJYYp^vuc|) z7LjuUDivE9aWS;&!}g_b0dmX@Lq;}#!+C58gG_F8O}V5E>YUIB3{j)gy% zN|9<=eHV=d4TbmJXQOScR<`Pal6>aBXw3|m(B(qJDy;Z~1|!RrDSH&HneQ~&Mu6qPyqhPEh?3eRq~O@=DSoY8Bka#k+-jv zc(tMymmo}7))H7NVygPww0J_BOi*|Sf{HHS;fqzf4`_pFrNEwSp46T6`@npzSEb=GH6e?!oe06|M9-9Jg-3Ni9b5C&VTLC&$CRO)= zpu$Q(*SQzydJF(Bnz}&IBpj3SNBqkJMXtnw-@+_*B$i0Q<)|Pj% znEO90nYupqzAI*vV(ewUOVJ2@ml-gXK~(Busx{FS<1ihdERq=l);%i!P*8`&fHo+C zuYvqSzz`Az#<;eKIv>noG2juM1YQ_-J>s!HiJU*ncSXbu6r$z%rmfA|5iyUJS13V~ zG2W6eP;n({vZzwzx76tqE5cSvg}!T#mZX>!eTbIc7f^CJQLaS9h?dp5XbiMWWE}R| zOgH(5Hsb?%(}R&(u_$EA9C_LZnO&fS_&_*SLo<>p{=-X$4J|zo`SjKvWM1rYZ26zR9 zfw@yIc&256S8^J7X6Atp+5sW*Y1{ddz_hXwmxY0x;(E2UA)$m{YrescT>G z=+pz;`<8;Cq>&-@*o;E~|;eC`5jX!G_|lJz8p4vA1FLf(VOk@v`cJL50scg24~{Ta;aK>&uRl2T=AYHgd39e7fpu&1>r}4!Ig7 z2v$uN(V|=OXj^kjmTX0fJ}kk~xD{fSQ9hMl(OVS?1SA|!=T|H-u**8ARUu}UgkGGp z7KRlik5&ZA_qnVUA0KDwhGJ%6uTXrvH0&KrbLsR)ee-M~G)D;TgUG@{iSa|eQ%46@fNv#+L9T!3@tVSu#IWun3RjJlc<|RbrRos zr3bK8g=lmnpV%hPFjlKE{ka)|+lx<4l5)twr&_zu#9F`OB%PXKdOM2t7V zLFp`Oa@(nsy%saHtrQBmrC7^+)}C9zXUUqaXtA|LUpG9BSc&>9FDM5^Mjj}r7uhKv zv~lf0i`J>d$fD|Bjobd9!G5F$`;gim1Hp(^>yB2eM{Cwn`*A=u7~6Md-C7-5vljcD zngO+-#ZHl$exKPJvQafk=hu1X7LnS;Z1}tkJM<;GIcm7E7c}qHcIEf>YYznb zApYpf$T{h^+QToJtm~WcS^0$O4)~8LJvfI`z?Hcgf2wEfPEB&B0@nztRm^jnVh0M zFkdHW73Si8b`EL*{e}$+r$R_&T7lOVzd5R<;+)U^c?~8`MWn>3Eu-MSqGCEM^7^k< zZ1Y==<3IbLPu1wtHAHOJ*<<}KLe0M$rl(?0NOhI))U4VNR=|o#M21_oI;{}$LL?>+ zZg_3FJ`Yq6RbtLW86uCAS0-zP_pFSE|gewjmYjSf;^Z&11)_ z74h0uue}wM--<{{n_GQ*$v#a)#Pp_(jE5~L3O`H6ak(i~CG?_?^PPLXD6_5v zt%lv8{cKo~;i|E;m(bC7L3~R>q>_^UB4)J$O7@W>)v=-~xjY?l>^Y^+IfU_)zls(t z@@l{3R1O^H#BrPhmyZ8)5auyBcVu(?fH5lF!HM5LNs9ZOg>xKnuI2DJ{+8oh9CX5d z{L8^8%<-s$J3n^}#JNd4KXST*x83;#cJsb$PWSCHqluGooYo)bd3X=Ji}0TV-jn{r zW2FrZb@(V;{mACVf^M1q0|pNAmtEwXITIca;@nEhni@Ly?#=(6UF7Ni-8)BD;PRz<(Pz;VvHk>xcbIZpN~&O4S@G?n3D zx^H=TQ&~OE7jT?oW_`T{udn$M_lK7?G~#bHk8mDL>w;VSH{>mjYln!P@7eY>C34&j z9mn~vv+WD{o8#PFIPUG)wtc@Bu(fhp6zgo9Q;P?{0%~PW6b%eJ$U)XI-xoeWD7M^u5!sp#SaxAp@rjx-q!-kgda%B^9Ly%6!XT zs5ns-SUtApbZu1K`1<1(&xW#58yoL6w;w%b%;B-zxU})3pW8a&#tVKE^CwN4yk*My zsgBcPrx(wdIdj9TV=w(UM>aQXUgrGr1rry(vS{_io_Oux ziaoFIUb*3o)vI1w{oESM+RAnP*XL|VeKTUCapRM>e%^HM?PHs_y)%DH%exg@bGOB8 z*KYr7$A$NH?p(2J?C$=1+U_;({m=U+_HEcdc=h0}Lvs$7AL)41{pgKj z`;O25sN&<4PvoCm`1Gw46HXSK3O#l2^wBd5&lZ2?_t`g}ul=Ix%ZM+3`D)v_hVyaf zf4i{#V)NH+zW(#l?#rXUN&M#ax9?u5|1R>oU%uaXwc>|>AHKQv>W>3|GX3=V&x^13 zzM;JF*)Q{N=Kt#U>&aX5Zuhxkyz}LMmj5>7uHW5jzif*F$F)vrPTxu9OM5u0oo}E8Y?Lo_ zo$NMVF+n*~wM@NHb4YtdFEu0>OWo(0j+pOxMtC)NzvFYuFUEglz{bGa!D%65Ll1{L zL}W!Sj5;4^2{^ebhcZr80F<+DGYkJDM`ucN*4tb>^KeaoH2P z9?Ma5@7ZHs?)iK}&q2M`_P$$?+;?)}$^QDHq5-cAyigoCxNgY0p+A*Gl-3U4U3RY` zsd7Tqd)2o_#MV~Sy;gt8qHD+=HLmfUrmLe3V=`Kr$G$f1$oN|m%+Ggyp?TusN$*X* zFy-;ofN2@iD`!ldxq8;Nm(I+-G1q0D=X|dP9t+Kj42!i(^e?+FHN2u(=CYhy{^Zq1 zuiaa5_x0N=e}3beRcBWpUUOjW?sZ$%FWvCcn=>|!eXD9y(c8J3Q{M^SVt&{8-Md?V z-1hnQ13Naow{+*!U88mn+LOIE?tRlfhkdvAUp{c^gY6$KKRESJ!{Nb4vW|uy(;Rzr z{Fjfu{`iAW)_*$p#F&%)PbHl;o_=uV>$7`4Tlx8fF9v_v;Vb`hl5^jkKYC&P#i?JH zT+nc=h2Am#%I7apq5@KexZGy#C9L1HUY|S@vt&TW+_$ zyS?MiwEy(`E%diP?jHSp=^qt;Cf}3Y`{J+F_v;?Ce<*u+_V3poRXt96{NTwaP{;U} zbADVWu9jQHed`eF(Bkl!W3uCFCwHes5_idJX|nW`bFEA*+vid*50?Mny4tNmk)U|2 zJgIs^Jx0?<8>^G(e%7BfY&9-*pI{nh&i07)GXOHh{zghm4fWpAcps-+h z@b@7fhQ5vp(KjMI(mC=%)W+yZF*UIzae48b651q&Bx#c%`L{OTwmseMaQi(e@1(9y zTb@3z!{m;mGKO~=+PNq*D=WQAa&~mrxNadiKHYtK7<1Km>U`Ip(q8i3vObamr@oRx zSwDGyd69B}YM^S6w%9Z{U`W)^m|^iHZA&wT=a%J{msC_#TB>TQ$JI<2v9NY|-HQ5^ zBR5#qHM}`$bK~x&JiGfvnS7(GWo?3Q%j}| zo!)0grYYAY(%+5TYTD+! z?cVn9cbs_d*v_rHUf;cZ&#b*I@7M0D+CSt#;Rk&`EI3$jsPJ&nk>aD3$C{3h`)Jn3 zD?i!!>FE=HpYk}JcBby^n$IqMVf?cHR~ybfxlnZRy-N|7SAFYyW&8J~KNzl^`f2_3 zO~35F#oejB>-wkD{bi3H5&wMbqnO~_mgAN-aooUz99KA=<7Q(F4Liee#uAR}t;BsP zoMWGxoTGO*=YYq>_z}kSy_{w`9d>#w zX)kG!?2z1*CP*#PZPMSJ+d7YT{!k{7b(bxWU3Lj^vA7(N%jEs!>*asBX1OkLz3$e* zZIRmzMJL5_#a(4Df`A87>}5bV(a2O<4(m-N@$z# zYvQ`3A<16J-?drMw!B?zyZh~rq|8ellopomkbbGdu8s>c>N@3hPRvwi-p{()<#P7% zt_Qkp%vsrebB~X5FXlb$Y3kLccTS(if(3n#7yj1Yrzm^C^8?=*bPcVweCU>8w@VX- zk1e}U5mwn)b+#sH#N687>&r$SZAcsSPLp5r>tlRc-WV4!e)EKs=TA%iqi>aM}EHP%d6*27rR}W^UZ-PPp+n1 ztNUrw_479kxAN{R`t9H!l6x8V8y_Bc^fS|sIIfgi!hOs=c1Uula#-nb&Qaso!*QD9 zLC3$HQk=#*?RNT0(oQl~vRCq0nkk(wJ?(6A9_+l{`9HEW*-Y72E@3WXT|SnZxQ>q)mDx98n1DN+@$Djq3^DvzlWRIjM;Q&9C~O^#-lHb(oV&Re%cuh%azm<=n8 zCgU7;iTjK0k4$4t_snC=4?HG%a-P$?G+s-+eZANEMEdOY&GbFxSL}Dw|M>u2z*~VG z1J4Fk1WSWgg`|gE3>_P$4ciu86#gjUwaDzqyHT%2cZvQpW@Bt&oHTBKd~-rf!q17T zk!|1PYi-tGCeyaPL;F)H%TmkI;?w2nS3A7ladAd%r|zAjGo_g~v(9!omc6;_if+?# z8oM|5n3}sVZ*~6Oo+o=<>V2ocwQpo$uYQgF=N0W7aCwkpaqQrdA+HSmqC{GnGQ6?u zaD`)KO4Zcr&qw&xR@WUGskc-&eA4LM^j!0mFoF`8NVromn$wUHJMR-+bk* z-kY9mKC)%})|73qZI^B(kc?&aRwyH8?4m%f#SQ~RyyzqjbhK!-uW#rcCL4B0yLmlAVnkKvQc&QvHW zGplA-UmOusTUU34araT9N7I<*i(@*ptQsd7U-#T)%tiK1ikrOpMa|Ubr#+f6Vdnjp z8fM>`J8r(?g6WH7i>JP*u=F3~A zY*lUBy<^yWk9W<(jPuOC;rkzcF!x~ap`Azaj-EL__@h5RY5Da2$#JJ1oEdWV{OA3? zIQ&)6xvA%`UCjD=&80uSN&R->l_THFu6FyO`P%9qPyh7by6HyDFKuq7|C)8H`|bQY zS^r7;P5ayJyC;5M`$z4cNq_!!Z|h$b_x1M=Js9%f{=-FoyZ^oHk>{g@j~+ZOef-Ij zgeNDUg81j_C5j)MYnG+X(&(R;)rI}}|L=eGb)&H+WB;(0;uIr?_w0pRnqO~d?p=sm zcN`C!#`Mj`tp>{>O=V5j?!w%^ytGR$&b@Je{P^muo;X+FJg>5`YXQ#jw+;hFl=kS2 za}~}u997E4Es$j_Y?l6eptB@BgvF>kaU!!aQ>KadU7$6WXu&hOEM&Bcr4}gue*P>J`2A-!>u@T#b?GRA8FnD zkGpa;*vDY?JFYb6jP|ht_i)_dj0g#B?f*4bjBTdBvn&nc8f&VmoBcau_o5=&zx&9t N*l7R6`1lm={{U%cjLrZ6 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st1.tiff b/docs/MicropolisHARTalk.key/thumbs/st1.tiff new file mode 100644 index 0000000000000000000000000000000000000000..b3fee84768fbac85c3df36f78992f384cbb54f9b GIT binary patch literal 15468 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st11-3.tiff b/docs/MicropolisHARTalk.key/thumbs/st11-3.tiff new file mode 100644 index 0000000000000000000000000000000000000000..d4c6428e621f158374347aa600b2804e6dc514d8 GIT binary patch literal 14052 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 Yx0zU!2kdN literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st11-4.tiff b/docs/MicropolisHARTalk.key/thumbs/st11-4.tiff new file mode 100644 index 0000000000000000000000000000000000000000..9b2ea3b61b70c8994092dad567af2baff438c2af GIT binary patch literal 14396 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st11-5.tiff b/docs/MicropolisHARTalk.key/thumbs/st11-5.tiff new file mode 100644 index 0000000000000000000000000000000000000000..38039822d66a9e93f669aab02e5d8499bf2554bd GIT binary patch literal 12818 zcmb_h2Ut|gl0Lu;IZ9Lvm@#0^Sy8Wwh$7~QNKiqLAcA^PF9yU2DxiR%BoUDu6cj;n z4w7>Q1tdzYtv)k@-gn)%@7rDce!EV0pVL)c)zyFZsH##kDN13{Fq48|#;>pf27}20 zlMfg)_<>>)2mr-LAP5w{5KsaH!oUy^0ZLE=m_njJA$Wzw5aPfTL5NDw;1?SOf?|>& zAT9}l;!+?eAq_$VqohG(lne+<%76%gl7NionTE`05aWPT$L>eo!I$wP zviLDs`om-ZGLQfcNCxH;k$_#jAem|-zNqW zV}EP#Ph<5s*3!mu3}zXMMoRx;D92z@l6nMZayUj4gUKxZG#F5S94Jhm3G$Ptp(A8LY4I}HxP1qPGRLdpbkuMRC6meuUnzF@ zaza;j#F6Ys)kDS6Kve#3hRLCE{{tjQJ9|RN`(gwn%-P{hdm2ND4sG-VP*xbnocP6( z#PANaU9eSE4ODmThK*ZQXjhywGly|gr^A6`nxLYt0ZZ3z04?29u{ud7@Z$nQi&-m{q$+;&yRa7N%1k=_g3? zE8T~cuz&5ti5qsGktKf>d_agZy{txjnVspoz-nM{7+TtUpzdo2qVqpSJ@)x$~#ad{Z-BUVH-aGD^&0u6|5(q+wghYFCguto|J1iFRPlqfn!%g;N1Nv zFn;iR7(IxFqgO&e{XziUue7EOtz!j>EM_F)e6mBca(6F=h83jdH-N^4w_s);4acs9 z!XC>2IQVA}oUwfeW_BMz!y*9oUkrp3)?wJ^Bka2r2s$^y5n-_Qv^UH==mN73yModo zSD1xRI{X}zjv(0OY^eiwFM*LAEH54yraO?R;MN`czuPH1fD{w->n zI^gQF1lVU0jI$pAnMI8N!#~i2^kP68=>R7TgvC5qHl`Og!hY2Il0z)mzeyZo(yi>3}2_E>Qz-7l+IAj$BdoKpSA)J%_mjiHa-@-ne zqXU-%VJ|6hZgyYrhZVXWF#C`T+U-iu$HHT7u*Jxi%+JM}eB@TXaSsWS2DkTN{NjO6zdW?0wU~=w1|;t<`fNA5v1gmTYt%dh##SoWW0KxGI;Q1~Hyxs>vSYkY671cm~c{AjdHA7l{J>-=(LPkaw1O^5p zLg3xIXo!f6g4b^XAuu=`f)N2hVc;JS0@?Vz@0h(>zju$It)m+{I)6YX8_>Dx=L4tm zKPkJrf56btKQau1a3~fN?t)1j-F=Yqr3Nxeiy^Nn6VghOAUY!qLXx~7AvYYpey ztD)f`%$Du&rL+ke8k->}Cl3-5lOQKAA3h}H!ejSvuyqOm$Cr_aaIkX?g_nW&rQ|aB zfC&8X1p=b;At9><8t^;q9X-(2-u)j#=3hIvdW(7);px1L6Ut;+{6xaJK8fBC`lfJ~^W zYlF_NAJC3o{okSk-yftMH)0&wT^Ry`^zj7=Gcm5a7b4>^i#)poPTn`c&gB}ocwPtp z&`0n()DAu-y@lkQ7;xV=&xn1wGw8(AU=wO)XuJkKvkITn{Bx-=MVm zE99Y^Q&tK6V8ywtiz&|=1yhB4Er>K(NPTD$Kp|Y+7 zN-OiBqOuU`8!Dlzs}ly$@Ih33um@-MM=uQaB5({M_xJX}4}9*yHnL>8vFyS69&G27 zr2Yrib)jcC?cLbUswa~&0KI(!3>X*~#B|xoHV!GN0CHbJUQ8zJa~GXZ`XJ;(Je)YI z2Ul+1#96P0rf=V%s}V%F4r;&VkI#T&O_hTH89|J7%cPk%U4xE;-H+GA_sz z6sFG~NP5va5+j~(B4P2W&0uDJ0V0FnKvL*y$PM#`&?h&*MDrjVJbnVsTVIE3c21Ci zi*9ge2$J$*;O5iwU}2+!JN;p}=V=O=d8yFW+6fiuIgs@x2vT0Zg+xr7sjmYd`)vrs zg+@R?Krr~d2>@?zU+{T_l;tf}`1<+7yQmM4mHh=$(5md5FOZC7N@@m9MHXEW3#)4y zpzV9tzgmZuk&_}hs0s23;iUoV2uWMl3(viSKyl`L*t2yr+&Fa@Vx4Uv%f|r{pV>g< zJu7f?aR%FGu5jbAE2flc+IQ)>iSX#@HMoHRZS_;f)AR$(emZ8sE^R6sJiAT}-$ zK75RWPoEPZF*yz5J}1HFgd|8uMH7-z;nSyhfX}OvATB-$zI-WymezLoj+yj3W>S(- zY5CU@>q%Q1@f}7kYcrsahU{}US|^IP0QA{n#JXUZHf;_ZShp1J>+XRp&qt8%W)G=P zY#`U;F$9GKg0p`hJoOEM+>&~EFKI`Uj;)>aUGpg zI*}i=wzWb{Q6_vziiEnFQt0i++(B{*jbSpgzXfLTf7Fu+`}r>C8~<&|Lq6~wgosrn z4w-nLBgiK#%D&5x>VgHGJ$>Ne7XdS7&V!w+7K7hq1Bkc32Iz zO4umIlHe<1@G}UJ6DzsLVj|5D6eOz%R}&u4*fR%uckTjQwtWKWUnvPk?r*`i6WqCn+31clT)XFtZGlixhswybwYEZDRxWsZ1jBO& zAIMF@DedaCCPRs_E=utjBPb{;&be;DIUze~O=CO6XH`RTUM-~L)zgQ#ZpAvI$gKdS(Ty)~V-H0v(k$Vt7*w3VXfG9<7yvZpB z`TmGfNGQ>XKl%nCHYFdCte9Fy{0&%<1hkof;lcquU58qJhCf z0*Lgd!Kvqzq@E-HzWh!M!z+Dqz~_ z#zT1Id-@=knVAEP%`He8x>)3)wF5fPl^y8Hj&Hanu;A~PiIgdx_jpQ}**_6_%M!a9Bd4>`~d zlj9nF`-97bT>t*Yx=+bp;JDT)SigKR=pH)++6Oei#^M~9TU>(eYDYm+%M6UpUIte; zzhA5?PK5_fR&epE9+=u6gulFWAwDCTwywV6EA7DY${IWo)Iuq0Pf%Cigp{KL+FFp? zqQ>8w+u-}x?-;%vwBuR`EkTF1v?5S$K^jUxI2Pejowzp;Zbbl{TqD-u*_zz{{L{Lg z-T~ZrYcMe-KwL}|guZfyaQ_#Ola+=U_$64HnZfPr)?kCY_~px2P{9e!^2!o;8~Os= zz3zj{Ya4hG{Qxq{QfccN8!@X@)Id4Xe_~xZ`m7wwnz|+=TOG7^zxsir@$X6!mV^%z z&RmAy;k^Hgb+l#VH#Xusr2Zp25T?0)$SACVBs?-S)|5c3hb?YcZ11 zIdpY(VTsSZy=;mytVpxZU&$9CSLB%xELO>SCKRHps~Zo54VZRY=))a3wDtE7pdKVH zakbGutKk(k?yh*O8KD8RZOG#j@Mu(6lm)&Hmmw+I7qW7*!0_~Gm^p1Sj2j~dvlXX< zruHeeZF1n_;SOfU_QAuG8gOIl0(h*w6Y}Ce;&_;$3H>N#Kt*{4i>7es71;)fT!3vA zNGCY-i%_jf22@v9v8Wl@f(YFq6emvrFJ!W@tp<9bua+2tKZ>FuN{AgIRa6T9rn?V_-{-NPv2=;pgmPhx% z-DB$T*Y?$L{g4_?LL`gQ5M@#kX^1#>N#qnnG6Uk`VqrKI=e=l4KcpAbK}1X%L!#A8Wpia~rv zgdu|2aw3+*&N>9W?P5u28{rNF92z%Ni9TWbgZ!RL+rj>&8R;9@5*xmCL1r;t#gyWe zOBn}vtBB8e_)NfRYbHM(;4MRjR65+XwME##W4rtC*7G?uRF$z==CACLs6uEKr{t)` zc_!sh4Dit^QcU{iXZGQV{z3d3z>qxqAcLDF35St2M?V8rGC2#4D8RrQ5xo4Sm0-dE zE@o`C23%q2Oq>An1NW~dYw{}(P+Y7Ax{(|m*jFZ`k^cD~U!vQ{4JNrOLYhjqvFk}2 zMTv4z6c0sFT+}N3kBcoUq0CLo_%pLYH5U)7{t6T8dD(rqQI?>v9p9xWey&mMdVJ!N zX3N;hCBu@rC!s9M>8~)0YwR!m)qjz9(=r*i`KAfQM^O?AD0ko(I12k87mi8(VVkCr zkv^(I8JsmWR{vvz!u|sX75IuMUP>0*CsRV2S|ckbLyzyI6+dh*GaC@NQpe9P^{ z^DX_KLiK&`EKw1N;KP~tw|}C>I3QX!8+%FVvgCC{KEaYTh-_|ZWQu+Ch^(cjc@pJI zD9<+5P*+CT2W3%RmK;Ik6D&E2$mg|m$-9LV#XIWk$x~-3itiiBYffsLXkjxM_vA?v zEd!JvP!#tD0|P_+zIYziD{2`TB2*HS`c*;04C`OAM`2 zii*+KGBZ9;_r=~^=@j)pJ+o|Pzrlm55(i6Bo2iFX7uRvFa_%!c{5(MnJ?0GN5N{=4 zJb#eD8^K_q55nmpU&Z*uXG`oGWh)sg%`LNB_NrXcn6dIYW5dStPdKa)K1piwi76ka zNlm|?m@{+wtjDuE=BUo~oiDIJXW^&CqD%CbCM=g)VX*T3>QQSBtaV@4wPCrk`NptK z1AiRclD2&z&SmjjoH1%1GbA(H{tJiaP zx7+R)Ul_jB@!0FR#cPH43?FHq;a3g5`LE;s0^i*CH-D=gpc1GQBoXu@xG*F%)H&=z z_}+*mkbLPXWL)jCu%W_`k>gLVJYyJ|LZ&Wb1puI4t$h3HIad%00sae^Avexpq z6$X_vE1Ro)s+9+NFkmydZ)oaJ>u@Zb!eoa_omxRzP$^uqxt?;% zalhnQ$y3R=&)mi<#@mDu;3M!*@T!od@FkI3qK;xd;-4fcB$-n4r8Q;l$;Qd`jF};C zH1^H7mI+DV;{sid-|4XFi-&pd>fv;9Tc<#S4TNsxGo!{BgLor{SlA&w89YTv}Zlo|n00xyQbUei`oJ@A<^*w)ah+3$Jv2 z_q|r}Tk%HGU+yjM+m3*`z?`7yVBe4@q1IvN!VgAlik$mS_C448)~M3x^bbKFonov% z8O0usQ~sn$mHly=8^v;T86khE-duCsp^?l+*^)-Ky7YSk@@g*xVG|{NStBwAYw7#Q5Ix8wgAhs1bA*(iWaCJS37P z`dsY1_%4Y#qZp$aB-5kyED9w?SEX)y74eW^bPR$J8z3wvO8-ts=HvOjU3PQ%zte-!6ta z&u)eW-yVUz0{cYviyja?C~-*k@Wdmtjw&6ScYKNF+7l{Tswa2Ciql3_Xmz&-odLn?#sKngyQ^G!MKGY7uA|fcfP0Wsg6fTHU>3d-dkEtACxg zK7Re^ja@g_-I{MR?Y6Wn)3)bM-QApf3HL)DxIMgMXK8=x(cZ`FpC~!VIdVI;IF(># ziE{RIx$A22{FK{1_jNB6UrKs#d31Qzc%^%X`MiAf$oKkdb3ffTyZl$Zof#k-$Q#%b zR27^W5+526<`V7{VH0Wo?#z4Ls3XxDA9jCKk5T`m5xXz$&}W@^lLU)InL=8USyZ#O6TqU;*~#KxUVRrWJal5`S^;UD$N?H+VpzQM&IVB7OL$`hhR5P zuOr@a;QD9nePmDIT|!Y$OepF=3`J>JQj{(3q0=)dO8PiO?G(YfuN3!KMT!gC zIs35|Jh41OjAaaSMlhp;IiG3B z3}kllF5$K0{m94Q+sgNVuati(zaf9L0H44f0Z)M+g35xA1RI4`3)u-Z39l1&67CRD z6A2U*5j`WCF1AqYk=UTPmUyznQVFk7qelHXszXvwvO;RVRJ!y^X%CrEGB;$pWKYWG z%WaeUGxJToq#@kPjp72ybLE+WJMH4?wQknE+^6|;t zQ*5S=nd(1nAM8%hXx}?--=_VS54<^8i_v=WsQq&^3GO>DN1u=bTTus<DC~5^ zop+v52_ITNjg8wJZEHm zY>(V|xxUd>W2iCL<;CTnj2%Dr<+z#SBFAqSpFZKxgs%#hCytuyu`u$fil94`dEzLmp2)U!icZOzEuhwUtM!Eo<%T zqZ;$SGF#@i8MHff7Wc^Y?&|j#ETsK^fC}JZavkCd>q+JsGn`$cYwis4?eNGw;}KtfC+Xw*?j zrsR7m6Y25NQ8GHR!m=T9nxiF0CyX(dpD*7q)_I)9c=7Qm6K*MNohUZ3aFWyHBU9#1 z>7Dv{n%(sMinA4AM%qlzS(j$-P?|M|Ij4ATNT)aqb5iG7+lDaf>nd|Z! z$VK<8+Om4ZnptbdtP@zzSl_y#QMqDc!={qW6@O%J$=X`5twyD8d*2RTHJP1bcP&ug zxLZfVde4i!k^3qRa2=d-NcHfgBLPR7kIQLpJ8@MjQ(IVPgRZS!(do%&^!4Lt-z6H4 zHaTxvbbhtDn+3yC|6(a}k@r{TUUmOV-1_qM!JC(E_1-qJZMkc4pZmcLJ3f2s$C6Jx z9Tzygf40dv!}a*{VfV)`=Xj)e9rcD+uU;?qEA_t?AQ~7Rd@N)r>>e`C%=agv`aj%_ zner(#Zu{rVgu{v5$>u4&X%^{ynMbk;a`xoLewmzaT~J%3T>PS>t87KNRYhDCU-cg~ zrnT;M8TEaQvQ0|Oi@&b=rrff%Rkcm|`@(jK_STNn&X-+hx)*l0_XPaV?v?EQ)OVz> zx8H6+X25Z9%;3Ypz9G$_IfX{~5s!f?-zgoHr9|n_-#bsgbB3zN zcMOi5x@L^u`uo?l@XKbDKK3)CjOV?c*EDZ%qz@TYpB|a>mdZbBSYKml$m)BFI*GkF z_2m0>JsI5~Nawtxp~Z^5dYB~^Fcvd5Fjh0xFqTsa$T-JPN{mIw71lG>GFD>S@{Dic z-$ry{&CiJuJ5@M3qvmHvYX31Rbqen>=<_?yG{uYY;fysD6}xr@gOtDinQC7!CC|!+ gMi$1WboERX*5mDk_H2c%XSL?cR#-4^-g4@{07YSGwg3PC literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st11-6.tiff b/docs/MicropolisHARTalk.key/thumbs/st11-6.tiff new file mode 100644 index 0000000000000000000000000000000000000000..c096fd270c35020abcb2011cde598fce18aa5e72 GIT binary patch literal 14046 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 B#=8Ij literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st11-7.tiff b/docs/MicropolisHARTalk.key/thumbs/st11-7.tiff new file mode 100644 index 0000000000000000000000000000000000000000..38ebb037b54d487b7cd6b381505503c565765967 GIT binary patch literal 13320 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 E7p8?5xBvhE literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st11-8.tiff b/docs/MicropolisHARTalk.key/thumbs/st11-8.tiff new file mode 100644 index 0000000000000000000000000000000000000000..d6c5becc357203eb8f0bce0c672e6e48babe10a2 GIT binary patch literal 13124 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 WkGB_Q8Y;{7noQJCnL2s0HuXOdtc*bb literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st2.tiff b/docs/MicropolisHARTalk.key/thumbs/st2.tiff new file mode 100644 index 0000000000000000000000000000000000000000..15b0307afb6466bf786d7c76496adeb5788ca27f GIT binary patch literal 15468 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st3-1.tiff b/docs/MicropolisHARTalk.key/thumbs/st3-1.tiff new file mode 100644 index 0000000000000000000000000000000000000000..696b20165e89f4ab17a3cde0ad7f73f57e53e2dc GIT binary patch literal 15468 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 ab4#y%0#z>>z3nqP>wUfL1O5FYg#QCCQ{m$P literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st3-2.tiff b/docs/MicropolisHARTalk.key/thumbs/st3-2.tiff new file mode 100644 index 0000000000000000000000000000000000000000..48555d647d292de96109e6ecec1ffff7ddc3c3db GIT binary patch literal 15468 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st3-3.tiff b/docs/MicropolisHARTalk.key/thumbs/st3-3.tiff new file mode 100644 index 0000000000000000000000000000000000000000..32472435c05a3f157aea7c72a3b16c4db3ee03df GIT binary patch literal 15468 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st3-4.tiff b/docs/MicropolisHARTalk.key/thumbs/st3-4.tiff new file mode 100644 index 0000000000000000000000000000000000000000..4176d9fea39fb0aa4ea28ef0b39a8c2f1a9140ce GIT binary patch literal 15468 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 literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st3-5.tiff b/docs/MicropolisHARTalk.key/thumbs/st3-5.tiff new file mode 100644 index 0000000000000000000000000000000000000000..788e07b9340219bcf2c83604625bdac51016e189 GIT binary patch literal 15468 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 RIAnG=`uR8n1q4J2{{zg@Ja_;A literal 0 HcmV?d00001 diff --git a/docs/MicropolisHARTalk.key/thumbs/st3-6.tiff b/docs/MicropolisHARTalk.key/thumbs/st3-6.tiff new file mode 100644 index 0000000000000000000000000000000000000000..ff6de2b56737b882dc8934d79362c268622e6c10 GIT binary patch literal 15468 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 P2ihaUy#w*kjqqHkHX_ zs$x@BXENS2n4n5clL_k7w3wiw%>+$qI!vai%LFZ5rmC&S1T-}reKZ56s*9#)$eV_~ z5!2E)W|{`ZOv}K8X&IU_ZE8lQOxMVa=@^?aU1}!gHB8^cg6WwKH+}SZGqYs+Qj^9M z*U>$=8Izb}GIKsLJ%Aphi3iey)pZToV*$bnB&5IuK_)f`EGXLlRbVdku)u;A2~5I@ zO%?N#z$ENH3Op=qt0XNKRuWhg6hfMg5L6PFK4~0H+8jw}5}0;zSYYfjcAFOV7(&WO zXxUUQq_UbiQ&-neXjWaJS!h?%?2vYKxOPdil6GYZ&8jIhtEndnN}EfYtgToBX_eN* zwMt4671}6jQ6ZcG1TrwU;>`%3!_9g`AHSQ4jcZ;Ko=+-1fF7!42$RAB)VaXJ!je`y z<=reUK7pB-nlmrIK$ek{$5eIn_~P`+~QK^?jOj)A!TiI8_UWoV9|*w zta?m6Gq-hMIYlLGOnnn8EUREyxWBt^0?UEKq|$`63|3Jyh82}nvgWZJxTcadwvJ_X zE}ibIwY`%yx3#nK>QT%qAc&=8X0iN|GFDPi#VRn?(LIh!P0}}y#dS5KST*|9W9pc( zr42J8sk!9VqFHczhvSoDD{P4tp#cYj#G=P?r~*XEd-_-$B+e-);`=|Uu7MTf!PWRI zfFwzoIjn5d7*<+Y!wO3)ST3Y2D6fP{GFV!69&}p7^-5Cp_7AY)@+yudBrWN^rnZ4i znKpyfH@7m{&GekkJT|(%k#7TS2W?eD3$`=2fYmiNvxcTtz8j@gHMqH+m0-erY<+rG z9_zwlZJb<~DWo2fT;T}h6y)9HG2}hmxFPXW(yt_~jDxWR$XZN=fEU=L0_&FnkjY)u z$wkpL0Rx14A}$&8NrwO!+euzU+dB+FBJ_}FM#m>H6BuqJY(;KnV~-Wv@&PjplChXt z+c9fH(L&|4Vv^9DnnEHjm90Iq z{D)?aF>0dZ=;J=RUy}R@T|;U;0yBkADCIh7+?0jxa+4=X5~V{Y!(EGNDzY847j8x z5HAJa6I0TGUKKnBBm>Rl<<&I+{xBAkkjSMW1e@{fES8FGDyt;qs$mhpY1)ZwKqX0( zm7B+RBoqOHCT;JM^DT_V93*8{ULlJ?API(w2ooY>6GuusBGfAQ1d%8nX5q({4$hoB zSv$I77mS!8{E(9-vSQc(fj{{xMJRK)Bn1cZRU>l|KFP@3ef_!7k@0y!@<7-L8KzG_ zAd@?~x-%;~2WAbQBww`|*&OiQ!Aa4?-{=~C9meTi@4!H2i3gLF(*xXn1BOuy4<|qo z5zHLnll+*_N+K1ISVAbGi#jlWg2S%fJ~l9ADzLSijT_(3I>+_0dTgDGmoJ+*_zcJL zmi8_Lm(i>qUeMMl2S!)2?w;{Hxa1ZU1D~g}@e?QE-X7MC`RbdRS^uN~Chq_N=p8?S zg+m_`2PU(@XQuKW8k<{K--LcPzJDT{I(-JC@2!YTL17W>*;&uAQUs7LM6J5UCN?lQ zh1E7RaW@$YeK+Ac3I<(RsGCm!kI#f&3abW5=DHOLvP7Rmlp2Xp5*Ze$Q#_&(!7M?m z5w?<`QPOKBte8;A($SXg5K+``t;iP=MUcKEb& zbY?-JVZ2X9LBH7!>D!4 zR~|rt;&1inIz|?rTUf&Vu@)gS1mKbiARz*g3&xRGSj>EbLiv`*fuWRBC?vw)3 zAmoyc36SKHl(vwNq;&X)M&r~*O3khN-z0_#h>?(cafvBH!SzIm$)ZR2tt71!eTXTV zVe9-t!kN8`JEuP6v)+Lr%n6J$Ff;-rz!f@-AhyUtBBEJj4Dj2-i+O`SIpLEG(FgNH z#l)WDs@HlmMl=|cJ> zYnLorl9*gYv}zH#h9m}blB-cXeu9Ch64L-m4YLd6b|7OUEp1UmYy#7RK}dKkNlU&- zh9gNU5(tqT5WI5um0%a&X`zyPNG-V^A#1>o-&bf$X$~3ij8c&I%n7$h^dGC1Uk4Y%qNJW6p zD=y<9t_IvXESl1o7}hejgXO?qiOdu4PDh+3Qb6BF*VXfWTw)Td1nJMr&1EHJ<*dA- zl2yT{i;9ccn7TTa2Y;65=H;_VlP9w#U~w+uZCiUgE32qrZNS?Uu#QZ`+sdkHRtxT( znvuyW0Twxkw_V*mJSN*ayK>;DM4+GrQIH@qUx%PUJe?LqAe4!F!ayt_u{N^7;bMgb zbUPex&6p)JI`U0o8Nv9p0ctt8d4h9AGv9z<#MB^0M1bJb)zgbbfU!h^ZxKQz0GT49 z!Cr7pFi1uMP%Ht&ASyPN#V01RsF+wL_ww;&o@jmu&fY$LEH*x#`60$OBf6x4a|H#5 zGGD&{R#;Ms@gUAXh_DeT1cyg3JAeo=4+0NLQ%P0C!H5EtfYecZb_C#%u?AqSscJy2 zk(CNc+&M=EyD+zNVnx7b;#Kyp9-MR0jVa((v5+PyH62tb2?Q~f>$Iu{+YG%C2FGDM z9Z6qeN*XIfJkA1Ag@%Q*Y>>xn^hu=@kmPj@jjXPr9@~@5DzL(|jC7WppU=|4ASqEN zy+=bjf;!?_?y&wgWS7K1iE;8g3Q3zK0D~5l3S*1Kf>JVac&-%?7R9L&2}PBPsj6B! zJS&iVmm?LVC9|hEOA^vV6x!&MQdUaZ3Sj9Ocn}dpdU$YHBrHFlOPZaV&+-t}GVyR~ zwD_*>Zm1!KRU*qwPEBRSr6nvd7!nslclkwyEGZ?GRl#CY($ZKiBYGesPZ(hWLPx;Nn~ss3^JcL!eI(JnK?PE0N1y)wz1IgaPF4HrDZI? zu#m&BJS{x~&W_R%Kp+(p6%-cX#sHAFLOwA~PI*%iZc0V^Nv<>+L4#;d8eE1fnUc0h zq_m{lT%@XG&7pwM6f8Esq@2TU1b%n%^nt{v+6|+Xm;~^PcNEn=jts`j@l91!#fu)E#^l*YkS`0}{l2NWqR5uo(iPE0XNQ?n!!Xw1bNQ@<=Qgp&^V43cST$C6D1_krTlnj81f*Rye2wz^_z8va2 z5uHLYfd}f9L714r8*M9vH#clOMWyJt1S}?iM;+03MeZzRghRDUh3`_KhA1W`Ea&{n6zXhzr7gH6KdL2Qr1t2+sOQPBvMJfOQj8xmJ$X^g}KB-yczl>iA8({ zgS4>b1v3H&UQDB;%+7u|c^`pR1gpb{B~oM&kVXSDH_p(Ibr`7eEz2tNP^v`rIZpsf??#xh&~EQtugu2cuWr;$__?iGQ#G_Iwct? zu?zww3bm57oKTXqbU=h8;t7eVPBrSYc zhSc~8iFpi$#D!QX9Sx9;@MxdOTJLG&mQk4Z=d03h8# zKL}($9Gp5lHlCLtqi}C{Yy!VVlosb=n$%G8Kx#ZBF~?{VG4~zGv7~acWYuJJv~r&F zB0-}apuCsHC?j-1#_!?n!~6Ci6x?Vr&aZ*-QmKRPm0VRW=C(*P;Wj+w1R4!nu{8pO zAN(2RBaBOU{KU!O2u%LFB}1=}R2jsQm$uY3{z+m*EfU~B*#i~IsFFujxrr#Ck#6&g zN;rH1XW7_}E*zA!@Hz)oa+<(2s6aOkae30fAj^dMsBl-0kU3%E04VU}p~@cRUGj;O z2YKo_0T)xHwXc5?XBBi7MaEU%+{T(v(Jg@CQJIlWV~BB33QI>sO|8f-5m4yZryAf- zzZ1{S1@j03X-I-`HXy)IO3P~?Bav%}S&l$1Iv_E#61U$1jKmW9u>szajtFR^qN@YW zlz3S}0wKkx1Mq;Zm2@hplx)TZt|^z0Y2+yiJ%|n|#j4!!nF7UH!s(F+MJW(J4gw~V z-%@#le3mR(4G1Rc7G)3kFdc;tSv7?+LM|$jNLWpDbtGPs(a~ZkXh^s%N%L=?Qc*?> zG{eSAf|AF`M@q_zp&$Yj9*HrI#A41YKpaGADf*yMtmV;1ly=x};j`qoRHUUs9+kFK zsXZkz`7*f*;jt}99APyv5HBR_9!S#CbMoOPNzNt477Z~FMb1Q! zNUV|&EDiyIGKi zN<|qeoD*xMqhOjt9ubp(V^(+8F7M`NL{x$(K%?Sm5mFbzZORTjAstn2h$B-?!!sZR z(I|pPs0>7-V)$sDq((JMsZXC|vD7RuPPRhcVPWII&!1>csj4rhjs;3fqzAF)D80-e z@+Ttw{1^cK%M*F!)L9KX)42qiD8PCOh?1i@cxeCwE&Spo&lD5@f7&LY@FROz90> zLxr~jz$m>fLHEh2Mp1-8`cjSJ3dK?~0J@nT9u$t01lUYRJ83v7pq&{H&`&`>7mJF4 zF=b&gbx0fyc0#qSeAomX6+|F8OG-v;&(CMlix5v`i%-_23B}0Z{6ix6NveM^4nv?< zDw@%mgA3e-+>oM}5B$^%l|JI)BrRPRi2JBQWXJD`;%Ac1FiI!5sRQoGfDw*yhmTUs zB|oJoLobQ=q5?;+R`}r|77i}lqRC%9{DPnw6K3h;#vD8`3CjOg2>Ns!C<8_l2G9b0 zun=cl?}XnTJL(|c_7^17`BN3g%(4=LHph z-2@Q46eR0Z)r|tVqif0K$OVb9(g~a^7DGup%}2ZB6BNepZKugCArS8pi6Cc~pQR|w6*0W>k-*ij&Qbb?ORJ{n5^V30v3re*Qel@6+D zp(J4xEfR~RMN?grPSAY-&BSclX$KXdlNEeO^xY0lon$Q_rw36)JM@Nw zqEf)47q*bXBt zYU&zUEg~4bBR~O%-VdUB8AT`xHr-&N)fstsrw5bKn+#)tPINJ`N{Uw57$Xa&my8-Q zMu#G`2!CWygl6qs-8@9L(8CZq8&FLsDlNqkKpdC+iFYsgtBKGtowO0qi>EN+yE{b4 zY5NRuSViZEMtcM>BGMIGKGebOha*a$8uzI;h9U_RLdJtaX<5d=X= zh{1nKioP%U%Dj&k7`p@83UuOMhB87ao`P03Wz$FE9eVqe(_ zeRJu0ujiC(MqFPsqF>DW^xTx^dj)ktFmyma2hYG$6#ta)O!|l4>bko-uoR)QtFNah zJ;|Y>vdTgIyr3qS<9BC4yRMcH;l~r`LlALNXs*Wzr({6R2M=_DiVW-`CxTYg(z_&|24s{vi53JtalS=&wg# zuSM+dqJF*D|Css{8d~VybAq5|)YaJ5B?#)jq951T)Z2ic>A8)Ky$zk{zaj|ANu8Z? z%x~}|#yuLkdvLG8L-bu}U+{^)QSS&sI3!lPJ3Q7KBnaD#1i@j=@R;jgf?%d02=C4r z9{a6`@0F6-sov&b+=D+Qog`SDzb*sA%S);8@A zbWZ4A*H<_2F)TNlV|>t5*(}n0y2Zy`fmu-3~CNO5ULl}5q>n%B&sudPpnZ~W&Fy7-;*Mf`%`wL{*_*paU#n%`;A<+ zypH^1h2BMrif@$`mF=u>t(;MHt)^hq<}tdpO?CSk>>8hGI@aRUIcMG@8wPX|7qHsy~TH{;nqL5oqK=#_GLRJ?kw9C zw%c^~|NeVy&$_)c_Emon{Gs-Tm-p{DF!x~Np}50lhp!#kbM)npnm&&FMDvq#pT2W! z@OaS)w-a|y9zHeyboFQUpMCTB>MvTp^!)OdueO}&KI?z>_PMR+`@RnS`i~1cFOL5v z=$o70{^wHXcV6H9^8NbDO+PsP@XeLif2{n;{HM=FrT>?C)IpZR77fe?;9?yL;l##rH!X{G53)AA zb_!P)qJ&Apr%FCbuPa+9uU3gx`A+t-YL=S5+BI0fdd>M-)3pb526boaEzw_ZaKP}A zv8qX+X`R_T^FtPQtvs!}ZQirJVejkE<+$GIrc1QzM7M(;N}kDH^S#gdTKHA@FAMlO zNGCWqWKQUZVGko>BAcTYM1K@>C(b-RB4JG8%A{K<{;7j$M>2FW^Rnh;pUpMNtIA(p zaHlAwczVh4GUM{{iq|U7RXf#mj9N4Lr&`at_WGR-cbkHn2V356y)o9Wy{Y4k&I@v* z?$mLUdfw~3JlHzpk#xG`ukCGDBMsSBsQKmFW{M>8E~#Xr~l{LI-aU)b{E zsX5nP(wJxUvh^#L^DP#bEHqqX{Hobvlh+KEXeHe7qx)0VINB;-2zCOL{v*n);eo^yf>{kwFWM{rRd-&Yi^E1D$y%2ZN_Ts&7&V9S{(!%fL z-)CNSy8PgW3s*M(IQyr%pChj7Uj60TzF%Is-tcSK4ecA>-Q0F-*8fUxyWRf%&f(t{ z|K9XR$X)fjU;Mf9UdR222kH+_|MkYhmPf&l?mzy7b#VP_3id*R&@QYHzEyHl>R0+q zIYfD-ikZp+nVD>*YKZCywRUxV^*tJ$nl73@Xsy(4(h1agq{i;p;2?J_aY}M_chPkD-t|MbH-Qkvo*rIm zUgx~m`%Lp~^Q-mG2}lSG4RQ@O#7m&JL%$6>8GbNgSLAz9E2Edj%!{2KH!i+DVRT}7 zQgU)kN=T|tnt!@$hHa*8mT9(rj()CIo@%~kfqJ2=NTpa-qF$<5rdh6Ap;xI_Wms)q z<2cHDwC|XJ+OWF#`s{|>#@eQ)W_e3n>!h~9vGd!Pb}Z{$-nCA?ru*%28+&&4?&{k; ze%pjC{aYq(pR{FQGw|fyDQlj2ed)3SHezLF1$KP=i`bfDy5`Jw8=%}08VPWtGDkC%V4{nL}j{yJfKGWt}< z=~bUy_`>wdvai;id3>(?{QDO?FRu93?$Xxp>wYk~a^k18S2z5!_l9t*{f^cjD)*K= zd`S8iV;{u?wJl6rK8R!HRKxmG}SdrHP>qXsgiYJAD0!sLW$wCNf%BeUnsem8G4KVy+) zalkUla+{Th)mm$3>*Y4qHj8ZyY!}&?*e$d-wSV2g!Qmap5XS>f*-l?M*E;{<@`9_C z>n67px3li;9_k+JJQF>?@tW@K?)|Y(r>~{&M}8gtR{kdfrUixt{u;CYr*aP zzsv5%-|Km>@8QoJKm3I{VUh5$@JK0GsYPkI(ivp~*0j)+YaZ0H(CX1TuI;QnMf-wI zl+Noq4|PZD9?=Wbdrgn&cj{j>$S~Mp=xg}4k&V$JV`Jk*CKe{kOwCQ_n#s(bHG612 z(fqE(1dIEYQ>_H6S=I*Di*4*|R@-{n?zT&^J7HgKf8AkSqeUem@t|y;PIg+|DZCU!PjGoNCteM&Kb5`c= z&O4req2N}LRbu|(18U!^XQ}VhaM5^8Q(JQy{JUH0x^|cLEuCJS2fEMe=_8he=zn3* zX{c|w)o8S_s_`C^UQ;{My=KkkI_B?N)L9x^9<}PX4z&K+W|?h?oq^q__Ol%_9rYd0 zIW2V_<>K#h&-Jj|0{03J9}nhv+-t4(piiE!x1Xxt*Z#W$mIU?(l?8`}ScI_9@57FT zZ;x0W`5d@tX-r0JRGfFbRf1-sEb(U2)#OVlKc`+uyOjP}#_7znSwCd|m~%f*E#Iub zrZA`|rMS6dX6dT3-Q|}mm8x8-b87}iZ65tgtwmi{{q%-YO*+jpE_Fe(I21me|qouq!af~jXHhy^U^O4e&u{-=GiOflfPbd z;rDN%zMXpM(D&+>(|_o@vhv51Ki$7-e$Drn(Cab3Cf~@snR_ewf5Ep6Z{NIg?6=jw zxBn6R$L+hD|7^NveDA>hQTOjXSn!wGUrQcZJ)HmW{-e4_pF9qHe2g`b{>6NW;)kG> zj5pJJ9CDIV_}Bk`|8;hZM^487kV^?VUG;hS_@w^T?!JN&e43#>=$%lUicbTiLk7)l zX_<x~u~9_0aEX>MAWpAM+~>c6aa` zm-_R%`;zE-3-nhs^`=VK>>6k-DOcS4Y0vngQuJML&AE1YHeFB8df3>MqF9@VzJlMQ9Ryg&ZMSNKyRnfN=+Wm*dwap%>R(;nzu5mGSRw zPu=A!H1qi;@O#>YpKwp-n6?=`nCr>e8!+>Dp##^A7kUET4Y(HYaOfI(Y6pL^bXWG@ zM#R~~6^hrk35~c)8mIaBI6b{{Yx9I9@<~x;tw4z&S*R>Y7AuRBMG6jJoK}LbECgI3 zQ5G+Y#&3})f8F`(&|1X(sUMOvTUs+#-ZeD(x2FnisAKT_9XlOY#6J3-EbpGw)7H}3=a7i%MU#(1W> + + + Bibliography + + + + +

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

-{DCV!fM*ca-aqN^ZnpE^X|t4pt6 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