diff options
Diffstat (limited to 'src/Vivant/Terrain.hs')
-rw-r--r-- | src/Vivant/Terrain.hs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/Vivant/Terrain.hs b/src/Vivant/Terrain.hs index b73469a..c9c517a 100644 --- a/src/Vivant/Terrain.hs +++ b/src/Vivant/Terrain.hs @@ -27,9 +27,8 @@ normal a b c = partition :: (V.Storable a1, Enum a1, Num a1) => [[a1]] -> V.Vector a1 partition r = - V.fromList . concat . concat - . fmap (\(e, y) -> fmap (generateP y) $ zip (zip (uncurry zip e) $ tail (uncurry zip e)) [0 ..]) - $ zip (zip r $ tail r) [0 ..] + V.fromList . concat . concatMap (\(e, y) -> generateP y <$> zip (zip (uncurry zip e) $ tail (uncurry zip e)) [0 ..]) $ + zip (zip r $ tail r) [0 ..] where generateP y (((z1, z2), (z3, z4)), x) = let (n1x, n1y, n1z) = normal (x, y, z1) (x, y + 1, z2) (x + 1, y, z3) |