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))))