From 06df08488a70db7800367377dc9b1aa3d9f7cfee Mon Sep 17 00:00:00 2001
From: Louis <contact@louiscap.co>
Date: Thu, 3 Apr 2025 10:15:58 +0100
Subject: [PATCH] Add ldtk files generated by all supported versions, add Bevy
 related loading tests for all supported LDTK versions

---
 assets/ldtk_v1_0_0.ldtk | 205 +++++++++++++++++++
 assets/ldtk_v1_1_0.ldtk | 206 +++++++++++++++++++
 assets/ldtk_v1_1_1.ldtk | 206 +++++++++++++++++++
 assets/ldtk_v1_1_2.ldtk | 206 +++++++++++++++++++
 assets/ldtk_v1_2_0.ldtk | 209 +++++++++++++++++++
 assets/ldtk_v1_2_1.ldtk | 209 +++++++++++++++++++
 assets/ldtk_v1_2_2.ldtk | 209 +++++++++++++++++++
 assets/ldtk_v1_2_3.ldtk | 209 +++++++++++++++++++
 assets/ldtk_v1_2_4.ldtk | 210 +++++++++++++++++++
 assets/ldtk_v1_2_5.ldtk | 211 +++++++++++++++++++
 assets/ldtk_v1_3_0.ldtk | 213 ++++++++++++++++++++
 assets/ldtk_v1_4_0.ldtk | 218 ++++++++++++++++++++
 assets/ldtk_v1_4_1.ldtk | 218 ++++++++++++++++++++
 assets/ldtk_v1_5_3.ldtk | 437 ++++++++++++++++++++++++++++++++++++++++
 rustfmt.toml            |   1 -
 src/ldtk/data_1_0_0.rs  |   2 +-
 src/ldtk/data_1_1_0.rs  |   2 +-
 src/ldtk/mod.rs         |  10 +-
 src/lib.rs              |   5 +-
 src/system/types.rs     |   6 +-
 test.sh                 |  21 ++
 tests/bevy.rs           |  64 ++++++
 22 files changed, 3262 insertions(+), 15 deletions(-)
 create mode 100644 assets/ldtk_v1_0_0.ldtk
 create mode 100644 assets/ldtk_v1_1_0.ldtk
 create mode 100644 assets/ldtk_v1_1_1.ldtk
 create mode 100644 assets/ldtk_v1_1_2.ldtk
 create mode 100644 assets/ldtk_v1_2_0.ldtk
 create mode 100644 assets/ldtk_v1_2_1.ldtk
 create mode 100644 assets/ldtk_v1_2_2.ldtk
 create mode 100644 assets/ldtk_v1_2_3.ldtk
 create mode 100644 assets/ldtk_v1_2_4.ldtk
 create mode 100644 assets/ldtk_v1_2_5.ldtk
 create mode 100644 assets/ldtk_v1_3_0.ldtk
 create mode 100644 assets/ldtk_v1_4_0.ldtk
 create mode 100644 assets/ldtk_v1_4_1.ldtk
 create mode 100644 assets/ldtk_v1_5_3.ldtk
 create mode 100644 test.sh
 create mode 100644 tests/bevy.rs

diff --git a/assets/ldtk_v1_0_0.ldtk b/assets/ldtk_v1_0_0.ldtk
new file mode 100644
index 0000000..cebcc6c
--- /dev/null
+++ b/assets/ldtk_v1_0_0.ldtk
@@ -0,0 +1,205 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.0.0",
+		"url": "https://ldtk.io"
+	},
+	"jsonVersion": "1.0.0",
+	"appBuildId": 457931,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"imageExportMode": "None",
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [{ "value": 1, "identifier": null, "color": "#000000" }],
+			"autoTilesetDefUid": 3,
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 16,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 256,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc69a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc59764b97599868ac679a69ab4a84477756787688475347532a932a934a837a8359aa49aa59996999699969aa489949995999799a499949992999299948997889189919991999199939994778166727772889289948993aaa389949a959a959a98aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba93ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce5d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb757a668b899b8449396534493858364836853697769436667755667776c7349886bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c59aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd57ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b23799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b95499977997868799579875a6465995a8957a66a735ba53a935969479a576a46775744985596659b747a659a76768a7a567675477738873566597698779445946588668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca5449374934c957c9574847a438475a3958695768565956853b9447a777493a49379547a838394689a49547a6357636975786383848997b38465587374897458847da48ca769768b554b976cba3a824a82696259526a758c986963694268478b85696559555579557458598674573353635677575579667a8758538b848a44838b385437883b95534549555a855877997598772b953b9529a939a95aa84b949a84897687898776878578998485878b789a847b8b6579998a55886998788a879b976ba97988897469646b987a876a997a987b987955766777765c958a85877786775a747b947b967866a855788928884566578879a98864a57923343334333463346a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b8638ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a2888378936773975579b389a579b488938884b74469a465747785b75568b586a38553865285428444755566455763a64356746743779397445674c63469b585a284437643a7629641555297938874879385438664665355536775a85569a785a5789789b779b6a75668a897b64558555876576798855845694749b74a68a986a47776766678867667799798698768866976685673755387638763b74358b387a5777686569874944498846774677685568646987677778775a456a65ab66ca55355656666656455546455345634558655854aa749854775577737b64777a7a795955895598546c758c75ba76b88797749b75a98967888789978857888788a7886977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b59645788598858546a7569996a767a766887649c767476797a5476697766797678887a75796577777a869976987799865777667787668a53857a885a9865954687559877a96586779788b9769866888899877576777879647759a8659888a744785477887a55747b7585795b7999a9667456878889aa58997888797b5677685548545854617b644557448744537b85565899899a39994a7a58998999a555898889659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a555596587556677777777778578876687778974867787668876988897779876a74467536556875448225922415851595456654587459456947b48997a8676458556a854a89989998556a7559766a7779976a975997596749a64968a9779a5559545674487549854885594558445a777a7778373579b5a32675584456975958b994477449754b674b469b964b658a766a864a777a975a566a754a677a875b777b96577557754744575567655874469737763776678533455656657785975587788762789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a555888516b5a3349a95964797778987a5375696a536668796577887a847a7479757b537a53767b6769748775767a9a7988759c768a7b957a84777577647864785498999788988998889b879a869a869a8669656567696566776744685467787788678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c736aaa6556518566775965485438985888576546854ca547775999699989997a996678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a33843b33359c337c395c3b853899355653745a33558b536b585b5a755788544526551566274525664a85486546564656377756664655465545454656516a65674964696468553a86485437443645896588548856895477446a7569547a75795436678566399988993b968b955ba658995566588859645a986ca7796477887ca619562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b1486248645a7549615782578469a5689187629764a875a861a692a694b7a5b791777277748985888155525554666555619952885488458841112211241125112"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_1_0.ldtk b/assets/ldtk_v1_1_0.ldtk
new file mode 100644
index 0000000..49b5cae
--- /dev/null
+++ b/assets/ldtk_v1_1_0.ldtk
@@ -0,0 +1,206 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.1.0",
+		"url": "https://ldtk.io"
+	},
+	"jsonVersion": "1.1.0",
+	"appBuildId": 458005,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoTilesetDefUid": 3,
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 16,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 256,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc69a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc59764b97599868ac679a69ab4a84477756787688475347532a932a934a837a8359aa49aa59996999699969aa489949995999799a499949992999299948997889189919991999199939994778166727772889289948993aaa389949a959a959a98aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba93ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce5d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb757a668b899b8449396534493858364836853697769436667755667776c7349886bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c59aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd57ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b23799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b95499977997868799579875a6465995a8957a66a735ba53a935969479a576a46775744985596659b747a659a76768a7a567675477738873566597698779445946588668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca5449374934c957c9574847a438475a3958695768565956853b9447a777493a49379547a838394689a49547a6357636975786383848997b38465587374897458847da48ca769768b554b976cba3a824a82696259526a758c986963694268478b85696559555579557458598674573353635677575579667a8758538b848a44838b385437883b95534549555a855877997598772b953b9529a939a95aa84b949a84897687898776878578998485878b789a847b8b6579998a55886998788a879b976ba97988897469646b987a876a997a987b987955766777765c958a85877786775a747b947b967866a855788928884566578879a98864a57923343334333463346a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b8638ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a2888378936773975579b389a579b488938884b74469a465747785b75568b586a38553865285428444755566455763a64356746743779397445674c63469b585a284437643a7629641555297938874879385438664665355536775a85569a785a5789789b779b6a75668a897b64558555876576798855845694749b74a68a986a47776766678867667799798698768866976685673755387638763b74358b387a5777686569874944498846774677685568646987677778775a456a65ab66ca55355656666656455546455345634558655854aa749854775577737b64777a7a795955895598546c758c75ba76b88797749b75a98967888789978857888788a7886977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b59645788598858546a7569996a767a766887649c767476797a5476697766797678887a75796577777a869976987799865777667787668a53857a885a9865954687559877a96586779788b9769866888899877576777879647759a8659888a744785477887a55747b7585795b7999a9667456878889aa58997888797b5677685548545854617b644557448744537b85565899899a39994a7a58998999a555898889659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a555596587556677777777778578876687778974867787668876988897779876a74467536556875448225922415851595456654587459456947b48997a8676458556a854a89989998556a7559766a7779976a975997596749a64968a9779a5559545674487549854885594558445a777a7778373579b5a32675584456975958b994477449754b674b469b964b658a766a864a777a975a566a754a677a875b777b96577557754744575567655874469737763776678533455656657785975587788762789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a555888516b5a3349a95964797778987a5375696a536668796577887a847a7479757b537a53767b6769748775767a9a7988759c768a7b957a84777577647864785498999788988998889b879a869a869a8669656567696566776744685467787788678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c736aaa6556518566775965485438985888576546854ca547775999699989997a996678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a33843b33359c337c395c3b853899355653745a33558b536b585b5a755788544526551566274525664a85486546564656377756664655465545454656516a65674964696468553a86485437443645896588548856895477446a7569547a75795436678566399988993b968b955ba658995566588859645a986ca7796477887ca619562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b1486248645a7549615782578469a5689187629764a875a861a692a694b7a5b791777277748985888155525554666555619952885488458841112211241125112"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_1_1.ldtk b/assets/ldtk_v1_1_1.ldtk
new file mode 100644
index 0000000..0ed584d
--- /dev/null
+++ b/assets/ldtk_v1_1_1.ldtk
@@ -0,0 +1,206 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.1.1",
+		"url": "https://ldtk.io"
+	},
+	"jsonVersion": "1.1.1",
+	"appBuildId": 458076,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoTilesetDefUid": 3,
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 16,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 256,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc69a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc59764b97599868ac679a69ab4a84477756787688475347532a932a934a837a8359aa49aa59996999699969aa489949995999799a499949992999299948997889189919991999199939994778166727772889289948993aaa389949a959a959a98aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba93ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce5d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb757a668b899b8449396534493858364836853697769436667755667776c7349886bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c59aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd57ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b23799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b95499977997868799579875a6465995a8957a66a735ba53a935969479a576a46775744985596659b747a659a76768a7a567675477738873566597698779445946588668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca5449374934c957c9574847a438475a3958695768565956853b9447a777493a49379547a838394689a49547a6357636975786383848997b38465587374897458847da48ca769768b554b976cba3a824a82696259526a758c986963694268478b85696559555579557458598674573353635677575579667a8758538b848a44838b385437883b95534549555a855877997598772b953b9529a939a95aa84b949a84897687898776878578998485878b789a847b8b6579998a55886998788a879b976ba97988897469646b987a876a997a987b987955766777765c958a85877786775a747b947b967866a855788928884566578879a98864a57923343334333463346a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b8638ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a2888378936773975579b389a579b488938884b74469a465747785b75568b586a38553865285428444755566455763a64356746743779397445674c63469b585a284437643a7629641555297938874879385438664665355536775a85569a785a5789789b779b6a75668a897b64558555876576798855845694749b74a68a986a47776766678867667799798698768866976685673755387638763b74358b387a5777686569874944498846774677685568646987677778775a456a65ab66ca55355656666656455546455345634558655854aa749854775577737b64777a7a795955895598546c758c75ba76b88797749b75a98967888789978857888788a7886977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b59645788598858546a7569996a767a766887649c767476797a5476697766797678887a75796577777a869976987799865777667787668a53857a885a9865954687559877a96586779788b9769866888899877576777879647759a8659888a744785477887a55747b7585795b7999a9667456878889aa58997888797b5677685548545854617b644557448744537b85565899899a39994a7a58998999a555898889659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a555596587556677777777778578876687778974867787668876988897779876a74467536556875448225922415851595456654587459456947b48997a8676458556a854a89989998556a7559766a7779976a975997596749a64968a9779a5559545674487549854885594558445a777a7778373579b5a32675584456975958b994477449754b674b469b964b658a766a864a777a975a566a754a677a875b777b96577557754744575567655874469737763776678533455656657785975587788762789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a555888516b5a3349a95964797778987a5375696a536668796577887a847a7479757b537a53767b6769748775767a9a7988759c768a7b957a84777577647864785498999788988998889b879a869a869a8669656567696566776744685467787788678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c736aaa6556518566775965485438985888576546854ca547775999699989997a996678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a33843b33359c337c395c3b853899355653745a33558b536b585b5a755788544526551566274525664a85486546564656377756664655465545454656516a65674964696468553a86485437443645896588548856895477446a7569547a75795436678566399988993b968b955ba658995566588859645a986ca7796477887ca619562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b1486248645a7549615782578469a5689187629764a875a861a692a694b7a5b791777277748985888155525554666555619952885488458841112211241125112"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_1_2.ldtk b/assets/ldtk_v1_1_2.ldtk
new file mode 100644
index 0000000..cf66fd7
--- /dev/null
+++ b/assets/ldtk_v1_1_2.ldtk
@@ -0,0 +1,206 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.1.2",
+		"url": "https://ldtk.io"
+	},
+	"jsonVersion": "1.1.2",
+	"appBuildId": 458319,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoTilesetDefUid": 3,
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 16,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 256,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc69a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc59764b97599868ac679a69ab4a84477756787688475347532a932a934a837a8359aa49aa59996999699969aa489949995999799a499949992999299948997889189919991999199939994778166727772889289948993aaa389949a959a959a98aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba93ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce5d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb757a668b899b8449396534493858364836853697769436667755667776c7349886bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c59aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd57ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b23799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b95499977997868799579875a6465995a8957a66a735ba53a935969479a576a46775744985596659b747a659a76768a7a567675477738873566597698779445946588668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca5449374934c957c9574847a438475a3958695768565956853b9447a777493a49379547a838394689a49547a6357636975786383848997b38465587374897458847da48ca769768b554b976cba3a824a82696259526a758c986963694268478b85696559555579557458598674573353635677575579667a8758538b848a44838b385437883b95534549555a855877997598772b953b9529a939a95aa84b949a84897687898776878578998485878b789a847b8b6579998a55886998788a879b976ba97988897469646b987a876a997a987b987955766777765c958a85877786775a747b947b967866a855788928884566578879a98864a57923343334333463346a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b8638ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a2888378936773975579b389a579b488938884b74469a465747785b75568b586a38553865285428444755566455763a64356746743779397445674c63469b585a284437643a7629641555297938874879385438664665355536775a85569a785a5789789b779b6a75668a897b64558555876576798855845694749b74a68a986a47776766678867667799798698768866976685673755387638763b74358b387a5777686569874944498846774677685568646987677778775a456a65ab66ca55355656666656455546455345634558655854aa749854775577737b64777a7a795955895598546c758c75ba76b88797749b75a98967888789978857888788a7886977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b59645788598858546a7569996a767a766887649c767476797a5476697766797678887a75796577777a869976987799865777667787668a53857a885a9865954687559877a96586779788b9769866888899877576777879647759a8659888a744785477887a55747b7585795b7999a9667456878889aa58997888797b5677685548545854617b644557448744537b85565899899a39994a7a58998999a555898889659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a555596587556677777777778578876687778974867787668876988897779876a74467536556875448225922415851595456654587459456947b48997a8676458556a854a89989998556a7559766a7779976a975997596749a64968a9779a5559545674487549854885594558445a777a7778373579b5a32675584456975958b994477449754b674b469b964b658a766a864a777a975a566a754a677a875b777b96577557754744575567655874469737763776678533455656657785975587788762789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a555888516b5a3349a95964797778987a5375696a536668796577887a847a7479757b537a53767b6769748775767a9a7988759c768a7b957a84777577647864785498999788988998889b879a869a869a8669656567696566776744685467787788678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c736aaa6556518566775965485438985888576546854ca547775999699989997a996678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a33843b33359c337c395c3b853899355653745a33558b536b585b5a755788544526551566274525664a85486546564656377756664655465545454656516a65674964696468553a86485437443645896588548856895477446a7569547a75795436678566399988993b968b955ba658995566588859645a986ca7796477887ca619562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b1486248645a7549615782578469a5689187629764a875a861a692a694b7a5b791777277748985888155525554666555619952885488458841112211241125112"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_2_0.ldtk b/assets/ldtk_v1_2_0.ldtk
new file mode 100644
index 0000000..5391298
--- /dev/null
+++ b/assets/ldtk_v1_2_0.ldtk
@@ -0,0 +1,209 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.2.0",
+		"url": "https://ldtk.io"
+	},
+	"iid": "96f0d140-e920-11ef-af6b-c1f4d6c81df4",
+	"jsonVersion": "1.2.0",
+	"appBuildId": 464631,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4fb34abb45564ffe000000000000000000000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2fb32abb25562ffe000000000000000000000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfc93f899f334fccc000000000000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749a864a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3c83389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636b746b746b746b74616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648586354455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8b73855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb7000000000000000000000000000000000000000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498800000000000000000000000000000000000000000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c000000000000000000000000000000000000000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd000000000000000000000000000000000000000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b230000000000000000000000000000000000000000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b950000000000000000000000000000000000000000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467700000000000000000000000000000000000000000000000000000000000000005744985596659b747a659a76768a7a5676754777388735665976987794459465000000000000000000000000000000000000000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca50000000000000000000000000000000000000000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_2_1.ldtk b/assets/ldtk_v1_2_1.ldtk
new file mode 100644
index 0000000..778f899
--- /dev/null
+++ b/assets/ldtk_v1_2_1.ldtk
@@ -0,0 +1,209 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.2.1",
+		"url": "https://ldtk.io"
+	},
+	"iid": "96f0d140-e920-11ef-af6b-c1f4d6c81df4",
+	"jsonVersion": "1.2.1",
+	"appBuildId": 464653,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4fb34abb45564ffe000000000000000000000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2fb32abb25562ffe000000000000000000000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfc93f899f334fccc000000000000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749a864a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3c83389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636b746b746b746b74616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648586354455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8b73855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb7000000000000000000000000000000000000000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498800000000000000000000000000000000000000000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c000000000000000000000000000000000000000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd000000000000000000000000000000000000000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b230000000000000000000000000000000000000000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b950000000000000000000000000000000000000000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467700000000000000000000000000000000000000000000000000000000000000005744985596659b747a659a76768a7a5676754777388735665976987794459465000000000000000000000000000000000000000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca50000000000000000000000000000000000000000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_2_2.ldtk b/assets/ldtk_v1_2_2.ldtk
new file mode 100644
index 0000000..242e2fe
--- /dev/null
+++ b/assets/ldtk_v1_2_2.ldtk
@@ -0,0 +1,209 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.2.2",
+		"url": "https://ldtk.io"
+	},
+	"iid": "96f0d140-e920-11ef-af6b-c1f4d6c81df4",
+	"jsonVersion": "1.2.2",
+	"appBuildId": 464704,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4fb34abb45564ffe000000000000000000000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2fb32abb25562ffe000000000000000000000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfc93f899f334fccc000000000000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749a864a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3c83389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636b746b746b746b74616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648586354455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8b73855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb7000000000000000000000000000000000000000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498800000000000000000000000000000000000000000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c000000000000000000000000000000000000000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd000000000000000000000000000000000000000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b230000000000000000000000000000000000000000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b950000000000000000000000000000000000000000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467700000000000000000000000000000000000000000000000000000000000000005744985596659b747a659a76768a7a5676754777388735665976987794459465000000000000000000000000000000000000000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca50000000000000000000000000000000000000000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_2_3.ldtk b/assets/ldtk_v1_2_3.ldtk
new file mode 100644
index 0000000..2bb9165
--- /dev/null
+++ b/assets/ldtk_v1_2_3.ldtk
@@ -0,0 +1,209 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.2.3",
+		"url": "https://ldtk.io"
+	},
+	"iid": "96f0d140-e920-11ef-af6b-c1f4d6c81df4",
+	"jsonVersion": "1.2.3",
+	"appBuildId": 464726,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4fb34abb45564ffe000000000000000000000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2fb32abb25562ffe000000000000000000000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfc93f899f334fccc000000000000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749a864a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3c83389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636b746b746b746b74616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648586354455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8b73855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb7000000000000000000000000000000000000000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498800000000000000000000000000000000000000000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c000000000000000000000000000000000000000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd000000000000000000000000000000000000000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b230000000000000000000000000000000000000000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b950000000000000000000000000000000000000000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467700000000000000000000000000000000000000000000000000000000000000005744985596659b747a659a76768a7a5676754777388735665976987794459465000000000000000000000000000000000000000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca50000000000000000000000000000000000000000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_2_4.ldtk b/assets/ldtk_v1_2_4.ldtk
new file mode 100644
index 0000000..98aadd9
--- /dev/null
+++ b/assets/ldtk_v1_2_4.ldtk
@@ -0,0 +1,210 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.2.4",
+		"url": "https://ldtk.io"
+	},
+	"iid": "96f0d140-e920-11ef-af6b-c1f4d6c81df4",
+	"jsonVersion": "1.2.4",
+	"appBuildId": 464823,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"toc": [],
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4fb34abb45564ffe000000000000000000000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2fb32abb25562ffe000000000000000000000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfc93f899f334fccc000000000000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749a864a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3c83389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636b746b746b746b74616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648586354455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8b73855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb7000000000000000000000000000000000000000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498800000000000000000000000000000000000000000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c000000000000000000000000000000000000000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd000000000000000000000000000000000000000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b230000000000000000000000000000000000000000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b950000000000000000000000000000000000000000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467700000000000000000000000000000000000000000000000000000000000000005744985596659b747a659a76768a7a5676754777388735665976987794459465000000000000000000000000000000000000000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca50000000000000000000000000000000000000000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_2_5.ldtk b/assets/ldtk_v1_2_5.ldtk
new file mode 100644
index 0000000..98875f1
--- /dev/null
+++ b/assets/ldtk_v1_2_5.ldtk
@@ -0,0 +1,211 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.2.5",
+		"url": "https://ldtk.io"
+	},
+	"iid": "96f0d140-e920-11ef-af6b-c1f4d6c81df4",
+	"jsonVersion": "1.2.5",
+	"appBuildId": 464870,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"toc": [],
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"doc": null,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4fb34abb45564ffe000000000000000000000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2fb32abb25562ffe000000000000000000000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfc93f899f334fccc000000000000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749a864a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3c83389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636b746b746b746b74616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648586354455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8b73855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb7000000000000000000000000000000000000000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498800000000000000000000000000000000000000000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c000000000000000000000000000000000000000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd000000000000000000000000000000000000000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b230000000000000000000000000000000000000000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b950000000000000000000000000000000000000000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467700000000000000000000000000000000000000000000000000000000000000005744985596659b747a659a76768a7a5676754777388735665976987794459465000000000000000000000000000000000000000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca50000000000000000000000000000000000000000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": []
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_3_0.ldtk b/assets/ldtk_v1_3_0.ldtk
new file mode 100644
index 0000000..76c8c2e
--- /dev/null
+++ b/assets/ldtk_v1_3_0.ldtk
@@ -0,0 +1,213 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.3.0",
+		"url": "https://ldtk.io"
+	},
+	"iid": "96f0d140-e920-11ef-af6b-c1f4d6c81df4",
+	"jsonVersion": "1.3.0",
+	"appBuildId": 467368,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"toc": [],
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"backupRelPath": null,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"doc": null,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4fb34abb45564ffe000000000000000000000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2fb32abb25562ffe000000000000000000000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfc93f899f334fccc000000000000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749a864a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3c83389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636b746b746b746b74616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648586354455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8b73855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb7000000000000000000000000000000000000000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498800000000000000000000000000000000000000000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c000000000000000000000000000000000000000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd000000000000000000000000000000000000000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b230000000000000000000000000000000000000000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b950000000000000000000000000000000000000000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467700000000000000000000000000000000000000000000000000000000000000005744985596659b747a659a76768a7a5676754777388735665976987794459465000000000000000000000000000000000000000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca50000000000000000000000000000000000000000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22] },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23] },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24] },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37] },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38] },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40] },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41] },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42] },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43] },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51] },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52] },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59] },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60] },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67] },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69] },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70] },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71] },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72] },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73] },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76] },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84] },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85] },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89] },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92] },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99] },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100] },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101] },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102] },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105] },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106] },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108] },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115] },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118] },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122] },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124] },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131] },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134] },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138] },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140] },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146] },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147] },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150] },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151] },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153] },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154] },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156] },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162] },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167] },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168] },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169] },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172] },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179] },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187] },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188] },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195] },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196] },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197] },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202] },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203] },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213] },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214] },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215] },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216] },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217] },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218] }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": [],
+	"dummyWorldIid": "18778a10-e920-11ef-b36c-01ea94d42855"
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_4_0.ldtk b/assets/ldtk_v1_4_0.ldtk
new file mode 100644
index 0000000..b57fc0d
--- /dev/null
+++ b/assets/ldtk_v1_4_0.ldtk
@@ -0,0 +1,218 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.4.0",
+		"url": "https://ldtk.io"
+	},
+	"iid": "96f0d140-e920-11ef-af6b-c1f4d6c81df4",
+	"jsonVersion": "1.4.0",
+	"appBuildId": 470941,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"toc": [],
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"defaultEntityWidth": 16,
+	"defaultEntityHeight": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"backupRelPath": null,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"doc": null,
+			"uiColor": null,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"renderInWorldView": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"intGridValuesGroups": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4fb34abb45564ffe000000000000000000000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2fb32abb25562ffe000000000000000000000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfc93f899f334fccc000000000000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749a864a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3c83389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636b746b746b746b74616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648586354455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8b73855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb7000000000000000000000000000000000000000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498800000000000000000000000000000000000000000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c000000000000000000000000000000000000000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd000000000000000000000000000000000000000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b230000000000000000000000000000000000000000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b950000000000000000000000000000000000000000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467700000000000000000000000000000000000000000000000000000000000000005744985596659b747a659a76768a7a5676754777388735665976987794459465000000000000000000000000000000000000000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca50000000000000000000000000000000000000000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22], "a": 1 },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23], "a": 1 },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24], "a": 1 },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37], "a": 1 },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38], "a": 1 },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40], "a": 1 },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41], "a": 1 },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42], "a": 1 },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43], "a": 1 },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51], "a": 1 },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52], "a": 1 },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59], "a": 1 },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60], "a": 1 },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67], "a": 1 },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69], "a": 1 },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70], "a": 1 },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71], "a": 1 },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72], "a": 1 },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73], "a": 1 },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76], "a": 1 },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84], "a": 1 },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85], "a": 1 },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89], "a": 1 },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92], "a": 1 },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99], "a": 1 },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100], "a": 1 },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101], "a": 1 },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102], "a": 1 },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105], "a": 1 },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106], "a": 1 },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108], "a": 1 },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115], "a": 1 },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118], "a": 1 },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122], "a": 1 },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124], "a": 1 },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131], "a": 1 },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134], "a": 1 },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138], "a": 1 },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140], "a": 1 },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146], "a": 1 },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147], "a": 1 },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150], "a": 1 },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151], "a": 1 },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153], "a": 1 },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154], "a": 1 },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156], "a": 1 },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162], "a": 1 },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167], "a": 1 },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168], "a": 1 },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169], "a": 1 },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172], "a": 1 },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179], "a": 1 },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187], "a": 1 },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188], "a": 1 },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195], "a": 1 },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196], "a": 1 },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197], "a": 1 },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202], "a": 1 },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203], "a": 1 },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213], "a": 1 },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214], "a": 1 },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215], "a": 1 },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216], "a": 1 },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217], "a": 1 },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218], "a": 1 }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": [],
+	"dummyWorldIid": "18778a10-e920-11ef-b36c-01ea94d42855"
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_4_1.ldtk b/assets/ldtk_v1_4_1.ldtk
new file mode 100644
index 0000000..f5a2e09
--- /dev/null
+++ b/assets/ldtk_v1_4_1.ldtk
@@ -0,0 +1,218 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.4.1",
+		"url": "https://ldtk.io"
+	},
+	"iid": "96f0d140-e920-11ef-af6b-c1f4d6c81df4",
+	"jsonVersion": "1.4.1",
+	"appBuildId": 471015,
+	"nextUid": 4,
+	"identifierStyle": "Capitalize",
+	"toc": [],
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"defaultEntityWidth": 16,
+	"defaultEntityHeight": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"backupRelPath": null,
+	"levelNamePattern": "%world_Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 2,
+			"doc": null,
+			"uiColor": null,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"renderInWorldView": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"intGridValues": [],
+			"intGridValuesGroups": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 3,
+			"tilePivotX": 0,
+			"tilePivotY": 0
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 3,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4fb34abb45564ffe000000000000000000000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2fb32abb25562ffe000000000000000000000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfc93f899f334fccc000000000000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749a864a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3c83389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636b746b746b746b74616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648586354455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8b73855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb7000000000000000000000000000000000000000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498800000000000000000000000000000000000000000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c000000000000000000000000000000000000000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd000000000000000000000000000000000000000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b230000000000000000000000000000000000000000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b950000000000000000000000000000000000000000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467700000000000000000000000000000000000000000000000000000000000000005744985596659b747a659a76768a7a5676754777388735665976987794459465000000000000000000000000000000000000000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca50000000000000000000000000000000000000000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "World_Level_0",
+			"iid": "e6c16110-e920-11ef-af39-c1a55f9b14e0",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 3,
+					"__tilesetRelPath": null,
+					"iid": "f1dd01d0-e920-11ef-af39-ebc4253ad1f9",
+					"levelId": 0,
+					"layerDefUid": 2,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 8894254,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [96,16], "src": [160,0], "f": 0, "t": 10, "d": [22], "a": 1 },
+						{ "px": [112,16], "src": [160,0], "f": 0, "t": 10, "d": [23], "a": 1 },
+						{ "px": [128,16], "src": [160,0], "f": 0, "t": 10, "d": [24], "a": 1 },
+						{ "px": [80,32], "src": [160,0], "f": 0, "t": 10, "d": [37], "a": 1 },
+						{ "px": [96,32], "src": [160,0], "f": 0, "t": 10, "d": [38], "a": 1 },
+						{ "px": [128,32], "src": [160,0], "f": 0, "t": 10, "d": [40], "a": 1 },
+						{ "px": [144,32], "src": [160,0], "f": 0, "t": 10, "d": [41], "a": 1 },
+						{ "px": [160,32], "src": [160,0], "f": 0, "t": 10, "d": [42], "a": 1 },
+						{ "px": [176,32], "src": [160,0], "f": 0, "t": 10, "d": [43], "a": 1 },
+						{ "px": [48,48], "src": [160,0], "f": 0, "t": 10, "d": [51], "a": 1 },
+						{ "px": [64,48], "src": [160,0], "f": 0, "t": 10, "d": [52], "a": 1 },
+						{ "px": [176,48], "src": [160,0], "f": 0, "t": 10, "d": [59], "a": 1 },
+						{ "px": [192,48], "src": [160,0], "f": 0, "t": 10, "d": [60], "a": 1 },
+						{ "px": [48,64], "src": [160,0], "f": 0, "t": 10, "d": [67], "a": 1 },
+						{ "px": [80,64], "src": [160,0], "f": 0, "t": 10, "d": [69], "a": 1 },
+						{ "px": [96,64], "src": [160,0], "f": 0, "t": 10, "d": [70], "a": 1 },
+						{ "px": [112,64], "src": [160,0], "f": 0, "t": 10, "d": [71], "a": 1 },
+						{ "px": [128,64], "src": [160,0], "f": 0, "t": 10, "d": [72], "a": 1 },
+						{ "px": [144,64], "src": [160,0], "f": 0, "t": 10, "d": [73], "a": 1 },
+						{ "px": [192,64], "src": [160,0], "f": 0, "t": 10, "d": [76], "a": 1 },
+						{ "px": [64,80], "src": [160,0], "f": 0, "t": 10, "d": [84], "a": 1 },
+						{ "px": [80,80], "src": [160,0], "f": 0, "t": 10, "d": [85], "a": 1 },
+						{ "px": [144,80], "src": [160,0], "f": 0, "t": 10, "d": [89], "a": 1 },
+						{ "px": [192,80], "src": [160,0], "f": 0, "t": 10, "d": [92], "a": 1 },
+						{ "px": [48,96], "src": [160,0], "f": 0, "t": 10, "d": [99], "a": 1 },
+						{ "px": [64,96], "src": [160,0], "f": 0, "t": 10, "d": [100], "a": 1 },
+						{ "px": [80,96], "src": [160,0], "f": 0, "t": 10, "d": [101], "a": 1 },
+						{ "px": [96,96], "src": [160,0], "f": 0, "t": 10, "d": [102], "a": 1 },
+						{ "px": [144,96], "src": [160,0], "f": 0, "t": 10, "d": [105], "a": 1 },
+						{ "px": [160,96], "src": [160,0], "f": 0, "t": 10, "d": [106], "a": 1 },
+						{ "px": [192,96], "src": [160,0], "f": 0, "t": 10, "d": [108], "a": 1 },
+						{ "px": [48,112], "src": [160,0], "f": 0, "t": 10, "d": [115], "a": 1 },
+						{ "px": [96,112], "src": [160,0], "f": 0, "t": 10, "d": [118], "a": 1 },
+						{ "px": [160,112], "src": [160,0], "f": 0, "t": 10, "d": [122], "a": 1 },
+						{ "px": [192,112], "src": [160,0], "f": 0, "t": 10, "d": [124], "a": 1 },
+						{ "px": [48,128], "src": [160,0], "f": 0, "t": 10, "d": [131], "a": 1 },
+						{ "px": [96,128], "src": [160,0], "f": 0, "t": 10, "d": [134], "a": 1 },
+						{ "px": [160,128], "src": [160,0], "f": 0, "t": 10, "d": [138], "a": 1 },
+						{ "px": [192,128], "src": [160,0], "f": 0, "t": 10, "d": [140], "a": 1 },
+						{ "px": [32,144], "src": [160,0], "f": 0, "t": 10, "d": [146], "a": 1 },
+						{ "px": [48,144], "src": [160,0], "f": 0, "t": 10, "d": [147], "a": 1 },
+						{ "px": [96,144], "src": [160,0], "f": 0, "t": 10, "d": [150], "a": 1 },
+						{ "px": [112,144], "src": [160,0], "f": 0, "t": 10, "d": [151], "a": 1 },
+						{ "px": [144,144], "src": [160,0], "f": 0, "t": 10, "d": [153], "a": 1 },
+						{ "px": [160,144], "src": [160,0], "f": 0, "t": 10, "d": [154], "a": 1 },
+						{ "px": [192,144], "src": [160,0], "f": 0, "t": 10, "d": [156], "a": 1 },
+						{ "px": [32,160], "src": [160,0], "f": 0, "t": 10, "d": [162], "a": 1 },
+						{ "px": [112,160], "src": [160,0], "f": 0, "t": 10, "d": [167], "a": 1 },
+						{ "px": [128,160], "src": [160,0], "f": 0, "t": 10, "d": [168], "a": 1 },
+						{ "px": [144,160], "src": [160,0], "f": 0, "t": 10, "d": [169], "a": 1 },
+						{ "px": [192,160], "src": [160,0], "f": 0, "t": 10, "d": [172], "a": 1 },
+						{ "px": [48,176], "src": [160,0], "f": 0, "t": 10, "d": [179], "a": 1 },
+						{ "px": [176,176], "src": [160,0], "f": 0, "t": 10, "d": [187], "a": 1 },
+						{ "px": [192,176], "src": [160,0], "f": 0, "t": 10, "d": [188], "a": 1 },
+						{ "px": [48,192], "src": [160,0], "f": 0, "t": 10, "d": [195], "a": 1 },
+						{ "px": [64,192], "src": [160,0], "f": 0, "t": 10, "d": [196], "a": 1 },
+						{ "px": [80,192], "src": [160,0], "f": 0, "t": 10, "d": [197], "a": 1 },
+						{ "px": [160,192], "src": [160,0], "f": 0, "t": 10, "d": [202], "a": 1 },
+						{ "px": [176,192], "src": [160,0], "f": 0, "t": 10, "d": [203], "a": 1 },
+						{ "px": [80,208], "src": [160,0], "f": 0, "t": 10, "d": [213], "a": 1 },
+						{ "px": [96,208], "src": [160,0], "f": 0, "t": 10, "d": [214], "a": 1 },
+						{ "px": [112,208], "src": [160,0], "f": 0, "t": 10, "d": [215], "a": 1 },
+						{ "px": [128,208], "src": [160,0], "f": 0, "t": 10, "d": [216], "a": 1 },
+						{ "px": [144,208], "src": [160,0], "f": 0, "t": 10, "d": [217], "a": 1 },
+						{ "px": [160,208], "src": [160,0], "f": 0, "t": 10, "d": [218], "a": 1 }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": [],
+	"dummyWorldIid": "18778a10-e920-11ef-b36c-01ea94d42855"
+}
\ No newline at end of file
diff --git a/assets/ldtk_v1_5_3.ldtk b/assets/ldtk_v1_5_3.ldtk
new file mode 100644
index 0000000..557ef53
--- /dev/null
+++ b/assets/ldtk_v1_5_3.ldtk
@@ -0,0 +1,437 @@
+{
+	"__header__": {
+		"fileType": "LDtk Project JSON",
+		"app": "LDtk",
+		"doc": "https://ldtk.io/json",
+		"schema": "https://ldtk.io/files/JSON_SCHEMA.json",
+		"appAuthor": "Sebastien 'deepnight' Benard",
+		"appVersion": "1.5.0",
+		"url": "https://ldtk.io"
+	},
+	"iid": "640762f0-e920-11ef-9352-277c8be12142",
+	"jsonVersion": "1.5.0",
+	"appBuildId": 473583,
+	"nextUid": 3,
+	"identifierStyle": "Capitalize",
+	"toc": [],
+	"worldLayout": "Free",
+	"worldGridWidth": 256,
+	"worldGridHeight": 256,
+	"defaultLevelWidth": 256,
+	"defaultLevelHeight": 256,
+	"defaultPivotX": 0,
+	"defaultPivotY": 0,
+	"defaultGridSize": 16,
+	"defaultEntityWidth": 16,
+	"defaultEntityHeight": 16,
+	"bgColor": "#40465B",
+	"defaultLevelBgColor": "#696A79",
+	"minifyJson": false,
+	"externalLevels": false,
+	"exportTiled": false,
+	"simplifiedExport": false,
+	"imageExportMode": "None",
+	"exportLevelBg": true,
+	"pngFilePattern": null,
+	"backupOnSave": false,
+	"backupLimit": 10,
+	"backupRelPath": null,
+	"levelNamePattern": "Level_%idx",
+	"tutorialDesc": null,
+	"customCommands": [],
+	"flags": [],
+	"defs": { "layers": [
+		{
+			"__type": "Tiles",
+			"identifier": "Tiles",
+			"type": "Tiles",
+			"uid": 1,
+			"doc": null,
+			"uiColor": null,
+			"gridSize": 16,
+			"guideGridWid": 0,
+			"guideGridHei": 0,
+			"displayOpacity": 1,
+			"inactiveOpacity": 1,
+			"hideInList": false,
+			"hideFieldsWhenInactive": false,
+			"canSelectWhenInactive": true,
+			"renderInWorldView": true,
+			"pxOffsetX": 0,
+			"pxOffsetY": 0,
+			"parallaxFactorX": 0,
+			"parallaxFactorY": 0,
+			"parallaxScaling": true,
+			"requiredTags": [],
+			"excludedTags": [],
+			"autoTilesKilledByOtherLayerUid": null,
+			"uiFilterTags": [],
+			"useAsyncRender": false,
+			"intGridValues": [],
+			"intGridValuesGroups": [],
+			"autoRuleGroups": [],
+			"autoSourceLayerDefUid": null,
+			"tilesetDefUid": 2,
+			"tilePivotX": 0,
+			"tilePivotY": 0,
+			"biomeFieldUid": null
+		}
+	], "entities": [], "tilesets": [
+		{
+			"__cWid": 32,
+			"__cHei": 64,
+			"identifier": "Internal_Icons",
+			"uid": 2,
+			"relPath": null,
+			"embedAtlas": "LdtkIcons",
+			"pxWid": 512,
+			"pxHei": 1024,
+			"tileGridSize": 16,
+			"spacing": 0,
+			"padding": 0,
+			"tags": [],
+			"tagsSourceEnumUid": null,
+			"enumTags": [],
+			"customData": [],
+			"savedSelections": [],
+			"cachedPixelData": {
+				"opaqueTiles": "00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+				"averageColors": "00004b344233459b423349a959a9379c688769758ca4bc9489aab9aa58cc58bc42d74d2244ce428f4c7e4ff74abb45564ffe7dda7888a899889900000000000069a969a97a99999999989a85998699767a7579667ccc7ccc7bcb7caa7ccc7ccc22d72d2224ce228f2c7e2ff72abb25562ffeba444955ab55974300000000000059764b97599868ac679a69ab4a84477756787688475347532a932a934a837a83f2b6fb22f3acf15afa6cfdc6f899f334fccca778a7440000000000000000000059aa49aa59996999699969aa489949995999799a499949992999299948997889a385a823a379a248a749aa85a667a223a8880000000000000000000000000000189919991999199939994778166727772889289948993aaa389949a959a959a932b63b2233ad315a395c3ec6389933343ccc00000000000000000000000000008aaa8aaa8aaa8aaa8aaa7bbb8aaa7bbb8bcb7aaa8bcb7bcb69aa8aaa8aaa69aa6abb6abb6abb6abb6a226a226a226a2261a661a661a661a600000000000000006c526c426c926c91659b649c66a566a46a7b6a7b667766776aba6abb676367636da46da46da46da4616c616c616c616c8abb8abb8abb8abb00000000000000006ba5579a6689598658875cb66abb9aa989aa98ac7abc6678968a88877c87cba952755823536952475648598454455223599900000000000000000000000000003ec63da76db79dc7554885498969b4377fa29e8289cdb9ce5ade5ade49ce49ce82a68a22839b8259885b8cb5855683238aab00000000000000000000000000005d745d867da87e75448c458b86ad76ae68ac679c779b78ce3c9378867ca6adb784858933847a844788498b94854584348989000000000000000000000000000057a668b899b8449396534493858364836853697769436667755667776c73498862b66b22639c615a695c6dc5655663346bbc00000000000000000000000000006bba79b87d9679ad776a7b988abc8abc4aceaace4bba4bba6b8c4c9c4cac5b7c62a66a22639c6159695b6db5655663236abb000000000000000000000000000059aaada7a9bdcdbd59aaada7a9bdcdbd8cb8a9b98ac889b8aabaacc79ea498bd82b68b2283ad815a8a5c8ec5856783348ccc000000000000000000000000000057ac596b55946abb5abb8ca65d8677ac437b5a3368886934547a595897a57b2372957923738a7258784a7c9474557323799a0000000000000000000000000000799a5c817b9b3a886abb8464676a7a967a857a857977898889882a954a956b9562d76d2264ce628f6c7e6ff76abb65566ffe0000000000000000000000000000499977997868799579875a6465995a8957a66a735ba53a935969479a576a467732d73d2234ce328f3c7e3ff73abb35563ffe00000000000000000000000000005744985596659b747a659a76768a7a567675477738873566597698779445946572d77d2274ce728f7c7e7ff77abb75567ffe000000000000000000000000000088668a66868a9b8577666a4467846987778a7789797a87888b8676667a767ca562d76d2264ce628f6c7e6ff76abb65566ffe0000000000000000000000000000449374934c957c9574847a438475a3958695768565956853b9447a777493a493000000000000000000000000000000000000000000000000000000000000000079547a838394689a49547a6357636975786383848997b384655873748974588400000000000000000000000000000000000000000000000000000000000000007da48ca769768b554b976cba3a824a82696259526a758c986963694268478b850000000000000000000000000000000000000000000000000000000000000000696559555579557458598674573353635677575579667a8758538b848a44838b0000000000000000000000000000000000000000000000000000000000000000385437883b95534549555a855877997598772b953b9529a939a95aa84b949a840000000000000000000000000000000000000000000000000000000000000000897687898776878578998485878b789a847b8b6579998a55886998788a879b9700000000000000000000000000000000000000000000000000000000000000006ba97988897469646b987a876a997a987b987955766777765c958a858777867700000000000000000000000000000000000000000000000000000000000000005a747b947b967866a855788928884566578879a98864a579233433343334633400000000000000000000000000000000000000000000000000000000000000006a747b846a844997598669987bb8b8aabaa96ba67cba9854687669864a864b86000000000000000000000000000000000000000000000000000000000000000038ab389b48ab47ac49ab48ac579b48ac49ab38ab58bc4b8659aa5c8457ac586a0000000000000000000000000000000000000000000000000000000000000000299b2999389a379b38893955589a79bc8c9588bc7a8c599a689a5b8558ac597a00000000000000000000000000000000000000000000000000000000000000002888378936773975579b389a579b488938884b74469a465747785b75568b586a000000000000000000000000000000000000000000000000000000000000000038553865285428444755566455763a64356746743779397445674c63469b585a0000000000000000000000000000000000000000000000000000000000000000284437643a7629641555297938874879385438664665355536775a85569a785a00000000000000000000000000000000000000000000000000000000000000005789789b779b6a75668a897b64558555876576798855845694749b74a68a986a000000000000000000000000000000000000000000000000000000000000000047776766678867667799798698768866976685673755387638763b74358b387a00000000000000000000000000000000000000000000000000000000000000005777686569874944498846774677685568646987677778775a456a65ab66ca550000000000000000000000000000000000000000000000000000000000000000355656666656455546455345634558655854aa749854775577737b64777a7a7900000000000000000000000000000000000000000000000000000000000000005955895598546c758c75ba76b88797749b75a98967888789978857888788a78800000000000000000000000000000000000000000000000000000000000000006977897799776a748a749a747987ba97aa998ba8a78bab75a87ab89cbb74b97b000000000000000000000000000000000000000000000000000000000000000059645788598858546a7569996a767a766887649c767476797a54766977667976000000000000000000000000000000000000000000000000000000000000000078887a75796577777a869976987799865777667787668a53857a885a98659546000000000000000000000000000000000000000000000000000000000000000087559877a96586779788b9769866888899877576777879647759a8659888a7440000000000000000000000000000000000000000000000000000000000000000785477887a55747b7585795b7999a9667456878889aa58997888797b56776855000000000000000000000000000000000000000000000000000000000000000048545854617b644557448744537b85565899899a39994a7a58998999a5558988000000000000000000000000000000000000000000000000000000000000000089659744a6559555a55698889486a57aab43a96b9556a665a854a579a744a5550000000000000000000000000000000000000000000000000000000000000000596587556677777777778578876687778974867787668876988897779876a744000000000000000000000000000000000000000000000000000000000000000067536556875448225922415851595456654587459456947b48997a86764585560000000000000000000000000000000000000000000000000000000000000000a854a89989998556a7559766a7779976a975997596749a64968a9779a55595450000000000000000000000000000000000000000000000000000000000000000674487549854885594558445a777a7778373579b5a32675584456975958b9944000000000000000000000000000000000000000000000000000000000000000077449754b674b469b964b658a766a864a777a975a566a754a677a875b777b9650000000000000000000000000000000000000000000000000000000000000000775577547445755676558744697377637766785334556566577859755877887600000000000000000000000000000000000000000000000000000000000000002789287328772a7436793a9457795a84368a3334323364555a757b856aaa9a5500000000000000000000000000000000000000000000000000000000000000005888516b5a3349a95964797778987a5375696a536668796577887a847a74797500000000000000000000000000000000000000000000000000000000000000007b537a53767b6769748775767a9a7988759c768a7b957a847775776478647854000000000000000000000000000000000000000000000000000000000000000098999788988998889b879a869a869a86696565676965667767446854677877880000000000000000000000000000000000000000000000000000000000000000678a77997ba647887a7589999ca59ba889aa9999655667bd6ba979a967bc6c7300000000000000000000000000000000000000000000000000000000000000006aaa6556518566775965485438985888576546854ca547775999699989997a9900000000000000000000000000000000000000000000000000000000000000006678526466335644769c5a7888547a785c4454a658885c946285627b6c54674a000000000000000000000000000000000000000000000000000000000000000033843b33359c337c395c3b853899355653745a33558b536b585b5a7557885445000000000000000000000000000000000000000000000000000000000000000026551566274525664a85486546564656377756664655465545454656516a656700000000000000000000000000000000000000000000000000000000000000004964696468553a86485437443645896588548856895477446a7569547a757954000000000000000000000000000000000000000000000000000000000000000036678566399988993b968b955ba658995566588859645a986ca7796477887ca6000000000000000000000000000000000000000000000000000000000000000019562a554c665c55156a256a468c557b1a8429744a845a83196b285a496b595b00000000000000000000000000000000000000000000000000000000000000001486248645a7549615782578469a5689187629764a875a861a692a694b7a5b79000000000000000000000000000000000000000000000000000000000000000017772777489858881555255546665556199528854884588411122112411251120000000000000000000000000000000000000000000000000000000000000000"
+			}
+		}
+	], "enums": [], "externalEnums": [], "levelFields": [] },
+	"levels": [
+		{
+			"identifier": "Level_0",
+			"iid": "64078a01-e920-11ef-9352-2f527206dec4",
+			"uid": 0,
+			"worldX": 0,
+			"worldY": 0,
+			"worldDepth": 0,
+			"pxWid": 256,
+			"pxHei": 256,
+			"__bgColor": "#696A79",
+			"bgColor": null,
+			"useAutoIdentifier": true,
+			"bgRelPath": null,
+			"bgPos": null,
+			"bgPivotX": 0.5,
+			"bgPivotY": 0.5,
+			"__smartColor": "#ADADB5",
+			"__bgPos": null,
+			"externalRelPath": null,
+			"fieldInstances": [],
+			"layerInstances": [
+				{
+					"__identifier": "Tiles",
+					"__type": "Tiles",
+					"__cWid": 16,
+					"__cHei": 16,
+					"__gridSize": 16,
+					"__opacity": 1,
+					"__pxTotalOffsetX": 0,
+					"__pxTotalOffsetY": 0,
+					"__tilesetDefUid": 2,
+					"__tilesetRelPath": null,
+					"iid": "66e99b50-e920-11ef-9352-6f568ec90dc9",
+					"levelId": 0,
+					"layerDefUid": 1,
+					"pxOffsetX": 0,
+					"pxOffsetY": 0,
+					"visible": true,
+					"optionalRules": [],
+					"intGridCsv": [],
+					"autoLayerTiles": [],
+					"seed": 5976421,
+					"overrideTilesetUid": null,
+					"gridTiles": [
+						{ "px": [0,0], "src": [288,0], "f": 0, "t": 18, "d": [0], "a": 1 },
+						{ "px": [16,0], "src": [288,0], "f": 0, "t": 18, "d": [1], "a": 1 },
+						{ "px": [32,0], "src": [288,0], "f": 0, "t": 18, "d": [2], "a": 1 },
+						{ "px": [48,0], "src": [288,0], "f": 0, "t": 18, "d": [3], "a": 1 },
+						{ "px": [64,0], "src": [288,0], "f": 0, "t": 18, "d": [4], "a": 1 },
+						{ "px": [80,0], "src": [288,0], "f": 0, "t": 18, "d": [5], "a": 1 },
+						{ "px": [96,0], "src": [288,0], "f": 0, "t": 18, "d": [6], "a": 1 },
+						{ "px": [112,0], "src": [288,0], "f": 0, "t": 18, "d": [7], "a": 1 },
+						{ "px": [128,0], "src": [288,0], "f": 0, "t": 18, "d": [8], "a": 1 },
+						{ "px": [144,0], "src": [288,0], "f": 0, "t": 18, "d": [9], "a": 1 },
+						{ "px": [160,0], "src": [288,0], "f": 0, "t": 18, "d": [10], "a": 1 },
+						{ "px": [176,0], "src": [288,0], "f": 0, "t": 18, "d": [11], "a": 1 },
+						{ "px": [192,0], "src": [288,0], "f": 0, "t": 18, "d": [12], "a": 1 },
+						{ "px": [208,0], "src": [288,0], "f": 0, "t": 18, "d": [13], "a": 1 },
+						{ "px": [224,0], "src": [288,0], "f": 0, "t": 18, "d": [14], "a": 1 },
+						{ "px": [240,0], "src": [288,0], "f": 0, "t": 18, "d": [15], "a": 1 },
+						{ "px": [0,16], "src": [288,0], "f": 0, "t": 18, "d": [16], "a": 1 },
+						{ "px": [16,16], "src": [288,0], "f": 0, "t": 18, "d": [17], "a": 1 },
+						{ "px": [32,16], "src": [288,0], "f": 0, "t": 18, "d": [18], "a": 1 },
+						{ "px": [48,16], "src": [288,0], "f": 0, "t": 18, "d": [19], "a": 1 },
+						{ "px": [64,16], "src": [288,0], "f": 0, "t": 18, "d": [20], "a": 1 },
+						{ "px": [80,16], "src": [288,0], "f": 0, "t": 18, "d": [21], "a": 1 },
+						{ "px": [96,16], "src": [288,0], "f": 0, "t": 18, "d": [22], "a": 1 },
+						{ "px": [112,16], "src": [288,0], "f": 0, "t": 18, "d": [23], "a": 1 },
+						{ "px": [128,16], "src": [288,0], "f": 0, "t": 18, "d": [24], "a": 1 },
+						{ "px": [144,16], "src": [288,0], "f": 0, "t": 18, "d": [25], "a": 1 },
+						{ "px": [160,16], "src": [288,0], "f": 0, "t": 18, "d": [26], "a": 1 },
+						{ "px": [176,16], "src": [288,0], "f": 0, "t": 18, "d": [27], "a": 1 },
+						{ "px": [192,16], "src": [288,0], "f": 0, "t": 18, "d": [28], "a": 1 },
+						{ "px": [208,16], "src": [288,0], "f": 0, "t": 18, "d": [29], "a": 1 },
+						{ "px": [224,16], "src": [288,0], "f": 0, "t": 18, "d": [30], "a": 1 },
+						{ "px": [240,16], "src": [288,0], "f": 0, "t": 18, "d": [31], "a": 1 },
+						{ "px": [0,32], "src": [288,0], "f": 0, "t": 18, "d": [32], "a": 1 },
+						{ "px": [16,32], "src": [288,0], "f": 0, "t": 18, "d": [33], "a": 1 },
+						{ "px": [32,32], "src": [288,0], "f": 0, "t": 18, "d": [34], "a": 1 },
+						{ "px": [48,32], "src": [288,0], "f": 0, "t": 18, "d": [35], "a": 1 },
+						{ "px": [64,32], "src": [288,0], "f": 0, "t": 18, "d": [36], "a": 1 },
+						{ "px": [80,32], "src": [288,0], "f": 0, "t": 18, "d": [37], "a": 1 },
+						{ "px": [96,32], "src": [288,0], "f": 0, "t": 18, "d": [38], "a": 1 },
+						{ "px": [112,32], "src": [288,0], "f": 0, "t": 18, "d": [39], "a": 1 },
+						{ "px": [128,32], "src": [288,0], "f": 0, "t": 18, "d": [40], "a": 1 },
+						{ "px": [144,32], "src": [288,0], "f": 0, "t": 18, "d": [41], "a": 1 },
+						{ "px": [160,32], "src": [288,0], "f": 0, "t": 18, "d": [42], "a": 1 },
+						{ "px": [176,32], "src": [288,0], "f": 0, "t": 18, "d": [43], "a": 1 },
+						{ "px": [192,32], "src": [288,0], "f": 0, "t": 18, "d": [44], "a": 1 },
+						{ "px": [208,32], "src": [288,0], "f": 0, "t": 18, "d": [45], "a": 1 },
+						{ "px": [224,32], "src": [288,0], "f": 0, "t": 18, "d": [46], "a": 1 },
+						{ "px": [240,32], "src": [288,0], "f": 0, "t": 18, "d": [47], "a": 1 },
+						{ "px": [0,48], "src": [288,0], "f": 0, "t": 18, "d": [48], "a": 1 },
+						{ "px": [16,48], "src": [288,0], "f": 0, "t": 18, "d": [49], "a": 1 },
+						{ "px": [32,48], "src": [288,0], "f": 0, "t": 18, "d": [50], "a": 1 },
+						{ "px": [48,48], "src": [288,0], "f": 0, "t": 18, "d": [51], "a": 1 },
+						{ "px": [64,48], "src": [288,0], "f": 0, "t": 18, "d": [52], "a": 1 },
+						{ "px": [64,48], "src": [368,0], "f": 0, "t": 23, "d": [52], "a": 1 },
+						{ "px": [80,48], "src": [288,0], "f": 0, "t": 18, "d": [53], "a": 1 },
+						{ "px": [96,48], "src": [288,0], "f": 0, "t": 18, "d": [54], "a": 1 },
+						{ "px": [112,48], "src": [288,0], "f": 0, "t": 18, "d": [55], "a": 1 },
+						{ "px": [128,48], "src": [288,0], "f": 0, "t": 18, "d": [56], "a": 1 },
+						{ "px": [144,48], "src": [288,0], "f": 0, "t": 18, "d": [57], "a": 1 },
+						{ "px": [160,48], "src": [288,0], "f": 0, "t": 18, "d": [58], "a": 1 },
+						{ "px": [176,48], "src": [288,0], "f": 0, "t": 18, "d": [59], "a": 1 },
+						{ "px": [176,48], "src": [368,0], "f": 0, "t": 23, "d": [59], "a": 1 },
+						{ "px": [192,48], "src": [288,0], "f": 0, "t": 18, "d": [60], "a": 1 },
+						{ "px": [208,48], "src": [288,0], "f": 0, "t": 18, "d": [61], "a": 1 },
+						{ "px": [224,48], "src": [288,0], "f": 0, "t": 18, "d": [62], "a": 1 },
+						{ "px": [240,48], "src": [288,0], "f": 0, "t": 18, "d": [63], "a": 1 },
+						{ "px": [0,64], "src": [288,0], "f": 0, "t": 18, "d": [64], "a": 1 },
+						{ "px": [16,64], "src": [288,0], "f": 0, "t": 18, "d": [65], "a": 1 },
+						{ "px": [32,64], "src": [288,0], "f": 0, "t": 18, "d": [66], "a": 1 },
+						{ "px": [48,64], "src": [288,0], "f": 0, "t": 18, "d": [67], "a": 1 },
+						{ "px": [64,64], "src": [288,0], "f": 0, "t": 18, "d": [68], "a": 1 },
+						{ "px": [64,64], "src": [368,0], "f": 0, "t": 23, "d": [68], "a": 1 },
+						{ "px": [80,64], "src": [288,0], "f": 0, "t": 18, "d": [69], "a": 1 },
+						{ "px": [96,64], "src": [288,0], "f": 0, "t": 18, "d": [70], "a": 1 },
+						{ "px": [112,64], "src": [288,0], "f": 0, "t": 18, "d": [71], "a": 1 },
+						{ "px": [128,64], "src": [288,0], "f": 0, "t": 18, "d": [72], "a": 1 },
+						{ "px": [144,64], "src": [288,0], "f": 0, "t": 18, "d": [73], "a": 1 },
+						{ "px": [160,64], "src": [288,0], "f": 0, "t": 18, "d": [74], "a": 1 },
+						{ "px": [176,64], "src": [288,0], "f": 0, "t": 18, "d": [75], "a": 1 },
+						{ "px": [176,64], "src": [368,0], "f": 0, "t": 23, "d": [75], "a": 1 },
+						{ "px": [192,64], "src": [288,0], "f": 0, "t": 18, "d": [76], "a": 1 },
+						{ "px": [208,64], "src": [288,0], "f": 0, "t": 18, "d": [77], "a": 1 },
+						{ "px": [224,64], "src": [288,0], "f": 0, "t": 18, "d": [78], "a": 1 },
+						{ "px": [240,64], "src": [288,0], "f": 0, "t": 18, "d": [79], "a": 1 },
+						{ "px": [0,80], "src": [288,0], "f": 0, "t": 18, "d": [80], "a": 1 },
+						{ "px": [16,80], "src": [288,0], "f": 0, "t": 18, "d": [81], "a": 1 },
+						{ "px": [32,80], "src": [288,0], "f": 0, "t": 18, "d": [82], "a": 1 },
+						{ "px": [48,80], "src": [288,0], "f": 0, "t": 18, "d": [83], "a": 1 },
+						{ "px": [64,80], "src": [288,0], "f": 0, "t": 18, "d": [84], "a": 1 },
+						{ "px": [64,80], "src": [368,0], "f": 0, "t": 23, "d": [84], "a": 1 },
+						{ "px": [80,80], "src": [288,0], "f": 0, "t": 18, "d": [85], "a": 1 },
+						{ "px": [96,80], "src": [288,0], "f": 0, "t": 18, "d": [86], "a": 1 },
+						{ "px": [112,80], "src": [288,0], "f": 0, "t": 18, "d": [87], "a": 1 },
+						{ "px": [128,80], "src": [288,0], "f": 0, "t": 18, "d": [88], "a": 1 },
+						{ "px": [144,80], "src": [288,0], "f": 0, "t": 18, "d": [89], "a": 1 },
+						{ "px": [160,80], "src": [288,0], "f": 0, "t": 18, "d": [90], "a": 1 },
+						{ "px": [176,80], "src": [288,0], "f": 0, "t": 18, "d": [91], "a": 1 },
+						{ "px": [176,80], "src": [368,0], "f": 0, "t": 23, "d": [91], "a": 1 },
+						{ "px": [192,80], "src": [288,0], "f": 0, "t": 18, "d": [92], "a": 1 },
+						{ "px": [208,80], "src": [288,0], "f": 0, "t": 18, "d": [93], "a": 1 },
+						{ "px": [224,80], "src": [288,0], "f": 0, "t": 18, "d": [94], "a": 1 },
+						{ "px": [240,80], "src": [288,0], "f": 0, "t": 18, "d": [95], "a": 1 },
+						{ "px": [0,96], "src": [288,0], "f": 0, "t": 18, "d": [96], "a": 1 },
+						{ "px": [16,96], "src": [288,0], "f": 0, "t": 18, "d": [97], "a": 1 },
+						{ "px": [32,96], "src": [288,0], "f": 0, "t": 18, "d": [98], "a": 1 },
+						{ "px": [48,96], "src": [288,0], "f": 0, "t": 18, "d": [99], "a": 1 },
+						{ "px": [64,96], "src": [288,0], "f": 0, "t": 18, "d": [100], "a": 1 },
+						{ "px": [64,96], "src": [368,0], "f": 0, "t": 23, "d": [100], "a": 1 },
+						{ "px": [80,96], "src": [288,0], "f": 0, "t": 18, "d": [101], "a": 1 },
+						{ "px": [96,96], "src": [288,0], "f": 0, "t": 18, "d": [102], "a": 1 },
+						{ "px": [112,96], "src": [288,0], "f": 0, "t": 18, "d": [103], "a": 1 },
+						{ "px": [128,96], "src": [288,0], "f": 0, "t": 18, "d": [104], "a": 1 },
+						{ "px": [144,96], "src": [288,0], "f": 0, "t": 18, "d": [105], "a": 1 },
+						{ "px": [160,96], "src": [288,0], "f": 0, "t": 18, "d": [106], "a": 1 },
+						{ "px": [176,96], "src": [288,0], "f": 0, "t": 18, "d": [107], "a": 1 },
+						{ "px": [176,96], "src": [368,0], "f": 0, "t": 23, "d": [107], "a": 1 },
+						{ "px": [192,96], "src": [288,0], "f": 0, "t": 18, "d": [108], "a": 1 },
+						{ "px": [208,96], "src": [288,0], "f": 0, "t": 18, "d": [109], "a": 1 },
+						{ "px": [224,96], "src": [288,0], "f": 0, "t": 18, "d": [110], "a": 1 },
+						{ "px": [240,96], "src": [288,0], "f": 0, "t": 18, "d": [111], "a": 1 },
+						{ "px": [0,112], "src": [288,0], "f": 0, "t": 18, "d": [112], "a": 1 },
+						{ "px": [16,112], "src": [288,0], "f": 0, "t": 18, "d": [113], "a": 1 },
+						{ "px": [32,112], "src": [288,0], "f": 0, "t": 18, "d": [114], "a": 1 },
+						{ "px": [48,112], "src": [288,0], "f": 0, "t": 18, "d": [115], "a": 1 },
+						{ "px": [64,112], "src": [288,0], "f": 0, "t": 18, "d": [116], "a": 1 },
+						{ "px": [80,112], "src": [288,0], "f": 0, "t": 18, "d": [117], "a": 1 },
+						{ "px": [96,112], "src": [288,0], "f": 0, "t": 18, "d": [118], "a": 1 },
+						{ "px": [112,112], "src": [288,0], "f": 0, "t": 18, "d": [119], "a": 1 },
+						{ "px": [128,112], "src": [288,0], "f": 0, "t": 18, "d": [120], "a": 1 },
+						{ "px": [144,112], "src": [288,0], "f": 0, "t": 18, "d": [121], "a": 1 },
+						{ "px": [160,112], "src": [288,0], "f": 0, "t": 18, "d": [122], "a": 1 },
+						{ "px": [176,112], "src": [288,0], "f": 0, "t": 18, "d": [123], "a": 1 },
+						{ "px": [192,112], "src": [288,0], "f": 0, "t": 18, "d": [124], "a": 1 },
+						{ "px": [208,112], "src": [288,0], "f": 0, "t": 18, "d": [125], "a": 1 },
+						{ "px": [224,112], "src": [288,0], "f": 0, "t": 18, "d": [126], "a": 1 },
+						{ "px": [240,112], "src": [288,0], "f": 0, "t": 18, "d": [127], "a": 1 },
+						{ "px": [0,128], "src": [288,0], "f": 0, "t": 18, "d": [128], "a": 1 },
+						{ "px": [16,128], "src": [288,0], "f": 0, "t": 18, "d": [129], "a": 1 },
+						{ "px": [32,128], "src": [288,0], "f": 0, "t": 18, "d": [130], "a": 1 },
+						{ "px": [48,128], "src": [288,0], "f": 0, "t": 18, "d": [131], "a": 1 },
+						{ "px": [64,128], "src": [288,0], "f": 0, "t": 18, "d": [132], "a": 1 },
+						{ "px": [80,128], "src": [288,0], "f": 0, "t": 18, "d": [133], "a": 1 },
+						{ "px": [96,128], "src": [288,0], "f": 0, "t": 18, "d": [134], "a": 1 },
+						{ "px": [112,128], "src": [288,0], "f": 0, "t": 18, "d": [135], "a": 1 },
+						{ "px": [128,128], "src": [288,0], "f": 0, "t": 18, "d": [136], "a": 1 },
+						{ "px": [144,128], "src": [288,0], "f": 0, "t": 18, "d": [137], "a": 1 },
+						{ "px": [160,128], "src": [288,0], "f": 0, "t": 18, "d": [138], "a": 1 },
+						{ "px": [176,128], "src": [288,0], "f": 0, "t": 18, "d": [139], "a": 1 },
+						{ "px": [192,128], "src": [288,0], "f": 0, "t": 18, "d": [140], "a": 1 },
+						{ "px": [208,128], "src": [288,0], "f": 0, "t": 18, "d": [141], "a": 1 },
+						{ "px": [224,128], "src": [288,0], "f": 0, "t": 18, "d": [142], "a": 1 },
+						{ "px": [240,128], "src": [288,0], "f": 0, "t": 18, "d": [143], "a": 1 },
+						{ "px": [0,144], "src": [288,0], "f": 0, "t": 18, "d": [144], "a": 1 },
+						{ "px": [16,144], "src": [288,0], "f": 0, "t": 18, "d": [145], "a": 1 },
+						{ "px": [32,144], "src": [288,0], "f": 0, "t": 18, "d": [146], "a": 1 },
+						{ "px": [32,144], "src": [368,0], "f": 0, "t": 23, "d": [146], "a": 1 },
+						{ "px": [48,144], "src": [288,0], "f": 0, "t": 18, "d": [147], "a": 1 },
+						{ "px": [64,144], "src": [288,0], "f": 0, "t": 18, "d": [148], "a": 1 },
+						{ "px": [80,144], "src": [288,0], "f": 0, "t": 18, "d": [149], "a": 1 },
+						{ "px": [96,144], "src": [288,0], "f": 0, "t": 18, "d": [150], "a": 1 },
+						{ "px": [112,144], "src": [288,0], "f": 0, "t": 18, "d": [151], "a": 1 },
+						{ "px": [128,144], "src": [288,0], "f": 0, "t": 18, "d": [152], "a": 1 },
+						{ "px": [144,144], "src": [288,0], "f": 0, "t": 18, "d": [153], "a": 1 },
+						{ "px": [160,144], "src": [288,0], "f": 0, "t": 18, "d": [154], "a": 1 },
+						{ "px": [176,144], "src": [288,0], "f": 0, "t": 18, "d": [155], "a": 1 },
+						{ "px": [192,144], "src": [288,0], "f": 0, "t": 18, "d": [156], "a": 1 },
+						{ "px": [208,144], "src": [288,0], "f": 0, "t": 18, "d": [157], "a": 1 },
+						{ "px": [208,144], "src": [368,0], "f": 0, "t": 23, "d": [157], "a": 1 },
+						{ "px": [224,144], "src": [288,0], "f": 0, "t": 18, "d": [158], "a": 1 },
+						{ "px": [240,144], "src": [288,0], "f": 0, "t": 18, "d": [159], "a": 1 },
+						{ "px": [0,160], "src": [288,0], "f": 0, "t": 18, "d": [160], "a": 1 },
+						{ "px": [16,160], "src": [288,0], "f": 0, "t": 18, "d": [161], "a": 1 },
+						{ "px": [32,160], "src": [288,0], "f": 0, "t": 18, "d": [162], "a": 1 },
+						{ "px": [32,160], "src": [368,0], "f": 0, "t": 23, "d": [162], "a": 1 },
+						{ "px": [48,160], "src": [288,0], "f": 0, "t": 18, "d": [163], "a": 1 },
+						{ "px": [64,160], "src": [288,0], "f": 0, "t": 18, "d": [164], "a": 1 },
+						{ "px": [80,160], "src": [288,0], "f": 0, "t": 18, "d": [165], "a": 1 },
+						{ "px": [96,160], "src": [288,0], "f": 0, "t": 18, "d": [166], "a": 1 },
+						{ "px": [112,160], "src": [288,0], "f": 0, "t": 18, "d": [167], "a": 1 },
+						{ "px": [128,160], "src": [288,0], "f": 0, "t": 18, "d": [168], "a": 1 },
+						{ "px": [144,160], "src": [288,0], "f": 0, "t": 18, "d": [169], "a": 1 },
+						{ "px": [160,160], "src": [288,0], "f": 0, "t": 18, "d": [170], "a": 1 },
+						{ "px": [176,160], "src": [288,0], "f": 0, "t": 18, "d": [171], "a": 1 },
+						{ "px": [192,160], "src": [288,0], "f": 0, "t": 18, "d": [172], "a": 1 },
+						{ "px": [208,160], "src": [288,0], "f": 0, "t": 18, "d": [173], "a": 1 },
+						{ "px": [208,160], "src": [368,0], "f": 0, "t": 23, "d": [173], "a": 1 },
+						{ "px": [224,160], "src": [288,0], "f": 0, "t": 18, "d": [174], "a": 1 },
+						{ "px": [240,160], "src": [288,0], "f": 0, "t": 18, "d": [175], "a": 1 },
+						{ "px": [0,176], "src": [288,0], "f": 0, "t": 18, "d": [176], "a": 1 },
+						{ "px": [16,176], "src": [288,0], "f": 0, "t": 18, "d": [177], "a": 1 },
+						{ "px": [32,176], "src": [288,0], "f": 0, "t": 18, "d": [178], "a": 1 },
+						{ "px": [32,176], "src": [368,0], "f": 0, "t": 23, "d": [178], "a": 1 },
+						{ "px": [48,176], "src": [288,0], "f": 0, "t": 18, "d": [179], "a": 1 },
+						{ "px": [64,176], "src": [288,0], "f": 0, "t": 18, "d": [180], "a": 1 },
+						{ "px": [80,176], "src": [288,0], "f": 0, "t": 18, "d": [181], "a": 1 },
+						{ "px": [96,176], "src": [288,0], "f": 0, "t": 18, "d": [182], "a": 1 },
+						{ "px": [112,176], "src": [288,0], "f": 0, "t": 18, "d": [183], "a": 1 },
+						{ "px": [128,176], "src": [288,0], "f": 0, "t": 18, "d": [184], "a": 1 },
+						{ "px": [144,176], "src": [288,0], "f": 0, "t": 18, "d": [185], "a": 1 },
+						{ "px": [160,176], "src": [288,0], "f": 0, "t": 18, "d": [186], "a": 1 },
+						{ "px": [176,176], "src": [288,0], "f": 0, "t": 18, "d": [187], "a": 1 },
+						{ "px": [192,176], "src": [288,0], "f": 0, "t": 18, "d": [188], "a": 1 },
+						{ "px": [208,176], "src": [288,0], "f": 0, "t": 18, "d": [189], "a": 1 },
+						{ "px": [208,176], "src": [368,0], "f": 0, "t": 23, "d": [189], "a": 1 },
+						{ "px": [224,176], "src": [288,0], "f": 0, "t": 18, "d": [190], "a": 1 },
+						{ "px": [240,176], "src": [288,0], "f": 0, "t": 18, "d": [191], "a": 1 },
+						{ "px": [0,192], "src": [288,0], "f": 0, "t": 18, "d": [192], "a": 1 },
+						{ "px": [16,192], "src": [288,0], "f": 0, "t": 18, "d": [193], "a": 1 },
+						{ "px": [32,192], "src": [288,0], "f": 0, "t": 18, "d": [194], "a": 1 },
+						{ "px": [48,192], "src": [288,0], "f": 0, "t": 18, "d": [195], "a": 1 },
+						{ "px": [48,192], "src": [368,0], "f": 0, "t": 23, "d": [195], "a": 1 },
+						{ "px": [64,192], "src": [288,0], "f": 0, "t": 18, "d": [196], "a": 1 },
+						{ "px": [80,192], "src": [288,0], "f": 0, "t": 18, "d": [197], "a": 1 },
+						{ "px": [96,192], "src": [288,0], "f": 0, "t": 18, "d": [198], "a": 1 },
+						{ "px": [112,192], "src": [288,0], "f": 0, "t": 18, "d": [199], "a": 1 },
+						{ "px": [128,192], "src": [288,0], "f": 0, "t": 18, "d": [200], "a": 1 },
+						{ "px": [144,192], "src": [288,0], "f": 0, "t": 18, "d": [201], "a": 1 },
+						{ "px": [160,192], "src": [288,0], "f": 0, "t": 18, "d": [202], "a": 1 },
+						{ "px": [176,192], "src": [288,0], "f": 0, "t": 18, "d": [203], "a": 1 },
+						{ "px": [192,192], "src": [288,0], "f": 0, "t": 18, "d": [204], "a": 1 },
+						{ "px": [192,192], "src": [368,0], "f": 0, "t": 23, "d": [204], "a": 1 },
+						{ "px": [208,192], "src": [288,0], "f": 0, "t": 18, "d": [205], "a": 1 },
+						{ "px": [224,192], "src": [288,0], "f": 0, "t": 18, "d": [206], "a": 1 },
+						{ "px": [240,192], "src": [288,0], "f": 0, "t": 18, "d": [207], "a": 1 },
+						{ "px": [0,208], "src": [288,0], "f": 0, "t": 18, "d": [208], "a": 1 },
+						{ "px": [16,208], "src": [288,0], "f": 0, "t": 18, "d": [209], "a": 1 },
+						{ "px": [32,208], "src": [288,0], "f": 0, "t": 18, "d": [210], "a": 1 },
+						{ "px": [48,208], "src": [288,0], "f": 0, "t": 18, "d": [211], "a": 1 },
+						{ "px": [64,208], "src": [288,0], "f": 0, "t": 18, "d": [212], "a": 1 },
+						{ "px": [64,208], "src": [368,0], "f": 0, "t": 23, "d": [212], "a": 1 },
+						{ "px": [80,208], "src": [288,0], "f": 0, "t": 18, "d": [213], "a": 1 },
+						{ "px": [80,208], "src": [368,0], "f": 0, "t": 23, "d": [213], "a": 1 },
+						{ "px": [96,208], "src": [288,0], "f": 0, "t": 18, "d": [214], "a": 1 },
+						{ "px": [96,208], "src": [368,0], "f": 0, "t": 23, "d": [214], "a": 1 },
+						{ "px": [112,208], "src": [288,0], "f": 0, "t": 18, "d": [215], "a": 1 },
+						{ "px": [112,208], "src": [368,0], "f": 0, "t": 23, "d": [215], "a": 1 },
+						{ "px": [128,208], "src": [288,0], "f": 0, "t": 18, "d": [216], "a": 1 },
+						{ "px": [128,208], "src": [368,0], "f": 0, "t": 23, "d": [216], "a": 1 },
+						{ "px": [144,208], "src": [288,0], "f": 0, "t": 18, "d": [217], "a": 1 },
+						{ "px": [144,208], "src": [368,0], "f": 0, "t": 23, "d": [217], "a": 1 },
+						{ "px": [160,208], "src": [288,0], "f": 0, "t": 18, "d": [218], "a": 1 },
+						{ "px": [160,208], "src": [368,0], "f": 0, "t": 23, "d": [218], "a": 1 },
+						{ "px": [176,208], "src": [288,0], "f": 0, "t": 18, "d": [219], "a": 1 },
+						{ "px": [176,208], "src": [368,0], "f": 0, "t": 23, "d": [219], "a": 1 },
+						{ "px": [192,208], "src": [288,0], "f": 0, "t": 18, "d": [220], "a": 1 },
+						{ "px": [208,208], "src": [288,0], "f": 0, "t": 18, "d": [221], "a": 1 },
+						{ "px": [224,208], "src": [288,0], "f": 0, "t": 18, "d": [222], "a": 1 },
+						{ "px": [240,208], "src": [288,0], "f": 0, "t": 18, "d": [223], "a": 1 },
+						{ "px": [0,224], "src": [288,0], "f": 0, "t": 18, "d": [224], "a": 1 },
+						{ "px": [16,224], "src": [288,0], "f": 0, "t": 18, "d": [225], "a": 1 },
+						{ "px": [32,224], "src": [288,0], "f": 0, "t": 18, "d": [226], "a": 1 },
+						{ "px": [48,224], "src": [288,0], "f": 0, "t": 18, "d": [227], "a": 1 },
+						{ "px": [64,224], "src": [288,0], "f": 0, "t": 18, "d": [228], "a": 1 },
+						{ "px": [80,224], "src": [288,0], "f": 0, "t": 18, "d": [229], "a": 1 },
+						{ "px": [96,224], "src": [288,0], "f": 0, "t": 18, "d": [230], "a": 1 },
+						{ "px": [112,224], "src": [288,0], "f": 0, "t": 18, "d": [231], "a": 1 },
+						{ "px": [128,224], "src": [288,0], "f": 0, "t": 18, "d": [232], "a": 1 },
+						{ "px": [144,224], "src": [288,0], "f": 0, "t": 18, "d": [233], "a": 1 },
+						{ "px": [160,224], "src": [288,0], "f": 0, "t": 18, "d": [234], "a": 1 },
+						{ "px": [176,224], "src": [288,0], "f": 0, "t": 18, "d": [235], "a": 1 },
+						{ "px": [192,224], "src": [288,0], "f": 0, "t": 18, "d": [236], "a": 1 },
+						{ "px": [208,224], "src": [288,0], "f": 0, "t": 18, "d": [237], "a": 1 },
+						{ "px": [224,224], "src": [288,0], "f": 0, "t": 18, "d": [238], "a": 1 },
+						{ "px": [240,224], "src": [288,0], "f": 0, "t": 18, "d": [239], "a": 1 },
+						{ "px": [0,240], "src": [288,0], "f": 0, "t": 18, "d": [240], "a": 1 },
+						{ "px": [16,240], "src": [288,0], "f": 0, "t": 18, "d": [241], "a": 1 },
+						{ "px": [32,240], "src": [288,0], "f": 0, "t": 18, "d": [242], "a": 1 },
+						{ "px": [48,240], "src": [288,0], "f": 0, "t": 18, "d": [243], "a": 1 },
+						{ "px": [64,240], "src": [288,0], "f": 0, "t": 18, "d": [244], "a": 1 },
+						{ "px": [80,240], "src": [288,0], "f": 0, "t": 18, "d": [245], "a": 1 },
+						{ "px": [96,240], "src": [288,0], "f": 0, "t": 18, "d": [246], "a": 1 },
+						{ "px": [112,240], "src": [288,0], "f": 0, "t": 18, "d": [247], "a": 1 },
+						{ "px": [128,240], "src": [288,0], "f": 0, "t": 18, "d": [248], "a": 1 },
+						{ "px": [144,240], "src": [288,0], "f": 0, "t": 18, "d": [249], "a": 1 },
+						{ "px": [160,240], "src": [288,0], "f": 0, "t": 18, "d": [250], "a": 1 },
+						{ "px": [176,240], "src": [288,0], "f": 0, "t": 18, "d": [251], "a": 1 },
+						{ "px": [192,240], "src": [288,0], "f": 0, "t": 18, "d": [252], "a": 1 },
+						{ "px": [208,240], "src": [288,0], "f": 0, "t": 18, "d": [253], "a": 1 },
+						{ "px": [224,240], "src": [288,0], "f": 0, "t": 18, "d": [254], "a": 1 },
+						{ "px": [240,240], "src": [288,0], "f": 0, "t": 18, "d": [255], "a": 1 }
+					],
+					"entityInstances": []
+				}
+			],
+			"__neighbours": []
+		}
+	],
+	"worlds": [],
+	"dummyWorldIid": "64078a00-e920-11ef-9352-0f74986b94cd"
+}
\ No newline at end of file
diff --git a/rustfmt.toml b/rustfmt.toml
index ddac46a..2b6f66e 100644
--- a/rustfmt.toml
+++ b/rustfmt.toml
@@ -1,4 +1,3 @@
 hard_tabs = true
