From b7a513641e6ff7ad4f1f1b4b0b1efeb75e77965e Mon Sep 17 00:00:00 2001 From: Darren Eberly Date: Thu, 23 Jul 2020 21:35:50 -0400 Subject: [PATCH] feat(wangsets): Initial Implementation of wang sets --- pytiled_parser/wang_set.py | 57 ++ tests/test_data/images/walkways.png | Bin 0 -> 4579 bytes tests/test_data/tilesets/wangsets/map.json | 32 + .../test_data/tilesets/wangsets/tileset.json | 607 ++++++++++++++++++ 4 files changed, 696 insertions(+) create mode 100644 pytiled_parser/wang_set.py create mode 100644 tests/test_data/images/walkways.png create mode 100644 tests/test_data/tilesets/wangsets/map.json create mode 100644 tests/test_data/tilesets/wangsets/tileset.json diff --git a/pytiled_parser/wang_set.py b/pytiled_parser/wang_set.py new file mode 100644 index 0000000..04ef559 --- /dev/null +++ b/pytiled_parser/wang_set.py @@ -0,0 +1,57 @@ +from typing import List, NamedTuple, Optional + +import attr +from typing_extensions import TypedDict + +from . import properties as properties_ +from .common_types import Color, OrderedPair + + +class WangTile(NamedTuple): + + id: int + dflip: bool = False + hflip: bool = False + vflip: bool = False + wang_ids: List[int] = [] + + +class WangColor(NamedTuple): + + color: Color + name: str + probability: float + tile: int + + +class WangSet(NamedTuple): + + cornercolors: List[WangColor] + edgecolors: List[WangColor] + name: str + tile: int + wang_tiles: List[WangTile] + properties: Optional[properties_.Properties] = None + + +class RawWangTile(TypedDict): + """ The keys and their types that appear in a Wang Tile JSON Object.""" + + tileid: int + dflip: bool + hflip: bool + vflip: bool + wangid: List[int] + + +class RawWangColor(TypedDict): + """ The keys and their types that appear in a Wang Color JSON Object.""" + + color: str + name: str + probability: float + tile: int + + +class RawWangSet(TypedDict): + """ The keys and their types that appear in a Wang Set JSON Object.""" diff --git a/tests/test_data/images/walkways.png b/tests/test_data/images/walkways.png new file mode 100644 index 0000000000000000000000000000000000000000..e9cfbe7cbe625343f783cc69f382243705ac00d7 GIT binary patch literal 4579 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 Zt8M4t#SPFx#ia@0vd7)=iT&~T{{ch1)_wp0 literal 0 HcmV?d00001 diff --git a/tests/test_data/tilesets/wangsets/map.json b/tests/test_data/tilesets/wangsets/map.json new file mode 100644 index 0000000..d2fe741 --- /dev/null +++ b/tests/test_data/tilesets/wangsets/map.json @@ -0,0 +1,32 @@ +{ "compressionlevel":-1, + "height":20, + "infinite":false, + "layers":[ + { + "data":[35, 1, 57, 49, 48, 67, 75, 7, 61, 52, 70, 44, 81, 55, 59, 63, 10, 68, 63, 81, 22, 23, 72, 60, 61, 52, 79, 26, 72, 60, 53, 54, 54, 72, 60, 34, 22, 77, 60, 52, 59, 64, 75, 70, 61, 71, 78, 71, 46, 29, 30, 35, 33, 53, 63, 42, 35, 9, 69, 58, 55, 74, 5, 9, 28, 2, 77, 54, 55, 39, 25, 25, 26, 63, 63, 78, 25, 26, 54, 72, 65, 50, 45, 27, 24, 26, 1, 66, 61, 7, 70, 62, 72, 33, 34, 52, 70, 70, 70, 8, 48, 34, 7, 62, 60, 67, 23, 54, 64, 23, 46, 32, 73, 21, 25, 70, 80, 78, 7, 43, 71, 42, 13, 56, 66, 7, 31, 59, 6, 62, 63, 18, 46, 30, 31, 48, 80, 54, 42, 53, 79, 7, 16, 62, 54, 19, 11, 59, 42, 35, 36, 42, 61, 16, 43, 71, 51, 34, 4, 59, 76, 41, 37, 30, 61, 70, 13, 57, 80, 18, 15, 53, 36, 42, 52, 7, 70, 25, 13, 29, 79, 53, 6, 44, 64, 77, 42, 70, 80, 24, 22, 68, 24, 52, 70, 26, 54, 55, 39, 26, 54, 60, 17, 1, 5, 6, 80, 51, 76, 56, 65, 75, 34, 58, 5, 28, 56, 59, 51, 70, 61, 67, 14, 18, 24, 16, 49, 59, 81, 36, 9, 51, 26, 69, 40, 20, 32, 64, 66, 52, 33, 76, 21, 22, 68, 19, 59, 55, 50, 10, 21, 70, 70, 8, 51, 71, 18, 54, 78, 70, 42, 8, 60, 70, 4, 30, 31, 30, 31, 38, 32, 54, 46, 38, 57, 80, 24, 70, 53, 1, 53, 24, 58, 48, 43, 17, 18, 24, 43, 52, 22, 59, 33, 80, 63, 54, 33, 49, 59, 15, 35, 72, 33, 67, 75, 17, 42, 35, 1, 29, 68, 72, 42, 52, 61, 61, 26, 63, 36, 45, 45, 54, 42, 53, 73, 23, 73, 21, 44, 42, 76, 48, 76, 57, 62, 60, 70, 58, 23, 78, 48, 67, 75, 61, 79, 61, 52, 61, 79, 53, 54, 55, 75, 70, 34, 70, 7, 58, 66, 52, 33, 53, 51, 61, 8, 72, 60, 31, 74, 57, 70, 67, 3, 79, 22, 47, 12, 62, 51, 31, 43, 58, 68, 63, 15, 76, 65, 23, 54, 63, 6, 8, 19, 74, 57, 62, 24, 35, 60, 43], + "height":20, + "id":1, + "name":"Tile Layer 1", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":20, + "x":0, + "y":0 + }], + "nextlayerid":2, + "nextobjectid":1, + "orientation":"orthogonal", + "renderorder":"right-down", + "tiledversion":"1.3.5", + "tileheight":32, + "tilesets":[ + { + "firstgid":1, + "source":"tileset.json" + }], + "tilewidth":32, + "type":"map", + "version":1.2, + "width":20 +} \ No newline at end of file diff --git a/tests/test_data/tilesets/wangsets/tileset.json b/tests/test_data/tilesets/wangsets/tileset.json new file mode 100644 index 0000000..76ab027 --- /dev/null +++ b/tests/test_data/tilesets/wangsets/tileset.json @@ -0,0 +1,607 @@ +{ "columns":9, + "image":"..\/..\/images\/walkways.png", + "imageheight":288, + "imagewidth":288, + "margin":0, + "name":"tileset", + "spacing":0, + "tilecount":81, + "tiledversion":"1.3.5", + "tileheight":32, + "tilewidth":32, + "type":"tileset", + "version":1.2, + "wangsets":[ + { + "cornercolors":[], + "edgecolors":[ + { + "color":"#ff0000", + "name":"Path", + "probability":1, + "tile":-1 + }, + { + "color":"#00ff00", + "name":"Grass", + "probability":0.75, + "tile":-1 + }, + { + "color":"#0000ff", + "name":"WalkWay", + "probability":0.5, + "tile":-1 + }], + "name":"My Wang Set", + "tile":-1, + "wangtiles":[ + { + "dflip":false, + "hflip":false, + "tileid":0, + "vflip":false, + "wangid":[2, 0, 3, 0, 3, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":1, + "vflip":false, + "wangid":[2, 0, 3, 0, 3, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":2, + "vflip":false, + "wangid":[2, 0, 1, 0, 3, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":3, + "vflip":false, + "wangid":[2, 0, 3, 0, 3, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":4, + "vflip":false, + "wangid":[2, 0, 2, 0, 3, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":5, + "vflip":false, + "wangid":[2, 0, 1, 0, 3, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":6, + "vflip":false, + "wangid":[2, 0, 1, 0, 3, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":7, + "vflip":false, + "wangid":[2, 0, 2, 0, 3, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":8, + "vflip":false, + "wangid":[2, 0, 2, 0, 3, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":9, + "vflip":false, + "wangid":[3, 0, 3, 0, 3, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":10, + "vflip":false, + "wangid":[3, 0, 3, 0, 3, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":11, + "vflip":false, + "wangid":[3, 0, 1, 0, 3, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":12, + "vflip":false, + "wangid":[3, 0, 3, 0, 3, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":13, + "vflip":false, + "wangid":[3, 0, 2, 0, 3, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":14, + "vflip":false, + "wangid":[3, 0, 1, 0, 3, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":15, + "vflip":false, + "wangid":[3, 0, 1, 0, 3, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":16, + "vflip":false, + "wangid":[3, 0, 2, 0, 3, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":17, + "vflip":false, + "wangid":[3, 0, 2, 0, 3, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":18, + "vflip":false, + "wangid":[3, 0, 3, 0, 1, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":19, + "vflip":false, + "wangid":[3, 0, 3, 0, 1, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":20, + "vflip":false, + "wangid":[3, 0, 1, 0, 1, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":21, + "vflip":false, + "wangid":[3, 0, 3, 0, 1, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":22, + "vflip":false, + "wangid":[3, 0, 2, 0, 1, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":23, + "vflip":false, + "wangid":[3, 0, 1, 0, 1, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":24, + "vflip":false, + "wangid":[3, 0, 1, 0, 1, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":25, + "vflip":false, + "wangid":[3, 0, 2, 0, 1, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":26, + "vflip":false, + "wangid":[3, 0, 2, 0, 1, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":27, + "vflip":false, + "wangid":[1, 0, 3, 0, 3, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":28, + "vflip":false, + "wangid":[1, 0, 3, 0, 3, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":29, + "vflip":false, + "wangid":[1, 0, 1, 0, 3, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":30, + "vflip":false, + "wangid":[1, 0, 3, 0, 3, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":31, + "vflip":false, + "wangid":[1, 0, 2, 0, 3, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":32, + "vflip":false, + "wangid":[1, 0, 1, 0, 3, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":33, + "vflip":false, + "wangid":[1, 0, 1, 0, 3, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":34, + "vflip":false, + "wangid":[1, 0, 2, 0, 3, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":35, + "vflip":false, + "wangid":[1, 0, 2, 0, 3, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":36, + "vflip":false, + "wangid":[3, 0, 3, 0, 2, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":37, + "vflip":false, + "wangid":[3, 0, 3, 0, 2, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":38, + "vflip":false, + "wangid":[3, 0, 1, 0, 2, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":39, + "vflip":false, + "wangid":[3, 0, 3, 0, 2, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":40, + "vflip":false, + "wangid":[3, 0, 2, 0, 2, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":41, + "vflip":false, + "wangid":[3, 0, 1, 0, 2, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":42, + "vflip":false, + "wangid":[3, 0, 1, 0, 2, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":43, + "vflip":false, + "wangid":[3, 0, 2, 0, 2, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":44, + "vflip":false, + "wangid":[3, 0, 2, 0, 2, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":45, + "vflip":false, + "wangid":[2, 0, 3, 0, 1, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":46, + "vflip":false, + "wangid":[2, 0, 3, 0, 1, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":47, + "vflip":false, + "wangid":[2, 0, 1, 0, 1, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":48, + "vflip":false, + "wangid":[2, 0, 3, 0, 1, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":49, + "vflip":false, + "wangid":[2, 0, 2, 0, 1, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":50, + "vflip":false, + "wangid":[2, 0, 1, 0, 1, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":51, + "vflip":false, + "wangid":[2, 0, 1, 0, 1, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":52, + "vflip":false, + "wangid":[2, 0, 2, 0, 1, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":53, + "vflip":false, + "wangid":[2, 0, 2, 0, 1, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":54, + "vflip":false, + "wangid":[1, 0, 3, 0, 1, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":55, + "vflip":false, + "wangid":[1, 0, 3, 0, 1, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":56, + "vflip":false, + "wangid":[1, 0, 1, 0, 1, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":57, + "vflip":false, + "wangid":[1, 0, 3, 0, 1, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":58, + "vflip":false, + "wangid":[1, 0, 2, 0, 1, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":59, + "vflip":false, + "wangid":[1, 0, 1, 0, 1, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":60, + "vflip":false, + "wangid":[1, 0, 1, 0, 1, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":61, + "vflip":false, + "wangid":[1, 0, 2, 0, 1, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":62, + "vflip":false, + "wangid":[1, 0, 2, 0, 1, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":63, + "vflip":false, + "wangid":[1, 0, 3, 0, 2, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":64, + "vflip":false, + "wangid":[1, 0, 3, 0, 2, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":65, + "vflip":false, + "wangid":[1, 0, 1, 0, 2, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":66, + "vflip":false, + "wangid":[1, 0, 3, 0, 2, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":67, + "vflip":false, + "wangid":[1, 0, 2, 0, 2, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":68, + "vflip":false, + "wangid":[1, 0, 1, 0, 2, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":69, + "vflip":false, + "wangid":[1, 0, 1, 0, 2, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":70, + "vflip":false, + "wangid":[1, 0, 2, 0, 2, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":71, + "vflip":false, + "wangid":[1, 0, 2, 0, 2, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":72, + "vflip":false, + "wangid":[2, 0, 3, 0, 2, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":73, + "vflip":false, + "wangid":[2, 0, 3, 0, 2, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":74, + "vflip":false, + "wangid":[2, 0, 1, 0, 2, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":75, + "vflip":false, + "wangid":[2, 0, 3, 0, 2, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":76, + "vflip":false, + "wangid":[2, 0, 2, 0, 2, 0, 3, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":77, + "vflip":false, + "wangid":[2, 0, 1, 0, 2, 0, 2, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":78, + "vflip":false, + "wangid":[2, 0, 1, 0, 2, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":79, + "vflip":false, + "wangid":[2, 0, 2, 0, 2, 0, 1, 0] + }, + { + "dflip":false, + "hflip":false, + "tileid":80, + "vflip":false, + "wangid":[2, 0, 2, 0, 2, 0, 2, 0] + }] + }] +} \ No newline at end of file