CDATA.CPP (101001B)
1 // 2 // Copyright 2020 Electronic Arts Inc. 3 // 4 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is free 5 // software: you can redistribute it and/or modify it under the terms of 6 // the GNU General Public License as published by the Free Software Foundation, 7 // either version 3 of the License, or (at your option) any later version. 8 9 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed 10 // in the hope that it will be useful, but with permitted additional restrictions 11 // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT 12 // distributed with this program. You should have received a copy of the 13 // GNU General Public License along with permitted additional restrictions 14 // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection 15 16 /* $Header: /CounterStrike/CDATA.CPP 1 3/03/97 10:24a Joe_bostic $ */ 17 /*********************************************************************************************** 18 *** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S *** 19 *********************************************************************************************** 20 * * 21 * Project Name : Command & Conquer * 22 * * 23 * File Name : CDATA.CPP * 24 * * 25 * Programmer : Joe L. Bostic * 26 * * 27 * Start Date : May 16, 1994 * 28 * * 29 * Last Update : July 6, 1996 [JLB] * 30 * * 31 *---------------------------------------------------------------------------------------------* 32 * Functions: * 33 * TemplateTypeClass::As_Reference -- Fetches a reference to the template specified. * 34 * TemplateTypeClass::Create_And_Place -- Creates and places a template object on the map. * 35 * TemplateTypeClass::Create_One_Of -- Creates an object of this template type. * 36 * TemplateTypeClass::Display -- Displays a generic representation of template. * 37 * TemplateTypeClass::From_Name -- Determine template from ASCII name. * 38 * TemplateTypeClass::Init -- Loads graphic data for templates. * 39 * TemplateTypeClass::Land_Type -- Determines land type from template and icon number. * 40 * TemplateTypeClass::Occupy_List -- Determines occupation list. * 41 * TemplateTypeClass::One_Time -- Performs one-time initialization * 42 * TemplateTypeClass::Prep_For_Add -- Prepares to add template to scenario. * 43 * TemplateTypeClass::TemplateTypeClass -- Constructor for template type objects. * 44 * TemplateTypeClass::operator delete -- Deletes a template type object. * 45 * TemplateTypeClass::operator new -- Allocates a template type from special heap. * 46 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ 47 48 #include "function.h" 49 50 51 static TemplateTypeClass const Empty( 52 TEMPLATE_CLEAR1, 53 THEATERF_TEMPERATE|THEATERF_SNOW|THEATERF_INTERIOR, 54 "CLEAR1", 55 TXT_CLEAR 56 ); 57 static TemplateTypeClass const Clear( 58 TEMPLATE_CLEAR1, 59 THEATERF_TEMPERATE|THEATERF_SNOW|THEATERF_INTERIOR, 60 "CLEAR1", 61 TXT_CLEAR 62 ); 63 static TemplateTypeClass const Road01( 64 TEMPLATE_ROAD01, 65 THEATERF_TEMPERATE|THEATERF_SNOW, 66 "D01", 67 TXT_ROAD 68 ); 69 static TemplateTypeClass const Road02( 70 TEMPLATE_ROAD02, 71 THEATERF_TEMPERATE|THEATERF_SNOW, 72 "D02", 73 TXT_ROAD 74 ); 75 static TemplateTypeClass const Road03( 76 TEMPLATE_ROAD03, 77 THEATERF_TEMPERATE|THEATERF_SNOW, 78 "D03", 79 TXT_ROAD 80 ); 81 static TemplateTypeClass const Road04( 82 TEMPLATE_ROAD04, 83 THEATERF_TEMPERATE|THEATERF_SNOW, 84 "D04", 85 TXT_ROAD 86 ); 87 static TemplateTypeClass const Road05( 88 TEMPLATE_ROAD05, 89 THEATERF_TEMPERATE|THEATERF_SNOW, 90 "D05", 91 TXT_ROAD 92 ); 93 static TemplateTypeClass const Road06( 94 TEMPLATE_ROAD06, 95 THEATERF_TEMPERATE|THEATERF_SNOW, 96 "D06", 97 TXT_ROAD 98 ); 99 static TemplateTypeClass const Road07( 100 TEMPLATE_ROAD07, 101 THEATERF_TEMPERATE|THEATERF_SNOW, 102 "D07", 103 TXT_ROAD 104 ); 105 static TemplateTypeClass const Road08( 106 TEMPLATE_ROAD08, 107 THEATERF_TEMPERATE|THEATERF_SNOW, 108 "D08", 109 TXT_ROAD 110 ); 111 static TemplateTypeClass const Road09( 112 TEMPLATE_ROAD09, 113 THEATERF_TEMPERATE|THEATERF_SNOW, 114 "D09", 115 TXT_ROAD 116 ); 117 static TemplateTypeClass const Road10( 118 TEMPLATE_ROAD10, 119 THEATERF_TEMPERATE|THEATERF_SNOW, 120 "D10", 121 TXT_ROAD 122 ); 123 static TemplateTypeClass const Road11( 124 TEMPLATE_ROAD11, 125 THEATERF_TEMPERATE|THEATERF_SNOW, 126 "D11", 127 TXT_ROAD 128 ); 129 static TemplateTypeClass const Road12( 130 TEMPLATE_ROAD12, 131 THEATERF_TEMPERATE|THEATERF_SNOW, 132 "D12", 133 TXT_ROAD 134 ); 135 static TemplateTypeClass const Road13( 136 TEMPLATE_ROAD13, 137 THEATERF_TEMPERATE|THEATERF_SNOW, 138 "D13", 139 TXT_ROAD 140 ); 141 static TemplateTypeClass const Road14( 142 TEMPLATE_ROAD14, 143 THEATERF_TEMPERATE|THEATERF_SNOW, 144 "D14", 145 TXT_ROAD 146 ); 147 static TemplateTypeClass const Road15( 148 TEMPLATE_ROAD15, 149 THEATERF_TEMPERATE|THEATERF_SNOW, 150 "D15", 151 TXT_ROAD 152 ); 153 static TemplateTypeClass const Road16( 154 TEMPLATE_ROAD16, 155 THEATERF_TEMPERATE|THEATERF_SNOW, 156 "D16", 157 TXT_ROAD 158 ); 159 static TemplateTypeClass const Road17( 160 TEMPLATE_ROAD17, 161 THEATERF_TEMPERATE|THEATERF_SNOW, 162 "D17", 163 TXT_ROAD 164 ); 165 static TemplateTypeClass const Road18( 166 TEMPLATE_ROAD18, 167 THEATERF_TEMPERATE|THEATERF_SNOW, 168 "D18", 169 TXT_ROAD 170 ); 171 static TemplateTypeClass const Road19( 172 TEMPLATE_ROAD19, 173 THEATERF_TEMPERATE|THEATERF_SNOW, 174 "D19", 175 TXT_ROAD 176 ); 177 static TemplateTypeClass const Road20( 178 TEMPLATE_ROAD20, 179 THEATERF_TEMPERATE|THEATERF_SNOW, 180 "D20", 181 TXT_ROAD 182 ); 183 static TemplateTypeClass const Road21( 184 TEMPLATE_ROAD21, 185 THEATERF_TEMPERATE|THEATERF_SNOW, 186 "D21", 187 TXT_ROAD 188 ); 189 static TemplateTypeClass const Road22( 190 TEMPLATE_ROAD22, 191 THEATERF_TEMPERATE|THEATERF_SNOW, 192 "D22", 193 TXT_ROAD 194 ); 195 static TemplateTypeClass const Road23( 196 TEMPLATE_ROAD23, 197 THEATERF_TEMPERATE|THEATERF_SNOW, 198 "D23", 199 TXT_ROAD 200 ); 201 static TemplateTypeClass const Road24( 202 TEMPLATE_ROAD24, 203 THEATERF_TEMPERATE|THEATERF_SNOW, 204 "D24", 205 TXT_ROAD 206 ); 207 static TemplateTypeClass const Road25( 208 TEMPLATE_ROAD25, 209 THEATERF_TEMPERATE|THEATERF_SNOW, 210 "D25", 211 TXT_ROAD 212 ); 213 static TemplateTypeClass const Road26( 214 TEMPLATE_ROAD26, 215 THEATERF_TEMPERATE|THEATERF_SNOW, 216 "D26", 217 TXT_ROAD 218 ); 219 static TemplateTypeClass const Road27( 220 TEMPLATE_ROAD27, 221 THEATERF_TEMPERATE|THEATERF_SNOW, 222 "D27", 223 TXT_ROAD 224 ); 225 static TemplateTypeClass const Road28( 226 TEMPLATE_ROAD28, 227 THEATERF_TEMPERATE|THEATERF_SNOW, 228 "D28", 229 TXT_ROAD 230 ); 231 static TemplateTypeClass const Road29( 232 TEMPLATE_ROAD29, 233 THEATERF_TEMPERATE|THEATERF_SNOW, 234 "D29", 235 TXT_ROAD 236 ); 237 static TemplateTypeClass const Road30( 238 TEMPLATE_ROAD30, 239 THEATERF_TEMPERATE|THEATERF_SNOW, 240 "D30", 241 TXT_ROAD 242 ); 243 static TemplateTypeClass const Road31( 244 TEMPLATE_ROAD31, 245 THEATERF_TEMPERATE|THEATERF_SNOW, 246 "D31", 247 TXT_ROAD 248 ); 249 static TemplateTypeClass const Road32( 250 TEMPLATE_ROAD32, 251 THEATERF_TEMPERATE|THEATERF_SNOW, 252 "D32", 253 TXT_ROAD 254 ); 255 static TemplateTypeClass const Road33( 256 TEMPLATE_ROAD33, 257 THEATERF_TEMPERATE|THEATERF_SNOW, 258 "D33", 259 TXT_ROAD 260 ); 261 static TemplateTypeClass const Road34( 262 TEMPLATE_ROAD34, 263 THEATERF_TEMPERATE|THEATERF_SNOW, 264 "D34", 265 TXT_ROAD 266 ); 267 static TemplateTypeClass const Road35( 268 TEMPLATE_ROAD35, 269 THEATERF_TEMPERATE|THEATERF_SNOW, 270 "D35", 271 TXT_ROAD 272 ); 273 static TemplateTypeClass const Road36( 274 TEMPLATE_ROAD36, 275 THEATERF_TEMPERATE|THEATERF_SNOW, 276 "D36", 277 TXT_ROAD 278 ); 279 static TemplateTypeClass const Road37( 280 TEMPLATE_ROAD37, 281 THEATERF_TEMPERATE|THEATERF_SNOW, 282 "D37", 283 TXT_ROAD 284 ); 285 static TemplateTypeClass const Road38( 286 TEMPLATE_ROAD38, 287 THEATERF_TEMPERATE|THEATERF_SNOW, 288 "D38", 289 TXT_ROAD 290 ); 291 static TemplateTypeClass const Road39( 292 TEMPLATE_ROAD39, 293 THEATERF_TEMPERATE|THEATERF_SNOW, 294 "D39", 295 TXT_ROAD 296 ); 297 static TemplateTypeClass const Road40( 298 TEMPLATE_ROAD40, 299 THEATERF_TEMPERATE|THEATERF_SNOW, 300 "D40", 301 TXT_ROAD 302 ); 303 static TemplateTypeClass const Road41( 304 TEMPLATE_ROAD41, 305 THEATERF_TEMPERATE|THEATERF_SNOW, 306 "D41", 307 TXT_ROAD 308 ); 309 static TemplateTypeClass const Road42( 310 TEMPLATE_ROAD42, 311 THEATERF_TEMPERATE|THEATERF_SNOW, 312 "D42", 313 TXT_ROAD 314 ); 315 static TemplateTypeClass const Road43( 316 TEMPLATE_ROAD43, 317 THEATERF_TEMPERATE|THEATERF_SNOW, 318 "D43", 319 TXT_ROAD 320 ); 321 static TemplateTypeClass const Road44( 322 TEMPLATE_ROAD44, 323 THEATERF_TEMPERATE|THEATERF_SNOW, 324 "D44", 325 TXT_ROAD 326 ); 327 static TemplateTypeClass const Road45( 328 TEMPLATE_ROAD45, 329 THEATERF_TEMPERATE|THEATERF_SNOW, 330 "D45", 331 TXT_ROAD 332 ); 333 static TemplateTypeClass const Water( 334 TEMPLATE_WATER, 335 THEATERF_TEMPERATE|THEATERF_SNOW, 336 "W1", 337 TXT_WATER 338 ); 339 static TemplateTypeClass const Water2( 340 TEMPLATE_WATER2, 341 THEATERF_TEMPERATE|THEATERF_SNOW, 342 "W2", 343 TXT_WATER 344 ); 345 static TemplateTypeClass const Shore01( 346 TEMPLATE_SHORE01, 347 THEATERF_TEMPERATE|THEATERF_SNOW, 348 "SH01", 349 TXT_SHORE 350 ); 351 static TemplateTypeClass const Shore02( 352 TEMPLATE_SHORE02, 353 THEATERF_TEMPERATE|THEATERF_SNOW, 354 "SH02", 355 TXT_SHORE 356 ); 357 static TemplateTypeClass const Shore03( 358 TEMPLATE_SHORE03, 359 THEATERF_TEMPERATE|THEATERF_SNOW, 360 "SH03", 361 TXT_SHORE 362 ); 363 static TemplateTypeClass const Shore04( 364 TEMPLATE_SHORE04, 365 THEATERF_TEMPERATE|THEATERF_SNOW, 366 "SH04", 367 TXT_SHORE 368 ); 369 static TemplateTypeClass const Shore05( 370 TEMPLATE_SHORE05, 371 THEATERF_TEMPERATE|THEATERF_SNOW, 372 "SH05", 373 TXT_SHORE 374 ); 375 static TemplateTypeClass const Shore06( 376 TEMPLATE_SHORE06, 377 THEATERF_TEMPERATE|THEATERF_SNOW, 378 "SH06", 379 TXT_SHORE 380 ); 381 static TemplateTypeClass const Shore07( 382 TEMPLATE_SHORE07, 383 THEATERF_TEMPERATE|THEATERF_SNOW, 384 "SH07", 385 TXT_SHORE 386 ); 387 static TemplateTypeClass const Shore08( 388 TEMPLATE_SHORE08, 389 THEATERF_TEMPERATE|THEATERF_SNOW, 390 "SH08", 391 TXT_SHORE 392 ); 393 static TemplateTypeClass const Shore09( 394 TEMPLATE_SHORE09, 395 THEATERF_TEMPERATE|THEATERF_SNOW, 396 "SH09", 397 TXT_SHORE 398 ); 399 static TemplateTypeClass const Shore10( 400 TEMPLATE_SHORE10, 401 THEATERF_TEMPERATE|THEATERF_SNOW, 402 "SH10", 403 TXT_SHORE 404 ); 405 static TemplateTypeClass const Shore11( 406 TEMPLATE_SHORE11, 407 THEATERF_TEMPERATE|THEATERF_SNOW, 408 "SH11", 409 TXT_SHORE 410 ); 411 static TemplateTypeClass const Shore12( 412 TEMPLATE_SHORE12, 413 THEATERF_TEMPERATE|THEATERF_SNOW, 414 "SH12", 415 TXT_SHORE 416 ); 417 static TemplateTypeClass const Shore13( 418 TEMPLATE_SHORE13, 419 THEATERF_TEMPERATE|THEATERF_SNOW, 420 "SH13", 421 TXT_SHORE 422 ); 423 static TemplateTypeClass const Shore14( 424 TEMPLATE_SHORE14, 425 THEATERF_TEMPERATE|THEATERF_SNOW, 426 "SH14", 427 TXT_SHORE 428 ); 429 static TemplateTypeClass const Shore15( 430 TEMPLATE_SHORE15, 431 THEATERF_TEMPERATE|THEATERF_SNOW, 432 "SH15", 433 TXT_SHORE 434 ); 435 static TemplateTypeClass const Shore16( 436 TEMPLATE_SHORE16, 437 THEATERF_TEMPERATE|THEATERF_SNOW, 438 "SH16", 439 TXT_SHORE 440 ); 441 static TemplateTypeClass const Shore17( 442 TEMPLATE_SHORE17, 443 THEATERF_TEMPERATE|THEATERF_SNOW, 444 "SH17", 445 TXT_SHORE 446 ); 447 static TemplateTypeClass const Shore18( 448 TEMPLATE_SHORE18, 449 THEATERF_TEMPERATE|THEATERF_SNOW, 450 "SH18", 451 TXT_SHORE 452 ); 453 static TemplateTypeClass const Shore19( 454 TEMPLATE_SHORE19, 455 THEATERF_TEMPERATE|THEATERF_SNOW, 456 "SH19", 457 TXT_SHORE 458 ); 459 static TemplateTypeClass const Shore20( 460 TEMPLATE_SHORE20, 461 THEATERF_TEMPERATE|THEATERF_SNOW, 462 "SH20", 463 TXT_SHORE 464 ); 465 static TemplateTypeClass const Shore21( 466 TEMPLATE_SHORE21, 467 THEATERF_TEMPERATE|THEATERF_SNOW, 468 "SH21", 469 TXT_SHORE 470 ); 471 static TemplateTypeClass const Shore22( 472 TEMPLATE_SHORE22, 473 THEATERF_TEMPERATE|THEATERF_SNOW, 474 "SH22", 475 TXT_SHORE 476 ); 477 static TemplateTypeClass const Shore23( 478 TEMPLATE_SHORE23, 479 THEATERF_TEMPERATE|THEATERF_SNOW, 480 "SH23", 481 TXT_SHORE 482 ); 483 static TemplateTypeClass const Shore24( 484 TEMPLATE_SHORE24, 485 THEATERF_TEMPERATE|THEATERF_SNOW, 486 "SH24", 487 TXT_SHORE 488 ); 489 static TemplateTypeClass const Shore25( 490 TEMPLATE_SHORE25, 491 THEATERF_TEMPERATE|THEATERF_SNOW, 492 "SH25", 493 TXT_SHORE 494 ); 495 static TemplateTypeClass const Shore26( 496 TEMPLATE_SHORE26, 497 THEATERF_TEMPERATE|THEATERF_SNOW, 498 "SH26", 499 TXT_SHORE 500 ); 501 static TemplateTypeClass const Shore27( 502 TEMPLATE_SHORE27, 503 THEATERF_TEMPERATE|THEATERF_SNOW, 504 "SH27", 505 TXT_SHORE 506 ); 507 static TemplateTypeClass const Shore28( 508 TEMPLATE_SHORE28, 509 THEATERF_TEMPERATE|THEATERF_SNOW, 510 "SH28", 511 TXT_SHORE 512 ); 513 static TemplateTypeClass const Shore29( 514 TEMPLATE_SHORE29, 515 THEATERF_TEMPERATE|THEATERF_SNOW, 516 "SH29", 517 TXT_SHORE 518 ); 519 static TemplateTypeClass const Shore30( 520 TEMPLATE_SHORE30, 521 THEATERF_TEMPERATE|THEATERF_SNOW, 522 "SH30", 523 TXT_SHORE 524 ); 525 static TemplateTypeClass const Shore31( 526 TEMPLATE_SHORE31, 527 THEATERF_TEMPERATE|THEATERF_SNOW, 528 "SH31", 529 TXT_SHORE 530 ); 531 static TemplateTypeClass const Shore32( 532 TEMPLATE_SHORE32, 533 THEATERF_TEMPERATE|THEATERF_SNOW, 534 "SH32", 535 TXT_SHORE 536 ); 537 static TemplateTypeClass const Shore33( 538 TEMPLATE_SHORE33, 539 THEATERF_TEMPERATE|THEATERF_SNOW, 540 "SH33", 541 TXT_SHORE 542 ); 543 static TemplateTypeClass const Shore34( 544 TEMPLATE_SHORE34, 545 THEATERF_TEMPERATE|THEATERF_SNOW, 546 "SH34", 547 TXT_SHORE 548 ); 549 static TemplateTypeClass const Shore35( 550 TEMPLATE_SHORE35, 551 THEATERF_TEMPERATE|THEATERF_SNOW, 552 "SH35", 553 TXT_SHORE 554 ); 555 static TemplateTypeClass const Shore36( 556 TEMPLATE_SHORE36, 557 THEATERF_TEMPERATE|THEATERF_SNOW, 558 "SH36", 559 TXT_SHORE 560 ); 561 static TemplateTypeClass const Shore37( 562 TEMPLATE_SHORE37, 563 THEATERF_TEMPERATE|THEATERF_SNOW, 564 "SH37", 565 TXT_SHORE 566 ); 567 static TemplateTypeClass const Shore38( 568 TEMPLATE_SHORE38, 569 THEATERF_TEMPERATE|THEATERF_SNOW, 570 "SH38", 571 TXT_SHORE 572 ); 573 static TemplateTypeClass const Shore39( 574 TEMPLATE_SHORE39, 575 THEATERF_TEMPERATE|THEATERF_SNOW, 576 "SH39", 577 TXT_SHORE 578 ); 579 static TemplateTypeClass const Shore40( 580 TEMPLATE_SHORE40, 581 THEATERF_TEMPERATE|THEATERF_SNOW, 582 "SH40", 583 TXT_SHORE 584 ); 585 static TemplateTypeClass const Shore41( 586 TEMPLATE_SHORE41, 587 THEATERF_TEMPERATE|THEATERF_SNOW, 588 "SH41", 589 TXT_SHORE 590 ); 591 static TemplateTypeClass const Shore42( 592 TEMPLATE_SHORE42, 593 THEATERF_TEMPERATE|THEATERF_SNOW, 594 "SH42", 595 TXT_SHORE 596 ); 597 static TemplateTypeClass const Shore43( 598 TEMPLATE_SHORE43, 599 THEATERF_TEMPERATE|THEATERF_SNOW, 600 "SH43", 601 TXT_SHORE 602 ); 603 static TemplateTypeClass const Shore44( 604 TEMPLATE_SHORE44, 605 THEATERF_TEMPERATE|THEATERF_SNOW, 606 "SH44", 607 TXT_SHORE 608 ); 609 static TemplateTypeClass const Shore45( 610 TEMPLATE_SHORE45, 611 THEATERF_TEMPERATE|THEATERF_SNOW, 612 "SH45", 613 TXT_SHORE 614 ); 615 static TemplateTypeClass const Shore46( 616 TEMPLATE_SHORE46, 617 THEATERF_TEMPERATE|THEATERF_SNOW, 618 "SH46", 619 TXT_SHORE 620 ); 621 static TemplateTypeClass const Shore47( 622 TEMPLATE_SHORE47, 623 THEATERF_TEMPERATE|THEATERF_SNOW, 624 "SH47", 625 TXT_SHORE 626 ); 627 static TemplateTypeClass const Shore48( 628 TEMPLATE_SHORE48, 629 THEATERF_TEMPERATE|THEATERF_SNOW, 630 "SH48", 631 TXT_SHORE 632 ); 633 static TemplateTypeClass const Shore49( 634 TEMPLATE_SHORE49, 635 THEATERF_TEMPERATE|THEATERF_SNOW, 636 "SH49", 637 TXT_SHORE 638 ); 639 static TemplateTypeClass const Shore50( 640 TEMPLATE_SHORE50, 641 THEATERF_TEMPERATE|THEATERF_SNOW, 642 "SH50", 643 TXT_SHORE 644 ); 645 static TemplateTypeClass const Shore51( 646 TEMPLATE_SHORE51, 647 THEATERF_TEMPERATE|THEATERF_SNOW, 648 "SH51", 649 TXT_SHORE 650 ); 651 static TemplateTypeClass const Shore52( 652 TEMPLATE_SHORE52, 653 THEATERF_TEMPERATE|THEATERF_SNOW, 654 "SH52", 655 TXT_SHORE 656 ); 657 static TemplateTypeClass const Shore53( 658 TEMPLATE_SHORE53, 659 THEATERF_TEMPERATE|THEATERF_SNOW, 660 "SH53", 661 TXT_SHORE 662 ); 663 static TemplateTypeClass const Shore54( 664 TEMPLATE_SHORE54, 665 THEATERF_TEMPERATE|THEATERF_SNOW, 666 "SH54", 667 TXT_SHORE 668 ); 669 static TemplateTypeClass const Shore55( 670 TEMPLATE_SHORE55, 671 THEATERF_TEMPERATE|THEATERF_SNOW, 672 "SH55", 673 TXT_SHORE 674 ); 675 static TemplateTypeClass const Shore56( 676 TEMPLATE_SHORE56, 677 THEATERF_TEMPERATE|THEATERF_SNOW, 678 "SH56", 679 TXT_SHORE 680 ); 681 static TemplateTypeClass const Boulder1( 682 TEMPLATE_BOULDER1, 683 THEATERF_TEMPERATE|THEATERF_SNOW, 684 "B1", 685 TXT_SLOPE 686 ); 687 static TemplateTypeClass const Boulder2( 688 TEMPLATE_BOULDER2, 689 THEATERF_TEMPERATE|THEATERF_SNOW, 690 "B2", 691 TXT_SLOPE 692 ); 693 static TemplateTypeClass const Boulder3( 694 TEMPLATE_BOULDER3, 695 THEATERF_TEMPERATE|THEATERF_SNOW, 696 "B3", 697 TXT_SLOPE 698 ); 699 static TemplateTypeClass const Boulder4( 700 TEMPLATE_BOULDER4, 701 THEATERF_TEMPERATE|THEATERF_SNOW, 702 "B4", 703 TXT_SLOPE 704 ); 705 static TemplateTypeClass const Boulder5( 706 TEMPLATE_BOULDER5, 707 THEATERF_TEMPERATE|THEATERF_SNOW, 708 "B5", 709 TXT_SLOPE 710 ); 711 static TemplateTypeClass const Boulder6( 712 TEMPLATE_BOULDER6, 713 THEATERF_TEMPERATE|THEATERF_SNOW, 714 "B6", 715 TXT_SLOPE 716 ); 717 static TemplateTypeClass const Slope01( 718 TEMPLATE_SLOPE01, 719 THEATERF_TEMPERATE|THEATERF_SNOW, 720 "S01", 721 TXT_SLOPE 722 ); 723 static TemplateTypeClass const Slope02( 724 TEMPLATE_SLOPE02, 725 THEATERF_TEMPERATE|THEATERF_SNOW, 726 "S02", 727 TXT_SLOPE 728 ); 729 static TemplateTypeClass const Slope03( 730 TEMPLATE_SLOPE03, 731 THEATERF_TEMPERATE|THEATERF_SNOW, 732 "S03", 733 TXT_SLOPE 734 ); 735 static TemplateTypeClass const Slope04( 736 TEMPLATE_SLOPE04, 737 THEATERF_TEMPERATE|THEATERF_SNOW, 738 "S04", 739 TXT_SLOPE 740 ); 741 static TemplateTypeClass const Slope05( 742 TEMPLATE_SLOPE05, 743 THEATERF_TEMPERATE|THEATERF_SNOW, 744 "S05", 745 TXT_SLOPE 746 ); 747 static TemplateTypeClass const Slope06( 748 TEMPLATE_SLOPE06, 749 THEATERF_TEMPERATE|THEATERF_SNOW, 750 "S06", 751 TXT_SLOPE 752 ); 753 static TemplateTypeClass const Slope07( 754 TEMPLATE_SLOPE07, 755 THEATERF_TEMPERATE|THEATERF_SNOW, 756 "S07", 757 TXT_SLOPE 758 ); 759 static TemplateTypeClass const Slope08( 760 TEMPLATE_SLOPE08, 761 THEATERF_TEMPERATE|THEATERF_SNOW, 762 "S08", 763 TXT_SLOPE 764 ); 765 static TemplateTypeClass const Slope09( 766 TEMPLATE_SLOPE09, 767 THEATERF_TEMPERATE|THEATERF_SNOW, 768 "S09", 769 TXT_SLOPE 770 ); 771 static TemplateTypeClass const Slope10( 772 TEMPLATE_SLOPE10, 773 THEATERF_TEMPERATE|THEATERF_SNOW, 774 "S10", 775 TXT_SLOPE 776 ); 777 static TemplateTypeClass const Slope11( 778 TEMPLATE_SLOPE11, 779 THEATERF_TEMPERATE|THEATERF_SNOW, 780 "S11", 781 TXT_SLOPE 782 ); 783 static TemplateTypeClass const Slope12( 784 TEMPLATE_SLOPE12, 785 THEATERF_TEMPERATE|THEATERF_SNOW, 786 "S12", 787 TXT_SLOPE 788 ); 789 static TemplateTypeClass const Slope13( 790 TEMPLATE_SLOPE13, 791 THEATERF_TEMPERATE|THEATERF_SNOW, 792 "S13", 793 TXT_SLOPE 794 ); 795 static TemplateTypeClass const Slope14( 796 TEMPLATE_SLOPE14, 797 THEATERF_TEMPERATE|THEATERF_SNOW, 798 "S14", 799 TXT_SLOPE 800 ); 801 static TemplateTypeClass const Slope15( 802 TEMPLATE_SLOPE15, 803 THEATERF_TEMPERATE|THEATERF_SNOW, 804 "S15", 805 TXT_SLOPE 806 ); 807 static TemplateTypeClass const Slope16( 808 TEMPLATE_SLOPE16, 809 THEATERF_TEMPERATE|THEATERF_SNOW, 810 "S16", 811 TXT_SLOPE 812 ); 813 static TemplateTypeClass const Slope17( 814 TEMPLATE_SLOPE17, 815 THEATERF_TEMPERATE|THEATERF_SNOW, 816 "S17", 817 TXT_SLOPE 818 ); 819 static TemplateTypeClass const Slope18( 820 TEMPLATE_SLOPE18, 821 THEATERF_TEMPERATE|THEATERF_SNOW, 822 "S18", 823 TXT_SLOPE 824 ); 825 static TemplateTypeClass const Slope19( 826 TEMPLATE_SLOPE19, 827 THEATERF_TEMPERATE|THEATERF_SNOW, 828 "S19", 829 TXT_SLOPE 830 ); 831 static TemplateTypeClass const Slope20( 832 TEMPLATE_SLOPE20, 833 THEATERF_TEMPERATE|THEATERF_SNOW, 834 "S20", 835 TXT_SLOPE 836 ); 837 static TemplateTypeClass const Slope21( 838 TEMPLATE_SLOPE21, 839 THEATERF_TEMPERATE|THEATERF_SNOW, 840 "S21", 841 TXT_SLOPE 842 ); 843 static TemplateTypeClass const Slope22( 844 TEMPLATE_SLOPE22, 845 THEATERF_TEMPERATE|THEATERF_SNOW, 846 "S22", 847 TXT_SLOPE 848 ); 849 static TemplateTypeClass const Slope23( 850 TEMPLATE_SLOPE23, 851 THEATERF_TEMPERATE|THEATERF_SNOW, 852 "S23", 853 TXT_SLOPE 854 ); 855 static TemplateTypeClass const Slope24( 856 TEMPLATE_SLOPE24, 857 THEATERF_TEMPERATE|THEATERF_SNOW, 858 "S24", 859 TXT_SLOPE 860 ); 861 static TemplateTypeClass const Slope25( 862 TEMPLATE_SLOPE25, 863 THEATERF_TEMPERATE|THEATERF_SNOW, 864 "S25", 865 TXT_SLOPE 866 ); 867 static TemplateTypeClass const Slope26( 868 TEMPLATE_SLOPE26, 869 THEATERF_TEMPERATE|THEATERF_SNOW, 870 "S26", 871 TXT_SLOPE 872 ); 873 static TemplateTypeClass const Slope27( 874 TEMPLATE_SLOPE27, 875 THEATERF_TEMPERATE|THEATERF_SNOW, 876 "S27", 877 TXT_SLOPE 878 ); 879 static TemplateTypeClass const Slope28( 880 TEMPLATE_SLOPE28, 881 THEATERF_TEMPERATE|THEATERF_SNOW, 882 "S28", 883 TXT_SLOPE 884 ); 885 static TemplateTypeClass const Slope29( 886 TEMPLATE_SLOPE29, 887 THEATERF_TEMPERATE|THEATERF_SNOW, 888 "S29", 889 TXT_SLOPE 890 ); 891 static TemplateTypeClass const Slope30( 892 TEMPLATE_SLOPE30, 893 THEATERF_TEMPERATE|THEATERF_SNOW, 894 "S30", 895 TXT_SLOPE 896 ); 897 static TemplateTypeClass const Slope31( 898 TEMPLATE_SLOPE31, 899 THEATERF_TEMPERATE|THEATERF_SNOW, 900 "S31", 901 TXT_SLOPE 902 ); 903 static TemplateTypeClass const Slope32( 904 TEMPLATE_SLOPE32, 905 THEATERF_TEMPERATE|THEATERF_SNOW, 906 "S32", 907 TXT_SLOPE 908 ); 909 static TemplateTypeClass const Slope33( 910 TEMPLATE_SLOPE33, 911 THEATERF_TEMPERATE|THEATERF_SNOW, 912 "S33", 913 TXT_SLOPE 914 ); 915 static TemplateTypeClass const Slope34( 916 TEMPLATE_SLOPE34, 917 THEATERF_TEMPERATE|THEATERF_SNOW, 918 "S34", 919 TXT_SLOPE 920 ); 921 static TemplateTypeClass const Slope35( 922 TEMPLATE_SLOPE35, 923 THEATERF_TEMPERATE|THEATERF_SNOW, 924 "S35", 925 TXT_SLOPE 926 ); 927 static TemplateTypeClass const Slope36( 928 TEMPLATE_SLOPE36, 929 THEATERF_TEMPERATE|THEATERF_SNOW, 930 "S36", 931 TXT_SLOPE 932 ); 933 static TemplateTypeClass const Slope37( 934 TEMPLATE_SLOPE37, 935 THEATERF_TEMPERATE|THEATERF_SNOW, 936 "S37", 937 TXT_SLOPE 938 ); 939 static TemplateTypeClass const Slope38( 940 TEMPLATE_SLOPE38, 941 THEATERF_TEMPERATE|THEATERF_SNOW, 942 "S38", 943 TXT_SLOPE 944 ); 945 static TemplateTypeClass const Patch01( 946 TEMPLATE_PATCH01, 947 THEATERF_TEMPERATE|THEATERF_SNOW, 948 "P01", 949 TXT_PATCH 950 ); 951 static TemplateTypeClass const Patch02( 952 TEMPLATE_PATCH02, 953 THEATERF_TEMPERATE|THEATERF_SNOW, 954 "P02", 955 TXT_PATCH 956 ); 957 static TemplateTypeClass const Patch03( 958 TEMPLATE_PATCH03, 959 THEATERF_TEMPERATE|THEATERF_SNOW, 960 "P03", 961 TXT_PATCH 962 ); 963 static TemplateTypeClass const Patch04( 964 TEMPLATE_PATCH04, 965 THEATERF_TEMPERATE|THEATERF_SNOW, 966 "P04", 967 TXT_PATCH 968 ); 969 static TemplateTypeClass const Patch07( 970 TEMPLATE_PATCH07, 971 THEATERF_TEMPERATE|THEATERF_SNOW, 972 "P07", 973 TXT_PATCH 974 ); 975 static TemplateTypeClass const Patch08( 976 TEMPLATE_PATCH08, 977 THEATERF_TEMPERATE|THEATERF_SNOW, 978 "P08", 979 TXT_PATCH 980 ); 981 static TemplateTypeClass const Patch13( 982 TEMPLATE_PATCH13, 983 THEATERF_TEMPERATE|THEATERF_SNOW, 984 "P13", 985 TXT_PATCH 986 ); 987 static TemplateTypeClass const Patch14( 988 TEMPLATE_PATCH14, 989 THEATERF_TEMPERATE|THEATERF_SNOW, 990 "P14", 991 TXT_PATCH 992 ); 993 static TemplateTypeClass const Patch15( 994 TEMPLATE_PATCH15, 995 THEATERF_TEMPERATE|THEATERF_SNOW, 996 "P15", 997 TXT_PATCH 998 ); 999 static TemplateTypeClass const River01( 1000 TEMPLATE_RIVER01, 1001 THEATERF_TEMPERATE|THEATERF_SNOW, 1002 "RV01", 1003 TXT_RIVER 1004 ); 1005 static TemplateTypeClass const River02( 1006 TEMPLATE_RIVER02, 1007 THEATERF_TEMPERATE|THEATERF_SNOW, 1008 "RV02", 1009 TXT_RIVER 1010 ); 1011 static TemplateTypeClass const River03( 1012 TEMPLATE_RIVER03, 1013 THEATERF_TEMPERATE|THEATERF_SNOW, 1014 "RV03", 1015 TXT_RIVER 1016 ); 1017 static TemplateTypeClass const River04( 1018 TEMPLATE_RIVER04, 1019 THEATERF_TEMPERATE|THEATERF_SNOW, 1020 "RV04", 1021 TXT_RIVER 1022 ); 1023 static TemplateTypeClass const River05( 1024 TEMPLATE_RIVER05, 1025 THEATERF_TEMPERATE|THEATERF_SNOW, 1026 "RV05", 1027 TXT_RIVER 1028 ); 1029 static TemplateTypeClass const River06( 1030 TEMPLATE_RIVER06, 1031 THEATERF_TEMPERATE|THEATERF_SNOW, 1032 "RV06", 1033 TXT_RIVER 1034 ); 1035 static TemplateTypeClass const River07( 1036 TEMPLATE_RIVER07, 1037 THEATERF_TEMPERATE|THEATERF_SNOW, 1038 "RV07", 1039 TXT_RIVER 1040 ); 1041 static TemplateTypeClass const River08( 1042 TEMPLATE_RIVER08, 1043 THEATERF_TEMPERATE|THEATERF_SNOW, 1044 "RV08", 1045 TXT_RIVER 1046 ); 1047 static TemplateTypeClass const River09( 1048 TEMPLATE_RIVER09, 1049 THEATERF_TEMPERATE|THEATERF_SNOW, 1050 "RV09", 1051 TXT_RIVER 1052 ); 1053 static TemplateTypeClass const River10( 1054 TEMPLATE_RIVER10, 1055 THEATERF_TEMPERATE|THEATERF_SNOW, 1056 "RV10", 1057 TXT_RIVER 1058 ); 1059 static TemplateTypeClass const River11( 1060 TEMPLATE_RIVER11, 1061 THEATERF_TEMPERATE|THEATERF_SNOW, 1062 "RV11", 1063 TXT_RIVER 1064 ); 1065 static TemplateTypeClass const River12( 1066 TEMPLATE_RIVER12, 1067 THEATERF_TEMPERATE|THEATERF_SNOW, 1068 "RV12", 1069 TXT_RIVER 1070 ); 1071 static TemplateTypeClass const River13( 1072 TEMPLATE_RIVER13, 1073 THEATERF_TEMPERATE|THEATERF_SNOW, 1074 "RV13", 1075 TXT_RIVER 1076 ); 1077 static TemplateTypeClass const River14( 1078 TEMPLATE_RIVER14, 1079 THEATERF_TEMPERATE|THEATERF_SNOW, 1080 "RV14", 1081 TXT_RIVER 1082 ); 1083 static TemplateTypeClass const River15( 1084 TEMPLATE_RIVER15, 1085 THEATERF_TEMPERATE|THEATERF_SNOW, 1086 "RV15", 1087 TXT_RIVER 1088 ); 1089 static TemplateTypeClass const Ford1( 1090 TEMPLATE_FORD1, 1091 THEATERF_TEMPERATE|THEATERF_SNOW, 1092 "FORD1", 1093 TXT_RIVER 1094 ); 1095 static TemplateTypeClass const Ford2( 1096 TEMPLATE_FORD2, 1097 THEATERF_TEMPERATE|THEATERF_SNOW, 1098 "FORD2", 1099 TXT_RIVER 1100 ); 1101 static TemplateTypeClass const Falls1( 1102 TEMPLATE_FALLS1, 1103 THEATERF_TEMPERATE|THEATERF_SNOW, 1104 "FALLS1", 1105 TXT_RIVER 1106 ); 1107 static TemplateTypeClass const Falls1a( 1108 TEMPLATE_FALLS1A, 1109 THEATERF_TEMPERATE|THEATERF_SNOW, 1110 "FALLS1A", 1111 TXT_RIVER 1112 ); 1113 static TemplateTypeClass const Falls2( 1114 TEMPLATE_FALLS2, 1115 THEATERF_TEMPERATE|THEATERF_SNOW, 1116 "FALLS2", 1117 TXT_RIVER 1118 ); 1119 static TemplateTypeClass const Falls2a( 1120 TEMPLATE_FALLS2A, 1121 THEATERF_TEMPERATE|THEATERF_SNOW, 1122 "FALLS2A", 1123 TXT_RIVER 1124 ); 1125 static TemplateTypeClass const Bridge1x( 1126 TEMPLATE_BRIDGE1X, 1127 THEATERF_TEMPERATE|THEATERF_SNOW, 1128 "BRIDGE1X", 1129 TXT_BRIDGE 1130 ); 1131 static TemplateTypeClass const Bridge1( 1132 TEMPLATE_BRIDGE1, 1133 THEATERF_TEMPERATE|THEATERF_SNOW, 1134 "BRIDGE1", 1135 TXT_BRIDGE 1136 ); 1137 static TemplateTypeClass const Bridge1h( 1138 TEMPLATE_BRIDGE1H, 1139 THEATERF_TEMPERATE|THEATERF_SNOW, 1140 "BRIDGE1H", 1141 TXT_BRIDGE 1142 ); 1143 static TemplateTypeClass const Bridge1d( 1144 TEMPLATE_BRIDGE1D, 1145 THEATERF_TEMPERATE|THEATERF_SNOW, 1146 "BRIDGE1D", 1147 TXT_BRIDGE 1148 ); 1149 static TemplateTypeClass const Bridge2x( 1150 TEMPLATE_BRIDGE2X, 1151 THEATERF_TEMPERATE|THEATERF_SNOW, 1152 "BRIDGE2X", 1153 TXT_BRIDGE 1154 ); 1155 static TemplateTypeClass const Bridge2( 1156 TEMPLATE_BRIDGE2, 1157 THEATERF_TEMPERATE|THEATERF_SNOW, 1158 "BRIDGE2", 1159 TXT_BRIDGE 1160 ); 1161 static TemplateTypeClass const Bridge2h( 1162 TEMPLATE_BRIDGE2H, 1163 THEATERF_TEMPERATE|THEATERF_SNOW, 1164 "BRIDGE2H", 1165 TXT_BRIDGE 1166 ); 1167 static TemplateTypeClass const Bridge2d( 1168 TEMPLATE_BRIDGE2D, 1169 THEATERF_TEMPERATE|THEATERF_SNOW, 1170 "BRIDGE2D", 1171 TXT_BRIDGE 1172 ); 1173 static TemplateTypeClass const Bridge1ax( 1174 TEMPLATE_BRIDGE_1AX, 1175 THEATERF_TEMPERATE|THEATERF_SNOW, 1176 "BR1X", 1177 TXT_BRIDGE 1178 ); 1179 static TemplateTypeClass const Bridge1a( 1180 TEMPLATE_BRIDGE_1A, 1181 THEATERF_TEMPERATE|THEATERF_SNOW, 1182 "BR1A", 1183 TXT_BRIDGE 1184 ); 1185 static TemplateTypeClass const Bridge1b( 1186 TEMPLATE_BRIDGE_1B, 1187 THEATERF_TEMPERATE|THEATERF_SNOW, 1188 "BR1B", 1189 TXT_BRIDGE 1190 ); 1191 static TemplateTypeClass const Bridge1c( 1192 TEMPLATE_BRIDGE_1C, 1193 THEATERF_TEMPERATE|THEATERF_SNOW, 1194 "BR1C", 1195 TXT_BRIDGE 1196 ); 1197 static TemplateTypeClass const Bridge2ax( 1198 TEMPLATE_BRIDGE_2AX, 1199 THEATERF_TEMPERATE|THEATERF_SNOW, 1200 "BR2X", 1201 TXT_BRIDGE 1202 ); 1203 static TemplateTypeClass const Bridge2a( 1204 TEMPLATE_BRIDGE_2A, 1205 THEATERF_TEMPERATE|THEATERF_SNOW, 1206 "BR2A", 1207 TXT_BRIDGE 1208 ); 1209 static TemplateTypeClass const Bridge2b( 1210 TEMPLATE_BRIDGE_2B, 1211 THEATERF_TEMPERATE|THEATERF_SNOW, 1212 "BR2B", 1213 TXT_BRIDGE 1214 ); 1215 static TemplateTypeClass const Bridge2c( 1216 TEMPLATE_BRIDGE_2C, 1217 THEATERF_TEMPERATE|THEATERF_SNOW, 1218 "BR2C", 1219 TXT_BRIDGE 1220 ); 1221 static TemplateTypeClass const Bridge3a( 1222 TEMPLATE_BRIDGE_3A, 1223 THEATERF_TEMPERATE|THEATERF_SNOW, 1224 "BR3A", 1225 TXT_BRIDGE 1226 ); 1227 static TemplateTypeClass const Bridge3b( 1228 TEMPLATE_BRIDGE_3B, 1229 THEATERF_TEMPERATE|THEATERF_SNOW, 1230 "BR3B", 1231 TXT_BRIDGE 1232 ); 1233 static TemplateTypeClass const Bridge3c( 1234 TEMPLATE_BRIDGE_3C, 1235 THEATERF_TEMPERATE|THEATERF_SNOW, 1236 "BR3C", 1237 TXT_BRIDGE 1238 ); 1239 static TemplateTypeClass const Bridge3d( 1240 TEMPLATE_BRIDGE_3D, 1241 THEATERF_TEMPERATE|THEATERF_SNOW, 1242 "BR3D", 1243 TXT_BRIDGE 1244 ); 1245 static TemplateTypeClass const Bridge3e( 1246 TEMPLATE_BRIDGE_3E, 1247 THEATERF_TEMPERATE|THEATERF_SNOW, 1248 "BR3E", 1249 TXT_BRIDGE 1250 ); 1251 static TemplateTypeClass const Bridge3f( 1252 TEMPLATE_BRIDGE_3F, 1253 THEATERF_TEMPERATE|THEATERF_SNOW, 1254 "BR3F", 1255 TXT_BRIDGE 1256 ); 1257 static TemplateTypeClass const ShoreCliff01( 1258 TEMPLATE_SHORECLIFF01, 1259 THEATERF_TEMPERATE|THEATERF_SNOW, 1260 "WC01", 1261 TXT_SHORE 1262 ); 1263 static TemplateTypeClass const ShoreCliff02( 1264 TEMPLATE_SHORECLIFF02, 1265 THEATERF_TEMPERATE|THEATERF_SNOW, 1266 "WC02", 1267 TXT_SHORE 1268 ); 1269 static TemplateTypeClass const ShoreCliff03( 1270 TEMPLATE_SHORECLIFF03, 1271 THEATERF_TEMPERATE|THEATERF_SNOW, 1272 "WC03", 1273 TXT_SHORE 1274 ); 1275 static TemplateTypeClass const ShoreCliff04( 1276 TEMPLATE_SHORECLIFF04, 1277 THEATERF_TEMPERATE|THEATERF_SNOW, 1278 "WC04", 1279 TXT_SHORE 1280 ); 1281 static TemplateTypeClass const ShoreCliff05( 1282 TEMPLATE_SHORECLIFF05, 1283 THEATERF_TEMPERATE|THEATERF_SNOW, 1284 "WC05", 1285 TXT_SHORE 1286 ); 1287 static TemplateTypeClass const ShoreCliff06( 1288 TEMPLATE_SHORECLIFF06, 1289 THEATERF_TEMPERATE|THEATERF_SNOW, 1290 "WC06", 1291 TXT_SHORE 1292 ); 1293 static TemplateTypeClass const ShoreCliff07( 1294 TEMPLATE_SHORECLIFF07, 1295 THEATERF_TEMPERATE|THEATERF_SNOW, 1296 "WC07", 1297 TXT_SHORE 1298 ); 1299 static TemplateTypeClass const ShoreCliff08( 1300 TEMPLATE_SHORECLIFF08, 1301 THEATERF_TEMPERATE|THEATERF_SNOW, 1302 "WC08", 1303 TXT_SHORE 1304 ); 1305 static TemplateTypeClass const ShoreCliff09( 1306 TEMPLATE_SHORECLIFF09, 1307 THEATERF_TEMPERATE|THEATERF_SNOW, 1308 "WC09", 1309 TXT_SHORE 1310 ); 1311 static TemplateTypeClass const ShoreCliff10( 1312 TEMPLATE_SHORECLIFF10, 1313 THEATERF_TEMPERATE|THEATERF_SNOW, 1314 "WC10", 1315 TXT_SHORE 1316 ); 1317 static TemplateTypeClass const ShoreCliff11( 1318 TEMPLATE_SHORECLIFF11, 1319 THEATERF_TEMPERATE|THEATERF_SNOW, 1320 "WC11", 1321 TXT_SHORE 1322 ); 1323 static TemplateTypeClass const ShoreCliff12( 1324 TEMPLATE_SHORECLIFF12, 1325 THEATERF_TEMPERATE|THEATERF_SNOW, 1326 "WC12", 1327 TXT_SHORE 1328 ); 1329 static TemplateTypeClass const ShoreCliff13( 1330 TEMPLATE_SHORECLIFF13, 1331 THEATERF_TEMPERATE|THEATERF_SNOW, 1332 "WC13", 1333 TXT_SHORE 1334 ); 1335 static TemplateTypeClass const ShoreCliff14( 1336 TEMPLATE_SHORECLIFF14, 1337 THEATERF_TEMPERATE|THEATERF_SNOW, 1338 "WC14", 1339 TXT_SHORE 1340 ); 1341 static TemplateTypeClass const ShoreCliff15( 1342 TEMPLATE_SHORECLIFF15, 1343 THEATERF_TEMPERATE|THEATERF_SNOW, 1344 "WC15", 1345 TXT_SHORE 1346 ); 1347 static TemplateTypeClass const ShoreCliff16( 1348 TEMPLATE_SHORECLIFF16, 1349 THEATERF_TEMPERATE|THEATERF_SNOW, 1350 "WC16", 1351 TXT_SHORE 1352 ); 1353 static TemplateTypeClass const ShoreCliff17( 1354 TEMPLATE_SHORECLIFF17, 1355 THEATERF_TEMPERATE|THEATERF_SNOW, 1356 "WC17", 1357 TXT_SHORE 1358 ); 1359 static TemplateTypeClass const ShoreCliff18( 1360 TEMPLATE_SHORECLIFF18, 1361 THEATERF_TEMPERATE|THEATERF_SNOW, 1362 "WC18", 1363 TXT_SHORE 1364 ); 1365 static TemplateTypeClass const ShoreCliff19( 1366 TEMPLATE_SHORECLIFF19, 1367 THEATERF_TEMPERATE|THEATERF_SNOW, 1368 "WC19", 1369 TXT_SHORE 1370 ); 1371 static TemplateTypeClass const ShoreCliff20( 1372 TEMPLATE_SHORECLIFF20, 1373 THEATERF_TEMPERATE|THEATERF_SNOW, 1374 "WC20", 1375 TXT_SHORE 1376 ); 1377 static TemplateTypeClass const ShoreCliff21( 1378 TEMPLATE_SHORECLIFF21, 1379 THEATERF_TEMPERATE|THEATERF_SNOW, 1380 "WC21", 1381 TXT_SHORE 1382 ); 1383 static TemplateTypeClass const ShoreCliff22( 1384 TEMPLATE_SHORECLIFF22, 1385 THEATERF_TEMPERATE|THEATERF_SNOW, 1386 "WC22", 1387 TXT_SHORE 1388 ); 1389 static TemplateTypeClass const ShoreCliff23( 1390 TEMPLATE_SHORECLIFF23, 1391 THEATERF_TEMPERATE|THEATERF_SNOW, 1392 "WC23", 1393 TXT_SHORE 1394 ); 1395 static TemplateTypeClass const ShoreCliff24( 1396 TEMPLATE_SHORECLIFF24, 1397 THEATERF_TEMPERATE|THEATERF_SNOW, 1398 "WC24", 1399 TXT_SHORE 1400 ); 1401 static TemplateTypeClass const ShoreCliff25( 1402 TEMPLATE_SHORECLIFF25, 1403 THEATERF_TEMPERATE|THEATERF_SNOW, 1404 "WC25", 1405 TXT_SHORE 1406 ); 1407 static TemplateTypeClass const ShoreCliff26( 1408 TEMPLATE_SHORECLIFF26, 1409 THEATERF_TEMPERATE|THEATERF_SNOW, 1410 "WC26", 1411 TXT_SHORE 1412 ); 1413 static TemplateTypeClass const ShoreCliff27( 1414 TEMPLATE_SHORECLIFF27, 1415 THEATERF_TEMPERATE|THEATERF_SNOW, 1416 "WC27", 1417 TXT_SHORE 1418 ); 1419 static TemplateTypeClass const ShoreCliff28( 1420 TEMPLATE_SHORECLIFF28, 1421 THEATERF_TEMPERATE|THEATERF_SNOW, 1422 "WC28", 1423 TXT_SHORE 1424 ); 1425 static TemplateTypeClass const ShoreCliff29( 1426 TEMPLATE_SHORECLIFF29, 1427 THEATERF_TEMPERATE|THEATERF_SNOW, 1428 "WC29", 1429 TXT_SHORE 1430 ); 1431 static TemplateTypeClass const ShoreCliff30( 1432 TEMPLATE_SHORECLIFF30, 1433 THEATERF_TEMPERATE|THEATERF_SNOW, 1434 "WC30", 1435 TXT_SHORE 1436 ); 1437 static TemplateTypeClass const ShoreCliff31( 1438 TEMPLATE_SHORECLIFF31, 1439 THEATERF_TEMPERATE|THEATERF_SNOW, 1440 "WC31", 1441 TXT_SHORE 1442 ); 1443 static TemplateTypeClass const ShoreCliff32( 1444 TEMPLATE_SHORECLIFF32, 1445 THEATERF_TEMPERATE|THEATERF_SNOW, 1446 "WC32", 1447 TXT_SHORE 1448 ); 1449 static TemplateTypeClass const ShoreCliff33( 1450 TEMPLATE_SHORECLIFF33, 1451 THEATERF_TEMPERATE|THEATERF_SNOW, 1452 "WC33", 1453 TXT_SHORE 1454 ); 1455 static TemplateTypeClass const ShoreCliff34( 1456 TEMPLATE_SHORECLIFF34, 1457 THEATERF_TEMPERATE|THEATERF_SNOW, 1458 "WC34", 1459 TXT_SHORE 1460 ); 1461 static TemplateTypeClass const ShoreCliff35( 1462 TEMPLATE_SHORECLIFF35, 1463 THEATERF_TEMPERATE|THEATERF_SNOW, 1464 "WC35", 1465 TXT_SHORE 1466 ); 1467 static TemplateTypeClass const ShoreCliff36( 1468 TEMPLATE_SHORECLIFF36, 1469 THEATERF_TEMPERATE|THEATERF_SNOW, 1470 "WC36", 1471 TXT_SHORE 1472 ); 1473 static TemplateTypeClass const ShoreCliff37( 1474 TEMPLATE_SHORECLIFF37, 1475 THEATERF_TEMPERATE|THEATERF_SNOW, 1476 "WC37", 1477 TXT_SHORE 1478 ); 1479 static TemplateTypeClass const ShoreCliff38( 1480 TEMPLATE_SHORECLIFF38, 1481 THEATERF_TEMPERATE|THEATERF_SNOW, 1482 "WC38", 1483 TXT_SHORE 1484 ); 1485 static TemplateTypeClass const Rough01( 1486 TEMPLATE_ROUGH01, 1487 THEATERF_TEMPERATE|THEATERF_SNOW, 1488 "RF01", 1489 TXT_ROCK 1490 ); 1491 static TemplateTypeClass const Rough02( 1492 TEMPLATE_ROUGH02, 1493 THEATERF_TEMPERATE|THEATERF_SNOW, 1494 "RF02", 1495 TXT_ROCK 1496 ); 1497 static TemplateTypeClass const Rough03( 1498 TEMPLATE_ROUGH03, 1499 THEATERF_TEMPERATE|THEATERF_SNOW, 1500 "RF03", 1501 TXT_ROCK 1502 ); 1503 static TemplateTypeClass const Rough04( 1504 TEMPLATE_ROUGH04, 1505 THEATERF_TEMPERATE|THEATERF_SNOW, 1506 "RF04", 1507 TXT_ROCK 1508 ); 1509 static TemplateTypeClass const Rough05( 1510 TEMPLATE_ROUGH05, 1511 THEATERF_TEMPERATE|THEATERF_SNOW, 1512 "RF05", 1513 TXT_ROCK 1514 ); 1515 static TemplateTypeClass const Rough06( 1516 TEMPLATE_ROUGH06, 1517 THEATERF_TEMPERATE|THEATERF_SNOW, 1518 "RF06", 1519 TXT_ROCK 1520 ); 1521 static TemplateTypeClass const Rough07( 1522 TEMPLATE_ROUGH07, 1523 THEATERF_TEMPERATE|THEATERF_SNOW, 1524 "RF07", 1525 TXT_ROCK 1526 ); 1527 static TemplateTypeClass const Rough08( 1528 TEMPLATE_ROUGH08, 1529 THEATERF_TEMPERATE|THEATERF_SNOW, 1530 "RF08", 1531 TXT_ROCK 1532 ); 1533 static TemplateTypeClass const Rough09( 1534 TEMPLATE_ROUGH09, 1535 THEATERF_TEMPERATE|THEATERF_SNOW, 1536 "RF09", 1537 TXT_ROCK 1538 ); 1539 static TemplateTypeClass const Rough10( 1540 TEMPLATE_ROUGH10, 1541 THEATERF_TEMPERATE|THEATERF_SNOW, 1542 "RF10", 1543 TXT_ROCK 1544 ); 1545 static TemplateTypeClass const Rough11( 1546 TEMPLATE_ROUGH11, 1547 THEATERF_TEMPERATE|THEATERF_SNOW, 1548 "RF11", 1549 TXT_ROCK 1550 ); 1551 static TemplateTypeClass const RiverCliff01( 1552 TEMPLATE_RIVERCLIFF01, 1553 THEATERF_TEMPERATE|THEATERF_SNOW, 1554 "RC01", 1555 TXT_RIVER 1556 ); 1557 static TemplateTypeClass const RiverCliff02( 1558 TEMPLATE_RIVERCLIFF02, 1559 THEATERF_TEMPERATE|THEATERF_SNOW, 1560 "RC02", 1561 TXT_RIVER 1562 ); 1563 static TemplateTypeClass const RiverCliff03( 1564 TEMPLATE_RIVERCLIFF03, 1565 THEATERF_TEMPERATE|THEATERF_SNOW, 1566 "RC03", 1567 TXT_RIVER 1568 ); 1569 static TemplateTypeClass const RiverCliff04( 1570 TEMPLATE_RIVERCLIFF04, 1571 THEATERF_TEMPERATE|THEATERF_SNOW, 1572 "RC04", 1573 TXT_RIVER 1574 ); 1575 1576 static TemplateTypeClass const F01( 1577 TEMPLATE_F01, 1578 THEATERF_TEMPERATE|THEATERF_SNOW, 1579 "F01", 1580 TXT_RIVER 1581 ); 1582 static TemplateTypeClass const F02( 1583 TEMPLATE_F02, 1584 THEATERF_TEMPERATE|THEATERF_SNOW, 1585 "F02", 1586 TXT_RIVER 1587 ); 1588 static TemplateTypeClass const F03( 1589 TEMPLATE_F03, 1590 THEATERF_TEMPERATE|THEATERF_SNOW, 1591 "F03", 1592 TXT_RIVER 1593 ); 1594 static TemplateTypeClass const F04( 1595 TEMPLATE_F04, 1596 THEATERF_TEMPERATE|THEATERF_SNOW, 1597 "F04", 1598 TXT_RIVER 1599 ); 1600 static TemplateTypeClass const F05( 1601 TEMPLATE_F05, 1602 THEATERF_TEMPERATE|THEATERF_SNOW, 1603 "F05", 1604 TXT_RIVER 1605 ); 1606 static TemplateTypeClass const F06( 1607 TEMPLATE_F06, 1608 THEATERF_TEMPERATE|THEATERF_SNOW, 1609 "F06", 1610 TXT_RIVER 1611 ); 1612 1613 static TemplateTypeClass const ARRO0001( 1614 TEMPLATE_ARRO0001, 1615 THEATERF_INTERIOR, 1616 "ARRO0001", 1617 TXT_INTERIOR 1618 ); 1619 static TemplateTypeClass const ARRO0002( 1620 TEMPLATE_ARRO0002, 1621 THEATERF_INTERIOR, 1622 "ARRO0002", 1623 TXT_INTERIOR 1624 ); 1625 static TemplateTypeClass const ARRO0003( 1626 TEMPLATE_ARRO0003, 1627 THEATERF_INTERIOR, 1628 "ARRO0003", 1629 TXT_INTERIOR 1630 ); 1631 static TemplateTypeClass const ARRO0004( 1632 TEMPLATE_ARRO0004, 1633 THEATERF_INTERIOR, 1634 "ARRO0004", 1635 TXT_INTERIOR 1636 ); 1637 static TemplateTypeClass const ARRO0005( 1638 TEMPLATE_ARRO0005, 1639 THEATERF_INTERIOR, 1640 "ARRO0005", 1641 TXT_INTERIOR 1642 ); 1643 static TemplateTypeClass const ARRO0006( 1644 TEMPLATE_ARRO0006, 1645 THEATERF_INTERIOR, 1646 "ARRO0006", 1647 TXT_INTERIOR 1648 ); 1649 static TemplateTypeClass const ARRO0007( 1650 TEMPLATE_ARRO0007, 1651 THEATERF_INTERIOR, 1652 "ARRO0007", 1653 TXT_INTERIOR 1654 ); 1655 static TemplateTypeClass const ARRO0008( 1656 TEMPLATE_ARRO0008, 1657 THEATERF_INTERIOR, 1658 "ARRO0008", 1659 TXT_INTERIOR 1660 ); 1661 static TemplateTypeClass const ARRO0009( 1662 TEMPLATE_ARRO0009, 1663 THEATERF_INTERIOR, 1664 "ARRO0009", 1665 TXT_INTERIOR 1666 ); 1667 static TemplateTypeClass const ARRO0010( 1668 TEMPLATE_ARRO0010, 1669 THEATERF_INTERIOR, 1670 "ARRO0010", 1671 TXT_INTERIOR 1672 ); 1673 static TemplateTypeClass const ARRO0011( 1674 TEMPLATE_ARRO0011, 1675 THEATERF_INTERIOR, 1676 "ARRO0011", 1677 TXT_INTERIOR 1678 ); 1679 static TemplateTypeClass const ARRO0012( 1680 TEMPLATE_ARRO0012, 1681 THEATERF_INTERIOR, 1682 "ARRO0012", 1683 TXT_INTERIOR 1684 ); 1685 static TemplateTypeClass const ARRO0013( 1686 TEMPLATE_ARRO0013, 1687 THEATERF_INTERIOR, 1688 "ARRO0013", 1689 TXT_INTERIOR 1690 ); 1691 static TemplateTypeClass const ARRO0014( 1692 TEMPLATE_ARRO0014, 1693 THEATERF_INTERIOR, 1694 "ARRO0014", 1695 TXT_INTERIOR 1696 ); 1697 static TemplateTypeClass const ARRO0015( 1698 TEMPLATE_ARRO0015, 1699 THEATERF_INTERIOR, 1700 "ARRO0015", 1701 TXT_INTERIOR 1702 ); 1703 static TemplateTypeClass const FLOR0001( 1704 TEMPLATE_FLOR0001, 1705 THEATERF_INTERIOR, 1706 "FLOR0001", 1707 TXT_INTERIOR 1708 ); 1709 static TemplateTypeClass const FLOR0002( 1710 TEMPLATE_FLOR0002, 1711 THEATERF_INTERIOR, 1712 "FLOR0002", 1713 TXT_INTERIOR 1714 ); 1715 static TemplateTypeClass const FLOR0003( 1716 TEMPLATE_FLOR0003, 1717 THEATERF_INTERIOR, 1718 "FLOR0003", 1719 TXT_INTERIOR 1720 ); 1721 static TemplateTypeClass const FLOR0004( 1722 TEMPLATE_FLOR0004, 1723 THEATERF_INTERIOR, 1724 "FLOR0004", 1725 TXT_INTERIOR 1726 ); 1727 static TemplateTypeClass const FLOR0005( 1728 TEMPLATE_FLOR0005, 1729 THEATERF_INTERIOR, 1730 "FLOR0005", 1731 TXT_INTERIOR 1732 ); 1733 static TemplateTypeClass const FLOR0006( 1734 TEMPLATE_FLOR0006, 1735 THEATERF_INTERIOR, 1736 "FLOR0006", 1737 TXT_INTERIOR 1738 ); 1739 static TemplateTypeClass const FLOR0007( 1740 TEMPLATE_FLOR0007, 1741 THEATERF_INTERIOR, 1742 "FLOR0007", 1743 TXT_INTERIOR 1744 ); 1745 static TemplateTypeClass const GFLR0001( 1746 TEMPLATE_GFLR0001, 1747 THEATERF_INTERIOR, 1748 "GFLR0001", 1749 TXT_INTERIOR 1750 ); 1751 static TemplateTypeClass const GFLR0002( 1752 TEMPLATE_GFLR0002, 1753 THEATERF_INTERIOR, 1754 "GFLR0002", 1755 TXT_INTERIOR 1756 ); 1757 static TemplateTypeClass const GFLR0003( 1758 TEMPLATE_GFLR0003, 1759 THEATERF_INTERIOR, 1760 "GFLR0003", 1761 TXT_INTERIOR 1762 ); 1763 static TemplateTypeClass const GFLR0004( 1764 TEMPLATE_GFLR0004, 1765 THEATERF_INTERIOR, 1766 "GFLR0004", 1767 TXT_INTERIOR 1768 ); 1769 static TemplateTypeClass const GFLR0005( 1770 TEMPLATE_GFLR0005, 1771 THEATERF_INTERIOR, 1772 "GFLR0005", 1773 TXT_INTERIOR 1774 ); 1775 static TemplateTypeClass const GSTR0001( 1776 TEMPLATE_GSTR0001, 1777 THEATERF_INTERIOR, 1778 "GSTR0001", 1779 TXT_INTERIOR 1780 ); 1781 static TemplateTypeClass const GSTR0002( 1782 TEMPLATE_GSTR0002, 1783 THEATERF_INTERIOR, 1784 "GSTR0002", 1785 TXT_INTERIOR 1786 ); 1787 static TemplateTypeClass const GSTR0003( 1788 TEMPLATE_GSTR0003, 1789 THEATERF_INTERIOR, 1790 "GSTR0003", 1791 TXT_INTERIOR 1792 ); 1793 static TemplateTypeClass const GSTR0004( 1794 TEMPLATE_GSTR0004, 1795 THEATERF_INTERIOR, 1796 "GSTR0004", 1797 TXT_INTERIOR 1798 ); 1799 static TemplateTypeClass const GSTR0005( 1800 TEMPLATE_GSTR0005, 1801 THEATERF_INTERIOR, 1802 "GSTR0005", 1803 TXT_INTERIOR 1804 ); 1805 static TemplateTypeClass const GSTR0006( 1806 TEMPLATE_GSTR0006, 1807 THEATERF_INTERIOR, 1808 "GSTR0006", 1809 TXT_INTERIOR 1810 ); 1811 static TemplateTypeClass const GSTR0007( 1812 TEMPLATE_GSTR0007, 1813 THEATERF_INTERIOR, 1814 "GSTR0007", 1815 TXT_INTERIOR 1816 ); 1817 static TemplateTypeClass const GSTR0008( 1818 TEMPLATE_GSTR0008, 1819 THEATERF_INTERIOR, 1820 "GSTR0008", 1821 TXT_INTERIOR 1822 ); 1823 static TemplateTypeClass const GSTR0009( 1824 TEMPLATE_GSTR0009, 1825 THEATERF_INTERIOR, 1826 "GSTR0009", 1827 TXT_INTERIOR 1828 ); 1829 static TemplateTypeClass const GSTR0010( 1830 TEMPLATE_GSTR0010, 1831 THEATERF_INTERIOR, 1832 "GSTR0010", 1833 TXT_INTERIOR 1834 ); 1835 static TemplateTypeClass const GSTR0011( 1836 TEMPLATE_GSTR0011, 1837 THEATERF_INTERIOR, 1838 "GSTR0011", 1839 TXT_INTERIOR 1840 ); 1841 static TemplateTypeClass const LWAL0001( 1842 TEMPLATE_LWAL0001, 1843 THEATERF_INTERIOR, 1844 "LWAL0001", 1845 TXT_INTERIOR 1846 ); 1847 static TemplateTypeClass const LWAL0002( 1848 TEMPLATE_LWAL0002, 1849 THEATERF_INTERIOR, 1850 "LWAL0002", 1851 TXT_INTERIOR 1852 ); 1853 static TemplateTypeClass const LWAL0003( 1854 TEMPLATE_LWAL0003, 1855 THEATERF_INTERIOR, 1856 "LWAL0003", 1857 TXT_INTERIOR 1858 ); 1859 static TemplateTypeClass const LWAL0004( 1860 TEMPLATE_LWAL0004, 1861 THEATERF_INTERIOR, 1862 "LWAL0004", 1863 TXT_INTERIOR 1864 ); 1865 static TemplateTypeClass const LWAL0005( 1866 TEMPLATE_LWAL0005, 1867 THEATERF_INTERIOR, 1868 "LWAL0005", 1869 TXT_INTERIOR 1870 ); 1871 static TemplateTypeClass const LWAL0006( 1872 TEMPLATE_LWAL0006, 1873 THEATERF_INTERIOR, 1874 "LWAL0006", 1875 TXT_INTERIOR 1876 ); 1877 static TemplateTypeClass const LWAL0007( 1878 TEMPLATE_LWAL0007, 1879 THEATERF_INTERIOR, 1880 "LWAL0007", 1881 TXT_INTERIOR 1882 ); 1883 static TemplateTypeClass const LWAL0008( 1884 TEMPLATE_LWAL0008, 1885 THEATERF_INTERIOR, 1886 "LWAL0008", 1887 TXT_INTERIOR 1888 ); 1889 static TemplateTypeClass const LWAL0009( 1890 TEMPLATE_LWAL0009, 1891 THEATERF_INTERIOR, 1892 "LWAL0009", 1893 TXT_INTERIOR 1894 ); 1895 static TemplateTypeClass const LWAL0010( 1896 TEMPLATE_LWAL0010, 1897 THEATERF_INTERIOR, 1898 "LWAL0010", 1899 TXT_INTERIOR 1900 ); 1901 static TemplateTypeClass const LWAL0011( 1902 TEMPLATE_LWAL0011, 1903 THEATERF_INTERIOR, 1904 "LWAL0011", 1905 TXT_INTERIOR 1906 ); 1907 static TemplateTypeClass const LWAL0012( 1908 TEMPLATE_LWAL0012, 1909 THEATERF_INTERIOR, 1910 "LWAL0012", 1911 TXT_INTERIOR 1912 ); 1913 static TemplateTypeClass const LWAL0013( 1914 TEMPLATE_LWAL0013, 1915 THEATERF_INTERIOR, 1916 "LWAL0013", 1917 TXT_INTERIOR 1918 ); 1919 static TemplateTypeClass const LWAL0014( 1920 TEMPLATE_LWAL0014, 1921 THEATERF_INTERIOR, 1922 "LWAL0014", 1923 TXT_INTERIOR 1924 ); 1925 static TemplateTypeClass const LWAL0015( 1926 TEMPLATE_LWAL0015, 1927 THEATERF_INTERIOR, 1928 "LWAL0015", 1929 TXT_INTERIOR 1930 ); 1931 static TemplateTypeClass const LWAL0016( 1932 TEMPLATE_LWAL0016, 1933 THEATERF_INTERIOR, 1934 "LWAL0016", 1935 TXT_INTERIOR 1936 ); 1937 static TemplateTypeClass const LWAL0017( 1938 TEMPLATE_LWAL0017, 1939 THEATERF_INTERIOR, 1940 "LWAL0017", 1941 TXT_INTERIOR 1942 ); 1943 static TemplateTypeClass const LWAL0018( 1944 TEMPLATE_LWAL0018, 1945 THEATERF_INTERIOR, 1946 "LWAL0018", 1947 TXT_INTERIOR 1948 ); 1949 static TemplateTypeClass const LWAL0019( 1950 TEMPLATE_LWAL0019, 1951 THEATERF_INTERIOR, 1952 "LWAL0019", 1953 TXT_INTERIOR 1954 ); 1955 static TemplateTypeClass const LWAL0020( 1956 TEMPLATE_LWAL0020, 1957 THEATERF_INTERIOR, 1958 "LWAL0020", 1959 TXT_INTERIOR 1960 ); 1961 static TemplateTypeClass const LWAL0021( 1962 TEMPLATE_LWAL0021, 1963 THEATERF_INTERIOR, 1964 "LWAL0021", 1965 TXT_INTERIOR 1966 ); 1967 static TemplateTypeClass const LWAL0022( 1968 TEMPLATE_LWAL0022, 1969 THEATERF_INTERIOR, 1970 "LWAL0022", 1971 TXT_INTERIOR 1972 ); 1973 static TemplateTypeClass const LWAL0023( 1974 TEMPLATE_LWAL0023, 1975 THEATERF_INTERIOR, 1976 "LWAL0023", 1977 TXT_INTERIOR 1978 ); 1979 static TemplateTypeClass const LWAL0024( 1980 TEMPLATE_LWAL0024, 1981 THEATERF_INTERIOR, 1982 "LWAL0024", 1983 TXT_INTERIOR 1984 ); 1985 static TemplateTypeClass const LWAL0025( 1986 TEMPLATE_LWAL0025, 1987 THEATERF_INTERIOR, 1988 "LWAL0025", 1989 TXT_INTERIOR 1990 ); 1991 static TemplateTypeClass const LWAL0026( 1992 TEMPLATE_LWAL0026, 1993 THEATERF_INTERIOR, 1994 "LWAL0026", 1995 TXT_INTERIOR 1996 ); 1997 static TemplateTypeClass const LWAL0027( 1998 TEMPLATE_LWAL0027, 1999 THEATERF_INTERIOR, 2000 "LWAL0027", 2001 TXT_INTERIOR 2002 ); 2003 static TemplateTypeClass const STRP0001( 2004 TEMPLATE_STRP0001, 2005 THEATERF_INTERIOR, 2006 "STRP0001", 2007 TXT_INTERIOR 2008 ); 2009 static TemplateTypeClass const STRP0002( 2010 TEMPLATE_STRP0002, 2011 THEATERF_INTERIOR, 2012 "STRP0002", 2013 TXT_INTERIOR 2014 ); 2015 static TemplateTypeClass const STRP0003( 2016 TEMPLATE_STRP0003, 2017 THEATERF_INTERIOR, 2018 "STRP0003", 2019 TXT_INTERIOR 2020 ); 2021 static TemplateTypeClass const STRP0004( 2022 TEMPLATE_STRP0004, 2023 THEATERF_INTERIOR, 2024 "STRP0004", 2025 TXT_INTERIOR 2026 ); 2027 static TemplateTypeClass const STRP0005( 2028 TEMPLATE_STRP0005, 2029 THEATERF_INTERIOR, 2030 "STRP0005", 2031 TXT_INTERIOR 2032 ); 2033 static TemplateTypeClass const STRP0006( 2034 TEMPLATE_STRP0006, 2035 THEATERF_INTERIOR, 2036 "STRP0006", 2037 TXT_INTERIOR 2038 ); 2039 static TemplateTypeClass const STRP0007( 2040 TEMPLATE_STRP0007, 2041 THEATERF_INTERIOR, 2042 "STRP0007", 2043 TXT_INTERIOR 2044 ); 2045 static TemplateTypeClass const STRP0008( 2046 TEMPLATE_STRP0008, 2047 THEATERF_INTERIOR, 2048 "STRP0008", 2049 TXT_INTERIOR 2050 ); 2051 static TemplateTypeClass const STRP0009( 2052 TEMPLATE_STRP0009, 2053 THEATERF_INTERIOR, 2054 "STRP0009", 2055 TXT_INTERIOR 2056 ); 2057 static TemplateTypeClass const STRP0010( 2058 TEMPLATE_STRP0010, 2059 THEATERF_INTERIOR, 2060 "STRP0010", 2061 TXT_INTERIOR 2062 ); 2063 static TemplateTypeClass const STRP0011( 2064 TEMPLATE_STRP0011, 2065 THEATERF_INTERIOR, 2066 "STRP0011", 2067 TXT_INTERIOR 2068 ); 2069 static TemplateTypeClass const WALL0001( 2070 TEMPLATE_WALL0001, 2071 THEATERF_INTERIOR, 2072 "WALL0001", 2073 TXT_INTERIOR 2074 ); 2075 static TemplateTypeClass const WALL0002( 2076 TEMPLATE_WALL0002, 2077 THEATERF_INTERIOR, 2078 "WALL0002", 2079 TXT_INTERIOR 2080 ); 2081 static TemplateTypeClass const WALL0003( 2082 TEMPLATE_WALL0003, 2083 THEATERF_INTERIOR, 2084 "WALL0003", 2085 TXT_INTERIOR 2086 ); 2087 static TemplateTypeClass const WALL0004( 2088 TEMPLATE_WALL0004, 2089 THEATERF_INTERIOR, 2090 "WALL0004", 2091 TXT_INTERIOR 2092 ); 2093 static TemplateTypeClass const WALL0005( 2094 TEMPLATE_WALL0005, 2095 THEATERF_INTERIOR, 2096 "WALL0005", 2097 TXT_INTERIOR 2098 ); 2099 static TemplateTypeClass const WALL0006( 2100 TEMPLATE_WALL0006, 2101 THEATERF_INTERIOR, 2102 "WALL0006", 2103 TXT_INTERIOR 2104 ); 2105 static TemplateTypeClass const WALL0007( 2106 TEMPLATE_WALL0007, 2107 THEATERF_INTERIOR, 2108 "WALL0007", 2109 TXT_INTERIOR 2110 ); 2111 static TemplateTypeClass const WALL0008( 2112 TEMPLATE_WALL0008, 2113 THEATERF_INTERIOR, 2114 "WALL0008", 2115 TXT_INTERIOR 2116 ); 2117 static TemplateTypeClass const WALL0009( 2118 TEMPLATE_WALL0009, 2119 THEATERF_INTERIOR, 2120 "WALL0009", 2121 TXT_INTERIOR 2122 ); 2123 static TemplateTypeClass const WALL0010( 2124 TEMPLATE_WALL0010, 2125 THEATERF_INTERIOR, 2126 "WALL0010", 2127 TXT_INTERIOR 2128 ); 2129 static TemplateTypeClass const WALL0011( 2130 TEMPLATE_WALL0011, 2131 THEATERF_INTERIOR, 2132 "WALL0011", 2133 TXT_INTERIOR 2134 ); 2135 static TemplateTypeClass const WALL0012( 2136 TEMPLATE_WALL0012, 2137 THEATERF_INTERIOR, 2138 "WALL0012", 2139 TXT_INTERIOR 2140 ); 2141 static TemplateTypeClass const WALL0013( 2142 TEMPLATE_WALL0013, 2143 THEATERF_INTERIOR, 2144 "WALL0013", 2145 TXT_INTERIOR 2146 ); 2147 static TemplateTypeClass const WALL0014( 2148 TEMPLATE_WALL0014, 2149 THEATERF_INTERIOR, 2150 "WALL0014", 2151 TXT_INTERIOR 2152 ); 2153 static TemplateTypeClass const WALL0015( 2154 TEMPLATE_WALL0015, 2155 THEATERF_INTERIOR, 2156 "WALL0015", 2157 TXT_INTERIOR 2158 ); 2159 static TemplateTypeClass const WALL0016( 2160 TEMPLATE_WALL0016, 2161 THEATERF_INTERIOR, 2162 "WALL0016", 2163 TXT_INTERIOR 2164 ); 2165 static TemplateTypeClass const WALL0017( 2166 TEMPLATE_WALL0017, 2167 THEATERF_INTERIOR, 2168 "WALL0017", 2169 TXT_INTERIOR 2170 ); 2171 static TemplateTypeClass const WALL0018( 2172 TEMPLATE_WALL0018, 2173 THEATERF_INTERIOR, 2174 "WALL0018", 2175 TXT_INTERIOR 2176 ); 2177 static TemplateTypeClass const WALL0019( 2178 TEMPLATE_WALL0019, 2179 THEATERF_INTERIOR, 2180 "WALL0019", 2181 TXT_INTERIOR 2182 ); 2183 static TemplateTypeClass const WALL0020( 2184 TEMPLATE_WALL0020, 2185 THEATERF_INTERIOR, 2186 "WALL0020", 2187 TXT_INTERIOR 2188 ); 2189 static TemplateTypeClass const WALL0021( 2190 TEMPLATE_WALL0021, 2191 THEATERF_INTERIOR, 2192 "WALL0021", 2193 TXT_INTERIOR 2194 ); 2195 static TemplateTypeClass const WALL0022( 2196 TEMPLATE_WALL0022, 2197 THEATERF_INTERIOR, 2198 "WALL0022", 2199 TXT_INTERIOR 2200 ); 2201 static TemplateTypeClass const WALL0023( 2202 TEMPLATE_WALL0023, 2203 THEATERF_INTERIOR, 2204 "WALL0023", 2205 TXT_INTERIOR 2206 ); 2207 static TemplateTypeClass const WALL0024( 2208 TEMPLATE_WALL0024, 2209 THEATERF_INTERIOR, 2210 "WALL0024", 2211 TXT_INTERIOR 2212 ); 2213 static TemplateTypeClass const WALL0025( 2214 TEMPLATE_WALL0025, 2215 THEATERF_INTERIOR, 2216 "WALL0025", 2217 TXT_INTERIOR 2218 ); 2219 static TemplateTypeClass const WALL0026( 2220 TEMPLATE_WALL0026, 2221 THEATERF_INTERIOR, 2222 "WALL0026", 2223 TXT_INTERIOR 2224 ); 2225 static TemplateTypeClass const WALL0027( 2226 TEMPLATE_WALL0027, 2227 THEATERF_INTERIOR, 2228 "WALL0027", 2229 TXT_INTERIOR 2230 ); 2231 static TemplateTypeClass const WALL0028( 2232 TEMPLATE_WALL0028, 2233 THEATERF_INTERIOR, 2234 "WALL0028", 2235 TXT_INTERIOR 2236 ); 2237 static TemplateTypeClass const WALL0029( 2238 TEMPLATE_WALL0029, 2239 THEATERF_INTERIOR, 2240 "WALL0029", 2241 TXT_INTERIOR 2242 ); 2243 static TemplateTypeClass const WALL0030( 2244 TEMPLATE_WALL0030, 2245 THEATERF_INTERIOR, 2246 "WALL0030", 2247 TXT_INTERIOR 2248 ); 2249 static TemplateTypeClass const WALL0031( 2250 TEMPLATE_WALL0031, 2251 THEATERF_INTERIOR, 2252 "WALL0031", 2253 TXT_INTERIOR 2254 ); 2255 static TemplateTypeClass const WALL0032( 2256 TEMPLATE_WALL0032, 2257 THEATERF_INTERIOR, 2258 "WALL0032", 2259 TXT_INTERIOR 2260 ); 2261 static TemplateTypeClass const WALL0033( 2262 TEMPLATE_WALL0033, 2263 THEATERF_INTERIOR, 2264 "WALL0033", 2265 TXT_INTERIOR 2266 ); 2267 static TemplateTypeClass const WALL0034( 2268 TEMPLATE_WALL0034, 2269 THEATERF_INTERIOR, 2270 "WALL0034", 2271 TXT_INTERIOR 2272 ); 2273 static TemplateTypeClass const WALL0035( 2274 TEMPLATE_WALL0035, 2275 THEATERF_INTERIOR, 2276 "WALL0035", 2277 TXT_INTERIOR 2278 ); 2279 static TemplateTypeClass const WALL0036( 2280 TEMPLATE_WALL0036, 2281 THEATERF_INTERIOR, 2282 "WALL0036", 2283 TXT_INTERIOR 2284 ); 2285 static TemplateTypeClass const WALL0037( 2286 TEMPLATE_WALL0037, 2287 THEATERF_INTERIOR, 2288 "WALL0037", 2289 TXT_INTERIOR 2290 ); 2291 static TemplateTypeClass const WALL0038( 2292 TEMPLATE_WALL0038, 2293 THEATERF_INTERIOR, 2294 "WALL0038", 2295 TXT_INTERIOR 2296 ); 2297 static TemplateTypeClass const WALL0039( 2298 TEMPLATE_WALL0039, 2299 THEATERF_INTERIOR, 2300 "WALL0039", 2301 TXT_INTERIOR 2302 ); 2303 static TemplateTypeClass const WALL0040( 2304 TEMPLATE_WALL0040, 2305 THEATERF_INTERIOR, 2306 "WALL0040", 2307 TXT_INTERIOR 2308 ); 2309 static TemplateTypeClass const WALL0041( 2310 TEMPLATE_WALL0041, 2311 THEATERF_INTERIOR, 2312 "WALL0041", 2313 TXT_INTERIOR 2314 ); 2315 static TemplateTypeClass const WALL0042( 2316 TEMPLATE_WALL0042, 2317 THEATERF_INTERIOR, 2318 "WALL0042", 2319 TXT_INTERIOR 2320 ); 2321 static TemplateTypeClass const WALL0043( 2322 TEMPLATE_WALL0043, 2323 THEATERF_INTERIOR, 2324 "WALL0043", 2325 TXT_INTERIOR 2326 ); 2327 static TemplateTypeClass const WALL0044( 2328 TEMPLATE_WALL0044, 2329 THEATERF_INTERIOR, 2330 "WALL0044", 2331 TXT_INTERIOR 2332 ); 2333 static TemplateTypeClass const WALL0045( 2334 TEMPLATE_WALL0045, 2335 THEATERF_INTERIOR, 2336 "WALL0045", 2337 TXT_INTERIOR 2338 ); 2339 static TemplateTypeClass const WALL0046( 2340 TEMPLATE_WALL0046, 2341 THEATERF_INTERIOR, 2342 "WALL0046", 2343 TXT_INTERIOR 2344 ); 2345 static TemplateTypeClass const WALL0047( 2346 TEMPLATE_WALL0047, 2347 THEATERF_INTERIOR, 2348 "WALL0047", 2349 TXT_INTERIOR 2350 ); 2351 static TemplateTypeClass const WALL0048( 2352 TEMPLATE_WALL0048, 2353 THEATERF_INTERIOR, 2354 "WALL0048", 2355 TXT_INTERIOR 2356 ); 2357 static TemplateTypeClass const WALL0049( 2358 TEMPLATE_WALL0049, 2359 THEATERF_INTERIOR, 2360 "WALL0049", 2361 TXT_INTERIOR 2362 ); 2363 2364 static TemplateTypeClass const Xtra0001( 2365 TEMPLATE_XTRA0001, 2366 THEATERF_INTERIOR, 2367 "XTRA0001", 2368 TXT_INTERIOR 2369 ); 2370 static TemplateTypeClass const Xtra0002( 2371 TEMPLATE_XTRA0002, 2372 THEATERF_INTERIOR, 2373 "XTRA0002", 2374 TXT_INTERIOR 2375 ); 2376 static TemplateTypeClass const Xtra0003( 2377 TEMPLATE_XTRA0003, 2378 THEATERF_INTERIOR, 2379 "XTRA0003", 2380 TXT_INTERIOR 2381 ); 2382 static TemplateTypeClass const Xtra0004( 2383 TEMPLATE_XTRA0004, 2384 THEATERF_INTERIOR, 2385 "XTRA0004", 2386 TXT_INTERIOR 2387 ); 2388 static TemplateTypeClass const Xtra0005( 2389 TEMPLATE_XTRA0005, 2390 THEATERF_INTERIOR, 2391 "XTRA0005", 2392 TXT_INTERIOR 2393 ); 2394 static TemplateTypeClass const Xtra0006( 2395 TEMPLATE_XTRA0006, 2396 THEATERF_INTERIOR, 2397 "XTRA0006", 2398 TXT_INTERIOR 2399 ); 2400 static TemplateTypeClass const Xtra0007( 2401 TEMPLATE_XTRA0007, 2402 THEATERF_INTERIOR, 2403 "XTRA0007", 2404 TXT_INTERIOR 2405 ); 2406 static TemplateTypeClass const Xtra0008( 2407 TEMPLATE_XTRA0008, 2408 THEATERF_INTERIOR, 2409 "XTRA0008", 2410 TXT_INTERIOR 2411 ); 2412 static TemplateTypeClass const Xtra0009( 2413 TEMPLATE_XTRA0009, 2414 THEATERF_INTERIOR, 2415 "XTRA0009", 2416 TXT_INTERIOR 2417 ); 2418 static TemplateTypeClass const Xtra0010( 2419 TEMPLATE_XTRA0010, 2420 THEATERF_INTERIOR, 2421 "XTRA0010", 2422 TXT_INTERIOR 2423 ); 2424 static TemplateTypeClass const Xtra0011( 2425 TEMPLATE_XTRA0011, 2426 THEATERF_INTERIOR, 2427 "XTRA0011", 2428 TXT_INTERIOR 2429 ); 2430 static TemplateTypeClass const Xtra0012( 2431 TEMPLATE_XTRA0012, 2432 THEATERF_INTERIOR, 2433 "XTRA0012", 2434 TXT_INTERIOR 2435 ); 2436 static TemplateTypeClass const Xtra0013( 2437 TEMPLATE_XTRA0013, 2438 THEATERF_INTERIOR, 2439 "XTRA0013", 2440 TXT_INTERIOR 2441 ); 2442 static TemplateTypeClass const Xtra0014( 2443 TEMPLATE_XTRA0014, 2444 THEATERF_INTERIOR, 2445 "XTRA0014", 2446 TXT_INTERIOR 2447 ); 2448 static TemplateTypeClass const Xtra0015( 2449 TEMPLATE_XTRA0015, 2450 THEATERF_INTERIOR, 2451 "XTRA0015", 2452 TXT_INTERIOR 2453 ); 2454 static TemplateTypeClass const Xtra0016( 2455 TEMPLATE_XTRA0016, 2456 THEATERF_INTERIOR, 2457 "XTRA0016", 2458 TXT_INTERIOR 2459 ); 2460 2461 #ifdef FIXIT_ANTS 2462 static TemplateTypeClass const AntHill( 2463 TEMPLATE_HILL01, 2464 THEATERF_TEMPERATE, 2465 "HILL01", 2466 TXT_ROCK 2467 ); 2468 #endif 2469 2470 /*********************************************************************************************** 2471 * TemplateTypeClass::TemplateTypeClass -- Constructor for template type objects. * 2472 * * 2473 * This is the constructor for the template types. * 2474 * * 2475 * INPUT: see below... * 2476 * * 2477 * OUTPUT: none * 2478 * * 2479 * WARNINGS: none * 2480 * * 2481 * HISTORY: * 2482 * 07/29/1994 JLB : Created. * 2483 *=============================================================================================*/ 2484 TemplateTypeClass::TemplateTypeClass( 2485 TemplateType iconset, 2486 int theater, 2487 char const * ininame, 2488 int fullname) : 2489 ObjectTypeClass( 2490 RTTI_TEMPLATETYPE, 2491 int(iconset), 2492 false, 2493 true, 2494 false, 2495 false, 2496 true, 2497 true, 2498 false, 2499 fullname, 2500 ininame), 2501 Type(iconset), 2502 Theater(theater), 2503 Width(0), 2504 Height(0) 2505 { 2506 } 2507 2508 2509 /*********************************************************************************************** 2510 * TemplateTypeClass::operator new -- Allocates a template type from special heap. * 2511 * * 2512 * This allocates a template type object from the special heap used for that purpose. * 2513 * * 2514 * INPUT: none * 2515 * * 2516 * OUTPUT: Returns with a pointer to the newly allocated template type object. If no object * 2517 * could be allocated, then NULL is returned. * 2518 * * 2519 * WARNINGS: none * 2520 * * 2521 * HISTORY: * 2522 * 07/06/1996 JLB : Created. * 2523 *=============================================================================================*/ 2524 void * TemplateTypeClass::operator new(size_t) 2525 { 2526 return(TemplateTypes.Alloc()); 2527 } 2528 2529 2530 /*********************************************************************************************** 2531 * TemplateTypeClass::operator delete -- Deletes a template type object. * 2532 * * 2533 * This routine will return a template type object back to the special heap it was * 2534 * allocated from. * 2535 * * 2536 * INPUT: ptr -- Pointer to the template type object to free. * 2537 * * 2538 * OUTPUT: none * 2539 * * 2540 * WARNINGS: none * 2541 * * 2542 * HISTORY: * 2543 * 07/06/1996 JLB : Created. * 2544 *=============================================================================================*/ 2545 void TemplateTypeClass::operator delete(void * ptr) 2546 { 2547 TemplateTypes.Free((TemplateTypeClass *)ptr); 2548 } 2549 2550 2551 static void _Watcom_Ugh_Hack(void) 2552 { 2553 (void)new TemplateTypeClass(Road37); // TEMPLATE_ROAD37 2554 (void)new TemplateTypeClass(Road38); // TEMPLATE_ROAD38 2555 (void)new TemplateTypeClass(Road39); // TEMPLATE_ROAD39 2556 (void)new TemplateTypeClass(Road40); // TEMPLATE_ROAD40 2557 (void)new TemplateTypeClass(Road41); // TEMPLATE_ROAD41 2558 (void)new TemplateTypeClass(Road42); // TEMPLATE_ROAD42 2559 (void)new TemplateTypeClass(Road43); // TEMPLATE_ROAD43 2560 (void)new TemplateTypeClass(Rough01); // TEMPLATE_ROUGH01 2561 (void)new TemplateTypeClass(Rough02); // TEMPLATE_ROUGH02 2562 (void)new TemplateTypeClass(Rough03); // TEMPLATE_ROUGH03 2563 (void)new TemplateTypeClass(Rough04); // TEMPLATE_ROUGH04 2564 (void)new TemplateTypeClass(Rough05); // TEMPLATE_ROUGH05 2565 (void)new TemplateTypeClass(Rough06); // TEMPLATE_ROUGH06 2566 (void)new TemplateTypeClass(Rough07); // TEMPLATE_ROUGH07 2567 (void)new TemplateTypeClass(Rough08); // TEMPLATE_ROUGH08 2568 (void)new TemplateTypeClass(Rough09); // TEMPLATE_ROUGH09 2569 (void)new TemplateTypeClass(Rough10); // TEMPLATE_ROUGH10 2570 (void)new TemplateTypeClass(Rough11); // TEMPLATE_ROUGH11 2571 (void)new TemplateTypeClass(Road44); // TEMPLATE_ROAD44 2572 (void)new TemplateTypeClass(Road45); // TEMPLATE_ROAD45 2573 (void)new TemplateTypeClass(River14); // TEMPLATE_RIVER14 2574 (void)new TemplateTypeClass(River15); // TEMPLATE_RIVER15 2575 (void)new TemplateTypeClass(RiverCliff01); // TEMPLATE_RIVERCLIFF01 2576 (void)new TemplateTypeClass(RiverCliff02); // TEMPLATE_RIVERCLIFF02 2577 (void)new TemplateTypeClass(RiverCliff03); // TEMPLATE_RIVERCLIFF03 2578 (void)new TemplateTypeClass(RiverCliff04); // TEMPLATE_RIVERCLIFF04 2579 (void)new TemplateTypeClass(Bridge1a); // TEMPLATE_BRIDGE_1A 2580 (void)new TemplateTypeClass(Bridge1b); // TEMPLATE_BRIDGE_1B 2581 (void)new TemplateTypeClass(Bridge1c); // TEMPLATE_BRIDGE_1C 2582 (void)new TemplateTypeClass(Bridge2a); // TEMPLATE_BRIDGE_2A 2583 (void)new TemplateTypeClass(Bridge2b); // TEMPLATE_BRIDGE_2B 2584 (void)new TemplateTypeClass(Bridge2c); // TEMPLATE_BRIDGE_2C 2585 (void)new TemplateTypeClass(Bridge3a); // TEMPLATE_BRIDGE_3A 2586 (void)new TemplateTypeClass(Bridge3b); // TEMPLATE_BRIDGE_3B 2587 (void)new TemplateTypeClass(Bridge3c); // TEMPLATE_BRIDGE_3C 2588 (void)new TemplateTypeClass(Bridge3d); // TEMPLATE_BRIDGE_3D 2589 (void)new TemplateTypeClass(Bridge3e); // TEMPLATE_BRIDGE_3E 2590 (void)new TemplateTypeClass(Bridge3f); // TEMPLATE_BRIDGE_3F 2591 (void)new TemplateTypeClass(F01); // TEMPLATE_F01 2592 (void)new TemplateTypeClass(F02); // TEMPLATE_F02 2593 (void)new TemplateTypeClass(F03); // TEMPLATE_F03 2594 (void)new TemplateTypeClass(F04); // TEMPLATE_F04 2595 (void)new TemplateTypeClass(F05); // TEMPLATE_F05 2596 (void)new TemplateTypeClass(F06); // TEMPLATE_F06 2597 (void)new TemplateTypeClass(ARRO0001); // TEMPLATE_ARRO0001 2598 (void)new TemplateTypeClass(ARRO0002); // TEMPLATE_ARRO0002 2599 (void)new TemplateTypeClass(ARRO0003); // TEMPLATE_ARRO0003 2600 (void)new TemplateTypeClass(ARRO0004); // TEMPLATE_ARRO0004 2601 (void)new TemplateTypeClass(ARRO0005); // TEMPLATE_ARRO0005 2602 (void)new TemplateTypeClass(ARRO0006); // TEMPLATE_ARRO0006 2603 (void)new TemplateTypeClass(ARRO0007); // TEMPLATE_ARRO0007 2604 (void)new TemplateTypeClass(ARRO0008); // TEMPLATE_ARRO0008 2605 (void)new TemplateTypeClass(ARRO0009); // TEMPLATE_ARRO0009 2606 (void)new TemplateTypeClass(ARRO0010); // TEMPLATE_ARRO0010 2607 (void)new TemplateTypeClass(ARRO0011); // TEMPLATE_ARRO0011 2608 (void)new TemplateTypeClass(ARRO0012); // TEMPLATE_ARRO0012 2609 (void)new TemplateTypeClass(ARRO0013); // TEMPLATE_ARRO0013 2610 (void)new TemplateTypeClass(ARRO0014); // TEMPLATE_ARRO0014 2611 (void)new TemplateTypeClass(ARRO0015); // TEMPLATE_ARRO0015 2612 (void)new TemplateTypeClass(FLOR0001); // TEMPLATE_FLOR0001 2613 (void)new TemplateTypeClass(FLOR0002); // TEMPLATE_FLOR0002 2614 (void)new TemplateTypeClass(FLOR0003); // TEMPLATE_FLOR0003 2615 (void)new TemplateTypeClass(FLOR0004); // TEMPLATE_FLOR0004 2616 (void)new TemplateTypeClass(FLOR0005); // TEMPLATE_FLOR0005 2617 (void)new TemplateTypeClass(FLOR0006); // TEMPLATE_FLOR0006 2618 (void)new TemplateTypeClass(FLOR0007); // TEMPLATE_FLOR0007 2619 (void)new TemplateTypeClass(GFLR0001); // TEMPLATE_GFLR0001 2620 (void)new TemplateTypeClass(GFLR0002); // TEMPLATE_GFLR0002 2621 (void)new TemplateTypeClass(GFLR0003); // TEMPLATE_GFLR0003 2622 (void)new TemplateTypeClass(GFLR0004); // TEMPLATE_GFLR0004 2623 (void)new TemplateTypeClass(GFLR0005); // TEMPLATE_GFLR0005 2624 (void)new TemplateTypeClass(GSTR0001); // TEMPLATE_GSTR0001 2625 (void)new TemplateTypeClass(GSTR0002); // TEMPLATE_GSTR0002 2626 (void)new TemplateTypeClass(GSTR0003); // TEMPLATE_GSTR0003 2627 (void)new TemplateTypeClass(GSTR0004); // TEMPLATE_GSTR0004 2628 (void)new TemplateTypeClass(GSTR0005); // TEMPLATE_GSTR0005 2629 (void)new TemplateTypeClass(GSTR0006); // TEMPLATE_GSTR0006 2630 (void)new TemplateTypeClass(GSTR0007); // TEMPLATE_GSTR0007 2631 (void)new TemplateTypeClass(GSTR0008); // TEMPLATE_GSTR0008 2632 (void)new TemplateTypeClass(GSTR0009); // TEMPLATE_GSTR0009 2633 (void)new TemplateTypeClass(GSTR0010); // TEMPLATE_GSTR0010 2634 (void)new TemplateTypeClass(GSTR0011); // TEMPLATE_GSTR0011 2635 (void)new TemplateTypeClass(LWAL0001); // TEMPLATE_LWAL0001 2636 (void)new TemplateTypeClass(LWAL0002); // TEMPLATE_LWAL0002 2637 (void)new TemplateTypeClass(LWAL0003); // TEMPLATE_LWAL0003 2638 (void)new TemplateTypeClass(LWAL0004); // TEMPLATE_LWAL0004 2639 (void)new TemplateTypeClass(LWAL0005); // TEMPLATE_LWAL0005 2640 (void)new TemplateTypeClass(LWAL0006); // TEMPLATE_LWAL0006 2641 (void)new TemplateTypeClass(LWAL0007); // TEMPLATE_LWAL0007 2642 (void)new TemplateTypeClass(LWAL0008); // TEMPLATE_LWAL0008 2643 (void)new TemplateTypeClass(LWAL0009); // TEMPLATE_LWAL0009 2644 (void)new TemplateTypeClass(LWAL0010); // TEMPLATE_LWAL0010 2645 (void)new TemplateTypeClass(LWAL0011); // TEMPLATE_LWAL0011 2646 (void)new TemplateTypeClass(LWAL0012); // TEMPLATE_LWAL0012 2647 (void)new TemplateTypeClass(LWAL0013); // TEMPLATE_LWAL0013 2648 (void)new TemplateTypeClass(LWAL0014); // TEMPLATE_LWAL0014 2649 (void)new TemplateTypeClass(LWAL0015); // TEMPLATE_LWAL0015 2650 (void)new TemplateTypeClass(LWAL0016); // TEMPLATE_LWAL0016 2651 (void)new TemplateTypeClass(LWAL0017); // TEMPLATE_LWAL0017 2652 (void)new TemplateTypeClass(LWAL0018); // TEMPLATE_LWAL0018 2653 (void)new TemplateTypeClass(LWAL0019); // TEMPLATE_LWAL0019 2654 (void)new TemplateTypeClass(LWAL0020); // TEMPLATE_LWAL0020 2655 (void)new TemplateTypeClass(LWAL0021); // TEMPLATE_LWAL0021 2656 (void)new TemplateTypeClass(LWAL0022); // TEMPLATE_LWAL0022 2657 (void)new TemplateTypeClass(LWAL0023); // TEMPLATE_LWAL0023 2658 (void)new TemplateTypeClass(LWAL0024); // TEMPLATE_LWAL0024 2659 (void)new TemplateTypeClass(LWAL0025); // TEMPLATE_LWAL0025 2660 (void)new TemplateTypeClass(LWAL0026); // TEMPLATE_LWAL0026 2661 (void)new TemplateTypeClass(LWAL0027); // TEMPLATE_LWAL0027 2662 (void)new TemplateTypeClass(STRP0001); // TEMPLATE_STRP0001 2663 (void)new TemplateTypeClass(STRP0002); // TEMPLATE_STRP0002 2664 (void)new TemplateTypeClass(STRP0003); // TEMPLATE_STRP0003 2665 (void)new TemplateTypeClass(STRP0004); // TEMPLATE_STRP0004 2666 (void)new TemplateTypeClass(STRP0005); // TEMPLATE_STRP0005 2667 (void)new TemplateTypeClass(STRP0006); // TEMPLATE_STRP0006 2668 (void)new TemplateTypeClass(STRP0007); // TEMPLATE_STRP0007 2669 (void)new TemplateTypeClass(STRP0008); // TEMPLATE_STRP0008 2670 (void)new TemplateTypeClass(STRP0009); // TEMPLATE_STRP0009 2671 (void)new TemplateTypeClass(STRP0010); // TEMPLATE_STRP0010 2672 (void)new TemplateTypeClass(STRP0011); // TEMPLATE_STRP0011 2673 (void)new TemplateTypeClass(WALL0001); // TEMPLATE_WALL0001 2674 (void)new TemplateTypeClass(WALL0002); // TEMPLATE_WALL0002 2675 (void)new TemplateTypeClass(WALL0003); // TEMPLATE_WALL0003 2676 (void)new TemplateTypeClass(WALL0004); // TEMPLATE_WALL0004 2677 (void)new TemplateTypeClass(WALL0005); // TEMPLATE_WALL0005 2678 (void)new TemplateTypeClass(WALL0006); // TEMPLATE_WALL0006 2679 (void)new TemplateTypeClass(WALL0007); // TEMPLATE_WALL0007 2680 (void)new TemplateTypeClass(WALL0008); // TEMPLATE_WALL0008 2681 (void)new TemplateTypeClass(WALL0009); // TEMPLATE_WALL0009 2682 (void)new TemplateTypeClass(WALL0010); // TEMPLATE_WALL0010 2683 (void)new TemplateTypeClass(WALL0011); // TEMPLATE_WALL0011 2684 (void)new TemplateTypeClass(WALL0012); // TEMPLATE_WALL0012 2685 (void)new TemplateTypeClass(WALL0013); // TEMPLATE_WALL0013 2686 (void)new TemplateTypeClass(WALL0014); // TEMPLATE_WALL0014 2687 (void)new TemplateTypeClass(WALL0015); // TEMPLATE_WALL0015 2688 (void)new TemplateTypeClass(WALL0016); // TEMPLATE_WALL0016 2689 (void)new TemplateTypeClass(WALL0017); // TEMPLATE_WALL0017 2690 (void)new TemplateTypeClass(WALL0018); // TEMPLATE_WALL0018 2691 (void)new TemplateTypeClass(WALL0019); // TEMPLATE_WALL0019 2692 (void)new TemplateTypeClass(WALL0020); // TEMPLATE_WALL0020 2693 (void)new TemplateTypeClass(WALL0021); // TEMPLATE_WALL0021 2694 (void)new TemplateTypeClass(WALL0022); // TEMPLATE_WALL0022 2695 (void)new TemplateTypeClass(WALL0023); // TEMPLATE_WALL0023 2696 (void)new TemplateTypeClass(WALL0024); // TEMPLATE_WALL0024 2697 (void)new TemplateTypeClass(WALL0025); // TEMPLATE_WALL0025 2698 (void)new TemplateTypeClass(WALL0026); // TEMPLATE_WALL0026 2699 (void)new TemplateTypeClass(WALL0027); // TEMPLATE_WALL0027 2700 (void)new TemplateTypeClass(WALL0028); // TEMPLATE_WALL0028 2701 (void)new TemplateTypeClass(WALL0029); // TEMPLATE_WALL0029 2702 (void)new TemplateTypeClass(WALL0030); // TEMPLATE_WALL0030 2703 (void)new TemplateTypeClass(WALL0031); // TEMPLATE_WALL0031 2704 (void)new TemplateTypeClass(WALL0032); // TEMPLATE_WALL0032 2705 (void)new TemplateTypeClass(WALL0033); // TEMPLATE_WALL0033 2706 (void)new TemplateTypeClass(WALL0034); // TEMPLATE_WALL0034 2707 (void)new TemplateTypeClass(WALL0035); // TEMPLATE_WALL0035 2708 (void)new TemplateTypeClass(WALL0036); // TEMPLATE_WALL0036 2709 (void)new TemplateTypeClass(WALL0037); // TEMPLATE_WALL0037 2710 (void)new TemplateTypeClass(WALL0038); // TEMPLATE_WALL0038 2711 (void)new TemplateTypeClass(WALL0039); // TEMPLATE_WALL0039 2712 (void)new TemplateTypeClass(WALL0040); // TEMPLATE_WALL0040 2713 (void)new TemplateTypeClass(WALL0041); // TEMPLATE_WALL0041 2714 (void)new TemplateTypeClass(WALL0042); // TEMPLATE_WALL0042 2715 (void)new TemplateTypeClass(WALL0043); // TEMPLATE_WALL0043 2716 (void)new TemplateTypeClass(WALL0044); // TEMPLATE_WALL0044 2717 (void)new TemplateTypeClass(WALL0045); // TEMPLATE_WALL0045 2718 (void)new TemplateTypeClass(WALL0046); // TEMPLATE_WALL0046 2719 (void)new TemplateTypeClass(WALL0047); // TEMPLATE_WALL0047 2720 (void)new TemplateTypeClass(WALL0048); // TEMPLATE_WALL0048 2721 (void)new TemplateTypeClass(WALL0049); // TEMPLATE_WALL0049 2722 (void)new TemplateTypeClass(Bridge1h); // TEMPLATE_BRIDGE1H 2723 (void)new TemplateTypeClass(Bridge2h); // TEMPLATE_BRIDGE2H 2724 2725 (void)new TemplateTypeClass(Bridge1ax); // TEMPLATE_BRIDGE_1AX 2726 (void)new TemplateTypeClass(Bridge2ax); // TEMPLATE_BRIDGE_2AX 2727 (void)new TemplateTypeClass(Bridge1x); // TEMPLATE_BRIDGE1X 2728 (void)new TemplateTypeClass(Bridge2x); // TEMPLATE_BRIDGE2X 2729 2730 (void)new TemplateTypeClass(Xtra0001); // TEMPLATE_XTRA0001 2731 (void)new TemplateTypeClass(Xtra0002); // TEMPLATE_XTRA0002 2732 (void)new TemplateTypeClass(Xtra0003); // TEMPLATE_XTRA0003 2733 (void)new TemplateTypeClass(Xtra0004); // TEMPLATE_XTRA0004 2734 (void)new TemplateTypeClass(Xtra0005); // TEMPLATE_XTRA0005 2735 (void)new TemplateTypeClass(Xtra0006); // TEMPLATE_XTRA0006 2736 (void)new TemplateTypeClass(Xtra0007); // TEMPLATE_XTRA0007 2737 (void)new TemplateTypeClass(Xtra0008); // TEMPLATE_XTRA0008 2738 (void)new TemplateTypeClass(Xtra0009); // TEMPLATE_XTRA0009 2739 (void)new TemplateTypeClass(Xtra0010); // TEMPLATE_XTRA0010 2740 (void)new TemplateTypeClass(Xtra0011); // TEMPLATE_XTRA0011 2741 (void)new TemplateTypeClass(Xtra0012); // TEMPLATE_XTRA0012 2742 (void)new TemplateTypeClass(Xtra0013); // TEMPLATE_XTRA0013 2743 (void)new TemplateTypeClass(Xtra0014); // TEMPLATE_XTRA0014 2744 (void)new TemplateTypeClass(Xtra0015); // TEMPLATE_XTRA0015 2745 (void)new TemplateTypeClass(Xtra0016); // TEMPLATE_XTRA0016 2746 2747 #ifdef FIXIT_ANTS 2748 (void)new TemplateTypeClass(AntHill); // TEMPLATE_ROAD36 2749 #endif 2750 } 2751 2752 2753 2754 void TemplateTypeClass::Init_Heap(void) 2755 { 2756 /* 2757 ** These template type class objects must be allocated in the exact order that they 2758 ** are specified in the TemplateType enumeration. This is necessary because the heap 2759 ** allocation block index serves double duty as the type number index. 2760 */ 2761 (void)new TemplateTypeClass(Clear); // TEMPLATE_CLEAR1 2762 (void)new TemplateTypeClass(Water); // TEMPLATE_WATER 2763 (void)new TemplateTypeClass(Water2); // TEMPLATE_WATER2 2764 (void)new TemplateTypeClass(Shore01); // TEMPLATE_SHORE1 2765 (void)new TemplateTypeClass(Shore02); // TEMPLATE_SHORE2 2766 (void)new TemplateTypeClass(Shore03); // TEMPLATE_SHORE3 2767 (void)new TemplateTypeClass(Shore04); // TEMPLATE_SHORE4 2768 (void)new TemplateTypeClass(Shore05); // TEMPLATE_SHORE5 2769 (void)new TemplateTypeClass(Shore06); // TEMPLATE_SHORE6 2770 (void)new TemplateTypeClass(Shore07); // TEMPLATE_SHORE7 2771 (void)new TemplateTypeClass(Shore08); // TEMPLATE_SHORE8 2772 (void)new TemplateTypeClass(Shore09); // TEMPLATE_SHORE9 2773 (void)new TemplateTypeClass(Shore10); // TEMPLATE_SHORE10 2774 (void)new TemplateTypeClass(Shore11); // TEMPLATE_SHORE11 2775 (void)new TemplateTypeClass(Shore12); // TEMPLATE_SHORE12 2776 (void)new TemplateTypeClass(Shore13); // TEMPLATE_SHORE13 2777 (void)new TemplateTypeClass(Shore14); // TEMPLATE_SHORE14 2778 (void)new TemplateTypeClass(Shore15); // TEMPLATE_SHORE15 2779 (void)new TemplateTypeClass(Shore16); // TEMPLATE_SHORE16 2780 (void)new TemplateTypeClass(Shore17); // TEMPLATE_SHORE17 2781 (void)new TemplateTypeClass(Shore18); // TEMPLATE_SHORE18 2782 (void)new TemplateTypeClass(Shore19); // TEMPLATE_SHORE19 2783 (void)new TemplateTypeClass(Shore20); // TEMPLATE_SHORE20 2784 (void)new TemplateTypeClass(Shore21); // TEMPLATE_SHORE21 2785 (void)new TemplateTypeClass(Shore22); // TEMPLATE_SHORE22 2786 (void)new TemplateTypeClass(Shore23); // TEMPLATE_SHORE23 2787 (void)new TemplateTypeClass(Shore24); // TEMPLATE_SHORE24 2788 (void)new TemplateTypeClass(Shore25); // TEMPLATE_SHORE25 2789 (void)new TemplateTypeClass(Shore26); // TEMPLATE_SHORE26 2790 (void)new TemplateTypeClass(Shore27); // TEMPLATE_SHORE27 2791 (void)new TemplateTypeClass(Shore28); // TEMPLATE_SHORE28 2792 (void)new TemplateTypeClass(Shore29); // TEMPLATE_SHORE29 2793 (void)new TemplateTypeClass(Shore30); // TEMPLATE_SHORE30 2794 (void)new TemplateTypeClass(Shore31); // TEMPLATE_SHORE31 2795 (void)new TemplateTypeClass(Shore32); // TEMPLATE_SHORE32 2796 (void)new TemplateTypeClass(Shore33); // TEMPLATE_SHORE33 2797 (void)new TemplateTypeClass(Shore34); // TEMPLATE_SHORE34 2798 (void)new TemplateTypeClass(Shore35); // TEMPLATE_SHORE35 2799 (void)new TemplateTypeClass(Shore36); // TEMPLATE_SHORE36 2800 (void)new TemplateTypeClass(Shore37); // TEMPLATE_SHORE37 2801 (void)new TemplateTypeClass(Shore38); // TEMPLATE_SHORE38 2802 (void)new TemplateTypeClass(Shore39); // TEMPLATE_SHORE39 2803 (void)new TemplateTypeClass(Shore40); // TEMPLATE_SHORE40 2804 (void)new TemplateTypeClass(Shore41); // TEMPLATE_SHORE41 2805 (void)new TemplateTypeClass(Shore42); // TEMPLATE_SHORE42 2806 (void)new TemplateTypeClass(Shore43); // TEMPLATE_SHORE43 2807 (void)new TemplateTypeClass(Shore44); // TEMPLATE_SHORE44 2808 (void)new TemplateTypeClass(Shore45); // TEMPLATE_SHORE45 2809 (void)new TemplateTypeClass(Shore46); // TEMPLATE_SHORE46 2810 (void)new TemplateTypeClass(Shore47); // TEMPLATE_SHORE47 2811 (void)new TemplateTypeClass(Shore48); // TEMPLATE_SHORE48 2812 (void)new TemplateTypeClass(Shore49); // TEMPLATE_SHORE49 2813 (void)new TemplateTypeClass(Shore50); // TEMPLATE_SHORE50 2814 (void)new TemplateTypeClass(Shore51); // TEMPLATE_SHORE51 2815 (void)new TemplateTypeClass(Shore52); // TEMPLATE_SHORE52 2816 (void)new TemplateTypeClass(Shore53); // TEMPLATE_SHORE53 2817 (void)new TemplateTypeClass(Shore54); // TEMPLATE_SHORE54 2818 (void)new TemplateTypeClass(Shore55); // TEMPLATE_SHORE55 2819 (void)new TemplateTypeClass(Shore56); // TEMPLATE_SHORE56 2820 (void)new TemplateTypeClass(ShoreCliff01); // TEMPLATE_SHORECLIFF01 2821 (void)new TemplateTypeClass(ShoreCliff02); // TEMPLATE_SHORECLIFF02 2822 (void)new TemplateTypeClass(ShoreCliff03); // TEMPLATE_SHORECLIFF03 2823 (void)new TemplateTypeClass(ShoreCliff04); // TEMPLATE_SHORECLIFF04 2824 (void)new TemplateTypeClass(ShoreCliff05); // TEMPLATE_SHORECLIFF05 2825 (void)new TemplateTypeClass(ShoreCliff06); // TEMPLATE_SHORECLIFF06 2826 (void)new TemplateTypeClass(ShoreCliff07); // TEMPLATE_SHORECLIFF07 2827 (void)new TemplateTypeClass(ShoreCliff08); // TEMPLATE_SHORECLIFF08 2828 (void)new TemplateTypeClass(ShoreCliff09); // TEMPLATE_SHORECLIFF09 2829 (void)new TemplateTypeClass(ShoreCliff10); // TEMPLATE_SHORECLIFF10 2830 (void)new TemplateTypeClass(ShoreCliff11); // TEMPLATE_SHORECLIFF11 2831 (void)new TemplateTypeClass(ShoreCliff12); // TEMPLATE_SHORECLIFF12 2832 (void)new TemplateTypeClass(ShoreCliff13); // TEMPLATE_SHORECLIFF13 2833 (void)new TemplateTypeClass(ShoreCliff14); // TEMPLATE_SHORECLIFF14 2834 (void)new TemplateTypeClass(ShoreCliff15); // TEMPLATE_SHORECLIFF15 2835 (void)new TemplateTypeClass(ShoreCliff16); // TEMPLATE_SHORECLIFF16 2836 (void)new TemplateTypeClass(ShoreCliff17); // TEMPLATE_SHORECLIFF17 2837 (void)new TemplateTypeClass(ShoreCliff18); // TEMPLATE_SHORECLIFF18 2838 (void)new TemplateTypeClass(ShoreCliff19); // TEMPLATE_SHORECLIFF19 2839 (void)new TemplateTypeClass(ShoreCliff20); // TEMPLATE_SHORECLIFF20 2840 (void)new TemplateTypeClass(ShoreCliff21); // TEMPLATE_SHORECLIFF21 2841 (void)new TemplateTypeClass(ShoreCliff22); // TEMPLATE_SHORECLIFF22 2842 (void)new TemplateTypeClass(ShoreCliff23); // TEMPLATE_SHORECLIFF23 2843 (void)new TemplateTypeClass(ShoreCliff24); // TEMPLATE_SHORECLIFF24 2844 (void)new TemplateTypeClass(ShoreCliff25); // TEMPLATE_SHORECLIFF25 2845 (void)new TemplateTypeClass(ShoreCliff26); // TEMPLATE_SHORECLIFF26 2846 (void)new TemplateTypeClass(ShoreCliff27); // TEMPLATE_SHORECLIFF27 2847 (void)new TemplateTypeClass(ShoreCliff28); // TEMPLATE_SHORECLIFF28 2848 (void)new TemplateTypeClass(ShoreCliff29); // TEMPLATE_SHORECLIFF29 2849 (void)new TemplateTypeClass(ShoreCliff30); // TEMPLATE_SHORECLIFF30 2850 (void)new TemplateTypeClass(ShoreCliff31); // TEMPLATE_SHORECLIFF31 2851 (void)new TemplateTypeClass(ShoreCliff32); // TEMPLATE_SHORECLIFF32 2852 (void)new TemplateTypeClass(ShoreCliff33); // TEMPLATE_SHORECLIFF33 2853 (void)new TemplateTypeClass(ShoreCliff34); // TEMPLATE_SHORECLIFF34 2854 (void)new TemplateTypeClass(ShoreCliff35); // TEMPLATE_SHORECLIFF35 2855 (void)new TemplateTypeClass(ShoreCliff36); // TEMPLATE_SHORECLIFF36 2856 (void)new TemplateTypeClass(ShoreCliff37); // TEMPLATE_SHORECLIFF37 2857 (void)new TemplateTypeClass(ShoreCliff38); // TEMPLATE_SHORECLIFF38 2858 (void)new TemplateTypeClass(Boulder1); // TEMPLATE_BOULDER1 2859 (void)new TemplateTypeClass(Boulder2); // TEMPLATE_BOULDER2 2860 (void)new TemplateTypeClass(Boulder3); // TEMPLATE_BOULDER3 2861 (void)new TemplateTypeClass(Boulder4); // TEMPLATE_BOULDER4 2862 (void)new TemplateTypeClass(Boulder5); // TEMPLATE_BOULDER5 2863 (void)new TemplateTypeClass(Boulder6); // TEMPLATE_BOULDER6 2864 (void)new TemplateTypeClass(Patch01); // TEMPLATE_PATCH1 2865 (void)new TemplateTypeClass(Patch02); // TEMPLATE_PATCH2 2866 (void)new TemplateTypeClass(Patch03); // TEMPLATE_PATCH3 2867 (void)new TemplateTypeClass(Patch04); // TEMPLATE_PATCH4 2868 (void)new TemplateTypeClass(Patch07); // TEMPLATE_PATCH7 2869 (void)new TemplateTypeClass(Patch08); // TEMPLATE_PATCH8 2870 (void)new TemplateTypeClass(Patch13); // TEMPLATE_PATCH13 2871 (void)new TemplateTypeClass(Patch14); // TEMPLATE_PATCH14 2872 (void)new TemplateTypeClass(Patch15); // TEMPLATE_PATCH15 2873 (void)new TemplateTypeClass(River01); // TEMPLATE_RIVER1 2874 (void)new TemplateTypeClass(River02); // TEMPLATE_RIVER2 2875 (void)new TemplateTypeClass(River03); // TEMPLATE_RIVER3 2876 (void)new TemplateTypeClass(River04); // TEMPLATE_RIVER4 2877 (void)new TemplateTypeClass(River05); // TEMPLATE_RIVER5 2878 (void)new TemplateTypeClass(River06); // TEMPLATE_RIVER6 2879 (void)new TemplateTypeClass(River07); // TEMPLATE_RIVER7 2880 (void)new TemplateTypeClass(River08); // TEMPLATE_RIVER8 2881 (void)new TemplateTypeClass(River09); // TEMPLATE_RIVER9 2882 (void)new TemplateTypeClass(River10); // TEMPLATE_RIVER10 2883 (void)new TemplateTypeClass(River11); // TEMPLATE_RIVER11 2884 (void)new TemplateTypeClass(River12); // TEMPLATE_RIVER12 2885 (void)new TemplateTypeClass(River13); // TEMPLATE_RIVER13 2886 (void)new TemplateTypeClass(Falls1); // TEMPLATE_FALLS1 2887 (void)new TemplateTypeClass(Falls1a); // TEMPLATE_FALLS1A 2888 (void)new TemplateTypeClass(Falls2); // TEMPLATE_FALLS2 2889 (void)new TemplateTypeClass(Falls2a); // TEMPLATE_FALLS2A 2890 (void)new TemplateTypeClass(Ford1); // TEMPLATE_FORD1 2891 (void)new TemplateTypeClass(Ford2); // TEMPLATE_FORD2 2892 (void)new TemplateTypeClass(Bridge1); // TEMPLATE_BRIDGE1 2893 (void)new TemplateTypeClass(Bridge1d); // TEMPLATE_BRIDGE1D 2894 (void)new TemplateTypeClass(Bridge2); // TEMPLATE_BRIDGE2 2895 (void)new TemplateTypeClass(Bridge2d); // TEMPLATE_BRIDGE2D 2896 (void)new TemplateTypeClass(Slope01); // TEMPLATE_SLOPE1 2897 (void)new TemplateTypeClass(Slope02); // TEMPLATE_SLOPE2 2898 (void)new TemplateTypeClass(Slope03); // TEMPLATE_SLOPE3 2899 (void)new TemplateTypeClass(Slope04); // TEMPLATE_SLOPE4 2900 (void)new TemplateTypeClass(Slope05); // TEMPLATE_SLOPE5 2901 (void)new TemplateTypeClass(Slope06); // TEMPLATE_SLOPE6 2902 (void)new TemplateTypeClass(Slope07); // TEMPLATE_SLOPE7 2903 (void)new TemplateTypeClass(Slope08); // TEMPLATE_SLOPE8 2904 (void)new TemplateTypeClass(Slope09); // TEMPLATE_SLOPE9 2905 (void)new TemplateTypeClass(Slope10); // TEMPLATE_SLOPE10 2906 (void)new TemplateTypeClass(Slope11); // TEMPLATE_SLOPE11 2907 (void)new TemplateTypeClass(Slope12); // TEMPLATE_SLOPE12 2908 (void)new TemplateTypeClass(Slope13); // TEMPLATE_SLOPE13 2909 (void)new TemplateTypeClass(Slope14); // TEMPLATE_SLOPE14 2910 (void)new TemplateTypeClass(Slope15); // TEMPLATE_SLOPE15 2911 (void)new TemplateTypeClass(Slope16); // TEMPLATE_SLOPE16 2912 (void)new TemplateTypeClass(Slope17); // TEMPLATE_SLOPE17 2913 (void)new TemplateTypeClass(Slope18); // TEMPLATE_SLOPE18 2914 (void)new TemplateTypeClass(Slope19); // TEMPLATE_SLOPE19 2915 (void)new TemplateTypeClass(Slope20); // TEMPLATE_SLOPE20 2916 (void)new TemplateTypeClass(Slope21); // TEMPLATE_SLOPE21 2917 (void)new TemplateTypeClass(Slope22); // TEMPLATE_SLOPE22 2918 (void)new TemplateTypeClass(Slope23); // TEMPLATE_SLOPE23 2919 (void)new TemplateTypeClass(Slope24); // TEMPLATE_SLOPE24 2920 (void)new TemplateTypeClass(Slope25); // TEMPLATE_SLOPE25 2921 (void)new TemplateTypeClass(Slope26); // TEMPLATE_SLOPE26 2922 (void)new TemplateTypeClass(Slope27); // TEMPLATE_SLOPE27 2923 (void)new TemplateTypeClass(Slope28); // TEMPLATE_SLOPE28 2924 (void)new TemplateTypeClass(Slope29); // TEMPLATE_SLOPE29 2925 (void)new TemplateTypeClass(Slope30); // TEMPLATE_SLOPE30 2926 (void)new TemplateTypeClass(Slope31); // TEMPLATE_SLOPE31 2927 (void)new TemplateTypeClass(Slope32); // TEMPLATE_SLOPE32 2928 (void)new TemplateTypeClass(Slope33); // TEMPLATE_SLOPE33 2929 (void)new TemplateTypeClass(Slope34); // TEMPLATE_SLOPE34 2930 (void)new TemplateTypeClass(Slope35); // TEMPLATE_SLOPE35 2931 (void)new TemplateTypeClass(Slope36); // TEMPLATE_SLOPE36 2932 (void)new TemplateTypeClass(Slope37); // TEMPLATE_SLOPE37 2933 (void)new TemplateTypeClass(Slope38); // TEMPLATE_SLOPE38 2934 (void)new TemplateTypeClass(Road01); // TEMPLATE_ROAD1 2935 (void)new TemplateTypeClass(Road02); // TEMPLATE_ROAD2 2936 (void)new TemplateTypeClass(Road03); // TEMPLATE_ROAD3 2937 (void)new TemplateTypeClass(Road04); // TEMPLATE_ROAD4 2938 (void)new TemplateTypeClass(Road05); // TEMPLATE_ROAD5 2939 (void)new TemplateTypeClass(Road06); // TEMPLATE_ROAD6 2940 (void)new TemplateTypeClass(Road07); // TEMPLATE_ROAD7 2941 (void)new TemplateTypeClass(Road08); // TEMPLATE_ROAD8 2942 (void)new TemplateTypeClass(Road09); // TEMPLATE_ROAD9 2943 (void)new TemplateTypeClass(Road10); // TEMPLATE_ROAD10 2944 (void)new TemplateTypeClass(Road11); // TEMPLATE_ROAD11 2945 (void)new TemplateTypeClass(Road12); // TEMPLATE_ROAD12 2946 (void)new TemplateTypeClass(Road13); // TEMPLATE_ROAD13 2947 (void)new TemplateTypeClass(Road14); // TEMPLATE_ROAD14 2948 (void)new TemplateTypeClass(Road15); // TEMPLATE_ROAD15 2949 (void)new TemplateTypeClass(Road16); // TEMPLATE_ROAD16 2950 (void)new TemplateTypeClass(Road17); // TEMPLATE_ROAD17 2951 (void)new TemplateTypeClass(Road18); // TEMPLATE_ROAD18 2952 (void)new TemplateTypeClass(Road19); // TEMPLATE_ROAD19 2953 (void)new TemplateTypeClass(Road20); // TEMPLATE_ROAD20 2954 (void)new TemplateTypeClass(Road21); // TEMPLATE_ROAD21 2955 (void)new TemplateTypeClass(Road22); // TEMPLATE_ROAD22 2956 (void)new TemplateTypeClass(Road23); // TEMPLATE_ROAD23 2957 (void)new TemplateTypeClass(Road24); // TEMPLATE_ROAD24 2958 (void)new TemplateTypeClass(Road25); // TEMPLATE_ROAD25 2959 (void)new TemplateTypeClass(Road26); // TEMPLATE_ROAD26 2960 (void)new TemplateTypeClass(Road27); // TEMPLATE_ROAD27 2961 (void)new TemplateTypeClass(Road28); // TEMPLATE_ROAD28 2962 (void)new TemplateTypeClass(Road29); // TEMPLATE_ROAD29 2963 (void)new TemplateTypeClass(Road30); // TEMPLATE_ROAD30 2964 (void)new TemplateTypeClass(Road31); // TEMPLATE_ROAD31 2965 (void)new TemplateTypeClass(Road32); // TEMPLATE_ROAD32 2966 (void)new TemplateTypeClass(Road33); // TEMPLATE_ROAD33 2967 (void)new TemplateTypeClass(Road34); // TEMPLATE_ROAD34 2968 (void)new TemplateTypeClass(Road35); // TEMPLATE_ROAD35 2969 (void)new TemplateTypeClass(Road36); // TEMPLATE_ROAD36 2970 2971 /* 2972 ** Separate out the list of new operator calls. Watcom bombs 2973 ** if they are kept together. 2974 */ 2975 _Watcom_Ugh_Hack(); 2976 } 2977 2978 2979 /*********************************************************************************************** 2980 * TemplateTypeClass::Land_Type -- Determines land type from template and icon number. * 2981 * * 2982 * This routine will convert the specified icon number into the appropriate land type. The * 2983 * land type can be determined from the embedded colors in the "control template" section * 2984 * of the original art file. This control information is encoded into the icon data file * 2985 * to be retrieved and interpreted as the program sees fit. The engine only recognizes * 2986 * the first 16 colors as control colors, so the control map color value serves as an * 2987 * index into a simple lookup table. * 2988 * * 2989 * INPUT: icon -- The icon number within this template that is to be examined and used * 2990 * to determine the land type. * 2991 * * 2992 * OUTPUT: Returns with the land type that corresponds to the icon number specified. * 2993 * * 2994 * WARNINGS: none * 2995 * * 2996 * HISTORY: * 2997 * 12/12/1995 JLB : Created. * 2998 *=============================================================================================*/ 2999 LandType TemplateTypeClass::Land_Type(int icon) const 3000 { 3001 IconsetClass const * icontrol = (IconsetClass const *)Get_Image_Data(); 3002 3003 if (icontrol != NULL) { 3004 unsigned char const * map = icontrol->Control_Map(); 3005 if (map != NULL) { 3006 static LandType _land[16] = { 3007 LAND_CLEAR, 3008 LAND_CLEAR, 3009 LAND_CLEAR, 3010 LAND_CLEAR, // Clear 3011 LAND_CLEAR, 3012 LAND_CLEAR, 3013 LAND_BEACH, // Beach 3014 LAND_CLEAR, 3015 LAND_ROCK, // Rock 3016 LAND_ROAD, // Road 3017 LAND_WATER, // Water 3018 LAND_RIVER, // River 3019 LAND_CLEAR, 3020 LAND_CLEAR, 3021 LAND_ROUGH, // Rough 3022 LAND_CLEAR, 3023 }; 3024 3025 return(_land[map[icon % (icontrol->Map_Width() * icontrol->Map_Height())]]); 3026 } 3027 } 3028 return(LAND_CLEAR); 3029 } 3030 3031 3032 /*********************************************************************************************** 3033 * TemplateTypeClass::From_Name -- Determine template from ASCII name. * 3034 * * 3035 * This routine is used to determine the template number given only * 3036 * an ASCII representation. The scenario loader uses this routine * 3037 * to construct the map from the INI control file. * 3038 * * 3039 * INPUT: name -- Pointer to the ASCII name of the template. * 3040 * * 3041 * OUTPUT: Returns with the template number. If the name had no match, * 3042 * then returns with TEMPLATE_NONE. * 3043 * * 3044 * WARNINGS: none * 3045 * * 3046 * HISTORY: * 3047 * 05/23/1994 JLB : Created. * 3048 *=============================================================================================*/ 3049 TemplateType TemplateTypeClass::From_Name(char const * name) 3050 { 3051 if (name != NULL) { 3052 for (TemplateType index = TEMPLATE_FIRST; index < TEMPLATE_COUNT; index++) { 3053 if (stricmp(As_Reference(index).IniName, name) == 0) { 3054 return(index); 3055 } 3056 } 3057 } 3058 return(TEMPLATE_NONE); 3059 } 3060 3061 3062 /*********************************************************************************************** 3063 * TemplateTypeClass::Occupy_List -- Determines occupation list. * 3064 * * 3065 * This routine is used to examine the template map and build an * 3066 * occupation list. This list is used to render a template cursor as * 3067 * well as placement of icon numbers. * 3068 * * 3069 * INPUT: placement -- Is this for placement legality checking only? The normal condition * 3070 * is for marking occupation flags. * 3071 * * 3072 * OUTPUT: Returns with a pointer to the template occupation list. * 3073 * * 3074 * WARNINGS: The return pointer is valid only until the next time that * 3075 * this routine is called. * 3076 * * 3077 * HISTORY: * 3078 * 05/23/1994 JLB : Created. * 3079 * 12/12/1995 JLB : Optimized for direct access to iconset data. * 3080 *=============================================================================================*/ 3081 short const * TemplateTypeClass::Occupy_List(bool) const 3082 { 3083 static short _occupy[13*8+5]; 3084 short * ptr; 3085 3086 IconsetClass const * iconset = (IconsetClass const *)Get_Image_Data(); 3087 unsigned char const * map = iconset->Map_Data(); 3088 3089 ptr = &_occupy[0]; 3090 for (int index = 0; index < Width * Height; index++) { 3091 if (*map++ != 0xFF) { 3092 *ptr++ = (index % Width) + ((index / Width)*MAP_CELL_W); 3093 } 3094 } 3095 *ptr = REFRESH_EOL; 3096 3097 return((short const *)&_occupy[0]); 3098 } 3099 3100 3101 /*********************************************************************************************** 3102 * TemplateTypeClass::Init -- Loads graphic data for templates. * 3103 * * 3104 * This routine loads the template graphic data for all the template * 3105 * type supported for the specified theater. This routine is called * 3106 * whenever the theater for the scenario is first determined. * 3107 * * 3108 * INPUT: theater -- The theater that the template data is to be * 3109 * loaded for. * 3110 * * 3111 * OUTPUT: none * 3112 * * 3113 * WARNINGS: This routine goes to disk! * 3114 * * 3115 * HISTORY: * 3116 * 05/23/1994 JLB : Created. * 3117 * 06/02/1994 JLB : Only handles iconset loading now (as it should). * 3118 *=============================================================================================*/ 3119 void TemplateTypeClass::Init(TheaterType theater) 3120 { 3121 char fullname[_MAX_FNAME+_MAX_EXT]; // Fully constructed iconset name. 3122 void const * ptr; // Working loaded iconset pointer. 3123 3124 for (TemplateType index = TEMPLATE_FIRST; index < TEMPLATE_COUNT; index++) { 3125 TemplateTypeClass const & tplate = As_Reference(index); 3126 3127 ((void const *&)tplate.ImageData) = NULL; 3128 if (tplate.Theater & (1<<theater)) { 3129 _makepath(fullname, NULL, NULL, tplate.IniName, Theaters[theater].Suffix); 3130 ptr = MFCD::Retrieve(fullname); 3131 ((void const *&)tplate.ImageData) = ptr; 3132 3133 #ifdef WIN32 3134 Register_Icon_Set((void*)ptr, TRUE); //Register icon set for video memory caching 3135 #endif 3136 3137 ((unsigned char &)tplate.Width) = Get_IconSet_MapWidth(ptr); 3138 ((unsigned char &)tplate.Height) = Get_IconSet_MapHeight(ptr); 3139 } 3140 } 3141 } 3142 3143 3144 #ifdef SCENARIO_EDITOR 3145 /*********************************************************************************************** 3146 * TemplateTypeClass::Display -- Displays a generic representation of template. * 3147 * * 3148 * This routine is used to display a generic view of the template * 3149 * object. This is necessary for selection in the scenario editor. * 3150 * * 3151 * INPUT: x,y -- The coordinates to center the display about. * 3152 * * 3153 * window-- The window to base the coordinates upon. * 3154 * * 3155 * OUTPUT: none * 3156 * * 3157 * WARNINGS: none * 3158 * * 3159 * HISTORY: * 3160 * 05/23/1994 JLB : Created. * 3161 *=============================================================================================*/ 3162 void TemplateTypeClass::Display(int x, int y, WindowNumberType window, HousesType ) const 3163 { 3164 int w,h; 3165 int index; 3166 bool scale; // Should the template be half sized? 3167 3168 w = Bound(Width, 1, 13); 3169 h = Bound(Height, 1, 8); 3170 scale = (w > 3 || h > 3); 3171 if (scale) { 3172 x -= (w * ICON_PIXEL_W) / 4; 3173 y -= (h * ICON_PIXEL_H) / 4; 3174 } else { 3175 x -= (w * ICON_PIXEL_W) / 2; 3176 y -= (h * ICON_PIXEL_H) / 2; 3177 } 3178 x += WindowList[window][WINDOWX]; 3179 y += WindowList[window][WINDOWY]; 3180 3181 IconsetClass const * iconset = (IconsetClass const *)Get_Image_Data(); 3182 unsigned char const * map = iconset->Map_Data(); 3183 3184 for (index = 0; index < w*h; index++) { 3185 if (map[index] != 0xFF) { 3186 HidPage.Draw_Stamp(iconset, index, 0, 0, NULL, WINDOW_MAIN); 3187 if (scale) { 3188 3189 HidPage.Scale((*LogicPage), 0, 0, 3190 x + ((index % w)*(ICON_PIXEL_W/2)), 3191 y + ((index / w)*(ICON_PIXEL_H/2)), 3192 ICON_PIXEL_W, ICON_PIXEL_H, 3193 ICON_PIXEL_W/2, ICON_PIXEL_H/2, (char *)NULL); 3194 3195 } else { 3196 HidPage.Blit((*LogicPage), 0, 0, x + ((index % w)*(ICON_PIXEL_W)), 3197 y + ((index / w)*(ICON_PIXEL_H)), ICON_PIXEL_W, ICON_PIXEL_H); 3198 } 3199 } 3200 } 3201 } 3202 3203 3204 /*********************************************************************************************** 3205 * TemplateTypeClass::Prep_For_Add -- Prepares to add template to scenario. * 3206 * * 3207 * This routine prepares a list of template objects so that the * 3208 * scenario editor can use this list to display a dialog box. The * 3209 * selection of a template object will allow its placement upon the * 3210 * map. * 3211 * * 3212 * INPUT: none * 3213 * * 3214 * OUTPUT: none * 3215 * * 3216 * WARNINGS: none * 3217 * * 3218 * HISTORY: * 3219 * 05/23/1994 JLB : Created. * 3220 * 05/28/1994 JLB : Only handles real templates now. * 3221 * 06/04/1994 JLB : Uses map editing interface functions. * 3222 *=============================================================================================*/ 3223 void TemplateTypeClass::Prep_For_Add(void) 3224 { 3225 for (TemplateType index = TEMPLATE_CLEAR1; index < TEMPLATE_COUNT; index++) { 3226 if (As_Reference(index).Get_Image_Data()) { 3227 Map.Add_To_List(&As_Reference(index)); 3228 } 3229 } 3230 } 3231 #endif 3232 3233 3234 /*********************************************************************************************** 3235 * TemplateTypeClass::Create_And_Place -- Creates and places a template object on the map. * 3236 * * 3237 * This support routine is used by the scenario editor to add a template object to the map * 3238 * and to the game. * 3239 * * 3240 * INPUT: cell -- The cell to place the template object. * 3241 * * 3242 * OUTPUT: bool; Was the template object placed successfully? * 3243 * * 3244 * WARNINGS: none * 3245 * * 3246 * HISTORY: * 3247 * 05/28/1994 JLB : Created. * 3248 *=============================================================================================*/ 3249 bool TemplateTypeClass::Create_And_Place(CELL cell, HousesType ) const 3250 { 3251 if (new TemplateClass(Type, cell)) { 3252 return(true); 3253 } 3254 return(false); 3255 } 3256 3257 3258 /*********************************************************************************************** 3259 * TemplateTypeClass::Create_One_Of -- Creates an object of this template type. * 3260 * * 3261 * This routine will create an object of this type. For certain template objects, such * 3262 * as walls, it is actually created as a building. The "building" wall is converted into * 3263 * a template at the moment of placing down on the map. * 3264 * * 3265 * INPUT: none * 3266 * * 3267 * OUTPUT: Returns with a pointer to the appropriate object for this template type. * 3268 * * 3269 * WARNINGS: none * 3270 * * 3271 * HISTORY: * 3272 * 06/18/1994 JLB : Created. * 3273 *=============================================================================================*/ 3274 ObjectClass * TemplateTypeClass::Create_One_Of(HouseClass *) const 3275 { 3276 return(new TemplateClass(Type, -1)); 3277 } 3278 3279 3280 /*********************************************************************************************** 3281 * TemplateTypeClass::One_Time -- Performs one-time initialization * 3282 * * 3283 * INPUT: none * 3284 * * 3285 * OUTPUT: none * 3286 * * 3287 * WARNINGS: none * 3288 * * 3289 * HISTORY: * 3290 * 08/12/1994 JLB : Created. * 3291 *=============================================================================================*/ 3292 void TemplateTypeClass::One_Time(void) 3293 { 3294 } 3295 3296 3297 /*********************************************************************************************** 3298 * TemplateTypeClass::As_Reference -- Fetches a reference to the template specified. * 3299 * * 3300 * This will return a reference to the TemplateTypeClass requested. * 3301 * * 3302 * INPUT: type -- The template type to fetch a reference to. * 3303 * * 3304 * OUTPUT: Returns with a reference to the template type class specified. * 3305 * * 3306 * WARNINGS: Be sure to pass a valid type parameter. This routine doesn't check it for * 3307 * legality. * 3308 * * 3309 * HISTORY: * 3310 * 07/03/1996 JLB : Created. * 3311 *=============================================================================================*/ 3312 TemplateTypeClass & TemplateTypeClass::As_Reference(TemplateType type) 3313 { 3314 return(*TemplateTypes.Ptr(type)); 3315 } 3316 3317 3318 COORDINATE TemplateTypeClass::Coord_Fixup(COORDINATE coord) const 3319 { 3320 return Coord_Whole(coord); 3321 }