radius_iterator instead of the previous setup.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6347 c06c8d41-db1a-0410-9941-cceddc491573
B7DNCNY7SXL5WAW5B3XZP5KIQSBWOJ3N2YW46WOUQKTRBRRZ7YOQC LS35EVRDCOWZ46ZPCVFEREHEDKGCFUC4GIZVPDLKKQHP3W7RRZPAC NNMRBCWXPEUN4MCDPHN756C7TZ2DIMRFDCXPENTB5MZ2EFVV6KBAC WJLK4G4I2WNZQELV7PKYPHBCP3IKYI65WPJLVHRZU7AK6TW2V6CAC GAUT326KHT3MMZPC7TJUOKGPZ6X624E7Z3IOFZEXYWUCORBCZTOAC 33NP4VXH6MMMH4JFK73G4ENZ2VYFKW2AWXIRITZLVIENKDOSJO2AC JVWWN7BKTLALZ3VIKCFC45EUJ7CC5MLMH2ZOGOTNRF7FLWJGSMQAC 23KINGGZGEVCKOXZQAKJHHCEF7XOJCAJTQT7VEDSS55YMYQM3Z4AC CVC5FFFLGVRR3KPYDNB6RF4FNACV3LI3HPSR4MCUNZ4C3FSQYBDAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC XVFTIQ7MSVKQDMQ2HT3IY6FJOZFK4H6OFGTUAID5VGCA5BGVXYPAC MSQI3TH6T62JAXQGLL52QZCWAMC372TGB6ZNNRDGUGMJKBNNV2VAC QWZR7TCGSJAKK755AVEKFIMF5CX5GQLQC46TLI6URKZO2NJ3O26AC Q3XHNSHW6FI4JCXSEABATRFBJPMCF7PXNG2K6ZQTRRPVMIZFHUBQC 5FBOE2QNRLKUNOP54CZD6LFAMM7LX6NNLHJRJHRDDIUTQ7J723DQC QCUMH3C7GXV7ZW444WT5SFAXQOJKJSE2YCQCEHMRYXCWF4QI7UMAC TO43FWKHNIA5MVDOFXYHQODTLBQYEZKX5UIUGID57436UF7G2EXQC VXSORUQOM2VZA4CAZDC6KPAY373NQIN3UT7CXQXTRCYXO2WM62DAC 57E4T664CXRFPVW2BZBYI33UIHFS4PSEZURZYPSYSZK5DRLJJ5CQC EFWEYIB2R3DPD3JWIPU6LS6SFLPMYN7J7X4GBZR7DJWKHJ3UELSAC 5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC HL6BR2XEXRPWBU4MQNI52H65OSJB46KOLC4R3KWNQYDEPPXBAH3AC RX6575DZOHRUXQUZH34YZGPZJF4STUPLBQDIVTINA2L6LVCKRIGQC O6ZMFKDI3XO2SWPNEYHIPYFDWJR4TVDP5BAATK6LVCVETQID6E7AC 4UXFU3FZOCBSLDQ4S7MJKAE2H7VUHCNRDQMIY6NJ3PHYXWNGISDQC VNIAJEGE3PYE6F6EAMCQDWMAS52EQTKJUPAFXK7ARCITZ326WTTQC 34RCM6RXIWHZMYXNGFQKLKQIAJ6QISIQ3D5HMK4HZNLVX66BSUBAC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC TV3ZC6WOZKSQQJQN26JIVKCHK6UK7WMDBYZDUYRWEAZ4JB4YVNAAC TR4NPGNO5QNNRJNVMNSUEO5QLT37HCXXDOBKXCB5XWXRQNAJ5SHAC BDFIS53HAIHOCXQ5BE7WCO2MEOFCUQPFY4JGUWVLWY6JO3IFMEKQC 7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC BKU2GWFNG6H74G76JX4RP3WVMU4IKTHPSKRMLWZAGA6BXMMZ227AC 547JREUJXTZNYVGHNNAET5F5O5JYYGNTDQB6ABZNT7YX5EY64OHAC VIFZ6DO6GWJGYMXJZKFZ2JYNPHNE74H3OFAOCPISQG7M7A4LCOHAC 34C4U6EQWERY75GZJKUCM5KVGU2OUICETS5LGZF6RMKMZT4R5SQAC PUFMMCAH4X5Z25VMUNTWJLRG4NSUGNK45WY4I7NJ2GQXBGBK6SAAC UET576SVCGS2TXEDRTO7BUTOTLJ77MYHIVZJCDWGH2BAXYMKG6DAC YOZHWGKGPWZGHQYNMMBHNGDO2UEVIHPOR6UF3SEZPIYWVMBGWBOAC 7Q4H6B62UZACQOUDHCHPMPBYEBXM5GVQINIHVHM4KLRENSH6VGTAC MBBPLL4SZUB3JUUYQYLZW7S5OXRCEGJX3WWADOQXGHWQ7BIKCY5QC VXWHZPSSJAOUIBJVCYGYOHILZFVDDVKUY5JMFFCQSYCXL3NAZIKAC PZNRGNZPN4YLXL2UDMEUPE33AAZZ6Z2YPK6EQGYZL2PNTRWLCUNQC JCWJWGMQIKQGSSFJUQRKNIWW3HBOJSHYDTOPPE5BWOJTIJTDYUTAC IOMV4CS3PJA6VO3NYB6T45OTXQ5QYP6LT4JOCSLPKP22HWZ3FFKQC 25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC QGIFCQMDBOD3QDWNSZOZFU7AHG2J53OWR5IE3VFCBNVO4SFBF2NQC QGVAXJZXG2HUCLELWAN6LJJOBSP2BS6TIZMPJTDOAGI2E2SUCOCQC CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC P2ZCF3BBG523ZEOD6XQA4X5YEHBTWH3IM33YVHXP2SQ5POXZIH4QC HQSI2RK5QGNSOR5Y67GZDK4ZWFZ5DSRPASXAV4VHYVB5TUXFZWJQC 4HLF6Q3OBOOHCCJ76L2BXVIYI6EMJ2G7O4XXZPFTLFP6BQGSUZNAC L6YPJVODN32IYLEZQQZE2ENH3XDAZ63IQIDX3PB4CJEK3A4NUNSAC 52XHD5LKS6UVLXBYUXMPTMVMTXQ6FBUFXJ2TAW6R7CSJY7OXWVJAC 2O3C3MTT2ZBYIFGPJ4MF5R4AXBYUHOEN62KAUWFWF6JWHIIVLRNQC SWT4O2TCOAQOVFA6WRA7MCU3KMTMJWFEMIHO64N4PWL5FNHDPADAC KQNIGKATHT4YSPJFPJGIGPD6VNR5B753SE2JN2LCXZZJNHCGY3DQC GQL5SIGBHLU3FMCE54XVGLRY5AZHRM6DUEB722REA2DPLGJSN6EQC CCMBDS5S4KEI4LJTVBFDDEGWRTWM4GQB2GLEUUT7TMQRXFLZ4HXQC GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC ZGUJWUFJ4NFFJ6PGXLFGQWCWBCZHPWGWI44NJHJEVPRG5L36PADQC 7VVRO5HMNNOXVRLBLJUCHUJP6MDIRMC2BWCO7MWH4OLQRM3LMTMQC LOJYD6QZRNLNDDZJKVBMKQIBPTKSRN2ETCYGNVV47M7L3QLUJUJAC A5YOVQMFZRMT6NK7YUQI632TWC3CFATXDNCSB7M33EEYB62SA3XAC 65PB6QZNUDTUKE3I6YJAUXWHJRC3EKC4CPFHE2FRQDQIBN53DUPQC YF2GZWXNV6NVFFEBEOYS67JQJQK2IUS5BZMGJW3XQPYIJYHQJCEQC 7KWDC7XFNMBLSUO2HISIROBINZBX5T67LJEEXTAORXW2YZ7VWFGAC UEI5JAVCMN7Y2SACTEZPZSNFJWOJTC55G24Q6LKQCT4XNDH5ZQIAC {if (num_changed == 1)msg = "One of your ";else if (num_changed == 2)msg = "Two of your ";else if (num_changed >= (potion.quantity * 3) / 4)msg = "Most of your ";elsemsg = "Some of your ";}
msg = "Some of your ";
if ( !have_nonsquelched || !_invisible_to_player(mitm[obj]) )items.push_back( &mitm[obj] );obj = mitm[obj].link;
if ( !have_nonsquelched || !_invisible_to_player(*si) )items.push_back( & (*si) );
int o, next;o = igrd[you.x_pos][you.y_pos];while (o != NON_ITEM){next = mitm[o].link;_autoinscribe_item( mitm[o] );o = next;}
for ( stack_iterator si(you.pos()); si; ++si )_autoinscribe_item( *si );
{item = igrd[x][y];while (item != NON_ITEM){item_def &i(mitm[item]);item = i.link;if ((i.flags & ISFLAG_THROWN) && items_stack(i, mitem))i.flags |= idflags;}}
for ( stack_iterator si(coord_def(x,y)); si; ++si )if ((si->flags & ISFLAG_THROWN) && items_stack(*si, mitem))si->flags |= idflags;
for (int x = you.x_pos - LOS_RADIUS; x < you.x_pos + LOS_RADIUS; x++)for (int y = you.y_pos - LOS_RADIUS; y < you.y_pos + LOS_RADIUS; y++){if (!in_bounds(x, y))continue;
// is_terrain_known() doesn't work on unmappable levels because// mapping flags are not set on such levels.for (radius_iterator ri(you.pos(), LOS_RADIUS); ri; ++ri)if (grd(*ri) == DNGN_EXIT_ABYSS && get_screen_glyph(*ri) != ' ')nearness = std::min(nearness, grid_distance(you.pos(), *ri));
// HACK: Why doesn't is_terrain_known() work here?if (grd[x][y] == DNGN_EXIT_ABYSS&& get_screen_glyph(x, y) != ' '){nearness = MIN(nearness,grid_distance(you.x_pos, you.y_pos, x, y));}}
for (int x = you.x_pos - LOS_RADIUS; x < you.x_pos + LOS_RADIUS; x++)for (int y = you.y_pos - LOS_RADIUS; y < you.y_pos + LOS_RADIUS; y++){if (!in_bounds(x, y))continue;// is_terrain_known() doesn't work on unmappable levels because// mapping flags are not set on such levels.if (get_screen_glyph(x, y) != ' '){int i = igrd[x][y];while (i != NON_ITEM){item_def& item(mitm[i]);if (is_rune(item) && item.plus == RUNE_ABYSSAL){nearness = MIN(nearness,grid_distance(you.x_pos, you.y_pos,x, y));}i = item.link;}}}
// See above comment about is_terrain_known().for (radius_iterator ri(you.pos(), LOS_RADIUS); ri; ++ri)if (get_screen_glyph(ri->x, ri->y) != ' ')for ( stack_iterator si(*ri); si; ++si )if (is_rune(*si) && si->plus == RUNE_ABYSSAL)nearness = std::min(nearness, grid_distance(you.pos(),*ri));