CDATA.CPP 64 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770
  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. // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed
  9. // in the hope that it will be useful, but with permitted additional restrictions
  10. // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT
  11. // distributed with this program. You should have received a copy of the
  12. // GNU General Public License along with permitted additional restrictions
  13. // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection
  14. /* $Header: F:\projects\c&c\vcs\code\cdata.cpv 2.18 16 Oct 1995 16:50:22 JOE_BOSTIC $ */
  15. /***********************************************************************************************
  16. *** 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 ***
  17. ***********************************************************************************************
  18. * *
  19. * Project Name : Command & Conquer *
  20. * *
  21. * File Name : CDATA.CPP *
  22. * *
  23. * Programmer : Joe L. Bostic *
  24. * *
  25. * Start Date : May 16, 1994 *
  26. * *
  27. * Last Update : July 29, 1994 [JLB] *
  28. * *
  29. *---------------------------------------------------------------------------------------------*
  30. * Functions: *
  31. * TemplateTypeClass::Create_And_Place -- Creates and places a template object on the map. *
  32. * TemplateTypeClass::Create_One_Of -- Creates an object of this template type. *
  33. * TemplateTypeClass::Display -- Displays a generic representation of template. *
  34. * TemplateTypeClass::From_Name -- Determine template from ASCII name. *
  35. * TemplateTypeClass::Init -- Loads graphic data for templates. *
  36. * TemplateTypeClass::Occupy_List -- Determines occupation list. *
  37. * TemplateTypeClass::One_Time -- Performs one-time initialization *
  38. * TemplateTypeClass::Prep_For_Add -- Prepares to add template to scenario. *
  39. * TemplateTypeClass::TemplateTypeClass -- Constructor for template type objects. *
  40. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  41. #include "function.h"
  42. static char const _slope00000001[] = {7,-1};
  43. static char const _slope000000101[] = {6,8,-1};
  44. static char const _slope00000011[] = {6,7,-1};
  45. static char const _slope0000001[] = {6,-1};
  46. static char const _slope000001001[] = {5,8,-1};
  47. static char const _slope000001[] = {5,-1};
  48. static char const _slope000101[] = {3,5,-1};
  49. static char const _slope00011010000100000001000011[] = {3,4,6,11,19,25,25,-1};
  50. static char const _slope00011010010100100001000011[] = {3,4,6,9,11,14,19,24,25,-1};
  51. static char const _slope0001[] = {3,-1};
  52. static char const _slope001001001[] = {2,5,8,-1};
  53. static char const _slope00110000000011[] = {2,3,12,13,-1};
  54. static char const _slope00110010010011[] = {2,3,6,9,12,13,-1};
  55. static char const _slope001111001[] = {2,3,4,5,8,-1};
  56. static char const _slope0011[] = {2,3,-1};
  57. static char const _slope001[] = {2,-1};
  58. static char const _slope01000000000000000000001[] = {1,22,-1};
  59. static char const _slope01000000100000010000001[] = {1,8,15,22,-1};
  60. static char const _slope0111[] = {1,2,3,-1};
  61. static char const _slope01[] = {1,-1};
  62. static char const _slope1001001[] = {0,3,6,-1};
  63. static char const _slope1001[] = {0,3,-1};
  64. static char const _slope1100000000000000001100011[] = {0,1,18,19,23,24,-1};
  65. static char const _slope1100001000001000001100011[] = {0,1,6,12,18,19,23,24,-1};
  66. static char const _slope1101101[] = {0,1,3,4,6,-1};
  67. static char const _slope1101[] = {0,1,3,-1};
  68. static char const _slope111[] = {0,1,2,-1};
  69. static char const _slope111010011[] = {0,1,2,4,7,8,-1};
  70. static char const _slope11101[] = {0,1,2,4,-1};
  71. static char const _slope111111011[] = {0,1,2,3,4,5,7,8,-1};
  72. static char const _slope11111111[] = {0,1,2,3,4,5,6,7,-1};
  73. static char const _slope111111[] = {0,1,2,3,4,5,-1};
  74. static char const _slope1[] = {0,-1};
  75. static TemplateTypeClass const Empty(
  76. TEMPLATE_CLEAR1,
  77. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE|THEATERF_JUNGLE,
  78. "CLEAR1",
  79. TXT_CLEAR,
  80. LAND_CLEAR,
  81. 1,1,
  82. LAND_CLEAR,
  83. NULL
  84. );
  85. static TemplateTypeClass const Clear(
  86. TEMPLATE_CLEAR1,
  87. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE|THEATERF_JUNGLE,
  88. "CLEAR1",
  89. TXT_CLEAR,
  90. LAND_CLEAR,
  91. 1,1,
  92. LAND_CLEAR,
  93. NULL
  94. );
  95. static TemplateTypeClass const Road1(
  96. TEMPLATE_ROAD1,
  97. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  98. "D01",
  99. TXT_ROAD,
  100. LAND_CLEAR,
  101. 2,2,
  102. LAND_CLEAR,
  103. NULL
  104. );
  105. static TemplateTypeClass const Road2(
  106. TEMPLATE_ROAD2,
  107. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  108. "D02",
  109. TXT_ROAD,
  110. LAND_CLEAR,
  111. 2,2,
  112. LAND_CLEAR,
  113. NULL
  114. );
  115. static TemplateTypeClass const Road3(
  116. TEMPLATE_ROAD3,
  117. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  118. "D03",
  119. TXT_ROAD,
  120. LAND_CLEAR,
  121. 1,2,
  122. LAND_CLEAR,
  123. NULL
  124. );
  125. static TemplateTypeClass const Road4(
  126. TEMPLATE_ROAD4,
  127. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  128. "D04",
  129. TXT_ROAD,
  130. LAND_CLEAR,
  131. 2,2,
  132. LAND_CLEAR,
  133. NULL
  134. );
  135. static TemplateTypeClass const Road5(
  136. TEMPLATE_ROAD5,
  137. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  138. "D05",
  139. TXT_ROAD,
  140. LAND_CLEAR,
  141. 3,4,
  142. LAND_CLEAR,
  143. NULL
  144. );
  145. static TemplateTypeClass const Road6(
  146. TEMPLATE_ROAD6,
  147. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  148. "D06",
  149. TXT_ROAD,
  150. LAND_CLEAR,
  151. 2,3,
  152. LAND_CLEAR,
  153. NULL
  154. );
  155. static TemplateTypeClass const Road7(
  156. TEMPLATE_ROAD7,
  157. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  158. "D07",
  159. TXT_ROAD,
  160. LAND_CLEAR,
  161. 3,2,
  162. LAND_CLEAR,
  163. NULL
  164. );
  165. static TemplateTypeClass const Road8(
  166. TEMPLATE_ROAD8,
  167. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  168. "D08",
  169. TXT_ROAD,
  170. LAND_CLEAR,
  171. 3,2,
  172. LAND_CLEAR,
  173. NULL
  174. );
  175. static TemplateTypeClass const Road9(
  176. TEMPLATE_ROAD9,
  177. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  178. "D09",
  179. TXT_ROAD,
  180. LAND_CLEAR,
  181. 4,3,
  182. LAND_CLEAR,
  183. NULL
  184. );
  185. static TemplateTypeClass const Road10(
  186. TEMPLATE_ROAD10,
  187. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  188. "D10",
  189. TXT_ROAD,
  190. LAND_CLEAR,
  191. 4,2,
  192. LAND_CLEAR,
  193. NULL
  194. );
  195. static TemplateTypeClass const Road11(
  196. TEMPLATE_ROAD11,
  197. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  198. "D11",
  199. TXT_ROAD,
  200. LAND_CLEAR,
  201. 2,3,
  202. LAND_CLEAR,
  203. NULL
  204. );
  205. static TemplateTypeClass const Road12(
  206. TEMPLATE_ROAD12,
  207. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  208. "D12",
  209. TXT_ROAD,
  210. LAND_CLEAR,
  211. 2,2,
  212. LAND_CLEAR,
  213. NULL
  214. );
  215. static TemplateTypeClass const Road13(
  216. TEMPLATE_ROAD13,
  217. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  218. "D13",
  219. TXT_ROAD,
  220. LAND_CLEAR,
  221. 4,3,
  222. LAND_CLEAR,
  223. NULL
  224. );
  225. static TemplateTypeClass const Road14(
  226. TEMPLATE_ROAD14,
  227. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  228. "D14",
  229. TXT_ROAD,
  230. LAND_CLEAR,
  231. 3,3,
  232. LAND_CLEAR,
  233. NULL
  234. );
  235. static TemplateTypeClass const Road15(
  236. TEMPLATE_ROAD15,
  237. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  238. "D15",
  239. TXT_ROAD,
  240. LAND_CLEAR,
  241. 3,3,
  242. LAND_CLEAR,
  243. NULL
  244. );
  245. static TemplateTypeClass const Road16(
  246. TEMPLATE_ROAD16,
  247. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  248. "D16",
  249. TXT_ROAD,
  250. LAND_CLEAR,
  251. 3,3,
  252. LAND_CLEAR,
  253. NULL
  254. );
  255. static TemplateTypeClass const Road17(
  256. TEMPLATE_ROAD17,
  257. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  258. "D17",
  259. TXT_ROAD,
  260. LAND_CLEAR,
  261. 3,2,
  262. LAND_CLEAR,
  263. NULL
  264. );
  265. static TemplateTypeClass const Road18(
  266. TEMPLATE_ROAD18,
  267. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  268. "D18",
  269. TXT_ROAD,
  270. LAND_CLEAR,
  271. 3,3,
  272. LAND_CLEAR,
  273. NULL
  274. );
  275. static TemplateTypeClass const Road19(
  276. TEMPLATE_ROAD19,
  277. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  278. "D19",
  279. TXT_ROAD,
  280. LAND_CLEAR,
  281. 3,3,
  282. LAND_CLEAR,
  283. NULL
  284. );
  285. static TemplateTypeClass const Road20(
  286. TEMPLATE_ROAD20,
  287. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  288. "D20",
  289. TXT_ROAD,
  290. LAND_CLEAR,
  291. 3,3,
  292. LAND_CLEAR,
  293. NULL
  294. );
  295. static TemplateTypeClass const Road21(
  296. TEMPLATE_ROAD21,
  297. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  298. "D21",
  299. TXT_ROAD,
  300. LAND_CLEAR,
  301. 3,2,
  302. LAND_CLEAR,
  303. NULL
  304. );
  305. static TemplateTypeClass const Road22(
  306. TEMPLATE_ROAD22,
  307. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  308. "D22",
  309. TXT_ROAD,
  310. LAND_CLEAR,
  311. 3,3,
  312. LAND_CLEAR,
  313. NULL
  314. );
  315. static TemplateTypeClass const Road23(
  316. TEMPLATE_ROAD23,
  317. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  318. "D23",
  319. TXT_ROAD,
  320. LAND_CLEAR,
  321. 3,3,
  322. LAND_CLEAR,
  323. NULL
  324. );
  325. static TemplateTypeClass const Road24(
  326. TEMPLATE_ROAD24,
  327. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  328. "D24",
  329. TXT_ROAD,
  330. LAND_CLEAR,
  331. 3,3,
  332. LAND_CLEAR,
  333. NULL
  334. );
  335. static TemplateTypeClass const Road25(
  336. TEMPLATE_ROAD25,
  337. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  338. "D25",
  339. TXT_ROAD,
  340. LAND_CLEAR,
  341. 3,3,
  342. LAND_CLEAR,
  343. NULL
  344. );
  345. static TemplateTypeClass const Road26(
  346. TEMPLATE_ROAD26,
  347. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  348. "D26",
  349. TXT_ROAD,
  350. LAND_CLEAR,
  351. 2,2,
  352. LAND_CLEAR,
  353. NULL
  354. );
  355. static TemplateTypeClass const Road27(
  356. TEMPLATE_ROAD27,
  357. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  358. "D27",
  359. TXT_ROAD,
  360. LAND_CLEAR,
  361. 2,2,
  362. LAND_CLEAR,
  363. NULL
  364. );
  365. static TemplateTypeClass const Road28(
  366. TEMPLATE_ROAD28,
  367. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  368. "D28",
  369. TXT_ROAD,
  370. LAND_CLEAR,
  371. 2,2,
  372. LAND_CLEAR,
  373. NULL
  374. );
  375. static TemplateTypeClass const Road29(
  376. TEMPLATE_ROAD29,
  377. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  378. "D29",
  379. TXT_ROAD,
  380. LAND_CLEAR,
  381. 2,2,
  382. LAND_CLEAR,
  383. NULL
  384. );
  385. static TemplateTypeClass const Road30(
  386. TEMPLATE_ROAD30,
  387. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  388. "D30",
  389. TXT_ROAD,
  390. LAND_CLEAR,
  391. 2,2,
  392. LAND_CLEAR,
  393. NULL
  394. );
  395. static TemplateTypeClass const Road31(
  396. TEMPLATE_ROAD31,
  397. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  398. "D31",
  399. TXT_ROAD,
  400. LAND_CLEAR,
  401. 2,2,
  402. LAND_CLEAR,
  403. NULL
  404. );
  405. static TemplateTypeClass const Road32(
  406. TEMPLATE_ROAD32,
  407. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  408. "D32",
  409. TXT_ROAD,
  410. LAND_CLEAR,
  411. 2,2,
  412. LAND_CLEAR,
  413. NULL
  414. );
  415. static TemplateTypeClass const Road33(
  416. TEMPLATE_ROAD33,
  417. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  418. "D33",
  419. TXT_ROAD,
  420. LAND_CLEAR,
  421. 2,2,
  422. LAND_CLEAR,
  423. NULL
  424. );
  425. static TemplateTypeClass const Road34(
  426. TEMPLATE_ROAD34,
  427. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  428. "D34",
  429. TXT_ROAD,
  430. LAND_CLEAR,
  431. 3,3,
  432. LAND_CLEAR,
  433. NULL
  434. );
  435. static TemplateTypeClass const Road35(
  436. TEMPLATE_ROAD35,
  437. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  438. "D35",
  439. TXT_ROAD,
  440. LAND_CLEAR,
  441. 3,3,
  442. LAND_CLEAR,
  443. NULL
  444. );
  445. static TemplateTypeClass const Road36(
  446. TEMPLATE_ROAD36,
  447. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  448. "D36",
  449. TXT_ROAD,
  450. LAND_CLEAR,
  451. 2,2,
  452. LAND_CLEAR,
  453. NULL
  454. );
  455. static TemplateTypeClass const Road37(
  456. TEMPLATE_ROAD37,
  457. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  458. "D37",
  459. TXT_ROAD,
  460. LAND_CLEAR,
  461. 2,2,
  462. LAND_CLEAR,
  463. NULL
  464. );
  465. static TemplateTypeClass const Road38(
  466. TEMPLATE_ROAD38,
  467. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  468. "D38",
  469. TXT_ROAD,
  470. LAND_CLEAR,
  471. 2,2,
  472. LAND_CLEAR,
  473. NULL
  474. );
  475. static TemplateTypeClass const Road39(
  476. TEMPLATE_ROAD39,
  477. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  478. "D39",
  479. TXT_ROAD,
  480. LAND_CLEAR,
  481. 2,2,
  482. LAND_CLEAR,
  483. NULL
  484. );
  485. static TemplateTypeClass const Road40(
  486. TEMPLATE_ROAD40,
  487. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  488. "D40",
  489. TXT_ROAD,
  490. LAND_CLEAR,
  491. 2,2,
  492. LAND_CLEAR,
  493. NULL
  494. );
  495. static TemplateTypeClass const Road41(
  496. TEMPLATE_ROAD41,
  497. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  498. "D41",
  499. TXT_ROAD,
  500. LAND_CLEAR,
  501. 2,2,
  502. LAND_CLEAR,
  503. NULL
  504. );
  505. static TemplateTypeClass const Road42(
  506. TEMPLATE_ROAD42,
  507. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  508. "D42",
  509. TXT_ROAD,
  510. LAND_CLEAR,
  511. 2,2,
  512. LAND_CLEAR,
  513. NULL
  514. );
  515. static TemplateTypeClass const Road43(
  516. TEMPLATE_ROAD43,
  517. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  518. "D43",
  519. TXT_ROAD,
  520. LAND_CLEAR,
  521. 2,2,
  522. LAND_CLEAR,
  523. NULL
  524. );
  525. static TemplateTypeClass const Water(
  526. TEMPLATE_WATER,
  527. THEATERF_WINTER|THEATERF_TEMPERATE|THEATERF_DESERT,
  528. "W1",
  529. TXT_WATER,
  530. LAND_WATER,
  531. 1,1,
  532. LAND_WATER,
  533. NULL
  534. );
  535. static TemplateTypeClass const Water2(
  536. TEMPLATE_WATER2,
  537. THEATERF_WINTER|THEATERF_TEMPERATE,
  538. "W2",
  539. TXT_WATER,
  540. LAND_WATER,
  541. 2,2,
  542. LAND_WATER,
  543. NULL
  544. );
  545. static TemplateTypeClass const Shore1(
  546. TEMPLATE_SHORE1,
  547. THEATERF_WINTER|THEATERF_TEMPERATE,
  548. "SH1",
  549. TXT_WATER,
  550. LAND_WATER,
  551. 3,3,
  552. LAND_BEACH,
  553. (char const *)_slope111111
  554. );
  555. static TemplateTypeClass const Shore2(
  556. TEMPLATE_SHORE2,
  557. THEATERF_WINTER|THEATERF_TEMPERATE,
  558. "SH2",
  559. TXT_WATER,
  560. LAND_ROCK,
  561. 3,3,
  562. LAND_BEACH,
  563. (char const *)_slope111
  564. );
  565. static TemplateTypeClass const Shore3(
  566. TEMPLATE_SHORE3,
  567. THEATERF_WINTER|THEATERF_TEMPERATE,
  568. "SH3",
  569. TXT_WATER,
  570. LAND_ROCK,
  571. 1,1,
  572. LAND_WATER,
  573. NULL
  574. );
  575. static TemplateTypeClass const Shore4(
  576. TEMPLATE_SHORE4,
  577. THEATERF_WINTER|THEATERF_TEMPERATE,
  578. "SH4",
  579. TXT_WATER,
  580. LAND_ROCK,
  581. 2,1,
  582. LAND_WATER,
  583. NULL
  584. );
  585. static TemplateTypeClass const Shore5(
  586. TEMPLATE_SHORE5,
  587. THEATERF_WINTER|THEATERF_TEMPERATE,
  588. "SH5",
  589. TXT_WATER,
  590. LAND_WATER,
  591. 3,3,
  592. LAND_BEACH,
  593. (char const *)_slope111111
  594. );
  595. static TemplateTypeClass const Shore6(
  596. TEMPLATE_SHORE6,
  597. THEATERF_WINTER|THEATERF_TEMPERATE,
  598. "SH6",
  599. TXT_WATER,
  600. LAND_WATER,
  601. 3,3,
  602. LAND_BEACH,
  603. (char const *)_slope111111
  604. );
  605. static TemplateTypeClass const Shore7(
  606. TEMPLATE_SHORE7,
  607. THEATERF_WINTER|THEATERF_TEMPERATE,
  608. "SH7",
  609. TXT_WATER,
  610. LAND_WATER,
  611. 2,2,
  612. LAND_BEACH,
  613. (char const *)_slope1
  614. );
  615. static TemplateTypeClass const Shore8(
  616. TEMPLATE_SHORE8,
  617. THEATERF_WINTER|THEATERF_TEMPERATE,
  618. "SH8",
  619. TXT_WATER,
  620. LAND_WATER,
  621. 3,3,
  622. LAND_BEACH,
  623. (char const *)_slope11111111
  624. );
  625. static TemplateTypeClass const Shore9(
  626. TEMPLATE_SHORE9,
  627. THEATERF_WINTER|THEATERF_TEMPERATE,
  628. "SH9",
  629. TXT_WATER,
  630. LAND_WATER,
  631. 3,3,
  632. LAND_BEACH,
  633. (char const *)_slope111111011
  634. );
  635. static TemplateTypeClass const Shore10(
  636. TEMPLATE_SHORE10,
  637. THEATERF_WINTER|THEATERF_TEMPERATE,
  638. "SH10",
  639. TXT_WATER,
  640. LAND_WATER,
  641. 2,2,
  642. LAND_BEACH,
  643. (char const *)_slope01
  644. );
  645. static TemplateTypeClass const Shore11(
  646. TEMPLATE_SHORE11,
  647. THEATERF_WINTER|THEATERF_TEMPERATE,
  648. "SH11",
  649. TXT_WATER,
  650. LAND_WATER,
  651. 3,3,
  652. LAND_BEACH,
  653. (char const *)_slope1001
  654. );
  655. static TemplateTypeClass const Shore12(
  656. TEMPLATE_SHORE12,
  657. THEATERF_WINTER|THEATERF_TEMPERATE,
  658. "SH12",
  659. TXT_WATER,
  660. LAND_WATER,
  661. 3,3,
  662. LAND_BEACH,
  663. (char const *)_slope000001001
  664. );
  665. static TemplateTypeClass const Shore13(
  666. TEMPLATE_SHORE13,
  667. THEATERF_WINTER|THEATERF_TEMPERATE,
  668. "SH13",
  669. TXT_WATER,
  670. LAND_WATER,
  671. 3,3,
  672. LAND_BEACH,
  673. (char const *)_slope0000001
  674. );
  675. static TemplateTypeClass const Shore14(
  676. TEMPLATE_SHORE14,
  677. THEATERF_WINTER|THEATERF_TEMPERATE,
  678. "SH14",
  679. TXT_WATER,
  680. LAND_ROCK,
  681. 3,3,
  682. LAND_BEACH,
  683. (char const *)_slope00000011
  684. );
  685. static TemplateTypeClass const Shore15(
  686. TEMPLATE_SHORE15,
  687. THEATERF_WINTER|THEATERF_TEMPERATE,
  688. "SH15",
  689. TXT_WATER,
  690. LAND_ROCK,
  691. 3,3,
  692. LAND_BEACH,
  693. (char const *)_slope000000101
  694. );
  695. static TemplateTypeClass const Shore16(
  696. TEMPLATE_SHORE16,
  697. THEATERF_WINTER|THEATERF_TEMPERATE,
  698. "SH16",
  699. TXT_WATER,
  700. LAND_ROCK,
  701. 3,2,
  702. LAND_ROCK,
  703. NULL
  704. );
  705. static TemplateTypeClass const Shore17(
  706. TEMPLATE_SHORE17,
  707. THEATERF_WINTER|THEATERF_TEMPERATE|THEATERF_DESERT,
  708. "SH17",
  709. TXT_WATER,
  710. LAND_WATER,
  711. 2,2,
  712. LAND_WATER,
  713. NULL
  714. );
  715. static TemplateTypeClass const Shore18(
  716. TEMPLATE_SHORE18,
  717. THEATERF_WINTER|THEATERF_TEMPERATE|THEATERF_DESERT,
  718. "SH18",
  719. TXT_WATER,
  720. LAND_WATER,
  721. 2,2,
  722. LAND_WATER,
  723. NULL
  724. );
  725. static TemplateTypeClass const Shore19(
  726. TEMPLATE_SHORE19,
  727. THEATERF_DESERT,
  728. "SH19",
  729. TXT_WATER,
  730. LAND_ROCK,
  731. 3,2,
  732. LAND_ROCK,
  733. NULL
  734. );
  735. static TemplateTypeClass const Shore20(
  736. TEMPLATE_SHORE20,
  737. THEATERF_DESERT,
  738. "SH20",
  739. TXT_WATER,
  740. LAND_ROCK,
  741. 4,1,
  742. LAND_ROCK,
  743. NULL
  744. );
  745. static TemplateTypeClass const Shore21(
  746. TEMPLATE_SHORE21,
  747. THEATERF_DESERT,
  748. "SH21",
  749. TXT_WATER,
  750. LAND_ROCK,
  751. 3,1,
  752. LAND_ROCK,
  753. NULL
  754. );
  755. static TemplateTypeClass const Shore22(
  756. TEMPLATE_SHORE22,
  757. THEATERF_DESERT,
  758. "SH22",
  759. TXT_WATER,
  760. LAND_ROCK,
  761. 6,2,
  762. LAND_ROCK,
  763. NULL
  764. );
  765. static TemplateTypeClass const Shore23(
  766. TEMPLATE_SHORE23,
  767. THEATERF_DESERT,
  768. "SH23",
  769. TXT_WATER,
  770. LAND_ROCK,
  771. 2,2,
  772. LAND_CLEAR,
  773. (char const *)_slope01
  774. );
  775. static TemplateTypeClass const Shore24(
  776. TEMPLATE_SHORE24,
  777. THEATERF_DESERT,
  778. "SH24",
  779. TXT_WATER,
  780. LAND_ROCK,
  781. 3,3,
  782. LAND_CLEAR,
  783. (char const *)_slope000001
  784. );
  785. static TemplateTypeClass const Shore25(
  786. TEMPLATE_SHORE25,
  787. THEATERF_DESERT,
  788. "SH25",
  789. TXT_WATER,
  790. LAND_ROCK,
  791. 3,2,
  792. LAND_CLEAR,
  793. (char const *)_slope0001
  794. );
  795. static TemplateTypeClass const Shore26(
  796. TEMPLATE_SHORE26,
  797. THEATERF_DESERT,
  798. "SH26",
  799. TXT_WATER,
  800. LAND_ROCK,
  801. 3,2,
  802. LAND_CLEAR,
  803. NULL
  804. );
  805. static TemplateTypeClass const Shore27(
  806. TEMPLATE_SHORE27,
  807. THEATERF_DESERT,
  808. "SH27",
  809. TXT_WATER,
  810. LAND_ROCK,
  811. 4,1,
  812. LAND_CLEAR,
  813. NULL
  814. );
  815. static TemplateTypeClass const Shore28(
  816. TEMPLATE_SHORE28,
  817. THEATERF_DESERT,
  818. "SH28",
  819. TXT_WATER,
  820. LAND_ROCK,
  821. 3,1,
  822. LAND_CLEAR,
  823. NULL
  824. );
  825. static TemplateTypeClass const Shore29(
  826. TEMPLATE_SHORE29,
  827. THEATERF_DESERT,
  828. "SH29",
  829. TXT_WATER,
  830. LAND_ROCK,
  831. 6,2,
  832. LAND_CLEAR,
  833. (char const *)_slope00000001
  834. );
  835. static TemplateTypeClass const Shore30(
  836. TEMPLATE_SHORE30,
  837. THEATERF_DESERT,
  838. "SH30",
  839. TXT_WATER,
  840. LAND_ROCK,
  841. 2,2,
  842. LAND_CLEAR,
  843. NULL
  844. );
  845. static TemplateTypeClass const Shore31(
  846. TEMPLATE_SHORE31,
  847. THEATERF_DESERT,
  848. "SH31",
  849. TXT_WATER,
  850. LAND_ROCK,
  851. 3,3,
  852. LAND_CLEAR,
  853. NULL
  854. );
  855. static TemplateTypeClass const Shore32(
  856. TEMPLATE_SHORE32,
  857. THEATERF_TEMPERATE|THEATERF_WINTER,
  858. "SH32",
  859. TXT_WATER,
  860. LAND_CLEAR,
  861. 3,3,
  862. LAND_WATER,
  863. (char const *)_slope1
  864. );
  865. static TemplateTypeClass const Shore33(
  866. TEMPLATE_SHORE33,
  867. THEATERF_TEMPERATE|THEATERF_WINTER,
  868. "SH33",
  869. TXT_WATER,
  870. LAND_CLEAR,
  871. 3,3,
  872. LAND_WATER,
  873. (char const *)_slope001
  874. );
  875. static TemplateTypeClass const Shore34(
  876. TEMPLATE_SHORE34,
  877. THEATERF_TEMPERATE|THEATERF_WINTER,
  878. "SH34",
  879. TXT_WATER,
  880. LAND_CLEAR,
  881. 3,3,
  882. LAND_WATER,
  883. (char const *)_slope001001001
  884. );
  885. static TemplateTypeClass const Shore35(
  886. TEMPLATE_SHORE35,
  887. THEATERF_TEMPERATE|THEATERF_WINTER,
  888. "SH35",
  889. TXT_WATER,
  890. LAND_CLEAR,
  891. 3,3,
  892. LAND_WATER,
  893. (char const *)_slope1001001
  894. );
  895. static TemplateTypeClass const Shore36(
  896. TEMPLATE_SHORE36,
  897. THEATERF_DESERT,
  898. "SH36",
  899. TXT_WATER,
  900. LAND_CLEAR,
  901. 1,1,
  902. LAND_CLEAR,
  903. NULL
  904. );
  905. static TemplateTypeClass const Shore37(
  906. TEMPLATE_SHORE37,
  907. THEATERF_DESERT,
  908. "SH37",
  909. TXT_WATER,
  910. LAND_CLEAR,
  911. 1,1,
  912. LAND_CLEAR,
  913. NULL
  914. );
  915. static TemplateTypeClass const Shore38(
  916. TEMPLATE_SHORE38,
  917. THEATERF_DESERT,
  918. "SH38",
  919. TXT_WATER,
  920. LAND_CLEAR,
  921. 1,1,
  922. LAND_CLEAR,
  923. NULL
  924. );
  925. static TemplateTypeClass const Shore39(
  926. TEMPLATE_SHORE39,
  927. THEATERF_DESERT,
  928. "SH39",
  929. TXT_WATER,
  930. LAND_CLEAR,
  931. 1,1,
  932. LAND_CLEAR,
  933. NULL
  934. );
  935. static TemplateTypeClass const Shore40(
  936. TEMPLATE_SHORE40,
  937. THEATERF_DESERT,
  938. "SH40",
  939. TXT_WATER,
  940. LAND_WATER,
  941. 3,3,
  942. LAND_CLEAR,
  943. (char const *)_slope1
  944. );
  945. static TemplateTypeClass const Shore41(
  946. TEMPLATE_SHORE41,
  947. THEATERF_DESERT,
  948. "SH41",
  949. TXT_WATER,
  950. LAND_CLEAR,
  951. 3,3,
  952. LAND_WATER,
  953. (char const *)_slope1101101
  954. );
  955. static TemplateTypeClass const Shore42(
  956. TEMPLATE_SHORE42,
  957. THEATERF_DESERT,
  958. "SH42",
  959. TXT_WATER,
  960. LAND_WATER,
  961. 1,2,
  962. LAND_CLEAR,
  963. NULL
  964. );
  965. static TemplateTypeClass const Shore43(
  966. TEMPLATE_SHORE43,
  967. THEATERF_DESERT,
  968. "SH43",
  969. TXT_WATER,
  970. LAND_WATER,
  971. 1,3,
  972. LAND_CLEAR,
  973. NULL
  974. );
  975. static TemplateTypeClass const Shore44(
  976. TEMPLATE_SHORE44,
  977. THEATERF_DESERT,
  978. "SH44",
  979. TXT_WATER,
  980. LAND_WATER,
  981. 1,3,
  982. LAND_CLEAR,
  983. NULL
  984. );
  985. static TemplateTypeClass const Shore45(
  986. TEMPLATE_SHORE45,
  987. THEATERF_DESERT,
  988. "SH45",
  989. TXT_WATER,
  990. LAND_WATER,
  991. 1,2,
  992. LAND_CLEAR,
  993. NULL
  994. );
  995. static TemplateTypeClass const Shore46(
  996. TEMPLATE_SHORE46,
  997. THEATERF_DESERT,
  998. "SH46",
  999. TXT_WATER,
  1000. LAND_WATER,
  1001. 3,3,
  1002. LAND_CLEAR,
  1003. (char const *)_slope1101
  1004. );
  1005. static TemplateTypeClass const Shore47(
  1006. TEMPLATE_SHORE47,
  1007. THEATERF_DESERT,
  1008. "SH47",
  1009. TXT_WATER,
  1010. LAND_WATER,
  1011. 3,3,
  1012. LAND_CLEAR,
  1013. NULL
  1014. );
  1015. static TemplateTypeClass const Shore48(
  1016. TEMPLATE_SHORE48,
  1017. THEATERF_DESERT,
  1018. "SH48",
  1019. TXT_WATER,
  1020. LAND_WATER,
  1021. 3,3,
  1022. LAND_CLEAR,
  1023. NULL
  1024. );
  1025. static TemplateTypeClass const Shore49(
  1026. TEMPLATE_SHORE49,
  1027. THEATERF_DESERT,
  1028. "SH49",
  1029. TXT_WATER,
  1030. LAND_WATER,
  1031. 3,3,
  1032. LAND_CLEAR,
  1033. NULL
  1034. );
  1035. static TemplateTypeClass const Shore50(
  1036. TEMPLATE_SHORE50,
  1037. THEATERF_DESERT,
  1038. "SH50",
  1039. TXT_WATER,
  1040. LAND_WATER,
  1041. 4,3,
  1042. LAND_CLEAR,
  1043. (char const *)_slope00000001
  1044. );
  1045. static TemplateTypeClass const Shore51(
  1046. TEMPLATE_SHORE51,
  1047. THEATERF_DESERT,
  1048. "SH51",
  1049. TXT_WATER,
  1050. LAND_WATER,
  1051. 4,3,
  1052. LAND_CLEAR,
  1053. NULL
  1054. );
  1055. static TemplateTypeClass const Shore52(
  1056. TEMPLATE_SHORE52,
  1057. THEATERF_DESERT,
  1058. "SH52",
  1059. TXT_WATER,
  1060. LAND_WATER,
  1061. 4,3,
  1062. LAND_CLEAR,
  1063. NULL
  1064. );
  1065. static TemplateTypeClass const Shore53(
  1066. TEMPLATE_SHORE53,
  1067. THEATERF_DESERT,
  1068. "SH53",
  1069. TXT_WATER,
  1070. LAND_WATER,
  1071. 4,3,
  1072. LAND_CLEAR,
  1073. (char const *)_slope11101
  1074. );
  1075. static TemplateTypeClass const Shore54(
  1076. TEMPLATE_SHORE54,
  1077. THEATERF_DESERT,
  1078. "SH54",
  1079. TXT_WATER,
  1080. LAND_WATER,
  1081. 3,2,
  1082. LAND_CLEAR,
  1083. (char const *)_slope1
  1084. );
  1085. static TemplateTypeClass const Shore55(
  1086. TEMPLATE_SHORE55,
  1087. THEATERF_DESERT,
  1088. "SH55",
  1089. TXT_WATER,
  1090. LAND_WATER,
  1091. 3,2,
  1092. LAND_CLEAR,
  1093. (char const *)_slope001
  1094. );
  1095. static TemplateTypeClass const Shore56(
  1096. TEMPLATE_SHORE56,
  1097. THEATERF_DESERT,
  1098. "SH56",
  1099. TXT_WATER,
  1100. LAND_WATER,
  1101. 3,2,
  1102. LAND_CLEAR,
  1103. NULL
  1104. );
  1105. static TemplateTypeClass const Shore57(
  1106. TEMPLATE_SHORE57,
  1107. THEATERF_DESERT,
  1108. "SH57",
  1109. TXT_WATER,
  1110. LAND_WATER,
  1111. 3,2,
  1112. LAND_CLEAR,
  1113. NULL
  1114. );
  1115. static TemplateTypeClass const Shore58(
  1116. TEMPLATE_SHORE58,
  1117. THEATERF_DESERT,
  1118. "SH58",
  1119. TXT_WATER,
  1120. LAND_WATER,
  1121. 2,3,
  1122. LAND_CLEAR,
  1123. NULL
  1124. );
  1125. static TemplateTypeClass const Shore59(
  1126. TEMPLATE_SHORE59,
  1127. THEATERF_DESERT,
  1128. "SH59",
  1129. TXT_WATER,
  1130. LAND_WATER,
  1131. 2,3,
  1132. LAND_CLEAR,
  1133. (char const *)_slope1
  1134. );
  1135. static TemplateTypeClass const Shore60(
  1136. TEMPLATE_SHORE60,
  1137. THEATERF_DESERT,
  1138. "SH60",
  1139. TXT_WATER,
  1140. LAND_WATER,
  1141. 2,3,
  1142. LAND_CLEAR,
  1143. (char const *)_slope000101
  1144. );
  1145. static TemplateTypeClass const Shore61(
  1146. TEMPLATE_SHORE61,
  1147. THEATERF_DESERT,
  1148. "SH61",
  1149. TXT_WATER,
  1150. LAND_WATER,
  1151. 2,3,
  1152. LAND_CLEAR,
  1153. (char const *)_slope01
  1154. );
  1155. static TemplateTypeClass const Shore62(
  1156. TEMPLATE_SHORE62,
  1157. THEATERF_DESERT,
  1158. "SH62",
  1159. TXT_WATER,
  1160. LAND_WATER,
  1161. 6,1,
  1162. LAND_CLEAR,
  1163. NULL
  1164. );
  1165. static TemplateTypeClass const Shore63(
  1166. TEMPLATE_SHORE63,
  1167. THEATERF_DESERT,
  1168. "SH63",
  1169. TXT_WATER,
  1170. LAND_WATER,
  1171. 4,1,
  1172. LAND_CLEAR,
  1173. NULL
  1174. );
  1175. static TemplateTypeClass const Boulder1(
  1176. TEMPLATE_BOULDER1,
  1177. THEATERF_WINTER|THEATERF_TEMPERATE|THEATERF_DESERT,
  1178. "B1",
  1179. TXT_SLOPE,
  1180. LAND_ROCK,
  1181. 1,1,
  1182. LAND_ROCK,
  1183. NULL
  1184. );
  1185. static TemplateTypeClass const Boulder2(
  1186. TEMPLATE_BOULDER2,
  1187. THEATERF_WINTER|THEATERF_TEMPERATE|THEATERF_DESERT,
  1188. "B2",
  1189. TXT_SLOPE,
  1190. LAND_ROCK,
  1191. 2,1,
  1192. LAND_ROCK,
  1193. NULL
  1194. );
  1195. static TemplateTypeClass const Boulder3(
  1196. TEMPLATE_BOULDER3,
  1197. THEATERF_WINTER|THEATERF_TEMPERATE,
  1198. "B3",
  1199. TXT_SLOPE,
  1200. LAND_ROCK,
  1201. 3,1,
  1202. LAND_ROCK,
  1203. NULL
  1204. );
  1205. static TemplateTypeClass const Boulder4(
  1206. TEMPLATE_BOULDER4,
  1207. THEATERF_TEMPERATE,
  1208. "B4",
  1209. TXT_SLOPE,
  1210. LAND_ROCK,
  1211. 1,1,
  1212. LAND_ROCK,
  1213. NULL
  1214. );
  1215. static TemplateTypeClass const Boulder5(
  1216. TEMPLATE_BOULDER5,
  1217. THEATERF_TEMPERATE,
  1218. "B5",
  1219. TXT_SLOPE,
  1220. LAND_ROCK,
  1221. 1,1,
  1222. LAND_ROCK,
  1223. NULL
  1224. );
  1225. static TemplateTypeClass const Boulder6(
  1226. TEMPLATE_BOULDER6,
  1227. THEATERF_TEMPERATE,
  1228. "B6",
  1229. TXT_SLOPE,
  1230. LAND_ROCK,
  1231. 1,1,
  1232. LAND_ROCK,
  1233. NULL
  1234. );
  1235. static TemplateTypeClass const Slope1(
  1236. TEMPLATE_SLOPE1,
  1237. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1238. "S01",
  1239. TXT_SLOPE,
  1240. LAND_ROCK,
  1241. 2,2,
  1242. LAND_CLEAR,
  1243. (char const *)_slope001
  1244. );
  1245. static TemplateTypeClass const Slope2(
  1246. TEMPLATE_SLOPE2,
  1247. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1248. "S02",
  1249. TXT_SLOPE,
  1250. LAND_ROCK,
  1251. 2,3,
  1252. LAND_CLEAR,
  1253. (char const *)_slope01
  1254. );
  1255. static TemplateTypeClass const Slope3(
  1256. TEMPLATE_SLOPE3,
  1257. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1258. "S03",
  1259. TXT_SLOPE,
  1260. LAND_ROCK,
  1261. 2,2,
  1262. LAND_ROCK,
  1263. NULL
  1264. );
  1265. static TemplateTypeClass const Slope4(
  1266. TEMPLATE_SLOPE4,
  1267. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1268. "S04",
  1269. TXT_SLOPE,
  1270. LAND_ROCK,
  1271. 2,2,
  1272. LAND_ROCK,
  1273. NULL
  1274. );
  1275. static TemplateTypeClass const Slope5(
  1276. TEMPLATE_SLOPE5,
  1277. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1278. "S05",
  1279. TXT_SLOPE,
  1280. LAND_ROCK,
  1281. 2,2,
  1282. LAND_ROCK,
  1283. NULL
  1284. );
  1285. static TemplateTypeClass const Slope6(
  1286. TEMPLATE_SLOPE6,
  1287. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1288. "S06",
  1289. TXT_SLOPE,
  1290. LAND_ROCK,
  1291. 2,3,
  1292. LAND_CLEAR,
  1293. (char const *)_slope1
  1294. );
  1295. static TemplateTypeClass const Slope7(
  1296. TEMPLATE_SLOPE7,
  1297. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1298. "S07",
  1299. TXT_SLOPE,
  1300. LAND_ROCK,
  1301. 2,2,
  1302. LAND_ROCK,
  1303. NULL
  1304. );
  1305. static TemplateTypeClass const Slope8(
  1306. TEMPLATE_SLOPE8,
  1307. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1308. "S08",
  1309. TXT_SLOPE,
  1310. LAND_ROCK,
  1311. 2,2,
  1312. LAND_CLEAR,
  1313. (char const *)_slope01
  1314. );
  1315. static TemplateTypeClass const Slope9(
  1316. TEMPLATE_SLOPE9,
  1317. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1318. "S09",
  1319. TXT_SLOPE,
  1320. LAND_ROCK,
  1321. 3,2,
  1322. LAND_CLEAR,
  1323. (char const *)_slope0001
  1324. );
  1325. static TemplateTypeClass const Slope10(
  1326. TEMPLATE_SLOPE10,
  1327. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1328. "S10",
  1329. TXT_SLOPE,
  1330. LAND_ROCK,
  1331. 2,2,
  1332. LAND_ROCK,
  1333. NULL
  1334. );
  1335. static TemplateTypeClass const Slope11(
  1336. TEMPLATE_SLOPE11,
  1337. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1338. "S11",
  1339. TXT_SLOPE,
  1340. LAND_ROCK,
  1341. 2,2,
  1342. LAND_ROCK,
  1343. NULL
  1344. );
  1345. static TemplateTypeClass const Slope12(
  1346. TEMPLATE_SLOPE12,
  1347. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1348. "S12",
  1349. TXT_SLOPE,
  1350. LAND_ROCK,
  1351. 2,2,
  1352. LAND_ROCK,
  1353. NULL
  1354. );
  1355. static TemplateTypeClass const Slope13(
  1356. TEMPLATE_SLOPE13,
  1357. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1358. "S13",
  1359. TXT_SLOPE,
  1360. LAND_ROCK,
  1361. 3,2,
  1362. LAND_CLEAR,
  1363. (char const *)_slope000001
  1364. );
  1365. static TemplateTypeClass const Slope14(
  1366. TEMPLATE_SLOPE14,
  1367. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1368. "S14",
  1369. TXT_SLOPE,
  1370. LAND_ROCK,
  1371. 2,2,
  1372. LAND_CLEAR,
  1373. (char const *)_slope0111
  1374. );
  1375. static TemplateTypeClass const Slope15(
  1376. TEMPLATE_SLOPE15,
  1377. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1378. "S15",
  1379. TXT_SLOPE,
  1380. LAND_ROCK,
  1381. 2,2,
  1382. LAND_CLEAR,
  1383. (char const *)_slope01
  1384. );
  1385. static TemplateTypeClass const Slope16(
  1386. TEMPLATE_SLOPE16,
  1387. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1388. "S16",
  1389. TXT_SLOPE,
  1390. LAND_ROCK,
  1391. 2,3,
  1392. LAND_ROCK,
  1393. NULL
  1394. );
  1395. static TemplateTypeClass const Slope17(
  1396. TEMPLATE_SLOPE17,
  1397. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1398. "S17",
  1399. TXT_SLOPE,
  1400. LAND_ROCK,
  1401. 2,2,
  1402. LAND_ROCK,
  1403. NULL
  1404. );
  1405. static TemplateTypeClass const Slope18(
  1406. TEMPLATE_SLOPE18,
  1407. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1408. "S18",
  1409. TXT_SLOPE,
  1410. LAND_ROCK,
  1411. 2,2,
  1412. LAND_ROCK,
  1413. NULL
  1414. );
  1415. static TemplateTypeClass const Slope19(
  1416. TEMPLATE_SLOPE19,
  1417. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1418. "S19",
  1419. TXT_SLOPE,
  1420. LAND_ROCK,
  1421. 2,2,
  1422. LAND_ROCK,
  1423. NULL
  1424. );
  1425. static TemplateTypeClass const Slope20(
  1426. TEMPLATE_SLOPE20,
  1427. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1428. "S20",
  1429. TXT_SLOPE,
  1430. LAND_ROCK,
  1431. 2,3,
  1432. LAND_CLEAR,
  1433. (char const *)_slope000001
  1434. );
  1435. static TemplateTypeClass const Slope21(
  1436. TEMPLATE_SLOPE21,
  1437. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1438. "S21",
  1439. TXT_SLOPE,
  1440. LAND_ROCK,
  1441. 1,2,
  1442. LAND_ROCK,
  1443. NULL
  1444. );
  1445. static TemplateTypeClass const Slope22(
  1446. TEMPLATE_SLOPE22,
  1447. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1448. "S22",
  1449. TXT_SLOPE,
  1450. LAND_ROCK,
  1451. 2,1,
  1452. LAND_ROCK,
  1453. NULL
  1454. );
  1455. static TemplateTypeClass const Slope23(
  1456. TEMPLATE_SLOPE23,
  1457. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1458. "S23",
  1459. TXT_SLOPE,
  1460. LAND_ROCK,
  1461. 3,2,
  1462. LAND_CLEAR,
  1463. (char const *)_slope000001
  1464. );
  1465. static TemplateTypeClass const Slope24(
  1466. TEMPLATE_SLOPE24,
  1467. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1468. "S24",
  1469. TXT_SLOPE,
  1470. LAND_ROCK,
  1471. 2,2,
  1472. LAND_ROCK,
  1473. NULL
  1474. );
  1475. static TemplateTypeClass const Slope25(
  1476. TEMPLATE_SLOPE25,
  1477. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1478. "S25",
  1479. TXT_SLOPE,
  1480. LAND_ROCK,
  1481. 2,2,
  1482. LAND_ROCK,
  1483. NULL
  1484. );
  1485. static TemplateTypeClass const Slope26(
  1486. TEMPLATE_SLOPE26,
  1487. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1488. "S26",
  1489. TXT_SLOPE,
  1490. LAND_ROCK,
  1491. 2,2,
  1492. LAND_ROCK,
  1493. NULL
  1494. );
  1495. static TemplateTypeClass const Slope27(
  1496. TEMPLATE_SLOPE27,
  1497. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1498. "S27",
  1499. TXT_SLOPE,
  1500. LAND_ROCK,
  1501. 3,2,
  1502. LAND_CLEAR,
  1503. (char const *)_slope0011
  1504. );
  1505. static TemplateTypeClass const Slope28(
  1506. TEMPLATE_SLOPE28,
  1507. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1508. "S28",
  1509. TXT_SLOPE,
  1510. LAND_ROCK,
  1511. 2,2,
  1512. LAND_ROCK,
  1513. NULL
  1514. );
  1515. static TemplateTypeClass const Slope29(
  1516. TEMPLATE_SLOPE29,
  1517. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1518. "S29",
  1519. TXT_SLOPE,
  1520. LAND_ROCK,
  1521. 2,2,
  1522. LAND_ROCK,
  1523. NULL
  1524. );
  1525. static TemplateTypeClass const Slope30(
  1526. TEMPLATE_SLOPE30,
  1527. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1528. "S30",
  1529. TXT_SLOPE,
  1530. LAND_ROCK,
  1531. 2,2,
  1532. LAND_ROCK,
  1533. NULL
  1534. );
  1535. static TemplateTypeClass const Slope31(
  1536. TEMPLATE_SLOPE31,
  1537. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1538. "S31",
  1539. TXT_SLOPE,
  1540. LAND_ROCK,
  1541. 2,2,
  1542. LAND_ROCK,
  1543. NULL
  1544. );
  1545. static TemplateTypeClass const Slope32(
  1546. TEMPLATE_SLOPE32,
  1547. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1548. "S32",
  1549. TXT_SLOPE,
  1550. LAND_ROCK,
  1551. 2,2,
  1552. LAND_ROCK,
  1553. NULL
  1554. );
  1555. static TemplateTypeClass const Slope33(
  1556. TEMPLATE_SLOPE33,
  1557. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1558. "S33",
  1559. TXT_SLOPE,
  1560. LAND_ROCK,
  1561. 2,2,
  1562. LAND_ROCK,
  1563. NULL
  1564. );
  1565. static TemplateTypeClass const Slope34(
  1566. TEMPLATE_SLOPE34,
  1567. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1568. "S34",
  1569. TXT_SLOPE,
  1570. LAND_ROCK,
  1571. 2,2,
  1572. LAND_ROCK,
  1573. NULL
  1574. );
  1575. static TemplateTypeClass const Slope35(
  1576. TEMPLATE_SLOPE35,
  1577. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1578. "S35",
  1579. TXT_SLOPE,
  1580. LAND_ROCK,
  1581. 2,2,
  1582. LAND_ROCK,
  1583. NULL
  1584. );
  1585. static TemplateTypeClass const Slope36(
  1586. TEMPLATE_SLOPE36,
  1587. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1588. "S36",
  1589. TXT_SLOPE,
  1590. LAND_ROCK,
  1591. 2,2,
  1592. LAND_ROCK,
  1593. NULL
  1594. );
  1595. static TemplateTypeClass const Slope37(
  1596. TEMPLATE_SLOPE37,
  1597. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1598. "S37",
  1599. TXT_SLOPE,
  1600. LAND_ROCK,
  1601. 2,2,
  1602. LAND_ROCK,
  1603. NULL
  1604. );
  1605. static TemplateTypeClass const Slope38(
  1606. TEMPLATE_SLOPE38,
  1607. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  1608. "S38",
  1609. TXT_SLOPE,
  1610. LAND_ROCK,
  1611. 2,2,
  1612. LAND_ROCK,
  1613. NULL
  1614. );
  1615. static TemplateTypeClass const Brush1(
  1616. TEMPLATE_BRUSH1,
  1617. THEATERF_DESERT,
  1618. "BR1",
  1619. TXT_BRUSH,
  1620. LAND_ROCK,
  1621. 1,1,
  1622. LAND_ROCK,
  1623. NULL
  1624. );
  1625. static TemplateTypeClass const Brush2(
  1626. TEMPLATE_BRUSH2,
  1627. THEATERF_DESERT,
  1628. "BR2",
  1629. TXT_BRUSH,
  1630. LAND_ROCK,
  1631. 1,1,
  1632. LAND_ROCK,
  1633. NULL
  1634. );
  1635. static TemplateTypeClass const Brush3(
  1636. TEMPLATE_BRUSH3,
  1637. THEATERF_DESERT,
  1638. "BR3",
  1639. TXT_BRUSH,
  1640. LAND_ROCK,
  1641. 1,1,
  1642. LAND_ROCK,
  1643. NULL
  1644. );
  1645. static TemplateTypeClass const Brush4(
  1646. TEMPLATE_BRUSH4,
  1647. THEATERF_DESERT,
  1648. "BR4",
  1649. TXT_BRUSH,
  1650. LAND_ROCK,
  1651. 1,1,
  1652. LAND_ROCK,
  1653. NULL
  1654. );
  1655. static TemplateTypeClass const Brush5(
  1656. TEMPLATE_BRUSH5,
  1657. THEATERF_DESERT,
  1658. "BR5",
  1659. TXT_BRUSH,
  1660. LAND_ROCK,
  1661. 1,1,
  1662. LAND_ROCK,
  1663. NULL
  1664. );
  1665. static TemplateTypeClass const Brush6(
  1666. TEMPLATE_BRUSH6,
  1667. THEATERF_DESERT,
  1668. "BR6",
  1669. TXT_BRUSH,
  1670. LAND_ROCK,
  1671. 2,2,
  1672. LAND_ROCK,
  1673. NULL
  1674. );
  1675. static TemplateTypeClass const Brush7(
  1676. TEMPLATE_BRUSH7,
  1677. THEATERF_DESERT,
  1678. "BR7",
  1679. TXT_BRUSH,
  1680. LAND_ROCK,
  1681. 2,2,
  1682. LAND_ROCK,
  1683. NULL
  1684. );
  1685. static TemplateTypeClass const Brush8(
  1686. TEMPLATE_BRUSH8,
  1687. THEATERF_DESERT,
  1688. "BR8",
  1689. TXT_BRUSH,
  1690. LAND_ROCK,
  1691. 3,2,
  1692. LAND_ROCK,
  1693. NULL
  1694. );
  1695. static TemplateTypeClass const Brush9(
  1696. TEMPLATE_BRUSH9,
  1697. THEATERF_DESERT,
  1698. "BR9",
  1699. TXT_BRUSH,
  1700. LAND_ROCK,
  1701. 3,2,
  1702. LAND_ROCK,
  1703. NULL
  1704. );
  1705. static TemplateTypeClass const Brush10(
  1706. TEMPLATE_BRUSH10,
  1707. THEATERF_DESERT,
  1708. "BR10",
  1709. TXT_BRUSH,
  1710. LAND_ROCK,
  1711. 2,1,
  1712. LAND_ROCK,
  1713. NULL
  1714. );
  1715. static TemplateTypeClass const Patch1(
  1716. TEMPLATE_PATCH1,
  1717. THEATERF_TEMPERATE|THEATERF_DESERT,
  1718. "P01",
  1719. TXT_PATCH,
  1720. LAND_CLEAR,
  1721. 1,1,
  1722. LAND_CLEAR,
  1723. NULL
  1724. );
  1725. static TemplateTypeClass const Patch2(
  1726. TEMPLATE_PATCH2,
  1727. THEATERF_TEMPERATE|THEATERF_DESERT,
  1728. "P02",
  1729. TXT_PATCH,
  1730. LAND_ROCK,
  1731. 1,1,
  1732. LAND_CLEAR,
  1733. NULL
  1734. );
  1735. static TemplateTypeClass const Patch3(
  1736. TEMPLATE_PATCH3,
  1737. THEATERF_TEMPERATE|THEATERF_DESERT,
  1738. "P03",
  1739. TXT_PATCH,
  1740. LAND_CLEAR,
  1741. 1,1,
  1742. LAND_CLEAR,
  1743. NULL
  1744. );
  1745. static TemplateTypeClass const Patch4(
  1746. TEMPLATE_PATCH4,
  1747. THEATERF_TEMPERATE|THEATERF_DESERT,
  1748. "P04",
  1749. TXT_PATCH,
  1750. LAND_ROCK,
  1751. 1,1,
  1752. LAND_CLEAR,
  1753. NULL
  1754. );
  1755. static TemplateTypeClass const Patch5(
  1756. TEMPLATE_PATCH5,
  1757. THEATERF_DESERT,
  1758. "P05",
  1759. TXT_PATCH,
  1760. LAND_CLEAR,
  1761. 2,2,
  1762. LAND_CLEAR,
  1763. NULL
  1764. );
  1765. static TemplateTypeClass const Patch6(
  1766. TEMPLATE_PATCH6,
  1767. THEATERF_DESERT,
  1768. "P06",
  1769. TXT_PATCH,
  1770. LAND_CLEAR,
  1771. 6,4,
  1772. LAND_CLEAR,
  1773. NULL
  1774. );
  1775. static TemplateTypeClass const Patch7(
  1776. TEMPLATE_PATCH7,
  1777. THEATERF_WINTER|THEATERF_TEMPERATE|THEATERF_DESERT,
  1778. "P07",
  1779. TXT_PATCH,
  1780. LAND_CLEAR,
  1781. 4,2,
  1782. LAND_CLEAR,
  1783. NULL
  1784. );
  1785. static TemplateTypeClass const Patch8(
  1786. TEMPLATE_PATCH8,
  1787. THEATERF_WINTER|THEATERF_TEMPERATE|THEATERF_DESERT,
  1788. "P08",
  1789. TXT_PATCH,
  1790. LAND_CLEAR,
  1791. 3,2,
  1792. LAND_CLEAR,
  1793. NULL
  1794. );
  1795. static TemplateTypeClass const Patch13(
  1796. TEMPLATE_PATCH13,
  1797. THEATERF_WINTER|THEATERF_TEMPERATE,
  1798. "P13",
  1799. TXT_PATCH,
  1800. LAND_CLEAR,
  1801. 3,2,
  1802. LAND_CLEAR,
  1803. NULL
  1804. );
  1805. static TemplateTypeClass const Patch14(
  1806. TEMPLATE_PATCH14,
  1807. THEATERF_WINTER|THEATERF_TEMPERATE,
  1808. "P14",
  1809. TXT_PATCH,
  1810. LAND_CLEAR,
  1811. 2,1,
  1812. LAND_CLEAR,
  1813. NULL
  1814. );
  1815. static TemplateTypeClass const Patch15(
  1816. TEMPLATE_PATCH15,
  1817. THEATERF_WINTER|THEATERF_TEMPERATE,
  1818. "P15",
  1819. TXT_PATCH,
  1820. LAND_CLEAR,
  1821. 4,2,
  1822. LAND_CLEAR,
  1823. NULL
  1824. );
  1825. static TemplateTypeClass const Patch16(
  1826. TEMPLATE_PATCH16,
  1827. THEATERF_WINTER,
  1828. "P16",
  1829. TXT_PATCH,
  1830. LAND_CLEAR,
  1831. 2,2,
  1832. LAND_CLEAR,
  1833. NULL
  1834. );
  1835. static TemplateTypeClass const Patch17(
  1836. TEMPLATE_PATCH17,
  1837. THEATERF_WINTER,
  1838. "P17",
  1839. TXT_PATCH,
  1840. LAND_CLEAR,
  1841. 4,2,
  1842. LAND_CLEAR,
  1843. NULL
  1844. );
  1845. static TemplateTypeClass const Patch18(
  1846. TEMPLATE_PATCH18,
  1847. THEATERF_WINTER,
  1848. "P18",
  1849. TXT_PATCH,
  1850. LAND_CLEAR,
  1851. 4,3,
  1852. LAND_CLEAR,
  1853. NULL
  1854. );
  1855. static TemplateTypeClass const Patch19(
  1856. TEMPLATE_PATCH19,
  1857. THEATERF_WINTER,
  1858. "P19",
  1859. TXT_PATCH,
  1860. LAND_CLEAR,
  1861. 4,3,
  1862. LAND_CLEAR,
  1863. NULL
  1864. );
  1865. static TemplateTypeClass const Patch20(
  1866. TEMPLATE_PATCH20,
  1867. THEATERF_WINTER,
  1868. "P20",
  1869. TXT_PATCH,
  1870. LAND_CLEAR,
  1871. 4,3,
  1872. LAND_CLEAR,
  1873. NULL
  1874. );
  1875. static TemplateTypeClass const River1(
  1876. TEMPLATE_RIVER1,
  1877. THEATERF_WINTER|THEATERF_TEMPERATE,
  1878. "RV01",
  1879. TXT_RIVER,
  1880. LAND_WATER,
  1881. 5,4,
  1882. LAND_CLEAR,
  1883. NULL
  1884. );
  1885. static TemplateTypeClass const River2(
  1886. TEMPLATE_RIVER2,
  1887. THEATERF_WINTER|THEATERF_TEMPERATE,
  1888. "RV02",
  1889. TXT_RIVER,
  1890. LAND_WATER,
  1891. 5,3,
  1892. LAND_ROCK,
  1893. NULL
  1894. );
  1895. static TemplateTypeClass const River3(
  1896. TEMPLATE_RIVER3,
  1897. THEATERF_WINTER|THEATERF_TEMPERATE,
  1898. "RV03",
  1899. TXT_RIVER,
  1900. LAND_WATER,
  1901. 4,4,
  1902. LAND_CLEAR,
  1903. (char const *)_slope00000001
  1904. );
  1905. static TemplateTypeClass const River4(
  1906. TEMPLATE_RIVER4,
  1907. THEATERF_WINTER|THEATERF_TEMPERATE,
  1908. "RV04",
  1909. TXT_RIVER,
  1910. LAND_WATER,
  1911. 4,4,
  1912. LAND_ROCK,
  1913. NULL
  1914. );
  1915. static TemplateTypeClass const River5(
  1916. TEMPLATE_RIVER5,
  1917. THEATERF_WINTER|THEATERF_TEMPERATE,
  1918. "RV05",
  1919. TXT_RIVER,
  1920. LAND_WATER,
  1921. 3,3,
  1922. LAND_ROCK,
  1923. NULL
  1924. );
  1925. static TemplateTypeClass const River6(
  1926. TEMPLATE_RIVER6,
  1927. THEATERF_WINTER|THEATERF_TEMPERATE,
  1928. "RV06",
  1929. TXT_RIVER,
  1930. LAND_WATER,
  1931. 3,2,
  1932. LAND_ROCK,
  1933. NULL
  1934. );
  1935. static TemplateTypeClass const River7(
  1936. TEMPLATE_RIVER7,
  1937. THEATERF_WINTER|THEATERF_TEMPERATE,
  1938. "RV07",
  1939. TXT_RIVER,
  1940. LAND_WATER,
  1941. 3,2,
  1942. LAND_ROCK,
  1943. NULL
  1944. );
  1945. static TemplateTypeClass const River8(
  1946. TEMPLATE_RIVER8,
  1947. THEATERF_WINTER|THEATERF_TEMPERATE,
  1948. "RV08",
  1949. TXT_RIVER,
  1950. LAND_WATER,
  1951. 2,2,
  1952. LAND_ROCK,
  1953. NULL
  1954. );
  1955. static TemplateTypeClass const River9(
  1956. TEMPLATE_RIVER9,
  1957. THEATERF_WINTER|THEATERF_TEMPERATE,
  1958. "RV09",
  1959. TXT_RIVER,
  1960. LAND_WATER,
  1961. 2,2,
  1962. LAND_ROCK,
  1963. NULL
  1964. );
  1965. static TemplateTypeClass const River10(
  1966. TEMPLATE_RIVER10,
  1967. THEATERF_WINTER|THEATERF_TEMPERATE,
  1968. "RV10",
  1969. TXT_RIVER,
  1970. LAND_WATER,
  1971. 2,2,
  1972. LAND_ROCK,
  1973. NULL
  1974. );
  1975. static TemplateTypeClass const River11(
  1976. TEMPLATE_RIVER11,
  1977. THEATERF_WINTER|THEATERF_TEMPERATE,
  1978. "RV11",
  1979. TXT_RIVER,
  1980. LAND_WATER,
  1981. 2,2,
  1982. LAND_ROCK,
  1983. NULL
  1984. );
  1985. static TemplateTypeClass const River12(
  1986. TEMPLATE_RIVER12,
  1987. THEATERF_WINTER|THEATERF_TEMPERATE,
  1988. "RV12",
  1989. TXT_RIVER,
  1990. LAND_WATER,
  1991. 3,4,
  1992. LAND_ROCK,
  1993. NULL
  1994. );
  1995. static TemplateTypeClass const River13(
  1996. TEMPLATE_RIVER13,
  1997. THEATERF_WINTER|THEATERF_TEMPERATE,
  1998. "RV13",
  1999. TXT_RIVER,
  2000. LAND_WATER,
  2001. 4,4,
  2002. LAND_ROCK,
  2003. NULL
  2004. );
  2005. static TemplateTypeClass const River14(
  2006. TEMPLATE_RIVER14,
  2007. THEATERF_DESERT,
  2008. "RV14",
  2009. TXT_RIVER,
  2010. LAND_WATER,
  2011. 4,3,
  2012. LAND_ROCK,
  2013. NULL
  2014. );
  2015. static TemplateTypeClass const River15(
  2016. TEMPLATE_RIVER15,
  2017. THEATERF_DESERT,
  2018. "RV15",
  2019. TXT_RIVER,
  2020. LAND_WATER,
  2021. 4,3,
  2022. LAND_ROCK,
  2023. NULL
  2024. );
  2025. static TemplateTypeClass const River16(
  2026. TEMPLATE_RIVER16,
  2027. THEATERF_DESERT,
  2028. "RV16",
  2029. TXT_RIVER,
  2030. LAND_WATER,
  2031. 6,4,
  2032. LAND_ROCK,
  2033. NULL
  2034. );
  2035. static TemplateTypeClass const River17(
  2036. TEMPLATE_RIVER17,
  2037. THEATERF_DESERT,
  2038. "RV17",
  2039. TXT_RIVER,
  2040. LAND_WATER,
  2041. 6,5,
  2042. LAND_ROCK,
  2043. NULL
  2044. );
  2045. static TemplateTypeClass const River18(
  2046. TEMPLATE_RIVER18,
  2047. THEATERF_DESERT,
  2048. "RV18",
  2049. TXT_RIVER,
  2050. LAND_WATER,
  2051. 4,4,
  2052. LAND_ROCK,
  2053. NULL
  2054. );
  2055. static TemplateTypeClass const River19(
  2056. TEMPLATE_RIVER19,
  2057. THEATERF_DESERT,
  2058. "RV19",
  2059. TXT_RIVER,
  2060. LAND_WATER,
  2061. 4,4,
  2062. LAND_ROCK,
  2063. NULL
  2064. );
  2065. static TemplateTypeClass const River20(
  2066. TEMPLATE_RIVER20,
  2067. THEATERF_DESERT,
  2068. "RV20",
  2069. TXT_RIVER,
  2070. LAND_WATER,
  2071. 6,8,
  2072. LAND_ROCK,
  2073. NULL
  2074. );
  2075. static TemplateTypeClass const River21(
  2076. TEMPLATE_RIVER21,
  2077. THEATERF_DESERT,
  2078. "RV21",
  2079. TXT_RIVER,
  2080. LAND_WATER,
  2081. 5,8,
  2082. LAND_ROCK,
  2083. NULL
  2084. );
  2085. static TemplateTypeClass const River22(
  2086. TEMPLATE_RIVER22,
  2087. THEATERF_DESERT,
  2088. "RV22",
  2089. TXT_RIVER,
  2090. LAND_WATER,
  2091. 3,3,
  2092. LAND_ROCK,
  2093. NULL
  2094. );
  2095. static TemplateTypeClass const River23(
  2096. TEMPLATE_RIVER23,
  2097. THEATERF_DESERT,
  2098. "RV23",
  2099. TXT_RIVER,
  2100. LAND_WATER,
  2101. 3,3,
  2102. LAND_ROCK,
  2103. NULL
  2104. );
  2105. static TemplateTypeClass const River24(
  2106. TEMPLATE_RIVER24,
  2107. THEATERF_DESERT,
  2108. "RV24",
  2109. TXT_RIVER,
  2110. LAND_WATER,
  2111. 3,3,
  2112. LAND_ROCK,
  2113. NULL
  2114. );
  2115. static TemplateTypeClass const River25(
  2116. TEMPLATE_RIVER25,
  2117. THEATERF_DESERT,
  2118. "RV25",
  2119. TXT_RIVER,
  2120. LAND_WATER,
  2121. 3,3,
  2122. LAND_ROCK,
  2123. NULL
  2124. );
  2125. static TemplateTypeClass const Ford1(
  2126. TEMPLATE_FORD1,
  2127. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  2128. "FORD1",
  2129. TXT_RIVER,
  2130. LAND_WATER,
  2131. 3,3,
  2132. LAND_CLEAR,
  2133. (char const *)_slope001111001
  2134. );
  2135. static TemplateTypeClass const Ford2(
  2136. TEMPLATE_FORD2,
  2137. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  2138. "FORD2",
  2139. TXT_RIVER,
  2140. LAND_WATER,
  2141. 3,3,
  2142. LAND_CLEAR,
  2143. (char const *)_slope111010011
  2144. );
  2145. static TemplateTypeClass const Falls1(
  2146. TEMPLATE_FALLS1,
  2147. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  2148. "FALLS1",
  2149. TXT_RIVER,
  2150. LAND_WATER,
  2151. 3,3,
  2152. LAND_CLEAR,
  2153. (char const *)_slope1
  2154. );
  2155. static TemplateTypeClass const Falls2(
  2156. TEMPLATE_FALLS2,
  2157. THEATERF_WINTER|THEATERF_DESERT|THEATERF_TEMPERATE,
  2158. "FALLS2",
  2159. TXT_RIVER,
  2160. LAND_WATER,
  2161. 3,2,
  2162. LAND_CLEAR,
  2163. NULL
  2164. );
  2165. static TemplateTypeClass const Bridge1(
  2166. TEMPLATE_BRIDGE1,
  2167. THEATERF_WINTER|THEATERF_TEMPERATE,
  2168. "BRIDGE1",
  2169. TXT_RIVER,
  2170. LAND_WATER,
  2171. 4,4,
  2172. LAND_CLEAR,
  2173. (char const *)_slope00110010010011
  2174. );
  2175. static TemplateTypeClass const Bridge1d(
  2176. TEMPLATE_BRIDGE1D,
  2177. THEATERF_WINTER|THEATERF_TEMPERATE,
  2178. "BRIDGE1D",
  2179. TXT_RIVER,
  2180. LAND_WATER,
  2181. 4,4,
  2182. LAND_CLEAR,
  2183. (char const *)_slope00110000000011
  2184. );
  2185. static TemplateTypeClass const Bridge2(
  2186. TEMPLATE_BRIDGE2,
  2187. THEATERF_WINTER|THEATERF_TEMPERATE,
  2188. "BRIDGE2",
  2189. TXT_RIVER,
  2190. LAND_WATER,
  2191. 5,5,
  2192. LAND_CLEAR,
  2193. (char const *)_slope1100001000001000001100011
  2194. );
  2195. static TemplateTypeClass const Bridge2d(
  2196. TEMPLATE_BRIDGE2D,
  2197. THEATERF_WINTER|THEATERF_TEMPERATE,
  2198. "BRIDGE2D",
  2199. TXT_RIVER,
  2200. LAND_WATER,
  2201. 5,5,
  2202. LAND_CLEAR,
  2203. (char const *)_slope1100000000000000001100011
  2204. );
  2205. static TemplateTypeClass const Bridge3(
  2206. TEMPLATE_BRIDGE3,
  2207. THEATERF_DESERT,
  2208. "BRIDGE3",
  2209. TXT_RIVER,
  2210. LAND_WATER,
  2211. 6,5,
  2212. LAND_CLEAR,
  2213. (char const *)_slope00011010010100100001000011
  2214. );
  2215. static TemplateTypeClass const Bridge3d(
  2216. TEMPLATE_BRIDGE3D,
  2217. THEATERF_DESERT,
  2218. "BRIDGE3D",
  2219. TXT_RIVER,
  2220. LAND_WATER,
  2221. 6,5,
  2222. LAND_CLEAR,
  2223. (char const *)_slope00011010000100000001000011
  2224. );
  2225. static TemplateTypeClass const Bridge4(
  2226. TEMPLATE_BRIDGE4,
  2227. THEATERF_DESERT,
  2228. "BRIDGE4",
  2229. TXT_RIVER,
  2230. LAND_WATER,
  2231. 6,4,
  2232. LAND_CLEAR,
  2233. (char const *)_slope01000000100000010000001
  2234. );
  2235. static TemplateTypeClass const Bridge4d(
  2236. TEMPLATE_BRIDGE4D,
  2237. THEATERF_DESERT,
  2238. "BRIDGE4D",
  2239. TXT_RIVER,
  2240. LAND_WATER,
  2241. 6,4,
  2242. LAND_CLEAR,
  2243. (char const *)_slope01000000000000000000001
  2244. );
  2245. TemplateTypeClass const * const TemplateTypeClass::Pointers[TEMPLATE_COUNT] = {
  2246. &Clear, // TEMPLATE_CLEAR1
  2247. &Water, // TEMPLATE_WATER
  2248. &Water2, // TEMPLATE_WATER2
  2249. &Shore1, // TEMPLATE_SHORE1
  2250. &Shore2, // TEMPLATE_SHORE2
  2251. &Shore3, // TEMPLATE_SHORE3
  2252. &Shore4, // TEMPLATE_SHORE4
  2253. &Shore5, // TEMPLATE_SHORE5
  2254. &Shore11, // TEMPLATE_SHORE11
  2255. &Shore12, // TEMPLATE_SHORE12
  2256. &Shore13, // TEMPLATE_SHORE13
  2257. &Shore14, // TEMPLATE_SHORE14
  2258. &Shore15, // TEMPLATE_SHORE15
  2259. &Slope1, // TEMPLATE_SLOPE1
  2260. &Slope2, // TEMPLATE_SLOPE2
  2261. &Slope3, // TEMPLATE_SLOPE3
  2262. &Slope4, // TEMPLATE_SLOPE4
  2263. &Slope5, // TEMPLATE_SLOPE5
  2264. &Slope6, // TEMPLATE_SLOPE6
  2265. &Slope7, // TEMPLATE_SLOPE7
  2266. &Slope8, // TEMPLATE_SLOPE8
  2267. &Slope9, // TEMPLATE_SLOPE9
  2268. &Slope10, // TEMPLATE_SLOPE10
  2269. &Slope11, // TEMPLATE_SLOPE11
  2270. &Slope12, // TEMPLATE_SLOPE12
  2271. &Slope13, // TEMPLATE_SLOPE13
  2272. &Slope14, // TEMPLATE_SLOPE14
  2273. &Slope15, // TEMPLATE_SLOPE15
  2274. &Slope16, // TEMPLATE_SLOPE16
  2275. &Slope17, // TEMPLATE_SLOPE17
  2276. &Slope18, // TEMPLATE_SLOPE18
  2277. &Slope19, // TEMPLATE_SLOPE19
  2278. &Slope20, // TEMPLATE_SLOPE20
  2279. &Slope21, // TEMPLATE_SLOPE21
  2280. &Slope22, // TEMPLATE_SLOPE22
  2281. &Slope23, // TEMPLATE_SLOPE23
  2282. &Slope24, // TEMPLATE_SLOPE24
  2283. &Slope25, // TEMPLATE_SLOPE25
  2284. &Slope26, // TEMPLATE_SLOPE26
  2285. &Slope27, // TEMPLATE_SLOPE27
  2286. &Slope28, // TEMPLATE_SLOPE28
  2287. &Slope29, // TEMPLATE_SLOPE29
  2288. &Slope30, // TEMPLATE_SLOPE30
  2289. &Slope31, // TEMPLATE_SLOPE31
  2290. &Slope32, // TEMPLATE_SLOPE32
  2291. &Slope33, // TEMPLATE_SLOPE33
  2292. &Slope34, // TEMPLATE_SLOPE34
  2293. &Slope35, // TEMPLATE_SLOPE35
  2294. &Slope36, // TEMPLATE_SLOPE36
  2295. &Slope37, // TEMPLATE_SLOPE37
  2296. &Slope38, // TEMPLATE_SLOPE38
  2297. &Shore32, // TEMPLATE_SHORE32
  2298. &Shore33, // TEMPLATE_SHORE33
  2299. &Shore20, // TEMPLATE_SHORE20
  2300. &Shore21, // TEMPLATE_SHORE21
  2301. &Shore22, // TEMPLATE_SHORE22
  2302. &Shore23, // TEMPLATE_SHORE23
  2303. &Brush1, // TEMPLATE_BRUSH1
  2304. &Brush2, // TEMPLATE_BRUSH2
  2305. &Brush3, // TEMPLATE_BRUSH3
  2306. &Brush4, // TEMPLATE_BRUSH4
  2307. &Brush5, // TEMPLATE_BRUSH5
  2308. &Brush6, // TEMPLATE_BRUSH6
  2309. &Brush7, // TEMPLATE_BRUSH7
  2310. &Brush8, // TEMPLATE_BRUSH8
  2311. &Brush9, // TEMPLATE_BRUSH9
  2312. &Brush10, // TEMPLATE_BRUSH10
  2313. &Patch1, // TEMPLATE_PATCH1
  2314. &Patch2, // TEMPLATE_PATCH2
  2315. &Patch3, // TEMPLATE_PATCH3
  2316. &Patch4, // TEMPLATE_PATCH4
  2317. &Patch5, // TEMPLATE_PATCH5
  2318. &Patch6, // TEMPLATE_PATCH6
  2319. &Patch7, // TEMPLATE_PATCH7
  2320. &Patch8, // TEMPLATE_PATCH8
  2321. &Shore16, // TEMPLATE_SHORE16
  2322. &Shore17, // TEMPLATE_SHORE17
  2323. &Shore18, // TEMPLATE_SHORE18
  2324. &Shore19, // TEMPLATE_SHORE19
  2325. &Patch13, // TEMPLATE_PATCH13
  2326. &Patch14, // TEMPLATE_PATCH14
  2327. &Patch15, // TEMPLATE_PATCH15
  2328. &Boulder1, // TEMPLATE_BOULDER1
  2329. &Boulder2, // TEMPLATE_BOULDER2
  2330. &Boulder3, // TEMPLATE_BOULDER3
  2331. &Boulder4, // TEMPLATE_BOULDER4
  2332. &Boulder5, // TEMPLATE_BOULDER5
  2333. &Boulder6, // TEMPLATE_BOULDER6
  2334. &Shore6, // TEMPLATE_SHORE6
  2335. &Shore7, // TEMPLATE_SHORE7
  2336. &Shore8, // TEMPLATE_SHORE8
  2337. &Shore9, // TEMPLATE_SHORE9
  2338. &Shore10, // TEMPLATE_SHORE10
  2339. &Road1, // TEMPLATE_ROAD1
  2340. &Road2, // TEMPLATE_ROAD2
  2341. &Road3, // TEMPLATE_ROAD3
  2342. &Road4, // TEMPLATE_ROAD4
  2343. &Road5, // TEMPLATE_ROAD5
  2344. &Road6, // TEMPLATE_ROAD6
  2345. &Road7, // TEMPLATE_ROAD7
  2346. &Road8, // TEMPLATE_ROAD8
  2347. &Road9, // TEMPLATE_ROAD9
  2348. &Road10, // TEMPLATE_ROAD10
  2349. &Road11, // TEMPLATE_ROAD11
  2350. &Road12, // TEMPLATE_ROAD12
  2351. &Road13, // TEMPLATE_ROAD13
  2352. &Road14, // TEMPLATE_ROAD14
  2353. &Road15, // TEMPLATE_ROAD15
  2354. &Road16, // TEMPLATE_ROAD16
  2355. &Road17, // TEMPLATE_ROAD17
  2356. &Road18, // TEMPLATE_ROAD18
  2357. &Road19, // TEMPLATE_ROAD19
  2358. &Road20, // TEMPLATE_ROAD20
  2359. &Road21, // TEMPLATE_ROAD21
  2360. &Road22, // TEMPLATE_ROAD22
  2361. &Road23, // TEMPLATE_ROAD23
  2362. &Road24, // TEMPLATE_ROAD24
  2363. &Road25, // TEMPLATE_ROAD25
  2364. &Road26, // TEMPLATE_ROAD26
  2365. &Road27, // TEMPLATE_ROAD27
  2366. &Road28, // TEMPLATE_ROAD28
  2367. &Road29, // TEMPLATE_ROAD29
  2368. &Road30, // TEMPLATE_ROAD30
  2369. &Road31, // TEMPLATE_ROAD31
  2370. &Road32, // TEMPLATE_ROAD32
  2371. &Road33, // TEMPLATE_ROAD33
  2372. &Road34, // TEMPLATE_ROAD34
  2373. &Road35, // TEMPLATE_ROAD35
  2374. &Road36, // TEMPLATE_ROAD36
  2375. &Road37, // TEMPLATE_ROAD37
  2376. &Road38, // TEMPLATE_ROAD38
  2377. &Road39, // TEMPLATE_ROAD39
  2378. &Road40, // TEMPLATE_ROAD40
  2379. &Road41, // TEMPLATE_ROAD41
  2380. &Road42, // TEMPLATE_ROAD42
  2381. &Road43, // TEMPLATE_ROAD43
  2382. &River1, // TEMPLATE_RIVER1
  2383. &River2, // TEMPLATE_RIVER2
  2384. &River3, // TEMPLATE_RIVER3
  2385. &River4, // TEMPLATE_RIVER4
  2386. &River5, // TEMPLATE_RIVER5
  2387. &River6, // TEMPLATE_RIVER6
  2388. &River7, // TEMPLATE_RIVER7
  2389. &River8, // TEMPLATE_RIVER8
  2390. &River9, // TEMPLATE_RIVER9
  2391. &River10, // TEMPLATE_RIVER10
  2392. &River11, // TEMPLATE_RIVER11
  2393. &River12, // TEMPLATE_RIVER12
  2394. &River13, // TEMPLATE_RIVER13
  2395. &River14, // TEMPLATE_RIVER14
  2396. &River15, // TEMPLATE_RIVER15
  2397. &River16, // TEMPLATE_RIVER16
  2398. &River17, // TEMPLATE_RIVER17
  2399. &River18, // TEMPLATE_RIVER18
  2400. &River19, // TEMPLATE_RIVER19
  2401. &River20, // TEMPLATE_RIVER20
  2402. &River21, // TEMPLATE_RIVER21
  2403. &River22, // TEMPLATE_RIVER22
  2404. &River23, // TEMPLATE_RIVER23
  2405. &River24, // TEMPLATE_RIVER24
  2406. &River25, // TEMPLATE_RIVER25
  2407. &Ford1, // TEMPLATE_FORD1
  2408. &Ford2, // TEMPLATE_FORD2
  2409. &Falls1, // TEMPLATE_FALLS1
  2410. &Falls2, // TEMPLATE_FALLS2
  2411. &Bridge1, // TEMPLATE_BRIDGE1
  2412. &Bridge1d, // TEMPLATE_BRIDGE1D
  2413. &Bridge2, // TEMPLATE_BRIDGE2
  2414. &Bridge2d, // TEMPLATE_BRIDGE2D
  2415. &Bridge3, // TEMPLATE_BRIDGE3
  2416. &Bridge3d, // TEMPLATE_BRIDGE3D
  2417. &Bridge4, // TEMPLATE_BRIDGE4
  2418. &Bridge4d, // TEMPLATE_BRIDGE4D
  2419. &Shore24, // TEMPLATE_SHORE24
  2420. &Shore25, // TEMPLATE_SHORE25
  2421. &Shore26, // TEMPLATE_SHORE26
  2422. &Shore27, // TEMPLATE_SHORE27
  2423. &Shore28, // TEMPLATE_SHORE28
  2424. &Shore29, // TEMPLATE_SHORE29
  2425. &Shore30, // TEMPLATE_SHORE30
  2426. &Shore31, // TEMPLATE_SHORE31
  2427. &Patch16, // TEMPLATE_PATCH16
  2428. &Patch17, // TEMPLATE_PATCH17
  2429. &Patch18, // TEMPLATE_PATCH18
  2430. &Patch19, // TEMPLATE_PATCH19
  2431. &Patch20, // TEMPLATE_PATCH20
  2432. &Shore34, // TEMPLATE_SHORE34
  2433. &Shore35, // TEMPLATE_SHORE35
  2434. &Shore36, // TEMPLATE_SHORE36
  2435. &Shore37, // TEMPLATE_SHORE37
  2436. &Shore38, // TEMPLATE_SHORE38
  2437. &Shore39, // TEMPLATE_SHORE39
  2438. &Shore40, // TEMPLATE_SHORE40
  2439. &Shore41, // TEMPLATE_SHORE41
  2440. &Shore42, // TEMPLATE_SHORE42
  2441. &Shore43, // TEMPLATE_SHORE43
  2442. &Shore44, // TEMPLATE_SHORE44
  2443. &Shore45, // TEMPLATE_SHORE45
  2444. &Shore46, // TEMPLATE_SHORE46
  2445. &Shore47, // TEMPLATE_SHORE47
  2446. &Shore48, // TEMPLATE_SHORE48
  2447. &Shore49, // TEMPLATE_SHORE49
  2448. &Shore50, // TEMPLATE_SHORE50
  2449. &Shore51, // TEMPLATE_SHORE51
  2450. &Shore52, // TEMPLATE_SHORE52
  2451. &Shore53, // TEMPLATE_SHORE53
  2452. &Shore54, // TEMPLATE_SHORE54
  2453. &Shore55, // TEMPLATE_SHORE55
  2454. &Shore56, // TEMPLATE_SHORE56
  2455. &Shore57, // TEMPLATE_SHORE57
  2456. &Shore58, // TEMPLATE_SHORE58
  2457. &Shore59, // TEMPLATE_SHORE59
  2458. &Shore60, // TEMPLATE_SHORE60
  2459. &Shore61, // TEMPLATE_SHORE61
  2460. &Shore62, // TEMPLATE_SHORE62
  2461. &Shore63, // TEMPLATE_SHORE63
  2462. };
  2463. /***********************************************************************************************
  2464. * TemplateTypeClass::TemplateTypeClass -- Constructor for template type objects. *
  2465. * *
  2466. * This is the constructor for the template types. *
  2467. * *
  2468. * INPUT: see below... *
  2469. * *
  2470. * OUTPUT: none *
  2471. * *
  2472. * WARNINGS: none *
  2473. * *
  2474. * HISTORY: *
  2475. * 07/29/1994 JLB : Created. *
  2476. *=============================================================================================*/
  2477. TemplateTypeClass::TemplateTypeClass(TemplateType iconset, int theater,
  2478. char const *ininame, int fullname, LandType land,
  2479. int width, int height, LandType altland, char const *alticons ) :
  2480. ObjectTypeClass(false, false, false, true, false, false, true, true, fullname, ininame, ARMOR_NONE, 0)
  2481. {
  2482. Theater = theater;
  2483. AltIcons = alticons;
  2484. AltLand = altland;
  2485. Type = iconset;
  2486. Land = land;
  2487. Width = width;
  2488. Height = height;
  2489. }
  2490. /***********************************************************************************************
  2491. * TemplateTypeClass::From_Name -- Determine template from ASCII name. *
  2492. * *
  2493. * This routine is used to determine the template number given only *
  2494. * an ASCII representation. The scenario loader uses this routine *
  2495. * to construct the map from the INI control file. *
  2496. * *
  2497. * INPUT: name -- Pointer to the ASCII name of the template. *
  2498. * *
  2499. * OUTPUT: Returns with the template number. If the name had no match, *
  2500. * then returns with TEMPLATE_NONE. *
  2501. * *
  2502. * WARNINGS: none *
  2503. * *
  2504. * HISTORY: *
  2505. * 05/23/1994 JLB : Created. *
  2506. *=============================================================================================*/
  2507. TemplateType TemplateTypeClass::From_Name(char const *name)
  2508. {
  2509. if (name) {
  2510. for (TemplateType index = TEMPLATE_FIRST; index < TEMPLATE_COUNT; index++) {
  2511. if (stricmp(As_Reference(index).IniName, name) == 0) {
  2512. return(index);
  2513. }
  2514. }
  2515. }
  2516. return(TEMPLATE_NONE);
  2517. }
  2518. /***********************************************************************************************
  2519. * TemplateTypeClass::Occupy_List -- Determines occupation list. *
  2520. * *
  2521. * This routine is used to examine the template map and build an *
  2522. * occupation list. This list is used to render a template cursor as *
  2523. * well as placement of icon numbers. *
  2524. * *
  2525. * INPUT: placement -- Is this for placement legality checking only? The normal condition *
  2526. * is for marking occupation flags. *
  2527. * *
  2528. * OUTPUT: Returns with a pointer to the template occupation list. *
  2529. * *
  2530. * WARNINGS: The return pointer is valid only until the next time that *
  2531. * this routine is called. *
  2532. * *
  2533. * HISTORY: *
  2534. * 05/23/1994 JLB : Created. *
  2535. *=============================================================================================*/
  2536. short const * TemplateTypeClass::Occupy_List(bool) const
  2537. {
  2538. static short _occupy[13*8+5];
  2539. unsigned char map[13*8];
  2540. short *ptr;
  2541. int index;
  2542. Mem_Copy(Get_Icon_Set_Map(Get_Image_Data()), map, Width*Height);
  2543. ptr = &_occupy[0];
  2544. for (index = 0; index < Width*Height; index++) {
  2545. if (map[index] != 0xFF) {
  2546. *ptr++ = (index % Width) + ((index / Width)*MAP_CELL_W);
  2547. }
  2548. }
  2549. *ptr = REFRESH_EOL;
  2550. return((short const *)&_occupy[0]);
  2551. }
  2552. /***********************************************************************************************
  2553. * TemplateTypeClass::Init -- Loads graphic data for templates. *
  2554. * *
  2555. * This routine loads the template graphic data for all the template *
  2556. * type supported for the specified theater. This routine is called *
  2557. * whenever the theater for the scenario is first determined. *
  2558. * *
  2559. * INPUT: theater -- The theater that the template data is to be *
  2560. * loaded for. *
  2561. * *
  2562. * OUTPUT: none *
  2563. * *
  2564. * WARNINGS: This routine goes to disk! *
  2565. * *
  2566. * HISTORY: *
  2567. * 05/23/1994 JLB : Created. *
  2568. * 06/02/1994 JLB : Only handles iconset loading now (as it should). *
  2569. *=============================================================================================*/
  2570. void TemplateTypeClass::Init(TheaterType theater)
  2571. {
  2572. //if (theater != LastTheater){
  2573. char fullname[_MAX_FNAME+_MAX_EXT]; // Fully constructed iconset name.
  2574. void const * ptr; // Working loaded iconset pointer.
  2575. for (TemplateType index = TEMPLATE_FIRST; index < TEMPLATE_COUNT; index++) {
  2576. TemplateTypeClass const & tplate = As_Reference(index);
  2577. ((void const *&)tplate.ImageData) = NULL;
  2578. if (tplate.Theater & (1<<theater)) {
  2579. _makepath(fullname, NULL, NULL, tplate.IniName, Theaters[theater].Suffix);
  2580. ptr = MixFileClass::Retrieve(fullname);
  2581. ((void const *&)tplate.ImageData) = ptr;
  2582. // No need for icon caching now. ST - 12/19/2018 11:48AM
  2583. // Register_Icon_Set((void*)ptr,TRUE); //Register icon set for video memory caching
  2584. }
  2585. }
  2586. //}
  2587. }
  2588. #ifdef SCENARIO_EDITOR
  2589. /***********************************************************************************************
  2590. * TemplateTypeClass::Display -- Displays a generic representation of template. *
  2591. * *
  2592. * This routine is used to display a generic view of the template *
  2593. * object. This is necessary for selection in the scenario editor. *
  2594. * *
  2595. * INPUT: x,y -- The coordinates to center the display about. *
  2596. * *
  2597. * window-- The window to base the coordinates upon. *
  2598. * *
  2599. * OUTPUT: none *
  2600. * *
  2601. * WARNINGS: none *
  2602. * *
  2603. * HISTORY: *
  2604. * 05/23/1994 JLB : Created. *
  2605. *=============================================================================================*/
  2606. void TemplateTypeClass::Display(int x, int y, WindowNumberType window, HousesType ) const
  2607. {
  2608. int w,h;
  2609. int index;
  2610. unsigned char map[13*8];
  2611. bool scale; // Should the template be half sized?
  2612. w = Bound(Width, 1, 13);
  2613. h = Bound(Height, 1, 8);
  2614. scale = (w > 3 || h > 3);
  2615. if (scale) {
  2616. x -= (w/2) * (ICON_PIXEL_W/2);
  2617. y -= (h/2) * (ICON_PIXEL_H/2);
  2618. } else {
  2619. x -= (w/2) * ICON_PIXEL_W;
  2620. y -= (h/2) * ICON_PIXEL_H;
  2621. }
  2622. x += WindowList[window][WINDOWX]<<3;
  2623. y += WindowList[window][WINDOWY];
  2624. Mem_Copy(Get_Icon_Set_Map(Get_Image_Data()), map, Width*Height);
  2625. for (index = 0; index < w*h; index++) {
  2626. if (map[index] != 0xFF) {
  2627. HidPage.Draw_Stamp(Get_Image_Data(), index, 0, 0, NULL, WINDOW_MAIN);
  2628. if (scale) {
  2629. HidPage.Scale((*LogicPage), 0, 0,
  2630. x + ((index % w)*(ICON_PIXEL_W/2)),
  2631. y + ((index / w)*(ICON_PIXEL_H/2)),
  2632. ICON_PIXEL_W, ICON_PIXEL_H,
  2633. ICON_PIXEL_W/2, ICON_PIXEL_H/2, (char *)NULL);
  2634. } else {
  2635. HidPage.Blit((*LogicPage), 0, 0, x + ((index % w)*(ICON_PIXEL_W)),
  2636. y + ((index / w)*(ICON_PIXEL_H)), ICON_PIXEL_W, ICON_PIXEL_H);
  2637. }
  2638. }
  2639. }
  2640. }
  2641. /***********************************************************************************************
  2642. * TemplateTypeClass::Prep_For_Add -- Prepares to add template to scenario. *
  2643. * *
  2644. * This routine prepares a list of template objects so that the *
  2645. * scenario editor can use this list to display a dialog box. The *
  2646. * selection of a template object will allow its placement upon the *
  2647. * map. *
  2648. * *
  2649. * INPUT: none *
  2650. * *
  2651. * OUTPUT: none *
  2652. * *
  2653. * WARNINGS: none *
  2654. * *
  2655. * HISTORY: *
  2656. * 05/23/1994 JLB : Created. *
  2657. * 05/28/1994 JLB : Only handles real templates now. *
  2658. * 06/04/1994 JLB : Uses map editing interface functions. *
  2659. *=============================================================================================*/
  2660. void TemplateTypeClass::Prep_For_Add(void)
  2661. {
  2662. for (TemplateType index = TEMPLATE_CLEAR1; index < TEMPLATE_COUNT; index++) {
  2663. if (As_Reference(index).Get_Image_Data()) {
  2664. Map.Add_To_List(&As_Reference(index));
  2665. }
  2666. }
  2667. }
  2668. #endif
  2669. /***********************************************************************************************
  2670. * TemplateTypeClass::Create_And_Place -- Creates and places a template object on the map. *
  2671. * *
  2672. * This support routine is used by the scenario editor to add a template object to the map *
  2673. * and to the game. *
  2674. * *
  2675. * INPUT: cell -- The cell to place the template object. *
  2676. * *
  2677. * OUTPUT: bool; Was the template object placed successfully? *
  2678. * *
  2679. * WARNINGS: none *
  2680. * *
  2681. * HISTORY: *
  2682. * 05/28/1994 JLB : Created. *
  2683. *=============================================================================================*/
  2684. bool TemplateTypeClass::Create_And_Place(CELL cell, HousesType ) const
  2685. {
  2686. if (new TemplateClass(Type, cell)) {
  2687. return(true);
  2688. }
  2689. return(false);
  2690. }
  2691. /***********************************************************************************************
  2692. * TemplateTypeClass::Create_One_Of -- Creates an object of this template type. *
  2693. * *
  2694. * This routine will create an object of this type. For certain template objects, such *
  2695. * as walls, it is actually created as a building. The "building" wall is converted into *
  2696. * a template at the moment of placing down on the map. *
  2697. * *
  2698. * INPUT: none *
  2699. * *
  2700. * OUTPUT: Returns with a pointer to the appropriate object for this template type. *
  2701. * *
  2702. * WARNINGS: none *
  2703. * *
  2704. * HISTORY: *
  2705. * 06/18/1994 JLB : Created. *
  2706. *=============================================================================================*/
  2707. ObjectClass * TemplateTypeClass::Create_One_Of(HouseClass *) const
  2708. {
  2709. return(new TemplateClass(Type, -1));
  2710. }
  2711. /***********************************************************************************************
  2712. * TemplateTypeClass::One_Time -- Performs one-time initialization *
  2713. * *
  2714. * INPUT: none *
  2715. * *
  2716. * OUTPUT: none *
  2717. * *
  2718. * WARNINGS: none *
  2719. * *
  2720. * HISTORY: *
  2721. * 08/12/1994 JLB : Created. *
  2722. *=============================================================================================*/
  2723. void TemplateTypeClass::One_Time(void)
  2724. {
  2725. }