1 /* ---------------------------------------------------------------------- * 2 * lin-city.h 3 * This file is part of lincity. 4 * Lincity is copyright (c) I J Peters 1995-1997, (c) Greg Sharp 1997-2001. 5 * ---------------------------------------------------------------------- */ 6 7 #ifndef __lin_city_h__ 8 #define __lin_city_h__ 9 10 #include <stdio.h> 11 12 #define LC_X11 13 14 /* 15 When your money reaches 1 million or more, to make it easier to 16 read, it is split into two parts; a millions part, and the rest. 17 For example 12,355232 You can choose any character you like, 18 but I have given some other examples. Just comment out the one 19 above, and uncomment one below. IT MUST NOT BE NULL. 20 #define MONEY_SEPARATOR '.' 21 #define MONEY_SEPARATOR ' ' 22 #define MONEY_SEPARATOR ':' 23 */ 24 #define MONEY_SEPARATOR ',' 25 26 /* 27 ************************************************ 28 NO USER CONFIGURABLE OPTIONS BEYOND THIS POINT 29 ************************************************ 30 */ 31 #if defined (_MSC_VER) 32 # define snprintf _snprintf 33 #endif 34 #define USE_X11_PIXMAPS 35 36 #ifndef TRUE 37 # define TRUE 1 38 #endif 39 #ifndef FALSE 40 # define FALSE 0 41 #endif 42 43 /* Used by HandleError () */ 44 #define FATAL -1 45 #define WARNING -2 46 47 /* comment out the the next three lines for _slightly_ faster X drawing. */ 48 #if defined LC_X11 || defined WIN32 49 # define ALLOW_PIX_DOUBLING 50 #endif 51 52 #if defined (LC_X11) || defined (WIN32) 53 # define BORDERX 30 54 # define BORDERY 30 55 #endif 56 57 #define TEXT_FG_COLOUR (white(24)) 58 #define TEXT_BG_COLOUR 105 59 #define YN_DIALBOX_BG_COLOUR (red(10)) 60 #define LOAD_BG_COLOUR (cyan(10)) 61 #define SAVE_BG_COLOUR (magenta(10)) 62 #define NW_BG_COLOUR (green(10)) 63 64 /* GCS: We are about to run out of bits on the flags, so in the future we 65 might need to implement compression. For example, FLAG_IS_RIVER is 66 only used for GROUP_WATER, FLAG_MB_COAL for GROUP_MARKET, and so on. */ 67 /* WCK: Compression would work, but that's complicated. I would rather move 68 FLAG_M?_* into an int_? variable. And add more int_? variables. That keeps 69 it simple and squeezes some life out of 32 bits. I don't think we need to 70 hurry. I'd rather replace the whole scheme. */ 71 72 #define FLAG_LEFT (1) // Used for transports, power lines, rivers, and desert borders. 73 #define FLAG_UP (2) // Algorithm relies on the numerical values of 74 #define FLAG_RIGHT (4) // the flags. (a check is done at compile time) 75 #define FLAG_DOWN (8) // 76 #define FLAG_POWERED (0x10) 77 #define FLAG_FED (0x20) 78 #define FLAG_EMPLOYED (0x40) 79 #define FLAG_IS_TRANSPORT (0x80) 80 #define FLAG_MB_FOOD (0x100) 81 #define FLAG_MS_FOOD (0x200) 82 #define FLAG_MB_JOBS (0x400) 83 #define FLAG_MS_JOBS (0x800) 84 #define FLAG_MB_COAL (0x1000) 85 #define FLAG_MS_COAL (0x2000) 86 #define FLAG_MB_ORE (0x4000) 87 #define FLAG_MS_ORE (0x8000) 88 #define FLAG_MB_GOODS (0x10000) 89 #define FLAG_MS_GOODS (0x20000) 90 #define FLAG_MB_STEEL (0x40000) 91 #define FLAG_MS_STEEL (0x80000) 92 #define FLAG_FIRE_COVER (0x100000) 93 #define FLAG_HEALTH_COVER (0x200000) 94 #define FLAG_CRICKET_COVER (0x400000) 95 #define FLAG_IS_RIVER (0x800000) 96 #define FLAG_HAD_POWER (0x1000000) 97 #define FLAG_MULTI_TRANSPORT (0x2000000) /* Is it a multitransport? */ /* AL1: unused in NG 1.1 */ 98 #define FLAG_LACK_JOBS (0x4000000) /* 1.92 svn , replace previous unused one. */ 99 #define FLAG_POWER_LINE (0x8000000) 100 #define FLAG_WATERWELL_COVER (0x10000000) 101 #define FLAG_HAS_UNDERGROUND_WATER (0x20000000) 102 #define FLAG_ASKED_FOR_POWER (0x40000000) 103 #define FLAG_GOT_POWER (0x80000000) /* 2^31 = last flag */ //nearly duplicate of FLAG_POWERED 0x10 104 105 /* XXX: It would appear that the following T_ are used exactly two times each, 106 in market.c. */ 107 #define T_FOOD 0 108 #define T_JOBS 1 109 #define T_COAL 2 110 #define T_GOODS 3 111 #define T_ORE 4 112 #define T_STEEL 5 113 #define T_WASTE 6 114 115 /* XXX: screen.h? */ 116 117 #define MINI_SCREEN_NORMAL_FLAG (0) 118 #define MINI_SCREEN_POL_FLAG (1) 119 #define MINI_SCREEN_UB40_FLAG (2) 120 #define MINI_SCREEN_STARVE_FLAG (3) 121 #define MINI_SCREEN_PORT_FLAG (4) 122 #define MINI_SCREEN_POWER_FLAG (5) 123 #define MINI_SCREEN_FIRE_COVER (6) 124 #define MINI_SCREEN_CRICKET_COVER (7) 125 #define MINI_SCREEN_HEALTH_COVER (8) 126 #define MINI_SCREEN_COAL_FLAG (9) 127 128 #define MAIN_SCREEN_NORMAL_FLAG (1) 129 #define MAIN_SCREEN_EQUALS_MINI (2) 130 131 #define WORLD_SIDE_LEN 100 /* Minimap size is hardcoded 200 pixel => some job to do ... */ 132 #define NUMOF_DAYS_IN_MONTH 100 133 #define NUMOF_DAYS_IN_YEAR (NUMOF_DAYS_IN_MONTH*12) 134 #define FAST_TIME_FOR_YEAR 9 135 #define MED_TIME_FOR_YEAR 20 136 #define SLOW_TIME_FOR_YEAR 60 137 138 /* interest rate *10 ie 10 is 1% */ 139 #define INTEREST_RATE 15 140 141 #define HELPERRORPAGE "error.hlp" 142 #define HELPBACKGROUNDCOLOUR (white(8)) 143 #define HELPBUTTON_COLOUR (white(25)) 144 #define MAX_NUMOF_HELP_BUTTONS 40 145 #define MAX_LENOF_HELP_FILENAME 40 146 #define MAX_HELP_HISTORY 20 147 #define CS_MOUSE_BUTTON_DELAY 5 148 #define RIGHT_MOUSE_MOVE_VAL 5 149 150 #define GOOD 1 151 #define BAD (-1) 152 #define RESULTS 0 153 154 /************* Buildings stuff *********************/ 155 156 #define WINDMILL_POWER 450 157 #define WINDMILL_JOBS 10 158 /* WINDMILL_RCOST is days per quid */ 159 #define WINDMILL_RCOST 3 160 #define ANTIQUE_WINDMILL_ANIM_SPEED 160 161 #define MODERN_WINDMILL_ANIM_SPEED 120 162 163 #define OLD_MAX_NUMOF_SUBSTATIONS 100 164 #define MAX_NUMOF_SUBSTATIONS 512 165 #define SUBSTATION_RANGE 10 166 #define POWER_USE_PER_PERSON 3 167 #define POWER_RES_OVERHEAD 30 168 #define POWERS_COAL_OUTPUT 22000 169 #define MAX_COAL_AT_POWER_STATION 100000 170 171 #define MAX_ORE_AT_INDUSTRY_L 20000 172 #define MAX_JOBS_AT_INDUSTRY_L 500 173 #define MAX_GOODS_AT_INDUSTRY_L 65000 174 #define INDUSTRY_L_GET_JOBS 120 175 #define INDUSTRY_L_GET_ORE 600 176 #define INDUSTRY_L_GET_STEEL 60 177 #define INDUSTRY_L_JOBS_LOAD_ORE 1 178 #define INDUSTRY_L_JOBS_LOAD_STEEL 4 179 #define INDUSTRY_L_ORE_USED 125 180 #define INDUSTRY_L_STEEL_USED 12 181 #define INDUSTRY_L_JOBS_USED 30 182 #define INDUSTRY_L_MAKE_GOODS 225 183 #define MAX_STEEL_AT_INDUSTRY_L 2000 184 #define MIN_JOBS_AT_INDUSTRY_L (INDUSTRY_L_JOBS_LOAD_ORE\ 185 +INDUSTRY_L_JOBS_LOAD_STEEL+INDUSTRY_L_JOBS_USED) 186 #define INDUSTRY_L_ANIM_SPEED 290 187 #define INDUSTRY_L_POL_PER_GOOD 0.05 188 #define INDUSTRY_L_POLLUTION 10 189 190 #define MAX_ORE_AT_INDUSTRY_H 10000 191 #define MAX_COAL_AT_INDUSTRY_H 1000 192 #define MAX_MADE_AT_INDUSTRY_H MAX_ORE_AT_INDUSTRY_H/16 193 #define POWER_MAKE_STEEL 200 194 #define INDUSTRY_H_ANIM_SPEED 290 195 196 #define DAYS_PER_POLLUTION 14 197 #define POWERS_COAL_POLLUTION 20 198 #define INDUSTRY_H_POLLUTION 10 199 #define COALMINE_POLLUTION 3 200 #define PORT_POLLUTION 1 201 #define RAIL_POLLUTION 1 202 #define DAYS_PER_RAIL_POLLUTION 30 203 #define ROAD_POLLUTION 1 204 #define DAYS_PER_ROAD_POLLUTION 20 205 #define UNNAT_DEATHS_COST 500 206 #define POL_DIV 64 /* GCS -- from engine.c */ 207 208 #define FINANCE_X 91 209 #define FINANCE_W 120 210 #define FINANCE_Y 200 211 #define FINANCE_H 56 212 #define INCOME_TAX_RATE 8 213 #define COAL_TAX_RATE 20 214 #define GOODS_TAX_RATE 1 215 #define DOLE_RATE 15 216 #define TRANSPORT_COST_RATE 14 217 #define IM_PORT_COST_RATE 1 218 #define PORT_FOOD_RATE 1 219 #define PORT_JOBS_RATE 5 220 #define PORT_COAL_RATE 50 221 #define PORT_ORE_RATE 1 222 #define PORT_GOODS_RATE 3 223 #define PORT_STEEL_RATE 100 224 /* 225 These next two control the stuff bought or sold as a % of what's on the 226 transport. 1000=100% 500=50% etc. 227 */ 228 #define PORT_EXPORT_RATE 500 229 #define PORT_IMPORT_RATE 500 230 231 #define NUMOF_DISCOUNT_TRIGGERS 6 232 #define EX_DISCOUNT_TRIGGER_1 25000 233 #define EX_DISCOUNT_TRIGGER_2 50000 234 #define EX_DISCOUNT_TRIGGER_3 100000 235 #define EX_DISCOUNT_TRIGGER_4 200000 236 #define EX_DISCOUNT_TRIGGER_5 400000 237 #define EX_DISCOUNT_TRIGGER_6 800000 238 239 #define MIN_RES_POPULATION 10 240 #define MAX_TECH_LEVEL 1000000 241 #define TECH_LEVEL_LOSS_START 11000 242 /* 243 tech-level/TECH_LEVEL_LOSS is lost every month when 244 above TECH_LEVEL_LOSS_START 245 */ 246 #define TECH_LEVEL_LOSS 500 247 #define TECH_LEVEL_UNAIDED 2 248 #define MODERN_WINDMILL_TECH 450000 249 250 #define BUILD_MONUMENT_JOBS 350000 251 #define MONUMENT_GET_JOBS 100 252 #define MONUMENT_DAYS_PER_TECH 3 253 #define MONUMENT_TECH_EXPIRE 400 254 #define MONUMENT_ANIM_SPEED 300 255 256 #define BLACKSMITH_JOBS 35 257 #define BLACKSMITH_GET_COAL 6 258 #define MAX_GOODS_AT_BLACKSMITH 200 259 #define MAX_COAL_AT_BLACKSMITH 100 260 #define BLACKSMITH_STEEL_USED 1 261 #define BLACKSMITH_COAL_USED 1 262 #define GOODS_MADE_BY_BLACKSMITH 50 263 #define BLACKSMITH_BATCH (GOODS_MADE_BY_BLACKSMITH*100) 264 #define BLACKSMITH_ANIM_THRESHOLD 10 265 #define BLACKSMITH_ANIM_SPEED 200 266 267 #define MILL_JOBS 35 268 #define MAX_GOODS_AT_MILL 200 269 #define MAX_FOOD_AT_MILL 500 270 #define MAX_COAL_AT_MILL 50 271 #define GOODS_MADE_BY_MILL 75 272 #define MILL_GET_FOOD 51 273 #define MILL_GET_COAL 4 274 #define MILL_POWER_PER_COAL 60 275 #define FOOD_USED_BY_MILL (GOODS_MADE_BY_MILL/2) 276 #define COAL_USED_BY_MILL 1 277 #define MILL_ANIM_THRESHOLD 10 278 #define MILL_ANIM_SPEED 300 279 280 #define SCHOOL_JOBS 50 281 #define SCHOOL_GOODS 75 282 #define JOBS_MAKE_TECH_SCHOOL 200 283 #define GOODS_MAKE_TECH_SCHOOL 75 284 #define TECH_MADE_BY_SCHOOL 2 285 #define MAX_JOBS_AT_SCHOOL 400 286 #define MAX_GOODS_AT_SCHOOL 200 287 #define SCHOOL_RUNNING_COST 2 288 289 #define DAYS_BETWEEN_COVER (NUMOF_DAYS_IN_MONTH*3) 290 #define DAYS_BETWEEN_FIRES (NUMOF_DAYS_IN_YEAR*2) 291 #define FIRESTATION_JOBS 6 292 #define FIRESTATION_GET_JOBS 7 293 #define MAX_JOBS_AT_FIRESTATION (FIRESTATION_JOBS*NUMOF_DAYS_IN_YEAR) 294 #define FIRESTATION_GOODS 2 295 #define FIRESTATION_GET_GOODS 3 296 #define MAX_GOODS_AT_FIRESTATION (FIRESTATION_GOODS*NUMOF_DAYS_IN_YEAR) 297 #define FIRESTATION_RANGE 18 298 #define FIRESTATION_RUNNING_COST 1 299 #define FIRESTATION_RUNNING_COST_MUL 6 300 #define FIRESTATION_ANIMATION_SPEED 250 301 #define FIRE_ANIMATION_SPEED 350 302 #define FIRE_DAYS_PER_SPREAD (NUMOF_DAYS_IN_YEAR/8) 303 #define FIRE_LENGTH (NUMOF_DAYS_IN_YEAR*5) 304 #define AFTER_FIRE_LENGTH (NUMOF_DAYS_IN_YEAR*10) 305 306 #define CRICKET_JOBS 8 307 #define CRICKET_GET_JOBS 9 308 #define MAX_JOBS_AT_CRICKET (CRICKET_JOBS*NUMOF_DAYS_IN_YEAR) 309 #define CRICKET_GOODS 2 310 #define CRICKET_GET_GOODS 3 311 #define MAX_GOODS_AT_CRICKET (CRICKET_GOODS*NUMOF_DAYS_IN_YEAR) 312 #define CRICKET_RANGE 10 313 #define CRICKET_RUNNING_COST 1 314 #define CRICKET_ANIMATION_SPEED 750 315 316 #define MAX_GOODS_AT_POTTERY 200 317 #define POTTERY_ORE_MAKE_GOODS 11 318 #define POTTERY_COAL_MAKE_GOODS 2 319 #define POTTERY_JOBS 35 320 #define MAX_ORE_AT_POTTERY (POTTERY_ORE_MAKE_GOODS*60) 321 #define POTTERY_GET_ORE (POTTERY_ORE_MAKE_GOODS*20) 322 #define MAX_COAL_AT_POTTERY (POTTERY_COAL_MAKE_GOODS*60) 323 #define POTTERY_GET_COAL (POTTERY_COAL_MAKE_GOODS*21) 324 #define MAX_JOBS_AT_POTTERY (POTTERY_JOBS*20) 325 #define POTTERY_GET_JOBS (POTTERY_JOBS*2) 326 #define POTTERY_MADE_GOODS 35 327 #define POTTERY_ANIM_SPEED 280 328 #define POTTERY_CLOSE_TIME 20 329 330 #define UNIVERSITY_JOBS 250 331 #define UNIVERSITY_JOBS_STORE 5000 332 #define UNIVERSITY_GOODS 750 333 #define UNIVERSITY_GOODS_STORE 7000 334 #define UNIVERSITY_RUNNING_COST 23 335 #define UNIVERSITY_TECH_MADE 4 336 337 #define ROCKET_PAD_JOBS 1000 338 #define ROCKET_PAD_JOBS_STORE 10000 339 #define ROCKET_PAD_GOODS 10000 340 #define ROCKET_PAD_GOODS_STORE 500000 341 #define ROCKET_PAD_STEEL 500 342 #define ROCKET_PAD_STEEL_STORE 12000 343 #define ROCKET_PAD_RUNNING_COST 200 344 #define ROCKET_PAD_LAUNCH 100 345 #define ROCKET_ANIMATION_SPEED 450 346 #define ROCKET_LAUNCH_BAD 1 347 #define ROCKET_LAUNCH_GOOD 2 348 #define ROCKET_LAUNCH_EVAC 3 349 350 #define TIP_DEGRADE_TIME 200 * NUMOF_DAYS_IN_YEAR 351 352 #define MAX_WASTE_AT_RECYCLE 20000 353 #define BURN_WASTE_AT_RECYCLE (MAX_WASTE_AT_RECYCLE/200) 354 #define MAX_ORE_AT_RECYCLE (MAX_ORE_ON_RAIL*2) 355 #define GOODS_RECYCLED 500 356 #define RECYCLE_GOODS_JOBS (GOODS_RECYCLED/50) 357 #define RECYCLE_RUNNING_COST 3 358 359 #define HEALTH_CENTRE_JOBS 6 360 #define HEALTH_CENTRE_GET_JOBS 7 361 #define MAX_JOBS_AT_HEALTH_CENTRE (HEALTH_CENTRE_JOBS*NUMOF_DAYS_IN_YEAR) 362 #define HEALTH_CENTRE_GOODS 40 363 #define HEALTH_CENTRE_GET_GOODS 41 364 #define MAX_GOODS_AT_HEALTH_CENTRE (HEALTH_CENTRE_GOODS*NUMOF_DAYS_IN_YEAR) 365 #define HEALTH_RUNNING_COST 2 366 #define HEALTH_RUNNING_COST_MUL 9 367 #define HEALTH_CENTRE_RANGE 15 368 369 #define OREMINE_ANIMATION_SPEED 200 370 371 #define OLD_MAX_NUMOF_MARKETS 100 372 #define MAX_NUMOF_MARKETS 512 373 #define MARKET_RANGE 10 374 #define MAX_FOOD_ON_TRACK 2048 375 #define MAX_FOOD_ON_ROAD (MAX_FOOD_ON_TRACK*4) 376 #define MAX_FOOD_ON_RAIL (MAX_FOOD_ON_TRACK*16) 377 #define MAX_FOOD_IN_MARKET (MAX_FOOD_ON_RAIL*8) 378 #define MARKET_FOOD_SEARCH_TRIGGER (MAX_FOOD_IN_MARKET/5) 379 #define MAX_JOBS_ON_TRACK 1024 380 #define MAX_JOBS_ON_ROAD (MAX_JOBS_ON_TRACK*5) 381 #define MAX_JOBS_ON_RAIL (MAX_JOBS_ON_TRACK*25) 382 #define MAX_JOBS_IN_MARKET (MAX_JOBS_ON_RAIL*3) 383 #define MARKET_JOBS_SEARCH_TRIGGER (MAX_JOBS_IN_MARKET/5) 384 #define MARKET_ANIM_SPEED 750 385 #define EMPLOYER_RANGE 10 386 #define WORKING_POP_PERCENT 45 387 #define JOB_SWING 15 388 #define HC_JOB_SWING 10 389 #define CRICKET_JOB_SWING 4 390 391 #define ORGANIC_FARM_FOOD_OUTPUT 550 392 #define ORGANIC_FARM_ANIM_SPEED 3000 393 #define FARM_JOBS_USED 13 394 #define ORG_FARM_RANGE 10 395 #define ORG_FARM_POWER_REC 50 396 /* gets waste only when powered */ 397 #define ORG_FARM_WASTE_GET 6 398 #define MIN_FOOD_SOLD_FOR_ANIM 200 399 #define DAYS_PER_STARVE 20 400 401 #define NUMOF_COAL_RESERVES 100 402 #define COAL_RESERVE_SIZE 10000 403 #define ORE_RESERVE 1000 404 #define MIN_ORE_RESERVE_FOR_MINE (ORE_RESERVE) 405 #define MAX_COAL_AT_MINE 100000 406 #define MAX_ORE_AT_MINE 100000 407 /* COAL_RESERVE_SEARCH_LEN acts in both directions, so 5 is 10*10 */ 408 #define COAL_RESERVE_SEARCH_LEN 8 409 #define JOBS_DIG_COAL 900 410 #define JOBS_DIG_ORE 200 411 #define JOBS_COALPS_GENERATE 100 412 #define MAX_JOBS_AT_COALPS 2000 413 #define JOBS_LOAD_COAL 18 414 #define JOBS_LOAD_ORE 9 415 #define JOBS_LOAD_STEEL 15 416 #define JOBS_AT_COMMUNE_GATE 4 417 #define COMMUNE_ANIM_SPEED 750 418 #define COMMUNE_POP 5 419 420 #define MAX_COAL_ON_TRACK 64 421 #define MAX_COAL_ON_ROAD (MAX_COAL_ON_TRACK*8) 422 #define MAX_COAL_ON_RAIL (MAX_COAL_ON_TRACK*64) 423 #define MAX_COAL_IN_MARKET (MAX_COAL_ON_RAIL*2) 424 #define MARKET_COAL_SEARCH_TRIGGER (MAX_COAL_IN_MARKET/5) 425 426 #define MAX_GOODS_ON_TRACK 2048 427 #define MAX_GOODS_ON_ROAD (MAX_GOODS_ON_TRACK*5) 428 #define ROAD_GOODS_USED_MASK 0x1f 429 #define MAX_GOODS_ON_RAIL (MAX_GOODS_ON_TRACK*25) 430 #define RAIL_GOODS_USED_MASK 0xf 431 #define MAX_GOODS_IN_MARKET (MAX_GOODS_ON_RAIL*4) 432 #define MARKET_GOODS_SEARCH_TRIGGER (MAX_GOODS_IN_MARKET/5) 433 #define MAX_ORE_ON_TRACK 4096 434 #define MAX_ORE_ON_ROAD (MAX_ORE_ON_TRACK*4) 435 #define MAX_ORE_ON_RAIL (MAX_ORE_ON_TRACK*16) 436 #define MAX_ORE_IN_MARKET (MAX_ORE_ON_RAIL*2) 437 #define MARKET_ORE_SEARCH_TRIGGER (MAX_ORE_IN_MARKET/5) 438 439 #define MAX_STEEL_ON_TRACK 128 440 #define MAX_STEEL_ON_ROAD (MAX_STEEL_ON_TRACK*4) 441 #define MAX_STEEL_ON_RAIL (MAX_STEEL_ON_TRACK*16) 442 #define RAIL_STEEL_USED_MASK 0x7f 443 #define MAX_STEEL_AT_INDUSTRY_H (MAX_STEEL_ON_RAIL*10) 444 445 #define MAX_WASTE_ON_TRACK 1024 446 #define MAX_WASTE_ON_ROAD (MAX_WASTE_ON_TRACK*5) 447 #define MAX_WASTE_ON_RAIL (MAX_WASTE_ON_TRACK*25) 448 #define MAX_WASTE_IN_MARKET (MAX_WASTE_ON_RAIL*3) 449 #define MARKET_WASTE_SEARCH_TRIGGER (MAX_WASTE_IN_MARKET/5) 450 #define MAX_WASTE_AT_TIP 10000000 451 #define WASTE_BURN_ON_TRANSPORT 20 452 #define TRANSPORT_BURN_WASTE_COUNT 75000 453 454 #define WATERWELL_RANGE 20 455 456 /* 457 JOBS_MAKE_STEEL is the steel made per job at the steel works 458 what's it doing here? 459 */ 460 #define JOBS_MAKE_STEEL 70 461 /* 462 ORE_MAKE_STEEL is the ore used per unit of STEEL at a steel works 463 what's it doing here? 464 */ 465 #define ORE_MAKE_STEEL 17 466 #define MAX_STEEL_IN_MARKET (MAX_STEEL_ON_RAIL*2) 467 #define MARKET_STEEL_SEARCH_TRIGGER (MAX_STEEL_IN_MARKET/5) 468 469 #define SUST_ORE_COAL_COL 34 470 #define SUST_PORT_COL white(24) 471 #define SUST_MONEY_COL green(26) 472 #define SUST_POP_COL cyan(24) 473 #define SUST_TECH_COL yellow(26) 474 #define SUST_FIRE_COL red(26) 475 #define SUST_ORE_COAL_YEARS_NEEDED 180 476 #define SUST_PORT_YEARS_NEEDED 180 477 #define SUST_MONEY_YEARS_NEEDED 60 478 #define SUST_POP_YEARS_NEEDED 60 479 #define SUST_TECH_YEARS_NEEDED 120 480 #define SUST_FIRE_YEARS_NEEDED 60 481 482 #define SUST_MIN_POPULATION 5000 483 #define SUST_MIN_TECH_LEVEL (MAX_TECH_LEVEL/2) 484 485 #define STATS_X 232 486 #define STATS_Y 428 487 #define STATS_W 304 488 #define STATS_H 32 489 490 #define GRAPHS_B_COLOUR (white(6)) 491 492 //#define MARKET_CB_W (18*8) 493 #define MARKET_CB_W (17*8 - 2) 494 #define MARKET_CB_H (23*8) 495 496 #define SHUFFLE_MAPPOINT_COUNT 4 497 498 /******* Buildings // GROUPS ************/ 499 #define NUM_OF_TYPES 404 500 #define NUM_OF_GROUPS 50 501 #define GROUP_NAME_LEN 20 502 503 #define GROUP_BARE 0 504 #define GROUP_BARE_COLOUR (green(12)) 505 #define GROUP_BARE_COST 0 506 #define GROUP_BARE_COST_MUL 1 507 #define GROUP_BARE_BUL_COST 1 508 #define GROUP_BARE_TECH 0 509 #define GROUP_BARE_FIREC 0 510 511 #define GROUP_POWER_LINE 1 512 #define GROUP_POWER_LINE_COLOUR (yellow(26)) 513 #define GROUP_POWER_LINE_COST 100 514 #define GROUP_POWER_LINE_COST_MUL 2 515 #define GROUP_POWER_LINE_BUL_COST 100 516 #define GROUP_POWER_LINE_TECH 200 517 #define GROUP_POWER_LINE_FIREC 0 518 519 #define GROUP_SOLAR_POWER 2 520 #define GROUP_SOLAR_POWER_COLOUR (yellow(22)) 521 #define GROUP_SOLAR_POWER_COST 500000 522 #define GROUP_SOLAR_POWER_COST_MUL 5 523 #define GROUP_SOLAR_POWER_BUL_COST 100000 524 #define GROUP_SOLAR_POWER_TECH 500 525 #define GROUP_SOLAR_POWER_FIREC 33 526 #define SOLAR_POWER_JOBS 50 527 #define POWERS_SOLAR_OUTPUT 1800 528 529 #define GROUP_SUBSTATION 3 530 #define GROUP_SUBSTATION_COLOUR (yellow(18)) 531 #define GROUP_SUBSTATION_COST 500 532 #define GROUP_SUBSTATION_COST_MUL 2 533 #define GROUP_SUBSTATION_BUL_COST 100 534 #define GROUP_SUBSTATION_TECH 200 535 #define GROUP_SUBSTATION_FIREC 50 536 537 #define GROUP_RESIDENCE_LL 4 538 #define GROUP_RESIDENCE_LL_COLOUR (cyan(24)) 539 #define GROUP_RESIDENCE_LL_COST 1000 540 #define GROUP_RESIDENCE_LL_COST_MUL 25 541 #define GROUP_RESIDENCE_LL_BUL_COST 1000 542 #define GROUP_RESIDENCE_LL_TECH 0 543 #define GROUP_RESIDENCE_LL_FIREC 75 544 545 /* RESIDENCE?_BRM is the birth rate modifier */ 546 /* RESIDENCE?_DRM is the death rate modifier */ 547 #define RESIDENCE_BASE_BR 100 548 #define RESIDENCE_BASE_DR (68*12) 549 #define RESIDENCE_BRM_HEALTH 5 550 #define RESIDENCE1_BRM (RESIDENCE_BASE_BR*12) 551 #define RESIDENCE1_DRM ((RESIDENCE_BASE_DR*3)/4) 552 #define RESIDENCE2_BRM 0 553 #define RESIDENCE2_DRM 0 554 #define RESIDENCE3_BRM (RESIDENCE_BASE_BR+RESIDENCE_BASE_BR/4) 555 #define RESIDENCE3_DRM ((RESIDENCE_BASE_DR)/2) 556 #define RESIDENCE4_BRM (RESIDENCE_BASE_BR*18) 557 #define RESIDENCE4_DRM ((RESIDENCE_BASE_DR*3)/4) 558 #define RESIDENCE5_BRM (RESIDENCE_BASE_BR/2) 559 #define RESIDENCE5_DRM ((RESIDENCE_BASE_DR)/4) 560 #define RESIDENCE6_BRM 0 561 #define RESIDENCE6_DRM ((RESIDENCE_BASE_DR)/4) 562 /* RESIDENCE_PPM is the people_pool mobitily. Higher number=less mobile. */ 563 #define RESIDENCE_PPM 20 564 565 #define GROUP_ORGANIC_FARM 5 566 #define GROUP_ORGANIC_FARM_COLOUR (green(30)) 567 #define GROUP_ORGANIC_FARM_COST 1000 568 #define GROUP_ORGANIC_FARM_COST_MUL 20 569 #define GROUP_ORGANIC_FARM_BUL_COST 100 570 #define GROUP_ORGANIC_FARM_TECH 0 571 #define GROUP_ORGANIC_FARM_FIREC 20 572 573 #define GROUP_MARKET 6 574 #define GROUP_MARKET_COLOUR (blue(28)) 575 #define GROUP_MARKET_COST 100 576 #define GROUP_MARKET_COST_MUL 25 577 #define GROUP_MARKET_BUL_COST 100 578 #define GROUP_MARKET_TECH 0 579 #define GROUP_MARKET_FIREC 80 580 581 #define GROUP_TRACK 7 582 #define GROUP_TRACK_COLOUR 32 /* 32 is a brown */ 583 #define GROUP_TRACK_COST 1 584 #define GROUP_TRACK_COST_MUL 25 585 #define GROUP_TRACK_BUL_COST 10 586 #define GROUP_TRACK_TECH 0 587 #define GROUP_TRACK_FIREC 4 588 589 #define GROUP_COALMINE 8 590 #define GROUP_COALMINE_COLOUR 0 591 #define GROUP_COALMINE_COST 10000 592 #define GROUP_COALMINE_COST_MUL 25 593 #define GROUP_COALMINE_BUL_COST 10000 594 #define GROUP_COALMINE_TECH 85 595 #define GROUP_COALMINE_FIREC 85 596 597 #define GROUP_RAIL 9 598 #define GROUP_RAIL_COLOUR (magenta(18)) 599 #define GROUP_RAIL_COST 500 600 #define GROUP_RAIL_COST_MUL 10 601 #define GROUP_RAIL_BUL_COST 1000 602 #define GROUP_RAIL_TECH 180 603 #define GROUP_RAIL_FIREC 6 604 605 #define GROUP_COAL_POWER 10 606 #define GROUP_COAL_POWER_COLOUR 0 607 #define GROUP_COAL_POWER_COST 100000 608 #define GROUP_COAL_POWER_COST_MUL 5 609 #define GROUP_COAL_POWER_BUL_COST 200000 610 #define GROUP_COAL_POWER_TECH 200 611 #define GROUP_COAL_POWER_FIREC 80 612 613 #define GROUP_ROAD 11 614 #define GROUP_ROAD_COLOUR (white(18)) 615 #define GROUP_ROAD_COST 100 616 #define GROUP_ROAD_COST_MUL 25 617 #define GROUP_ROAD_BUL_COST 50 618 #define GROUP_ROAD_TECH 50 619 #define GROUP_ROAD_FIREC 4 620 621 #define GROUP_INDUSTRY_L 12 622 #define GROUP_INDUSTRY_L_COLOUR (cyan(18)) 623 #define GROUP_INDUSTRY_L_COST 20000 624 #define GROUP_INDUSTRY_L_COST_MUL 25 625 #define GROUP_INDUSTRY_L_BUL_COST 20000 626 #define GROUP_INDUSTRY_L_TECH 160 627 #define GROUP_INDUSTRY_L_FIREC 70 628 629 #define GROUP_UNIVERSITY 13 630 #define GROUP_UNIVERSITY_COLOUR (blue(22)) 631 #define GROUP_UNIVERSITY_COST 20000 632 #define GROUP_UNIVERSITY_COST_MUL 25 633 #define GROUP_UNIVERSITY_BUL_COST 20000 634 #define GROUP_UNIVERSITY_TECH 150 635 #define GROUP_UNIVERSITY_FIREC 40 636 637 #define GROUP_COMMUNE 14 638 #define GROUP_COMMUNE_COLOUR (green(30)) 639 #define GROUP_COMMUNE_COST 1 640 #define GROUP_COMMUNE_COST_MUL 2 641 #define GROUP_COMMUNE_BUL_COST 1000 642 #define GROUP_COMMUNE_TECH 0 643 #define GROUP_COMMUNE_FIREC 30 644 645 #define GROUP_OREMINE 15 646 #define GROUP_OREMINE_COLOUR (red(18)) 647 #define GROUP_OREMINE_COST 500 648 #define GROUP_OREMINE_COST_MUL 10 649 #define GROUP_OREMINE_BUL_COST 500000 650 #define GROUP_OREMINE_TECH 0 651 #define GROUP_OREMINE_FIREC 0 652 653 #define GROUP_TIP 16 654 #define GROUP_TIP_COLOUR (white(16)) 655 #define GROUP_TIP_COST 10000 656 #define GROUP_TIP_COST_MUL 25 657 #define GROUP_TIP_BUL_COST 1000000 658 #define GROUP_TIP_TECH 0 659 #define GROUP_TIP_FIREC 50 660 661 #define GROUP_PORT 17 662 #define GROUP_PORT_COLOUR (blue(28)) 663 #define GROUP_PORT_COST 100000 664 #define GROUP_PORT_COST_MUL 2 665 #define GROUP_PORT_BUL_COST 1000 666 #define GROUP_PORT_TECH 35 667 #define GROUP_PORT_FIREC 50 668 669 #define GROUP_INDUSTRY_H 18 670 #define GROUP_INDUSTRY_H_COLOUR (7) /* colour 7 is an orange, sort of */ 671 #define GROUP_INDUSTRY_H_COST 50000 672 #define GROUP_INDUSTRY_H_COST_MUL 20 673 #define GROUP_INDUSTRY_H_BUL_COST 70000 674 #define GROUP_INDUSTRY_H_TECH 170 675 #define GROUP_INDUSTRY_H_FIREC 80 676 677 #define GROUP_PARKLAND 19 678 #define GROUP_PARKLAND_COLOUR (green(31)) 679 #define GROUP_PARKLAND_COST 1000 680 #define GROUP_PARKLAND_COST_MUL 25 681 #define GROUP_PARKLAND_BUL_COST 1000 682 #define GROUP_PARKLAND_TECH 2 683 #define GROUP_PARKLAND_FIREC 1 684 685 #define GROUP_RECYCLE 20 686 #define GROUP_RECYCLE_COLOUR (green(28)) 687 #define GROUP_RECYCLE_COST 100000 688 #define GROUP_RECYCLE_COST_MUL 5 689 #define GROUP_RECYCLE_BUL_COST 1000 690 #define GROUP_RECYCLE_TECH 232 691 #define GROUP_RECYCLE_FIREC 10 692 693 #define GROUP_WATER 21 694 #define GROUP_WATER_COLOUR (blue(31)) 695 #define GROUP_WATER_COST 1000000 696 #define GROUP_WATER_COST_MUL 2 697 #define GROUP_WATER_BUL_COST 1000000 698 #define GROUP_WATER_TECH 0 699 #define GROUP_RIVER (GROUP_WATER) /* oops -- GCS: Why oops? */ 700 #define GROUP_WATER_FIREC 0 701 702 #define GROUP_HEALTH 22 703 #define GROUP_HEALTH_COLOUR (green(24)) 704 #define GROUP_HEALTH_COST 100000 705 #define GROUP_HEALTH_COST_MUL 2 706 #define GROUP_HEALTH_BUL_COST 1000 707 #define GROUP_HEALTH_TECH 110 708 #define GROUP_HEALTH_FIREC 2 709 710 #define GROUP_ROCKET 23 711 #define GROUP_ROCKET_COLOUR (magenta(20)) 712 #define GROUP_ROCKET_COST 700000 713 #define GROUP_ROCKET_COST_MUL 2 714 #define GROUP_ROCKET_BUL_COST 1 715 #define GROUP_ROCKET_TECH 750 716 #define GROUP_ROCKET_FIREC 0 717 718 #define GROUP_WINDMILL 24 719 #define GROUP_WINDMILL_COLOUR (green(25)) 720 #define GROUP_WINDMILL_COST 20000 721 #define GROUP_WINDMILL_COST_MUL 25 722 #define GROUP_WINDMILL_BUL_COST 1000 723 #define GROUP_WINDMILL_TECH 30 724 #define GROUP_WINDMILL_FIREC 10 725 726 #define GROUP_MONUMENT 25 727 #define GROUP_MONUMENT_COLOUR (white(15)) 728 #define GROUP_MONUMENT_COST 10000 729 #define GROUP_MONUMENT_COST_MUL 25 730 #define GROUP_MONUMENT_BUL_COST 1000000 731 #define GROUP_MONUMENT_TECH 0 732 #define GROUP_MONUMENT_FIREC 0 733 734 #define GROUP_SCHOOL 26 735 #define GROUP_SCHOOL_COLOUR (white(15)) 736 #define GROUP_SCHOOL_COST 10000 737 #define GROUP_SCHOOL_COST_MUL 25 738 #define GROUP_SCHOOL_BUL_COST 10000 739 #define GROUP_SCHOOL_TECH 1 740 #define GROUP_SCHOOL_FIREC 40 741 742 #define GROUP_BLACKSMITH 27 743 #define GROUP_BLACKSMITH_COLOUR (white(15)) 744 #define GROUP_BLACKSMITH_COST 5000 745 #define GROUP_BLACKSMITH_COST_MUL 25 746 #define GROUP_BLACKSMITH_BUL_COST 1000 747 #define GROUP_BLACKSMITH_TECH 3 748 #define GROUP_BLACKSMITH_FIREC 60 749 750 #define GROUP_MILL 28 751 #define GROUP_MILL_COLOUR (white(15)) 752 #define GROUP_MILL_COST 10000 753 #define GROUP_MILL_COST_MUL 25 754 #define GROUP_MILL_BUL_COST 1000 755 #define GROUP_MILL_TECH 25 756 #define GROUP_MILL_FIREC 60 757 758 #define GROUP_POTTERY 29 759 #define GROUP_POTTERY_COLOUR (red(12)) 760 #define GROUP_POTTERY_COST 1000 761 #define GROUP_POTTERY_COST_MUL 25 762 #define GROUP_POTTERY_BUL_COST 1000 763 #define GROUP_POTTERY_TECH 0 764 #define GROUP_POTTERY_FIREC 50 765 766 #define GROUP_FIRESTATION 30 767 #define GROUP_FIRESTATION_COLOUR (red(20)) 768 #define GROUP_FIRESTATION_COST 20000 769 #define GROUP_FIRESTATION_COST_MUL 10 770 #define GROUP_FIRESTATION_BUL_COST 1000 771 #define GROUP_FIRESTATION_TECH 22 772 #define GROUP_FIRESTATION_FIREC 0 773 774 #define GROUP_CRICKET 31 775 #define GROUP_CRICKET_COLOUR (white(20)) 776 #define GROUP_CRICKET_COST 2000 777 #define GROUP_CRICKET_COST_MUL 3 778 #define GROUP_CRICKET_BUL_COST 1000 779 #define GROUP_CRICKET_TECH 12 780 #define GROUP_CRICKET_FIREC 20 781 782 #define GROUP_BURNT 32 783 #define GROUP_BURNT_COLOUR (red(30)) 784 #define GROUP_BURNT_COST 0 /* Unused */ 785 #define GROUP_BURNT_COST_MUL 1 /* Unused */ 786 #define GROUP_BURNT_BUL_COST 1000 787 #define GROUP_BURNT_TECH 0 /* Unused */ 788 #define GROUP_BURNT_FIREC 0 789 790 #define GROUP_SHANTY 33 791 #define GROUP_SHANTY_COLOUR (red(22)) 792 #define GROUP_SHANTY_COST 0 /* Unused */ 793 #define GROUP_SHANTY_COST_MUL 1 /* Unused */ 794 #define GROUP_SHANTY_BUL_COST 100000 795 #define GROUP_SHANTY_TECH 0 /* Unused */ 796 #define GROUP_SHANTY_FIREC 25 797 798 #define SHANTY_MIN_PP 150 799 #define SHANTY_POP 50 800 #define DAYS_BETWEEN_SHANTY (NUMOF_DAYS_IN_MONTH*5) 801 #define SHANTY_GET_FOOD 50 802 #define SHANTY_GET_JOBS 5 803 #define SHANTY_GET_GOODS 50 804 #define SHANTY_GET_COAL 1 805 #define SHANTY_GET_ORE 10 806 #define SHANTY_GET_STEEL 1 807 808 #define GROUP_FIRE 34 809 #define GROUP_FIRE_COLOUR (red(30)) 810 #define GROUP_FIRE_COST 0 /* Unused */ 811 #define GROUP_FIRE_COST_MUL 1 /* Unused */ 812 #define GROUP_FIRE_BUL_COST 1000 813 #define GROUP_FIRE_TECH 0 /* Unused */ 814 #define GROUP_FIRE_FIREC 0 815 816 #define GROUP_USED 35 817 #define GROUP_USED_COLOUR (green(12)) /* Unused */ 818 #define GROUP_USED_COST 0 /* Unused */ 819 #define GROUP_USED_COST_MUL 1 /* Unused */ 820 #define GROUP_USED_BUL_COST 0 /* Unused */ 821 #define GROUP_USED_TECH 0 /* Unused */ 822 #define GROUP_USED_FIREC 0 /* Unused */ 823 824 #define GROUP_RESIDENCE_ML 36 825 #define GROUP_RESIDENCE_ML_COLOUR (cyan(24)) 826 #define GROUP_RESIDENCE_ML_COST 2000 827 #define GROUP_RESIDENCE_ML_COST_MUL 25 828 #define GROUP_RESIDENCE_ML_BUL_COST 1000 829 #define GROUP_RESIDENCE_ML_TECH 0 830 #define GROUP_RESIDENCE_ML_FIREC 75 831 832 #define GROUP_RESIDENCE_HL 37 833 #define GROUP_RESIDENCE_HL_COLOUR (cyan(24)) 834 #define GROUP_RESIDENCE_HL_COST 4000 835 #define GROUP_RESIDENCE_HL_COST_MUL 25 836 #define GROUP_RESIDENCE_HL_BUL_COST 1000 837 #define GROUP_RESIDENCE_HL_TECH 0 838 #define GROUP_RESIDENCE_HL_FIREC 75 839 840 #define GROUP_RESIDENCE_LH 38 841 #define GROUP_RESIDENCE_LH_COLOUR (cyan(24)) 842 #define GROUP_RESIDENCE_LH_COST 800 843 #define GROUP_RESIDENCE_LH_COST_MUL 25 844 #define GROUP_RESIDENCE_LH_BUL_COST 1000 845 #define GROUP_RESIDENCE_LH_TECH 0 /* ?? */ 846 #define GROUP_RESIDENCE_LH_FIREC 75 847 848 #define GROUP_RESIDENCE_MH 39 849 #define GROUP_RESIDENCE_MH_COLOUR (cyan(24)) 850 #define GROUP_RESIDENCE_MH_COST 1600 851 #define GROUP_RESIDENCE_MH_COST_MUL 25 852 #define GROUP_RESIDENCE_MH_BUL_COST 1000 853 #define GROUP_RESIDENCE_MH_TECH 0 854 #define GROUP_RESIDENCE_MH_FIREC 75 855 856 #define GROUP_RESIDENCE_HH 40 857 #define GROUP_RESIDENCE_HH_COLOUR (cyan(24)) 858 #define GROUP_RESIDENCE_HH_COST 3200 859 #define GROUP_RESIDENCE_HH_COST_MUL 25 860 #define GROUP_RESIDENCE_HH_BUL_COST 1000 861 #define GROUP_RESIDENCE_HH_TECH 0 862 #define GROUP_RESIDENCE_HH_FIREC 75 863 864 #define GROUP_WATERWELL 41 865 #define GROUP_WATERWELL_COLOUR (blue(31)) 866 #define GROUP_WATERWELL_COST 1 867 #define GROUP_WATERWELL_COST_MUL 2 868 #define GROUP_WATERWELL_BUL_COST 1 869 #define GROUP_WATERWELL_TECH 0 870 #define GROUP_WATERWELL_FIREC 0 871 872 #define GROUP_DESERT 42 873 #define GROUP_DESERT_COLOUR (yellow(18)) 874 #define GROUP_DESERT_COST 0 875 #define GROUP_DESERT_COST_MUL 1 876 #define GROUP_DESERT_BUL_COST 1 877 #define GROUP_DESERT_TECH 0 878 #define GROUP_DESERT_FIREC 0 879 880 #define GROUP_TREE 43 881 #define GROUP_TREE_COLOUR (green(12)) 882 #define GROUP_TREE_COST 0 883 #define GROUP_TREE_COST_MUL 1 884 #define GROUP_TREE_BUL_COST 1 885 #define GROUP_TREE_TECH 0 886 #define GROUP_TREE_FIREC 0 887 888 #define GROUP_TREE2 44 889 #define GROUP_TREE2_COLOUR (green(12)) 890 #define GROUP_TREE2_COST 0 891 #define GROUP_TREE2_COST_MUL 1 892 #define GROUP_TREE2_BUL_COST 1 893 #define GROUP_TREE2_TECH 0 894 #define GROUP_TREE2_FIREC 0 895 896 #define GROUP_TREE3 45 897 #define GROUP_TREE3_COLOUR (green(12)) 898 #define GROUP_TREE3_COST 0 899 #define GROUP_TREE3_COST_MUL 1 900 #define GROUP_TREE3_BUL_COST 1 901 #define GROUP_TREE3_TECH 0 902 #define GROUP_TREE3_FIREC 0 903 904 #define BRIDGE_FACTOR 500 /* a bridge is that much more expensive than the land transport */ 905 906 #define GROUP_TRACK_BRIDGE 46 907 #define GROUP_TRACK_BRIDGE_COLOUR 32 /* 32 is a brown */ 908 #define GROUP_TRACK_BRIDGE_COST GROUP_TRACK_COST * BRIDGE_FACTOR 909 #define GROUP_TRACK_BRIDGE_COST_MUL 2 910 #define GROUP_TRACK_BRIDGE_BUL_COST GROUP_TRACK_BUL_COST * BRIDGE_FACTOR 911 #define GROUP_TRACK_BRIDGE_TECH GROUP_TRACK_TECH 912 #define GROUP_TRACK_BRIDGE_FIREC 0 /* unused */ 913 914 #define GROUP_ROAD_BRIDGE 47 915 #define GROUP_ROAD_BRIDGE_COLOUR (white(18)) 916 #define GROUP_ROAD_BRIDGE_COST GROUP_ROAD_COST * BRIDGE_FACTOR 917 #define GROUP_ROAD_BRIDGE_COST_MUL 2 918 #define GROUP_ROAD_BRIDGE_BUL_COST GROUP_ROAD_BUL_COST * BRIDGE_FACTOR 919 #define GROUP_ROAD_BRIDGE_TECH GROUP_ROAD_TECH 920 #define GROUP_ROAD_BRIDGE_FIREC 0 921 922 #define GROUP_RAIL_BRIDGE 48 923 #define GROUP_RAIL_BRIDGE_COLOUR (magenta(18)) 924 #define GROUP_RAIL_BRIDGE_COST GROUP_RAIL_COST * BRIDGE_FACTOR 925 #define GROUP_RAIL_BRIDGE_COST_MUL 2 926 #define GROUP_RAIL_BRIDGE_BUL_COST GROUP_RAIL_BUL_COST * BRIDGE_FACTOR 927 #define GROUP_RAIL_BRIDGE_TECH GROUP_RAIL_TECH 928 #define GROUP_RAIL_BRIDGE_FIREC 0 929 930 #define GROUP_IS_RESIDENCE(group) \ 931 ((group == GROUP_RESIDENCE_LL) || \ 932 (group == GROUP_RESIDENCE_ML) || \ 933 (group == GROUP_RESIDENCE_HL) || \ 934 (group == GROUP_RESIDENCE_LH) || \ 935 (group == GROUP_RESIDENCE_MH) || \ 936 (group == GROUP_RESIDENCE_HH)) 937 938 #define GROUP_IS_BARE(group) \ 939 ((group == GROUP_BARE) || \ 940 (group == GROUP_DESERT) || \ 941 (group == GROUP_TREE) || \ 942 (group == GROUP_TREE2) || \ 943 (group == GROUP_TREE3)) 944 945 #define red(x) (32 + x) 946 #define green(x) (64 + x) 947 #define yellow(x) (96 + x) 948 #define blue(x) (128 + x) 949 #define magenta(x) (160 + x) 950 #define cyan(x) (192 + x) 951 #define white(x) (224 + x) 952 953 /* 954 ******* end of lin-city.h *********** 955 ***************************************** 956 */ 957 958 /* FIXME : isn't it forbidden to include .h in .h ? :-) */ 959 #include "lintypes.h" 960 961 #endif /* __lin_city_h__ */ 962