Skip to content
Snippets Groups Projects
Commit 204d3f4a authored by stuebinm's avatar stuebinm
Browse files

complain if map links that don't go to .json files

parent ea6ef983
Branches
No related tags found
No related merge requests found
...@@ -68,3 +68,9 @@ isOldStyle (Path _ text frag) = path =~ ("{<.+>*}" :: Text) ...@@ -68,3 +68,9 @@ isOldStyle (Path _ text frag) = path =~ ("{<.+>*}" :: Text)
where path = case frag of where path = case frag of
Just f -> text <> f Just f -> text <> f
_ -> text _ -> text
getExtension :: RelPath -> Text
getExtension (Path _ text frag) = case length splitted of
0 -> ""
_ -> last splitted
where splitted = T.splitOn "." text
...@@ -11,7 +11,7 @@ module Properties (checkMap, checkTileset, checkLayer) where ...@@ -11,7 +11,7 @@ module Properties (checkMap, checkTileset, checkLayer) where
import Control.Monad (forM_, unless, when) import Control.Monad (forM_, unless, when)
import Data.Text (Text, isPrefixOf, intercalate) import Data.Text (Text, intercalate, isPrefixOf)
import qualified Data.Vector as V import qualified Data.Vector as V
import Tiled (Layer (..), Object (..), Property (..), import Tiled (Layer (..), Object (..), Property (..),
PropertyValue (..), Tile (..), Tiledmap (..), PropertyValue (..), Tile (..), Tiledmap (..),
...@@ -35,7 +35,8 @@ import LintConfig (LintConfig (..)) ...@@ -35,7 +35,8 @@ import LintConfig (LintConfig (..))
import LintWriter (LintWriter, adjust, askContext, askFileDepth, import LintWriter (LintWriter, adjust, askContext, askFileDepth,
complain, dependsOn, forbid, lintConfig, complain, dependsOn, forbid, lintConfig,
offersBadge, offersEntrypoint, suggest, warn) offersBadge, offersEntrypoint, suggest, warn)
import Paths (PathResult (..), RelPath (..), parsePath, isOldStyle) import Paths (PathResult (..), RelPath (..), getExtension,
isOldStyle, parsePath)
import Types (Dep (Link, Local, LocalMap, MapLink)) import Types (Dep (Link, Local, LocalMap, MapLink))
import Uris (SubstError (..), applySubst) import Uris (SubstError (..), applySubst)
...@@ -323,10 +324,17 @@ checkTileLayerProperty p@(Property name _value) = case name of ...@@ -323,10 +324,17 @@ checkTileLayerProperty p@(Property name _value) = case name of
forbidEmptyLayer forbidEmptyLayer
unwrapURI (Proxy @"map") p unwrapURI (Proxy @"map") p
(dependsOn . MapLink) (dependsOn . MapLink)
(\path -> do $ \path ->
if isOldStyle path let ext = getExtension path in
then complain "Old-Style inter-repository links (using {<placeholder>}) cannot be used at rC3 2021; please use world:// instead (cf. howto.rc3.world)." if | isOldStyle path ->
else dependsOn . LocalMap $ path) complain "Old-Style inter-repository links (using {<placeholder>}) \
\cannot be used at rC3 2021; please use world:// instead \
\(cf. howto.rc3.world)."
| ext == "tmx" ->
complain "Cannot use .tmx map format; use Tiled's json export instead."
| ext /= "json" ->
complain "All exit links must link to .json files."
| otherwise -> dependsOn . LocalMap $ path
"exitSceneUrl" -> "exitSceneUrl" ->
deprecatedUseInstead "exitUrl" deprecatedUseInstead "exitUrl"
"exitInstance" -> "exitInstance" ->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment