Skip to content
Snippets Groups Projects
Unverified Commit 54202ae4 authored by stuebinm's avatar stuebinm
Browse files

added more keys to the Tiled format

(apparently, some of them aren't even in the spec, just the changelog!)
parent 856a86b8
Branches
No related tags found
No related merge requests found
......@@ -35,6 +35,7 @@ aesonOptions :: Int -> Options
aesonOptions l = defaultOptions
{ omitNothingFields = True
, rejectUnknownFields = True
-- can't be bothered to do a nixer prefix strip
, fieldLabelModifier = drop l . map toLower
}
......@@ -49,6 +50,8 @@ mkTiledId i = GlobalId { unGlobalId = i }
newtype LocalId = LocalId { unLocalId :: Int }
deriving (Ord, Eq, Enum, Num, Generic, Show, FromJSON, ToJSON, FromJSONKey, ToJSONKey)
-- | TODO: type-check colours?
type Color = Text
data XYPair a = XYPair a a
......@@ -174,6 +177,12 @@ data Layer = Layer { layerWidth :: Maybe Double
, layerDraworder :: Maybe String
-- ^ “topdown” (default) or “index”. objectgroup only.
, layerId :: Int
, layerOffsetx :: Maybe Int
, layerOffsety :: Maybe Int
, layerParallaxx :: Maybe Float
, layerParallaxy :: Maybe Float
, layerTintColor :: Maybe Color
, layerTransparentColor :: Maybe Color
} deriving (Eq, Generic, Show)
instance FromJSON Layer where
......@@ -262,7 +271,17 @@ data Tileset = Tileset { tilesetFirstgid :: GlobalId
-- ^ The number of tiles in this tileset
, tilesetTiles :: Maybe (Vector Tile)
-- ^ Tiles (optional)
, tilesetTransparentcolor :: Maybe String
, tilesetTransparentcolor :: Maybe Text
, tilesetEditorsettings :: Maybe Value
, tilesetBackgroundColor :: Maybe Text
, tilesetGrid :: Maybe Value
, tilesetSource :: Maybe Text
, tilesetTiledversion :: Maybe Text
, tilesetTileoffset :: Maybe Value
, tilesetTransformations :: Maybe Value
, tilesetVersion :: Maybe Value
, tilesetWangsets :: Maybe Value
, tilesetType :: Maybe Text
} deriving (Eq, Generic, Show)
newtype TransitiveTilesetMap = TransitiveTilesetMap (Map LocalId Value)
......@@ -306,8 +325,10 @@ data Tiledmap = Tiledmap { tiledmapVersion :: Float
, tiledmapInfinite :: Bool
, tiledmapNextlayerid :: Maybe Int
, tiledmapHexsidelength :: Maybe Int
, tiledmapStaggeraxis :: Maybe Text
, tiledmapStaggerindex :: Maybe String
, tiledmapType :: String
, tiledmapEditorsettings :: Maybe Value
} deriving (Eq, Generic, Show)
instance FromJSON Tiledmap where
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment