From 02ed49a17bcbc57ac93aaa8efde7c4f468826030 Mon Sep 17 00:00:00 2001 From: nek0 Date: Mon, 12 Oct 2020 06:29:09 +0200 Subject: [PATCH] prepare map construction --- src/Map.hs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Map.hs b/src/Map.hs index 4367b7a..caf6859 100644 --- a/src/Map.hs +++ b/src/Map.hs @@ -21,7 +21,21 @@ testLevelDesc = LevelDescriptor (3, 3) -- constructMap :: LevelDescriptor -> IO LevelMap --- cosntructMap desc = do +-- constructMap desc = do +-- (layers, dimensions) <- foldM +-- (\(layers, dims) descTup -> do +-- (nlayer, ndims) <- readLayer descTup +-- if not (null layers) && ndims /= dims +-- then error ("Map Layer dimensions mismatch in: " <> snd descTup) +-- else return (dims ++ [nlayer], ndims) +-- ) +-- ([], (0, 0)) +-- (maplayers desc) +-- LevelMap +-- <$> pure layers +-- <*> pure (levelWalkLayer desc) +-- <*> pure dimensions +-- <*> -- TODO: TileMap readLayer :: (Word, FilePath) -- | index and path of the layer descriptor image