git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2678 c06c8d41-db1a-0410-9941-cceddc491573
KIJYTJG2XG7T4HEVZTCL2T4XDSMVLXDJMYYRRK6GY5PY7CGJLJTAC
static bool place_feature_near( const coord_def ¢re,
int radius,
dungeon_feature_type candidate,
dungeon_feature_type replacement,
int tries )
{
const int radius2 = radius * radius + 1;
for (int i = 0; i < tries; ++i)
{
const coord_def &cp =
centre + coord_def(random_range(-radius, radius),
random_range(-radius, radius));
if (cp == centre || (cp - centre).abs() > radius2 || !in_bounds(cp))
continue;
if (grd(cp) == candidate)
{
#ifdef DEBUG_DIAGNOSTICS
mprf(MSGCH_DIAGNOSTICS, "Placing %s at (%d,%d)",
dungeon_feature_name(replacement),
cp.x, cp.y);
#endif
grd(cp) = replacement;
return (true);
}
}
return (false);
}