Mostly rename functions from terrain.h that accept features of typ dgn_feature_type from grid_is_* to feat_is_*.
G7DNYFW745Q567EF3TPR2FCQ4ATPN236ON7X5TLYC7TEPZW3BAFAC VXI2YC7FM2JEEO7EHLVW3OSRHON4UNKHFFG3LJKHKNLPPHJREHEQC PWH7XDI4TKX47RBFLLWDCQAX3C4W5IDZIQGAGRHNEKOALJN2QCNQC 4JLF3ISFUZUOM7ER6B4D4HLT3OKBDVAE7BLOCS2JMK45D4XZSRRAC 4FJTZNKO5X5K7O2PWMEQT3YJG22CVDPNIOTRV65XLZQROHFR3RRQC G3EZBLFMOL5HJKIVRFIGALMCGATOSBINVKBTDF6ZB2AT7TD5L3BQC SO3PGCDQMMLQNAYOQYXEIP7DQRFYBIQJU23OCEOOZXCC67SOGUXAC UBHLXCMMIEXAUZ6DO4ZY4XFMUECT624WF4JENVJXV7DGCW66Y3DAC OJPQETM5ZH4C46YLQABQ4NVTTHY2WZMUZUB3ZE4VVYVXV26B47UQC 7PVD4PKITHZU4HOWQ6BPRGMSAW5PSTAJJ4K3OWZ6Y2O6OFBXJIDQC S6TKJBJDUDKXI6RQU65GBWLGXSEQ2R4EGEQCQVS5NC3OH72ILOFQC BGOXRVUSMABTS6ZEIJQLKQHLHP6DGMPP52EHP7KT5X3YXGQYFCFQC WJSZFY6NYXXMYNOWVE33NTEYHQ5BVWHKG7NT5UEJX2HH5JOJ55SQC EWOBIL3JNGDIN3VNP5TETBSLTYQTX5D6U27SVITLSDQMYAAKPJDQC AVCWYX6CU7PR3H5ZSEV2G3B7BSXPCD4ZYLSO2WPCHRMRPPXUKFAAC 6LJ7HNA6M2RVACJM4OASJPQAQ42UZGCXW636AVJ4CPICGQZBKLWQC HZWSBRKWQUD3QN4OLYOBNK65GPZJKZLW6ZCS6DVOU5YIJJ5L62LQC XKL3ATYU6YNHKOGQCVJVQR7YG2I6KPYGWUNICZ7NSDKLNM4UGK3AC EU2UUHX7Q6BP4U3YQRXRPIWSRSNTXAWGQG7Q65G6LVQ4X5VFPDJQC MCYQKFAWI3AVSPBOROUONZ5PE3AIAEMRBOXRMZJ6MCAUHMFQNALAC LP64I7OHAOEUYCSK5LAWCB335GDIRAJHUVTKTJGOJ4V2NWFLDIGAC C2SEDDU56BGG45PTKZAAGKLUYT2AG6VWHDE4CM6YCGADTL6OYI4AC OMSRI7AHKL3D2KFQ7F5IDANQIIGG3MYULPHGICXOA7JVTIHEYGHQC RXDU5LKGCQHDGZUVTNMKTF66O5OC5M3SCYMH7535GM7CTFDJE7FAC PVHG5SLN34UM4FRF5YJZOG4EN22Q5LZ5MNUHYZFWAXWIB5K4RZ2AC TQXNC2YQVJZXBPSLDEANMM2EDGHTH4DSN74OJIRMUF7D46SESHZAC G5FU72S2CVOOCVFOKCRQKXDVKPEI3B6JOUTWLKAJVUBCTWC7OG6QC V25XPIUUPVMKRK663D33PWE3GFQR47XZAV642T2NYGRFWZR5LT6AC KF5BNN42PTO35TBQD5CNMDXFAXHYCSQTBOOXZV7I3ML5VASUUT5AC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC IBV5MNXWCCOWCI7DPVTPFEEMLX7QWP75EP6YQ3RA2WJOKWSGMPSQC LEZWYG752CKY6URMLSQTOADDRAJ5NTT7KH7BC5ENGQ55GXKHQMWQC VSXFXNKXKVVHNDE3IRQQLT5NZJNVYFZI5634RO6GZE35UFFKHIPAC IWYUUMWDNSGRNR7CJDMJQJHQ6T4UTTGX6X5DQMQ4LH7CZUODDQPQC LZN527GR3AULRHWIBA537RR4WSCNNYY4XSEZ6VFF7TKGYSUSBOCAC FM4LIPXOMA65AXD33QNNRVMURTVCLGB7NCQYYS6I3DPOZFIKN4XQC IFYZSFWJRTV6JM46H6U4CMTQX46VT562EAM64Y6UYU3F6RDWRRYQC S6ZETU2X3HBTKBDL2KTAMCNPMPGHEZO2JGMILIWETWC7XXRS5RYQC XHNJ2W4AQHIF32P2ENIMMDLWAIFWP442KJIZC6RKS4HBJNZIHHBAC GQL5SIGBHLU3FMCE54XVGLRY5AZHRM6DUEB722REA2DPLGJSN6EQC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC 2ZZD6EYMSPVCXZTICL4VGYGGQRRWDLZ24KBCDBVIYC54OZ4C6GGAC CFWPAA7X7JQBNHFFEY7FJUZZ56YIQXGXEQ7EEVZMJ65YCPNO2L5AC GL7TJGUGV4JPLZCDWH6QVST4RYW7UJV6IP7UAEWEKNBWJO2H2ZHAC J7GPW2YXLT6FGSKJ24FGQ24GTRZ6A2BDYM6CIXV4R6YBEHP6BGPAC IT424EEO2IZGLBCJG5VYIKTTBXV5YXQYBE3IZ3JDJHOYFUPB6LAAC WEZLXS4OSKPX6ZFFZZKKEO4NKG2QC4AFANVC34IYNDAEDGWJJHLQC JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC 72CQFK27NR37P2WQ32U4PEXXKMRIO7JEMJN2ZCPNVPZMT7UPFJJAC WYMN37VYSETF56RTTJ45VMB2YS4OUUKRL2JNWJSUKNLBFGGGECNQC XP2DL4CJ7FH2IPNNA6KHNOAFW6J2RSC44JWEGLYQHWUMU5EVHFUQC LHHRXD4GGPHSU6OGOVJEHDHYJA3Q5X45VKMZYUWZP3VXOLYZRTIAC WT66JDIRTLLP37SHTV4GI3V64JFJ4D25LNRLGCHFG6CLEFKJ3QGQC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC Q3B3UVMYEVC4YJUPYVSNTR4DJH4E6J4JJDHZNT5LNOCHCPPMEMXAC 77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC GTPAKUU3R5AS3LQNCCZIP3BWV473RM4EB2AIS4FXAJRXHEOVH2PAC Z6XF4AIERIW4U4AR3HU2ILYFZ54IK4K4ORQ6JKCEWRO5LZODWDDAC 5US6HAZNUVFLJCSX3YLML7U4ZR7HHXU3VM7U6JJEEULNCIPD7B6QC X3JAMTLR5H345ZAHGB5JYQWA6FTIGVIZPMTVVGQRWEWLL4JHAWJQC TAHSTXR7ROOMDFUSBUU4ZAIEWQLAS5CIRCTARLD4Q2BGNLSL7E5QC UOW2X5KTUHYCM73SWNOSJPHUKWVLF3OJTNSISSSENEURBX2XWHVQC DQMZNXI3AGPSRNIEVWJ2PDILX3HJHBJOJJ4IBU6MTZ225GRVRC6AC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC F2X5SIIXWXXEL2FVMYDC4GL2ODZ4O7RA46U66VGJ5K2EZHHAQGUAC SKV6JBDAWUWTFECFSQARSNA3DDPUFCR7N3T7D5J35NYTEDMXLP3QC 2WRXQTGYDBLV46WRNVIUKGNA5QS563XZNNW3N2L6PVOCHIP2YGHQC SSQP7MS6LZYY73QEF66EYNNQJJSB6TVLLWXLWL7JJAYBLXCEY2XAC PL6I2CMSTHY5ZHWVMIQE5YTM5S5VPKBNZM6QJVHZSSKOJGIJ5W4AC OTNY2YDUXCJFXDSTHNRKSZ4A5DS5RJMDMJV2Z6TYT2AUODEQIX4QC 45EMD3KLQPMERNMIKU5G76H6556XOMIW352TSBP7VLWJX2YYGS7AC EJRKMYKMOYRQXTWGFTMADEWIGWLMWHMUDA73AUT7HO5OBK2GUQEAC ZNMT5CZHP2FC4HTLNA7KYEDGFBXSCUE5QHJOALVPE6RDPHSEDXRQC AL7EYY4HB7JNEFGDB6NVVHCVVUYYKUJKC4UFH4T7XUT3P5NT4NAAC TUUNS3NDWU3KCDUB5TONUGLUXI4ZKQ2LSMC4OIY5E6WIZH3PV47AC LLKV4OYGEDB4GVJS5JVBZP5JQFW7VMPZ2CBRSITJ5XCFS3QNWIBQC PSCYVKJ7DGXAL3V5U4O6AJTRV6Q3N3SHQWAZ73VIPRTE4W64F2XAC JTQG4CMY6TPM4CHQN2KRIND2VPMQX535WGQ4AKKTGMDGP44UM3MQC NXLDJFG7FPL7ZADEBSY3DLDIBLZ7I4JV3NPRGFQYPF25BXWIK6CQC HIPFIMUOA7DFOFV3DQ55YZJVGNU2GNDYFUCB4MRPUR5DTYDO5YMAC IPXXB4VRVZWOU5DKQ5ZTD37LS3QNK2R6APNZUO672YEEJT6OFAYQC XVX7AVLLYZJIJUZA2LZ6T57PHULWPDRZOHELDF4JHZ35EMINFFZQC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC SVCW5YZWU727ULEQAXQDPQIR3HKH3HCH5VFXWEUAZC7LWFUVUEZQC LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC A4FBEPVX7W4H4R7AMJEGONTJC5N7SC2E3S3CV7RZYS2SAONUQBHQC YRZBGNKW7PP3UJEKNO22FMMC7W5V52L4LZAWE3C3UKTO2NNSXA4QC SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC AS2IQQJNNCEQNXXKTGYHLB7RO3ZKCF4F7GK6FJH66BOOKDDRGNIQC SELQ6AD2GNYLGHJVONUUFDHSCMGYMMNQF5D72D7KTAYOV36T2BBAC 6DNNPEMZGBQDMA7YG4LCTQUVZ7LYPC3R4A2XBYT5SDQ65GYOLJVAC CK7CT5TUFUL2AQY7FUHB5JI3FC2KSPWUWHXC6VEUJJ7G4OWUQFTAC LVCBY444HPB4RRFMUAZPHVZ67IC3L6DB27AEMCW3DEXHLBF73TMQC PEZFWKRHDHV4UJTPK5XJZ3CGTZ3LPTDYSPTYBENLQ7VRSP7YFSIQC Z6Q7JVMFQ32SC7FRGOB7CE7JS2HEOPAO3B2VLU3YR3UCUDZFIPFQC R73CYAV6MK6DT6QU6APLJVXINUFEGOOFHDCLPKD2I7FJ2VGDCNRAC MPMVK6J5UQUFJ75SNRSPIBBSRTH67ZPDZKPZUF3RZRFKSERS62AAC TPZWAV3USKO7RX4IGHLZKVPRN36K33PJPSZYL6FZMX4XBHTYOQYAC MFONX2CQ4V7HA5NSD6P5NDDBXYDSKIOCYUKRZXJ4ZER2OKJWT2HQC WDQ3ST3BQ7BMW2IXQMSJVRG7GK2EG444JLKII24FB7IJ5YF5KT5QC PTJJ6D52LDVJN7WA7NMYV2WHH3WJMWWLRGF3D7ZSBUNLAACFRJHAC VCG3BRIYRTNNWYC3LOXD6KFGXOX37HAFW2HNV7WXVG2V7EUHLDZQC U6UUTZZVZHQVN3HWPN2CLRNE4VXESLNHS75W4CYUZIAKVHCYRCDQC ILOED4VB4I6VPAUTR75ZWX6MXDYXB5DO2EDK2UH67O3HNKWV23RQC IPPPBA4G2LODBP3EJIYGUAAOMHKLNBXHBD7KVX2JVDTA4DETHO4AC 247OW5JFN34ZV3GRVHRE25AXLLISUBPOX5YRGUE64BCM2V7QNEHAC RDZUMV3A5TREQHLPPJWDWVXBNIOWC3CQJJ35TYFBQQVQNTU7SPXQC GT7BSR54BVJKHUCLEBTELGBMNBFFDQW52EVC4XKVEMUVG2UGZMDAC K2RH5RUM432AQDEHB6ZVKFIVU7FAH5E2BZDHW2MMLNFR2C4YMFJAC SWE3F3BLKHYMJEJLXNFH3MR2E6VDEYXJ6DL7QLPP47BJEKEUCAMAC RDLF4VIJMMHHL2OCQEXOK6HNCS5QX3FZF3S4IHPY3OZUKC2FZ24AC DKISJVKAJJK2SVZSXGJ37K5SOVTDARVX6RPK3MAKVNGC36Z4YAZQC UU5JLKAKZSTWFQJLUTPQZJ3ZQY7BEU2KROZETUNSKC6LFG6XVSZQC 37HLRNCJQGZRXC7YRIGHPRALDBB5QUHVKFSCOWINHQH5ZPIIG6BAC HB27XKFYVYIEQZGBCEZ6LKPUBMXLIPDAAS636GJ5TULIQ7KND5KQC KWWIKOKQ6G6JTKNBECAIG7FDFCQHLP45U3SJEPMPHH6MB7Q45CXAC 2K7SL55NUJQ6PBMVPPRCMGS55M2VBZ4CFQYQEKN5SXEW427RKCPAC 5XNQ3SSNBFXFNWA6DPM74W6FH65NX665P3DMH6YCWVFOPZTJSYCQC MI7CWKRDXHAU7PIHLXXOSFBULRGT2OOMIMOSQLMVYOUVGABIVXGAC HW7XKO7HRAUQVDVVKG5GA7PYAEL5J5GKVDPT2CKAD3FLERAY5HLAC KC4WE63EQMVI6QBPDO3EAEPMFLAOS7H5WUAFL7JPRIE3V7CR333AC HREZKWJTYQ5LA2LYTHOS4Z25LT5FPFPEIUTPT73HNUKEXTJM4DEAC 3NFVCXRVGHN2CHLLWFZES5RBS4R2BCDS4EEQNSDCFYIFQWQK7MUQC RC5SAVDRSD6X75HG3SEEFC444LXYMHASQFLOJMH6D6VTYHBQAJEQC 3XQAOZVTIDFQ7EUC36J2AFMTHZXLZ3G5MBHFN5JZWEWWCXFENHRAC AXRXY7RSEN3QHQRK6SFEH2OZAAYJRR5RBBBFF4YJF756V2FPFJ3AC ACZYEIX7WMPIIODKCATBCUE626AJ4ZGGBOMVC6BGXM27EQU2RECAC AL3SLCDLHEM2K7XFORCHBSO2WRSHWAPRCSMH7HHMRWVBPNA5EM7AC I5N4EIR6SCLLRGKRBUKW5FKUVYK62EA5DOWIAS5XFIHZQKMCXWBAC X55CKEKNO5RD2JMQ4MYX6PXQLDMLH4U4PPKSBK5EQ622J5HOPD2AC QANG7WJNRRHNWPRWQSILZI4QILSXVTRZEZRGCZCAPDMWNCJEDS3AC 46I36AWFYIFDOUPKFEMJSJTPQ27CQP7FNKOLT3ZOBUI6SF4EL7RQC AVCMVFA3MKCXHO6H44UK5KJNIHTGQV7UA7GYXM26VI6TXXU5ZN6QC R22TTMI6WXWULC7ODKFF3QCB7MOTETQQ6IR4BUCUPOCQKQNCTT5AC 3V52MSSK7QX7FWLLUW63DTWCBAJEK674EFZLKP45FLZ5KZKVARHAC MSQI3TH6T62JAXQGLL52QZCWAMC372TGB6ZNNRDGUGMJKBNNV2VAC NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC 47ADGRNSYVDBHB3JFKPZT7AUVWYTR54SCFMGGCQR2LWOUHAERQ3QC 5ASC3STDYCNLZFEBN6UTMUCGDETHBR2OCBZCF5VIAZ5RRWLOTDYQC 7Y5HSDFKA5TPLS2TWTRFMQVX6UXUDHXU5MUMXQSDFAIY4THQ3BIQC X4OCLD5YEXCYVQNMOQORLIO72AKUEMT3BT6FB3TW2HARKN5X7MEQC B7MSPF6X2RLGWN4M6ZZF3WSOPKGYPTTD7LIJVST7DXN27DG6JHNAC Q4TULVRLLNAHZNURPKNAR2K3GBVCEY6KY6ZXKPIJVWVSSZ6R7PEQC EFWEYIB2R3DPD3JWIPU6LS6SFLPMYN7J7X4GBZR7DJWKHJ3UELSAC FXK7Y2F4YJE422WMQ6TYHONWVVDRWLWCU47BXHXCR53DHF6YC76AC IYIGI5ZDHYV463AFYH7BZVIJOMNHTMPL4VZU7DHSXKFFWAPTPD5AC SPWOUV6ZNHLBSAX455ACJDBEJYVFHGO4H76L4NPAE5DF6BEAK34QC ZJMTMMZBCXHCPFHBTI2PL3Q4XTJQUWMMHCCG6JDIEDMJYCC33TFQC BR42OZ3CHR5F5MKPBUOPRG3EXIEQRRRWD5L54BTZQRDXV6VBLATQC BY6T2KQBNMPI54QVEI4QRI6GOCMKAPDEY543VTX7PWXFNNQF25MQC 2UQXBHFFMTZG5M6NPB7KS7WNIH6VPBPVJFO4AN3YPCMZBT637ICAC S4QDOZ5V4HDGB223JZ3CFLWO4MS4OTH5RJD4WHE2C355RFGKJEPQC 22MF6OUN62WDBJR5QFNJTKU7Q5TIQ76XWCEIRBFWAZDMZUSKJGCAC AOAJ6D3OKSELEYKAT55XCVU5LYJ7SMCZKC6DIEGLLB3TF2LEENWQC PM65H4V4GNPVIJFUQW57DC3VDB7TRUUNXKVZONQKEFZSK3AXX5GQC IXO5VNCDYDYI46Y5QWNJMD7TURKYO526CJA4TIMH5PDDAYHMK5YQC FSD7GIK3YLZXWLEH37BU6KV3IUCFGXPQL6IZ7H65YWNRBEKDBX5AC F7Q5PX44SLPANIZXCY67TG2W5JTRVJMHGQW54VJLGB4XRH7R6JBQC O3HPZYTEN566YZRQ27OKFJOEOKZOJX3YOTDVYAKTO6T2H2IUNRFAC GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC LFBNFE3PZBXTR2ROPKYPARUWLJAYWAKGTS7VBWADZWVVSJ5CLX6AC BRNMISYGZGT3XGXA2VCDTPDDROEWX6O23VNEPWMHYVEQEKUVVWOQC NGW2XPEX2XRK3CYC37DNUZSSB5IQLECMKRB6NX257I2X3G35LMPAC MDFQRJ6QZNFUBVSFWLXUJ6EBXOU47T3CVDI2XKBGNNRF4DXDKESQC RVGFSBOM6ZKEFVVGROSW454QSLU4J6TSRU4D6EQMXD4CWQ4UN3TQC JFDTUUUT6AKIGPBKGYFC7HZKGQUZOMG7EUWU4QYKSDVXXPQBBFHAC EFM2EHMNHBA326V3F3H7WOPBZN2XU4GRTRHOFDX6SCIETUPM352QC NG53L53MSFQZAIVKHG54IEMXNJ33AYVPF2OZM4MMJFDKEJCGPBSAC RBAGQ2PB7V5YAM5KSHSZR2E3MLKDSRVM5XYGI2TIXP5QMVBOQHDQC CG4TL4AKSN4J7CMATZFJ5N7PSDCQXLS3QYX7PZ3K67KMMBT675OQC R2DQBWKIW7YUJB5SOQ7J274JIYRVX4H3ISFRPAL5RG2RVVP4G2KAC MHI3OM6VJY6LZUD577O22XREHPOPMWDVR3UT2JWGFDAKD7SO6Y3QC 5DIBLX3RXK752JKG2BQQM76GYEOMQ5E2YKTLROH3QQGHCVLAGRJQC MV5USMLTBKVRWBAD67UFJ2BS4Y5HEOMYASRSB44DS24BBMRP75RQC WP5VP57D5BWKDAS7AA224OV2RX4O4BPTI2BLY7TS3T2O2PLUGXCQC 5LDEEBB7DT4CORJZOAYLQFXNI7FOURUJGAKVDVX7YL745NNRW63AC Y4NA3JSN63RLATF4NNBPSR5CWF5Z7UEMWCGVX4B6NOAR47CGM4GQC D7SLVLRNCYCBDYYRANHDG3JYEF25CFCSUY5FMF5KXVD5D4UZSDDAC WMHFDQKUDCUGM3R245LLVZ5NNEZSCXFDSTNMVS2O5EFUHHO7HU3AC IBITKTCFECTUF6E6WMQVWXQT5Z52O5B4IZBWOLP5DWXGUHGC62AQC 2OY3EXIBFR22QCCKPZOA37YUI7CX7BEKRRYSDSBDKQN6VTDBD7LAC 2VUJ2IMYI7MYLFMSPYAH6IEXIMFG4JUSUYLVCW7SZELHSLPIEL3AC QNIQ2NBBIERVCA2YTD3O3P6QPJ5M6VDVGGX7V2BWXTW5553T4PVAC X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC J6APXOT4QOGQFONWB7G546VTVF6QG42HVOROMHF7YBDJPR4K26OAC T7CUIVICB74342RA32BR37T36FOX4RBSQIB5PNOHTGTGUYGDKSTQC Q3XHNSHW6FI4JCXSEABATRFBJPMCF7PXNG2K6ZQTRRPVMIZFHUBQC TO43FWKHNIA5MVDOFXYHQODTLBQYEZKX5UIUGID57436UF7G2EXQC TGJZXTUIAKCFZQJ54ZQEBGFBVZSJCAX6AWDRSH3TP7UJRLGUM5SAC MJWFTUS66PTCNEYXEJA3CUJFXNWXIKDD6H3V24PW7HK64NSVOFSAC F4WAQJD7KLOXHZOTOT6WG26PVIDHYNVS3AV6ZNXGAS7PDR4HBWQAC IVVRQ52VA3MAD25ZMPID3GCRBBFYR54CH33DKXYTRAGUBLTRAZNAC DLVXY6DBP65B3RGWW4PNBEBPBNHNM3LSRYD36F3XDARFY7SPSJYAC TXCZMB4AIOJ3LI47PXNQFL3SOMMAIBL5GYOPBLHFV6GYDDCY6RHAC SOVD3G5ES7YEJRPWDNG7Z2QTTJ4L2MGZANUY47R3CQCKIKCPGKNAC KSM4H3SBM6FIQTUEGHXXYATJXEOJ4EKUBAFCRMFKSHY7N2HWECRQC 7VCVH6XKT4L4PSCBF6XRYV3WQQDVGDMA73RHPV6IOWMQ2S7B5XAQC VXSORUQOM2VZA4CAZDC6KPAY373NQIN3UT7CXQXTRCYXO2WM62DAC I2B33Z7NZGC33AMDSSK446AZZYWKPHWLAGULVHKKZU4MVB4BNJOAC OFH2B2UZBK43QLFQBZ54FOCFLFNE54BZVDNCEUGDTBCUGNVZULIQC TYAUNNAVB4GEKXYSR447JXRDKRJJZHAVV7XLWGU7RXEP5JMJCQKAC OMAUFQNBWGX4FDABHQCVPGDYRVKMDASGQJVRH7AOPPEMHAP2LQSQC MT3256427VMCV4JUFWCN7ULY4KXSND5ZL5THDKYNWWYOXXR5DLIQC AUXHSGS4EFOPZ6TVZYWNVOUDO7NYKUKE3HBKGQQWTALSVFOE3HAAC UU5EKED2RA2U3CFZ3UEJQEWSWHQPEU7ZD4KH3I22IIVZFHD4Y67QC TLA5UN6LZPXGKERI27EFY4HKIIU3VU5Y7ZU54WXL6ANBUV2VOTMQC T7CCGLOZ25B7BQKKGR6IA6LWBRKUWTXLTIRXUQ4YKQRVAA7AHZKQC N7YNVM65XE2BIR36EV2LCAZJ3CAVXZHRGBKPRTH3RR4DK3HFAHCQC 2EBEWIV4YHXXAFR4GG2GMZJ2K77NK762HNQ77CZLHI3LDVGX7RJAC 7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC L57WEZMVIHTFRLWVIPWOIOWHCF2I53TVUVYJ2V6IZ64R56FVTZZAC BDFIS53HAIHOCXQ5BE7WCO2MEOFCUQPFY4JGUWVLWY6JO3IFMEKQC QNSFZBLVAN7BPYYRXUELHBZCLIQTYDATDIXF3YVH7LBBST66VUCQC XKAJWK6MPHS3ZCZIPPLTIMOPF6AROGLRDDCS6EFE3IGE4AHT7MYQC VY2RJLJQMUOVIJOYPTA7AEXPURIV3H6VF7O5QQ7LF44ZS36RTFYAC TKBNL7HXWTEWYERMIANPKAWU3VD2QYMIZTBC3C7Y4VBHZSP3IBIQC W74555HMPXUQ72AGKBXC5P3STMMX5DZAW6ZESUDLNVJBCAG43PLAC SW3RLYFNRT3IJBK6LYKHKP2J2YDU7SXQWAJZX7U6S7ICYW43OMNQC 2Z6IWKMEWE4OIFVWFSZBA2SIXMBJNV6H6LNEPOXTJZW433ABU4EQC SOCJXX6MMOXLBEWBID4QN5FW2YNYULNNN7K3IRL7RSWK5EUNAZLQC L2HDKXXUL27V7CTKPRAJMUVZNV6ZVSWVEYEOWZZ6NO6O7Y2THDZQC ADNUOKDM2BLXCMGW6FOI3KYKDPIUUDJJXESMWDVSXXR5TZCGQ5YQC VHX7TPWGVWIT4UVQZ3XSFBRALNMHLEDMEBJC6HZ4HUH2JKI4VL6AC QKV56RZTWOX64VLWW52R2DEUM3HGGZNLRAJ2ZV2BHW5K422OPNJQC 32S5UVZCXZ5QWH4NDB23MHOPLVPON3VKIWH6EEY42SRPBFZUUXSQC T3R2D5M4YSC6NFZ6YO3AEG4VWORECX72CHUM5UBADV4UPAAZG7WQC OYTCBRC7LE44EUVRZVYTOOVKQWJ6P6YE3FXTOGUTNKEMLNWPHKSQC CREW3VTGN2BV622ZXHCPHUEZWBAGEQMNUELDLTHLEKG4VBXGMRPQC 3UKFCWWS5BLFQWZRB5FUA46CE2XGX5VRCEWC3K3XH5RCGQK64N2AC 26HVORSNY267C3BZQ4RZD5NINMTJPDOAXBVPJX5HWMTOEINNBY3QC UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC AOLWOUIFBQDQTCMSVB7N7GAKFUY5J5LH7CJZAY3HEY3WEUSLADZAC 7J3H7JY6AUO2UHNF6DAHDZI4O33JMTUUTYTPRM3CKNPUOF2RQOGAC SCXU5KW3LWPSVVCOWSCZLDXHV7IUMCFTGIWZ2LFSBIUKAOBYHJBQC FOCWL2MOKK6BNARCKZIN6DPTOYRFILRJLURUT2JBORS25MMVGGSQC C22455VGUQOSUX2OORA32LROFQ7NNYDMD2ZDTTUZSAQLXK4AD6QAC PF6QKUU7AKP3X7NBR34O73PQ4BS2MWBMPD5MH5HOV2HLQFMA3PZQC O7S3ILRELHICJXXTDGMF7KPPZWYHPYCNDPV2I77FZXXH4I454B4QC 2G55UEHQ7554OPNSZVTUCZTWSHIFKGT56QEGSYFKCTX547I4AL3AC HTR7KACUG3OB7ANWNQDJ2DDSAR2FQY6VLNLRAJ7OWW4P2AX5LOGAC ZC24YRNAWF22TJTLXMSZI7ML5IY3LMK6QSRHPV236OZMBJPI522QC DS2GZKISEP2DM2VU6EJ525Q7W3WVOKJXG5PY2OY4VNFCLBHVVOTAC 23I5KJ245D43B6QYWS4TDQYJO2W2PKTDCLFBWPVAFDWS6L7NMGKQC HXIETRYLTZYNJR4QHS5ZN4ZZR76SLRIXTEJQQJGI33XMXHO6MNBAC LE6H6TP2M6KXREJG245JAKDNN6GKT6QSIZ5FJTLV3NYYX5GFKBCAC I4HQEB6RVIPJD3EQCNADMQJVGYAIIHTBGFVMPXHDNLYYG5JVIK4AC KTHZLXQCGPBBO4FIKMXCORB3HTY3F64BA5MIEZE22S4O5IQZRIWQC 4WYUT4KZ2Y77BNUGJSZIUGB2PCCKVSH7RKBXYLQJHPX5X2KW7WLQC BW3XFNOS6LDAQLHOZ6RXARCMKCY5JVLVDSXDSSAX4DSYM3FANQBAC LMRRQE4ZXQYZPXVGBTDZP7LEIM6OGSSOOQ5FAOWXJCDCNCECX5VAC KQNIGKATHT4YSPJFPJGIGPD6VNR5B753SE2JN2LCXZZJNHCGY3DQC U2CE3EGQNU6WJMRSUMVRLWPY5Q32VAE2ESTQARJQHJAG4EIHOJCQC X5OHFTHRXTI5KHFIYFJ6DB3W5MY3JUJKNTL4HF37MKABYNCOBOZAC V3YASGPC7MVXZE75XX7YQ7U6LFEJDNCTQA6NMI6R5TB5KEZH4RCQC SNSU5AMDAZNG55NQ4JDHU2YBK62MXPIE2QTSYS7PGV7Y2N3VJBFQC UADYVV3UD5ERJTZZJGY4EUQ4NJ2JSBG7YYUJ75ZRBIXRQXQKOJPAC 4S7GTHOCXO5MLS3DKSZWUYYZFBVNHDG6RFJONUALXVA7CCPFKXKAC BC24BZTIVJ6GORK7XXGHQ7YXKYBEPFCTKVCANZE6PEXY4L3ZQMCAC GY5OAIA6TFULMI5X56DNQWYZ3CWCOLVRISQK5YJC5WTEQKX7VW7AC AYU5OVG2HZO46KDAPKUWAVHS5HTYFKUWIMIRMTHAXVVFEDJE7YPAC Y756PLIQ6IS4CY6R5PNBKI5PORSGSXP2KWO4J22A4DV6VSDDKZGAC F3STYUG6GEHXQX54YE6ZXXDJE3HWJ77SKHPL3F4GNKOQ43MEIRJQC FJQ2RENS2ATHQZUNEE5ZTSTHZ5VI6B36TQPAG3IUVBTULGVCCQ7AC R25VQ2MUGGDTO5UZR2DPO5XUYSA3LB6RIEBGLJ6CD75T2GED2ZNAC F2ZJ55CL3T66DFM34BQWCJNHIT4XJFCGTWTA5KESV6NHWFLTGUYAC FG6S2SNKFZWJK7PYHASHXU32ORYBOLGFL5RWQVDJ47MFVS4VMQHQC UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC ZGUJWUFJ4NFFJ6PGXLFGQWCWBCZHPWGWI44NJHJEVPRG5L36PADQC bool is_stair(dungeon_feature_type gridc);bool is_travelable_stair(dungeon_feature_type gridc);bool is_escape_hatch(dungeon_feature_type gridc);bool is_gate(dungeon_feature_type gridc);command_type direction_to_command( char x, char y );bool is_altar(dungeon_feature_type gridc);bool is_resting( void );
bool is_stair(dungeon_feature_type feat);bool is_travelable_stair(dungeon_feature_type feat);bool is_escape_hatch(dungeon_feature_type feat);bool is_gate(dungeon_feature_type feat);command_type direction_to_command(char x, char y);bool is_altar(dungeon_feature_type feat);bool is_resting(void);
bool grid_is_wall(dungeon_feature_type grid);bool grid_is_opaque(dungeon_feature_type grid);bool grid_is_solid(dungeon_feature_type grid);bool grid_is_solid(int x, int y);bool grid_is_solid(const coord_def &c);bool grid_is_closed_door(dungeon_feature_type grid);bool grid_is_secret_door(dungeon_feature_type grid);bool grid_is_rock(dungeon_feature_type grid);bool grid_is_permarock(dungeon_feature_type grid);bool grid_is_stone_stair(dungeon_feature_type grid);bool grid_is_staircase(dungeon_feature_type grid);bool grid_is_escape_hatch(dungeon_feature_type grid);bool grid_is_trap(dungeon_feature_type grid, bool undiscovered_too = false);command_type grid_stair_direction(dungeon_feature_type grid);bool grid_sealable_portal(dungeon_feature_type grid);bool grid_is_portal(dungeon_feature_type grid);
bool feat_is_wall(dungeon_feature_type feat);bool feat_is_opaque(dungeon_feature_type feat);bool feat_is_solid(dungeon_feature_type feat);bool cell_is_solid(int x, int y);bool cell_is_solid(const coord_def &c);bool feat_is_closed_door(dungeon_feature_type feat);bool feat_is_secret_door(dungeon_feature_type feat);bool feat_is_rock(dungeon_feature_type feat);bool feat_is_permarock(dungeon_feature_type feat);bool feat_is_stone_stair(dungeon_feature_type feat);bool feat_is_staircase(dungeon_feature_type feat);bool feat_is_escape_hatch(dungeon_feature_type feat);bool feat_is_trap(dungeon_feature_type feat, bool undiscovered_too = false);command_type feat_stair_direction(dungeon_feature_type feat);bool feat_sealable_portal(dungeon_feature_type feat);bool feat_is_portal(dungeon_feature_type feat);
bool grid_is_water(dungeon_feature_type grid);bool grid_is_watery(dungeon_feature_type grid);god_type grid_altar_god(dungeon_feature_type grid);
bool feat_is_water(dungeon_feature_type feat);bool feat_is_watery(dungeon_feature_type feat);god_type feat_altar_god(dungeon_feature_type feat);
return (grid >= DNGN_ENTER_FIRST_BRANCH && grid <= DNGN_ENTER_LAST_BRANCH|| grid >= DNGN_RETURN_FROM_FIRST_BRANCH&& grid <= DNGN_RETURN_FROM_LAST_BRANCH);
return (feat >= DNGN_ENTER_FIRST_BRANCH && feat <= DNGN_ENTER_LAST_BRANCH|| feat >= DNGN_RETURN_FROM_FIRST_BRANCH&& feat <= DNGN_RETURN_FROM_LAST_BRANCH);
return (grid == DNGN_ORCISH_IDOL|| grid == DNGN_GRANITE_STATUE|| grid == DNGN_SECRET_DOOR|| grid >= DNGN_ROCK_WALL&& grid <= DNGN_CLEAR_PERMAROCK_WALL);
return (feat == DNGN_ORCISH_IDOL|| feat == DNGN_GRANITE_STATUE|| feat == DNGN_SECRET_DOOR|| feat >= DNGN_ROCK_WALL&& feat <= DNGN_CLEAR_PERMAROCK_WALL);
return (grid == DNGN_TRAP_MECHANICAL || grid == DNGN_TRAP_MAGICAL|| grid == DNGN_TRAP_NATURAL|| undiscovered_too && grid == DNGN_UNDISCOVERED_TRAP);
return (feat == DNGN_TRAP_MECHANICAL || feat == DNGN_TRAP_MAGICAL|| feat == DNGN_TRAP_NATURAL|| undiscovered_too && feat == DNGN_UNDISCOVERED_TRAP);
return (grid == DNGN_SHALLOW_WATER|| grid == DNGN_DEEP_WATER|| grid == DNGN_OPEN_SEA|| grid == DNGN_WATER_RESERVED);
return (feat == DNGN_SHALLOW_WATER|| feat == DNGN_DEEP_WATER|| feat == DNGN_OPEN_SEA|| feat == DNGN_WATER_RESERVED);
if (grid >= DNGN_ALTAR_FIRST_GOD && grid <= DNGN_ALTAR_LAST_GOD)return (static_cast<god_type>(grid - DNGN_ALTAR_FIRST_GOD + 1));
if (feat >= DNGN_ALTAR_FIRST_GOD && feat <= DNGN_ALTAR_LAST_GOD)return (static_cast<god_type>(feat - DNGN_ALTAR_FIRST_GOD + 1));
return ((grid >= DNGN_ENTER_FIRST_BRANCH && grid <= DNGN_ENTER_LAST_BRANCH)|| (grid >= DNGN_ENTER_DIS && grid <= DNGN_ENTER_TARTARUS));
return ((feat >= DNGN_ENTER_FIRST_BRANCH && feat <= DNGN_ENTER_LAST_BRANCH)|| (feat >= DNGN_ENTER_DIS && feat <= DNGN_ENTER_TARTARUS));
return (actual_grid >= DNGN_FLOOR&& actual_grid != DNGN_BUILDER_SPECIAL_WALL|| actual_grid == DNGN_SHALLOW_WATER);
return (actual_feat >= DNGN_FLOOR&& actual_feat != DNGN_BUILDER_SPECIAL_WALL|| actual_feat == DNGN_SHALLOW_WATER);
return (grid_wanted == actual_grid|| (grid_wanted == DNGN_DEEP_WATER&& (actual_grid == DNGN_SHALLOW_WATER|| actual_grid == DNGN_FOUNTAIN_BLUE)));
return (feat_wanted == actual_feat|| (feat_wanted == DNGN_DEEP_WATER&& (actual_feat == DNGN_SHALLOW_WATER|| actual_feat == DNGN_FOUNTAIN_BLUE)));
if (grid_compatible(grid_preferred, actual_grid)|| (grid_nonpreferred != grid_preferred&& grid_compatible(grid_nonpreferred, actual_grid)))
if (feat_compatible(feat_preferred, actual_grid)|| (feat_nonpreferred != feat_preferred&& feat_compatible(feat_nonpreferred, actual_grid)))
if (!grid_compatible(grid_preferred, grd(mg_pos))&& (grid_nonpreferred == grid_preferred|| !grid_compatible(grid_nonpreferred, grd(mg_pos))))
if (!feat_compatible(feat_preferred, grd(mg_pos))&& (feat_nonpreferred == feat_preferred|| !feat_compatible(feat_nonpreferred, grd(mg_pos))))