summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/beam.cc
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-10-30 13:00:00 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-01 21:45:23 +0100
commit81392eb43b111bc23b2a7950c240494b9cf3d15d (patch)
tree214e14f3af5fb41943f1171f857c4dda2d4cd5be /crawl-ref/source/beam.cc
parent972124395af10024e5abc17878f92fde999e4c64 (diff)
downloadcrawl-ref-81392eb43b111bc23b2a7950c240494b9cf3d15d.tar.gz
crawl-ref-81392eb43b111bc23b2a7950c240494b9cf3d15d.zip
Remove ray antialiasing.
Previously, rays were always cut short at corners: If a ray really went like ..... @**.. ..*** ..... it was cut short (for find_ray/targetting/shooting purposes) to ..... @*... ..*** ..... Note that a wall at the removed cell would still block the given ray! This makes ray footprint length matter, so rays are sorted to prefer those that pass through fewer cells. However, this gives quite a few ugly beams, in particular around corners.
Diffstat (limited to 'crawl-ref/source/beam.cc')
-rw-r--r--crawl-ref/source/beam.cc8
1 files changed, 2 insertions, 6 deletions
diff --git a/crawl-ref/source/beam.cc b/crawl-ref/source/beam.cc
index 3a8acbd9ac..96f3f09649 100644
--- a/crawl-ref/source/beam.cc
+++ b/crawl-ref/source/beam.cc
@@ -1408,7 +1408,7 @@ static void _munge_bounced_bolt(bolt &old_bolt, bolt &new_bolt,
// Don't bounce straight into another wall. Can happen if the beam
// is shot into an inside corner.
ray_def test_ray = temp_ray;
- test_ray.advance(true);
+ test_ray.advance();
if (in_bounds(test_ray.pos()) && !cell_is_solid(test_ray.pos()))
break;
@@ -2112,11 +2112,7 @@ void bolt::do_fire()
// the cell.
draw(pos());
- // A bounce takes away the meaning from the target.
- if (bounces == 0)
- ray.advance_through(target);
- else
- ray.advance(true);
+ ray.advance();
avoid_self = false;
}