X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fcore%2Flevel%2Flvlgen.rs;h=a549166a62a690dfd1db3680010021ec34ef6663;hb=9768e2bbbcdfa38e84d593215c098ba96db754da;hp=e39f232b5f6167a0431cd36b2b468b326953a334;hpb=37f3e1edd969b4ede9dd033895ff806477f6e866;p=kaka%2Frust-sdl-test.git diff --git a/src/core/level/lvlgen.rs b/src/core/level/lvlgen.rs index e39f232..a549166 100644 --- a/src/core/level/lvlgen.rs +++ b/src/core/level/lvlgen.rs @@ -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;