CDATA.CPP 63 KB

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