packages feed

htiled 0.1.1.2 → 0.1.2.0

raw patch · 2 files changed

+27/−16 lines, 2 filesnew-uploaderPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

htiled.cabal view
@@ -1,5 +1,5 @@ Name:                htiled-Version:             0.1.1.2+Version:             0.1.2.0 Synopsis:            Import from the Tiled map editor. Description:         Import maps from the .tmx map format generated by Tiled,                      <http://www.mapeditor.org>.
src/Data/Tiled/Load.hs view
@@ -18,6 +18,7 @@  import qualified Codec.Compression.GZip     as GZip import qualified Codec.Compression.Zlib     as Zlib+import           System.FilePath            (dropFileName, (</>)) import           Text.XML.HXT.Core  import           Data.Tiled.Types@@ -62,7 +63,7 @@     mapTileWidth   ← getAttrR "tilewidth"  ⤙ m     mapTileHeight  ← getAttrR "tileheight" ⤙ m     mapProperties  ← properties            ⤙ m-    mapTilesets    ← tilesets              ⤙ m+    mapTilesets    ← tilesets mapPath      ⤙ m     mapLayers      ← layers                ⤙ (m, (mapWidth, mapHeight))     returnA        ⤙ TiledMap {..} @@ -156,22 +157,32 @@         returnA ⤙ case x of Left  layerData    → Layer {..}                             Right layerObjects → ObjectLayer {..} -tilesets ∷ IOSArrow XmlTree [Tileset]-tilesets = listA $ getChildren >>> isElem >>> hasName "tileset"-         >>> proc ts → do-              tsName        ← getAttrValue "name"     ⤙ ts-              tsInitialGid  ← getAttrR "firstgid"     ⤙ ts-              tsTileWidth   ← getAttrR "tilewidth"    ⤙ ts-              tsTileHeight  ← getAttrR "tileheight"   ⤙ ts-              tsMargin      ← (arr $ fromMaybe 0) . getAttrMaybe "margin" ⤙ ts-              tsSpacing     ← (arr $ fromMaybe 0) . getAttrMaybe "spacing" ⤙ ts-              tsImages      ← images                  ⤙ ts-              tsTileProperties ← listA tileProperties ⤙ ts-              returnA ⤙ Tileset {..}+tilesets ∷ FilePath → IOSArrow XmlTree [Tileset]+tilesets fp =+  listA $ getChildren >>> isElem >>> hasName "tileset"+  >>> getAttrR "firstgid" &&& ifA (hasAttr "source") (externalTileset fp) id+  >>> tileset++externalTileset ∷ FilePath → IOSArrow XmlTree XmlTree+externalTileset mapPath =+  arr (const (dropFileName mapPath)) &&& getAttrValue "source"+  >>> arr (uncurry (</>))+  >>> readFromDocument [ withValidate no, withWarnings yes ]+  >>> getChildren >>> isElem >>> hasName "tileset"++tileset ∷ IOSArrow (Word32, XmlTree) Tileset+tileset = proc (tsInitialGid, ts) → do+  tsName           ← getAttrValue "name"                        ⤙ ts+  tsTileWidth      ← getAttrR "tilewidth"                       ⤙ ts+  tsTileHeight     ← getAttrR "tileheight"                      ⤙ ts+  tsMargin         ← arr (fromMaybe 0) . getAttrMaybe "margin"  ⤙ ts+  tsSpacing        ← arr (fromMaybe 0) . getAttrMaybe "spacing" ⤙ ts+  tsImages         ← images                                     ⤙ ts+  tsTileProperties ← listA tileProperties                       ⤙ ts+  returnA ⤙ Tileset {..}   where tileProperties ∷ IOSArrow XmlTree (Word32, Properties)         tileProperties = getChildren >>> isElem >>> hasName "tile"-                     >>> getAttrR "id" &&& properties-+                         >>> getAttrR "id" &&& properties         images = listA (getChildren >>> image)  image ∷ IOSArrow XmlTree Image