From 63cad2404c65ad46f74f6483889e7f92bb3d15fc Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 10 Nov 2018 17:42:42 -0500 Subject: [PATCH] Expand the map calls to help with debugging --- Terrain2/Algorithms.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Terrain2/Algorithms.swift b/Terrain2/Algorithms.swift index 0ea3736..892f0b8 100644 --- a/Terrain2/Algorithms.swift +++ b/Terrain2/Algorithms.swift @@ -254,14 +254,20 @@ public class DiamondSquareGenerator: TerrainGenerator { grid.breadthFirstSearch { (box: Box) in // 1. Diamond step. Find the midpoint of the square defined by `box` and set its value. let midpoint = box.midpoint - let cornerValues = box.corners.map { heightMap[self.convert(pointToIndex: $0)] } + let cornerValues = box.corners.map { (pt: Point) -> Float in + let idx = self.convert(pointToIndex: pt) + return heightMap[idx] + } let midpointValue = Float.random(in: 0...1) + self.average(ofPoints: cornerValues) heightMap[convert(pointToIndex: midpoint)] = midpointValue // 2. Square step. For each of the side midpoints of this box, compute its value. for pt in box.sideMidpoints { let corners = diamondCorners(forPoint: pt, diamondSize: box.size) - let cornerValues = corners.map { heightMap[self.convert(pointToIndex: $0)] } + let cornerValues = corners.map { (pt: Point) -> Float in + let idx = self.convert(pointToIndex: pt) + return heightMap[idx] + } let ptValue = Float.random(in: 0...1) + self.average(ofPoints: cornerValues) heightMap[convert(pointToIndex: pt)] = ptValue }