-group_imports = "StdExternalCrate"
 use_field_init_shorthand = true
 use_try_shorthand = true
\ No newline at end of file
diff --git a/src/ldtk/data_1_0_0.rs b/src/ldtk/data_1_0_0.rs
index 94c21cd..f669b64 100644
--- a/src/ldtk/data_1_0_0.rs
+++ b/src/ldtk/data_1_0_0.rs
@@ -809,7 +809,7 @@ pub struct TilesetDefinition {
 
 	/// Path to the source file, relative to the current project JSON file
 	#[serde(rename = "relPath")]
-	pub rel_path: String,
+	pub rel_path: Option<String>,
 
 	/// Array of group of tiles selections, only meant to be used in the editor
 	#[serde(rename = "savedSelections")]
diff --git a/src/ldtk/data_1_1_0.rs b/src/ldtk/data_1_1_0.rs
index 81c04b1..cc54bf3 100644
--- a/src/ldtk/data_1_1_0.rs
+++ b/src/ldtk/data_1_1_0.rs
@@ -814,7 +814,7 @@ pub struct TilesetDefinition {
 
 	/// Path to the source file, relative to the current project JSON file
 	#[serde(rename = "relPath")]
-	pub rel_path: String,
+	pub rel_path: Option<String>,
 
 	/// Array of group of tiles selections, only meant to be used in the editor
 	#[serde(rename = "savedSelections")]
diff --git a/src/ldtk/mod.rs b/src/ldtk/mod.rs
index c303cb8..d0f757e 100644
--- a/src/ldtk/mod.rs
+++ b/src/ldtk/mod.rs
@@ -88,9 +88,7 @@ impl_from_bytes!(Project);
 mod _bevy_impl {
 	use super::*;
 	use bevy::asset::io::Reader;
-	use bevy::asset::{
-		AssetLoader, AsyncReadExt, LoadContext, UntypedAssetId, VisitAssetDependencies,
-	};
+	use bevy::asset::{AssetLoader, LoadContext, UntypedAssetId, VisitAssetDependencies};
 	use bevy::prelude::{Asset, Handle};
 	use bevy::reflect::TypePath;
 
@@ -166,7 +164,7 @@ mod _bevy_impl {
 			}
 
 			load_context.add_labeled_asset(
-				format!("{}ExternalLevels", project.iid),
+				"ExternalLevels".into(),
 				LevelSet(level_set),
 			);
 
@@ -248,7 +246,7 @@ pub type LdtkProject = Project;
 #[cfg(feature = "autotile")]
 mod autotile_support {
 	use micro_autotile::{AutoRuleSet, AutoTileRule, TileMatcher, TileOutput, TileStatus};
-
+	use num_traits::AsPrimitive;
 	use crate::ldtk::{AutoLayerRuleDefinition, AutoLayerRuleGroup, Project};
 
 	#[cfg(feature = "_optional_tile_list")]
@@ -264,7 +262,7 @@ mod autotile_support {
 
 	#[cfg(not(feature = "_optional_tile_list"))]
 	fn create_output(rule: &AutoLayerRuleDefinition) -> TileOutput {
-		TileOutput::Random(rule.tile_ids.iter().map(|val| *val as usize).collect())
+		TileOutput::Random(rule.tile_ids.iter().map(|val| (*val).as_()).collect())
 	}
 
 	impl From<&AutoLayerRuleGroup> for AutoRuleSet {
diff --git a/src/lib.rs b/src/lib.rs
index 82d7392..5afb1b2 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,3 +1,4 @@
+#![allow(static_mut_refs)]
 #[cfg(all(feature = "_supports_ldtk", feature = "bevy"))]
 mod assets;
 #[cfg(feature = "bevy")]
@@ -65,9 +66,7 @@ mod __plugin {
 
 	impl<CameraFilter: QueryFilter + Send + Sync + 'static> MicroLDTKCameraPlugin<CameraFilter> {
 		pub fn new() -> Self {
-			Self {
-				_p: PhantomData,
-			}
+			Self { _p: PhantomData }
 		}
 	}
 	impl<CameraFilter: QueryFilter + Send + Sync + 'static> Default
diff --git a/src/system/types.rs b/src/system/types.rs
index 0cb96c3..0e8bd95 100644
--- a/src/system/types.rs
+++ b/src/system/types.rs
@@ -734,9 +734,9 @@ impl From<&Level> for WorldData {
 #[derive(Serialize, Deserialize, Clone, Debug)]
 pub struct LayerSet(pub Vec<WorldLayer>);
 
-trait AsWorldLayer {
-	fn as_world_layer(&self, depth: usize) -> WorldLayer;
-}
+// trait AsWorldLayer {
+// 	fn as_world_layer(&self, depth: usize) -> WorldLayer;
+// }
 
 // impl<T, V> From<V> for LayerSet
 // where
diff --git a/test.sh b/test.sh
new file mode 100644
index 0000000..ffb97bb
--- /dev/null
+++ b/test.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Fail the script if any line has an error return code
+set -e
+
+export RUSTFLAGS=-Awarnings
+
+cargo test --test indexer
+
+cargo test --no-default-features -F bevy,ldtk_1_0_0 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_1_0 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_1_1 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_2_0 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_2_1 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_2_2 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_2_3 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_2_4 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_2_5 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_3_0 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_4_0 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_4_1 --test bevy
+cargo test --no-default-features -F bevy,ldtk_1_5_3 --test bevy
diff --git a/tests/bevy.rs b/tests/bevy.rs
new file mode 100644
index 0000000..08dc0d9
--- /dev/null
+++ b/tests/bevy.rs
@@ -0,0 +1,64 @@
+use bevy::asset::LoadState;
+use bevy::ecs::system::RunSystemOnce;
+use bevy::prelude::*;
+use bevy::render::RenderPlugin;
+use bevy::render::settings::{RenderCreation, WgpuSettings};
+use micro_ldtk::ldtk::Project;
+
+#[derive(Default, Resource)]
+pub struct LevelHandle(Handle<Project>);
+
+macro_rules! test_loads_assets {
+    ($file_name: literal = $cfg_version: literal) => {
+        #[test]
+        #[cfg(all(feature = "bevy", feature = $cfg_version))]
+        fn loads_ldtk_file() {
+            static ASSET_PATH: &str = $file_name;
+
+            let mut app = App::new();
+            app.init_resource::<LevelHandle>()
+                .add_plugins((
+                    MinimalPlugins,
+                     AssetPlugin::default(),
+                ));
+
+            app.add_plugins(micro_ldtk::MicroLDTKPlugin);
+            app.update();
+
+            app.world_mut().run_system_once(|assets: Res<AssetServer>, mut handle: ResMut<LevelHandle>| {
+                *handle = LevelHandle(assets.load(ASSET_PATH))
+            }).expect("Failed to load LDTK file");
+            app.update();
+
+            let mut status: LoadState = app.world_mut().run_system_once(|assets: Res<AssetServer>, handle: Res<LevelHandle>| {
+                assets.get_load_state(handle.0.id()).expect("Unable to get load state")
+            }).expect("Failed to get load state");
+
+            while matches!(status, LoadState::Loading) {
+                status = app.world_mut().run_system_once(|assets: Res<AssetServer>, handle: Res<LevelHandle>| {
+                    assets.get_load_state(handle.0.id()).expect("Unable to get load state")
+                }).expect("Failed to get load state");
+            }
+
+            if !status.is_loaded() {
+                panic!("Failed to load LDTK file: {:?}", status);
+            }
+        }
+    };
+}
+
+
+test_loads_assets!("ldtk_v1_0_0.ldtk" = "ldtk_1_0_0");
+test_loads_assets!("ldtk_v1_1_0.ldtk" = "ldtk_1_1_0");
+test_loads_assets!("ldtk_v1_1_1.ldtk" = "ldtk_1_1_1");
+test_loads_assets!("ldtk_v1_1_2.ldtk" = "ldtk_1_1_2");
+test_loads_assets!("ldtk_v1_2_0.ldtk" = "ldtk_1_2_0");
+test_loads_assets!("ldtk_v1_2_1.ldtk" = "ldtk_1_2_1");
+test_loads_assets!("ldtk_v1_2_2.ldtk" = "ldtk_1_2_2");
+test_loads_assets!("ldtk_v1_2_3.ldtk" = "ldtk_1_2_3");
+test_loads_assets!("ldtk_v1_2_4.ldtk" = "ldtk_1_2_4");
+test_loads_assets!("ldtk_v1_2_5.ldtk" = "ldtk_1_2_5");
+test_loads_assets!("ldtk_v1_3_0.ldtk" = "ldtk_1_3_0");
+test_loads_assets!("ldtk_v1_4_0.ldtk" = "ldtk_1_4_0");
+test_loads_assets!("ldtk_v1_4_1.ldtk" = "ldtk_1_4_1");
+test_loads_assets!("ldtk_v1_5_3.ldtk" = "ldtk_1_5_3");
\ No newline at end of file
-- 
GitLab