Bugfix
[kaka/rust-sdl-test.git] / src / core / level / lvlgen.rs
index e39f232..a549166 100644 (file)
@@ -264,13 +264,13 @@ impl Region {
        let mut outline = vec!();
        let mut directions = vec!((1, 0), (1, 1), (0, 1), (-1, 1), (-1, 0), (-1, -1), (0, -1), (1, -1)); // 8 directions rotating right from starting direction right
 
-       let mut p = self.find_first_point_of_outline(&rect, &grid);
+       let start = self.find_first_point_of_outline(&rect, &grid);
+       let mut p = start;
        marked[p.x as usize][p.y as usize] = true;
        loop {
            outline.push((p + (ox as isize, oy as isize)) * scale as isize);
            self.find_next_point_of_outline(&grid, &mut p, &mut directions);
-           if marked[p.x as usize][p.y as usize] {
-               // we're back at the beginning
+           if p == start {
                break;
            }
            marked[p.x as usize][p.y as usize] = true;