From 56dd566af88690c214d257b2bf6c76af3e0a71e9 Mon Sep 17 00:00:00 2001 From: RobertoMaurizzi Date: Tue, 8 Jul 2025 17:30:32 +0800 Subject: [PATCH 1/8] change y again, add StateScoped to level and player, optimize level sel. --- src/demo/level.rs | 14 ++++++++++++-- src/demo/player.rs | 19 +++++++++++++------ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/demo/level.rs b/src/demo/level.rs index 0ca5670..0a37418 100644 --- a/src/demo/level.rs +++ b/src/demo/level.rs @@ -88,12 +88,15 @@ fn pan_camera( } fn translate_grid_coords_entities( - mut grid_coords_entities: Query<(&mut Transform, &GridCoords), Changed>, + mut grid_coords_entities: Query< + (&mut Transform, &GridCoords), + (With, Changed), + >, pan: Res, ) { // TODO: what is this used for? Why it doesn't work for a moving Player? for (mut transform, grid_coords) in grid_coords_entities.iter_mut() { - // info!("translated pan offset: {}", pan.offset); + info!("Changed GridCoords: {grid_coords:?}"); transform.translation = (bevy_ecs_ldtk::utils::grid_coords_to_translation( *grid_coords, IVec2::splat(GRID_SIZE), @@ -117,6 +120,7 @@ pub enum Direction { E, S, W, + // we ignore the diagonals NE SE NW SW } impl TryFrom<&str> for Direction { @@ -218,6 +222,7 @@ pub fn spawn_level( commands.spawn(( Name::new("Ldtk level"), + StateScoped(Screen::Gameplay), LdtkWorldBundle { ldtk_handle: level_assets.world.clone(), transform: Transform::from_xyz(-half_size.x, half_size.y, 0.0), @@ -374,6 +379,11 @@ fn level_selection_follow_player( }; if level_bounds.contains(player_transform.translation().truncate()) { + if *level_selection == LevelSelection::Iid(level_iid.clone()) { + // Player is already in the current level, no need to change + return Ok(()); + } + info!("Setting current level to {level_iid}"); *level_selection = LevelSelection::Iid(level_iid.clone()); } } diff --git a/src/demo/player.rs b/src/demo/player.rs index d306340..92bff45 100644 --- a/src/demo/player.rs +++ b/src/demo/player.rs @@ -10,9 +10,10 @@ use crate::{ AppSystems, PausableSystems, asset_tracking::LoadResource, demo::{ - animation::PlayerAnimation, - movement::{MovementController, ScreenWrap}, + // animation::PlayerAnimation, + movement::MovementController, }, + screens::Screen, }; pub(super) fn plugin(app: &mut App) { @@ -89,12 +90,15 @@ fn record_player_directional_input( ) { // Collect directional input. let mut intent = Vec2::ZERO; - // TODO: check axes for gridcoords! + // TODO: example ldkt has down -1 and up +1... but here the opposite happens?! + // additionally: why the heck the Player is offsetted by 25 y? + // why the player is displayed at its set location but then is teleported the first time I + // update its GridCoords? if input.just_pressed(KeyCode::KeyW) || input.pressed(KeyCode::ArrowUp) { - intent.y -= 1.0; + intent.y += 1.0; } if input.just_pressed(KeyCode::KeyS) || input.pressed(KeyCode::ArrowDown) { - intent.y += 1.0; + intent.y -= 1.0; } if input.just_pressed(KeyCode::KeyA) || input.pressed(KeyCode::ArrowLeft) { intent.x -= 1.0; @@ -144,7 +148,7 @@ impl FromWorld for PlayerAssets { } fn process_player( - mut _commands: Commands, + mut commands: Commands, new_players: Query<(Entity, &GridCoords), Added>, ) { for (player_entity, player_coords) in new_players.iter() { @@ -152,5 +156,8 @@ fn process_player( "Spawned new player: {:?} at {:?}", player_entity, player_coords ); + commands + .entity(player_entity) + .insert(StateScoped(Screen::Gameplay)); } } From e4521e2e0c4eefe6f957fa70f8439f863bc66d14 Mon Sep 17 00:00:00 2001 From: RobertoMaurizzi Date: Thu, 17 Jul 2025 16:50:22 +0800 Subject: [PATCH 2/8] update levels positions to work around offset bug --- assets/levels/world.ldtk | 1120 ++++++++++++++++++++++++++++++++++---- 1 file changed, 1015 insertions(+), 105 deletions(-) diff --git a/assets/levels/world.ldtk b/assets/levels/world.ldtk index 8ae6fe3..39d6274 100644 --- a/assets/levels/world.ldtk +++ b/assets/levels/world.ldtk @@ -11,7 +11,7 @@ "iid": "a3386460-7820-11ed-b6fd-157a63b4d02d", "jsonVersion": "1.5.3", "appBuildId": 473703, - "nextUid": 173, + "nextUid": 174, "identifierStyle": "Capitalize", "toc": [{ "identifier": "Player", @@ -26,7 +26,7 @@ "levelIid": "d53f9950-c640-11ed-8430-4942c04951ff", "layerIid": "d53f9951-c640-11ed-8430-3f3f71a3daf1", "entityIid": "1982b890-3740-11f0-881a-73ffe6c3eecc" - }, "worldX": 280, "worldY": 408, "widPx": 16, "heiPx": 16, "fields" : {} }] + }, "worldX": 232, "worldY": -104, "widPx": 16, "heiPx": 16, "fields" : {} }] }], "worldLayout": "GridVania", "worldGridWidth": 256, @@ -1403,7 +1403,7 @@ "iid": "d53f9950-c640-11ed-8430-4942c04951ff", "uid": 109, "worldX": 0, - "worldY": 256, + "worldY": -256, "worldDepth": 0, "pxWid": 512, "pxHei": 256, @@ -1457,7 +1457,7 @@ "px": [160,112], "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], "__worldX": 160, - "__worldY": 368 + "__worldY": -144 }, { "__identifier": "Door", @@ -1473,7 +1473,7 @@ "px": [288,112], "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], "__worldX": 288, - "__worldY": 368 + "__worldY": -144 }, { "__identifier": "Door", @@ -1492,7 +1492,7 @@ "params": ["KeyA"] }] }], "__worldX": 112, - "__worldY": 400 + "__worldY": -112 }, { "__identifier": "Item", @@ -1511,7 +1511,7 @@ "params": ["KeyA"] }] }], "__worldX": 296, - "__worldY": 312 + "__worldY": -200 }, { "__identifier": "Item", @@ -1530,7 +1530,7 @@ "params": ["Health"] }] }], "__worldX": 56, - "__worldY": 328 + "__worldY": -184 }, { "__identifier": "Button", @@ -1554,7 +1554,7 @@ "params": ["8d4360c0-c640-11ed-8430-abb21cbec6c0"] }] }], "__worldX": 184, - "__worldY": 296 + "__worldY": -216 }, { "__identifier": "Door", @@ -1570,11 +1570,11 @@ "px": [128,64], "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], "__worldX": 128, - "__worldY": 320 + "__worldY": -192 }, { "__identifier": "Player", - "__grid": [17,9], + "__grid": [14,9], "__pivot": [0.5,0.5], "__tags": ["actor"], "__tile": { "tilesetUid": 171, "x": 195, "y": 130, "w": 64, "h": 64 }, @@ -1583,13 +1583,13 @@ "width": 16, "height": 16, "defUid": 59, - "px": [280,152], + "px": [232,152], "fieldInstances": [ { "__identifier": "life", "__type": "Int", "__value": 100, "__tile": null, "defUid": 61, "realEditorValues": [] }, { "__identifier": "ammo", "__type": "Int", "__value": 10, "__tile": null, "defUid": 60, "realEditorValues": [] } ], - "__worldX": 280, - "__worldY": 408 + "__worldX": 232, + "__worldY": -104 } ] }, @@ -2608,6 +2608,23 @@ { "px": [224,96], "src": [16,80], "f": 0, "t": 56, "d": [206], "a": 1 }, { "px": [160,112], "src": [16,80], "f": 0, "t": 56, "d": [234], "a": 1 }, { "px": [176,112], "src": [16,80], "f": 0, "t": 56, "d": [235], "a": 1 }, + { "px": [352,112], "src": [112,64], "f": 0, "t": 51, "d": [246], "a": 1 }, + { "px": [336,128], "src": [96,64], "f": 0, "t": 50, "d": [277], "a": 1 }, + { "px": [352,128], "src": [32,64], "f": 0, "t": 46, "d": [278], "a": 1 }, + { "px": [368,128], "src": [112,64], "f": 0, "t": 51, "d": [279], "a": 1 }, + { "px": [384,128], "src": [16,64], "f": 0, "t": 45, "d": [280], "a": 1 }, + { "px": [400,128], "src": [0,64], "f": 0, "t": 44, "d": [281], "a": 1 }, + { "px": [416,128], "src": [16,64], "f": 0, "t": 45, "d": [282], "a": 1 }, + { "px": [432,128], "src": [32,64], "f": 0, "t": 46, "d": [283], "a": 1 }, + { "px": [320,144], "src": [96,64], "f": 0, "t": 50, "d": [308], "a": 1 }, + { "px": [384,160], "src": [32,64], "f": 0, "t": 46, "d": [344], "a": 1 }, + { "px": [400,160], "src": [112,64], "f": 0, "t": 51, "d": [345], "a": 1 }, + { "px": [336,176], "src": [64,64], "f": 0, "t": 48, "d": [373], "a": 1 }, + { "px": [352,176], "src": [64,64], "f": 0, "t": 48, "d": [374], "a": 1 }, + { "px": [368,176], "src": [16,64], "f": 0, "t": 45, "d": [375], "a": 1 }, + { "px": [384,176], "src": [0,64], "f": 0, "t": 44, "d": [376], "a": 1 }, + { "px": [368,192], "src": [48,64], "f": 0, "t": 47, "d": [407], "a": 1 }, + { "px": [384,192], "src": [48,64], "f": 0, "t": 47, "d": [408], "a": 1 }, { "px": [0,208], "src": [80,48], "f": 0, "t": 38, "d": [416], "a": 1 }, { "px": [16,208], "src": [64,48], "f": 0, "t": 37, "d": [417], "a": 1 }, { "px": [32,208], "src": [80,48], "f": 0, "t": 38, "d": [418], "a": 1 }, @@ -2632,7 +2649,7 @@ { "px": [336,208], "src": [16,48], "f": 0, "t": 34, "d": [437], "a": 1 }, { "px": [352,208], "src": [64,48], "f": 0, "t": 37, "d": [438], "a": 1 }, { "px": [368,208], "src": [80,48], "f": 0, "t": 38, "d": [439], "a": 1 }, - { "px": [384,208], "src": [0,48], "f": 0, "t": 33, "d": [440], "a": 1 }, + { "px": [384,208], "src": [16,64], "f": 0, "t": 45, "d": [440], "a": 1 }, { "px": [400,208], "src": [32,48], "f": 0, "t": 35, "d": [441], "a": 1 }, { "px": [416,208], "src": [0,48], "f": 0, "t": 33, "d": [442], "a": 1 }, { "px": [432,208], "src": [16,48], "f": 0, "t": 34, "d": [443], "a": 1 }, @@ -2950,14 +2967,14 @@ "entityInstances": [] } ], - "__neighbours": [ { "levelIid": "5b1771e0-c640-11ed-8430-9b64f8cc95ad", "dir": "w" }, { "levelIid": "e06b8660-c640-11ed-8430-7b6fcb3e9e6b", "dir": "e" }, { "levelIid": "6819b330-3740-11f0-8612-85d65c9acf56", "dir": "sw" } ] + "__neighbours": [ { "levelIid": "5b1771e0-c640-11ed-8430-9b64f8cc95ad", "dir": "w" }, { "levelIid": "e06b8660-c640-11ed-8430-7b6fcb3e9e6b", "dir": "e" }, { "levelIid": "d89f31b0-5e50-11f0-8497-ef9223ee1fda", "dir": "ne" }, { "levelIid": "6819b330-3740-11f0-8612-85d65c9acf56", "dir": "sw" } ] }, { "identifier": "World_Level_1", "iid": "5b1771e0-c640-11ed-8430-9b64f8cc95ad", "uid": 145, "worldX": -256, - "worldY": 256, + "worldY": -256, "worldDepth": 0, "pxWid": 256, "pxHei": 256, @@ -3011,7 +3028,7 @@ "px": [160,96], "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], "__worldX": -96, - "__worldY": 352 + "__worldY": -160 }, { "__identifier": "Item", @@ -3030,7 +3047,7 @@ "params": ["Wood"] }] }], "__worldX": -168, - "__worldY": 344 + "__worldY": -168 }, { "__identifier": "Item", @@ -3049,7 +3066,7 @@ "params": ["Wood"] }] }], "__worldX": -120, - "__worldY": 360 + "__worldY": -152 }, { "__identifier": "Item", @@ -3068,7 +3085,7 @@ "params": ["Wood"] }] }], "__worldX": -184, - "__worldY": 392 + "__worldY": -120 }, { "__identifier": "Item", @@ -3087,7 +3104,7 @@ "params": ["Gold"] }] }], "__worldX": -56, - "__worldY": 456 + "__worldY": -56 }, { "__identifier": "SecretWall", @@ -3103,7 +3120,7 @@ "px": [128,192], "fieldInstances": [], "__worldX": -128, - "__worldY": 448 + "__worldY": -64 }, { "__identifier": "Button", @@ -3127,7 +3144,7 @@ "params": ["778bba10-c640-11ed-8430-45e05816c898"] }] }], "__worldX": -168, - "__worldY": 424 + "__worldY": -88 }, { "__identifier": "Item", @@ -3146,7 +3163,7 @@ "params": ["KeyB"] }] }], "__worldX": -152, - "__worldY": 296 + "__worldY": -216 } ] }, @@ -4043,7 +4060,7 @@ "iid": "e06b8660-c640-11ed-8430-7b6fcb3e9e6b", "uid": 147, "worldX": 512, - "worldY": 256, + "worldY": -256, "worldDepth": 0, "pxWid": 256, "pxHei": 256, @@ -4075,7 +4092,7 @@ "layerDefUid": 54, "pxOffsetX": 0, "pxOffsetY": 0, - "visible": false, + "visible": true, "optionalRules": [], "intGridCsv": [], "autoLayerTiles": [], @@ -4100,7 +4117,7 @@ "params": ["KeyB"] }] }], "__worldX": 560, - "__worldY": 384 + "__worldY": -128 }, { "__identifier": "Item", @@ -4119,7 +4136,7 @@ "params": ["Rifle"] }] }], "__worldX": 664, - "__worldY": 344 + "__worldY": -168 }, { "__identifier": "Door", @@ -4135,7 +4152,7 @@ "px": [112,80], "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], "__worldX": 624, - "__worldY": 336 + "__worldY": -176 }, { "__identifier": "Door", @@ -4151,7 +4168,7 @@ "px": [144,128], "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], "__worldX": 656, - "__worldY": 384 + "__worldY": -128 }, { "__identifier": "Button", @@ -4183,7 +4200,7 @@ "params": ["75bbf130-c640-11ed-8430-4908ff1e52c1"] } ] }], "__worldX": 632, - "__worldY": 408 + "__worldY": -104 } ] }, @@ -4203,7 +4220,7 @@ "layerDefUid": 115, "pxOffsetX": 0, "pxOffsetY": 0, - "visible": false, + "visible": true, "optionalRules": [], "intGridCsv": [], "autoLayerTiles": [ @@ -4211,8 +4228,6 @@ { "px": [80,48], "src": [16,32], "f": 0, "t": 23, "d": [127,53], "a": 1 }, { "px": [96,48], "src": [16,32], "f": 0, "t": 23, "d": [127,54], "a": 1 }, { "px": [128,48], "src": [16,32], "f": 0, "t": 23, "d": [127,56], "a": 1 }, - { "px": [144,48], "src": [16,32], "f": 0, "t": 23, "d": [127,57], "a": 1 }, - { "px": [160,48], "src": [16,32], "f": 0, "t": 23, "d": [127,58], "a": 1 }, { "px": [176,48], "src": [16,32], "f": 0, "t": 23, "d": [127,59], "a": 1 }, { "px": [112,64], "src": [16,32], "f": 0, "t": 23, "d": [127,71], "a": 1 }, { "px": [0,112], "src": [16,32], "f": 0, "t": 23, "d": [127,112], "a": 1 }, @@ -4223,6 +4238,12 @@ { "px": [128,128], "src": [16,32], "f": 0, "t": 23, "d": [127,136], "a": 1 }, { "px": [176,128], "src": [16,32], "f": 0, "t": 23, "d": [127,139], "a": 1 }, { "px": [112,144], "src": [16,32], "f": 0, "t": 23, "d": [127,151], "a": 1 }, + { "px": [128,16], "src": [32,16], "f": 1, "t": 13, "d": [121,24], "a": 1 }, + { "px": [176,16], "src": [16,16], "f": 0, "t": 12, "d": [121,27], "a": 1 }, + { "px": [128,32], "src": [16,16], "f": 1, "t": 12, "d": [121,40], "a": 1 }, + { "px": [176,32], "src": [32,16], "f": 0, "t": 13, "d": [121,43], "a": 1 }, + { "px": [128,48], "src": [16,16], "f": 1, "t": 12, "d": [121,56], "a": 1 }, + { "px": [176,48], "src": [32,16], "f": 0, "t": 13, "d": [121,59], "a": 1 }, { "px": [48,64], "src": [0,16], "f": 1, "t": 11, "d": [121,67], "a": 1 }, { "px": [112,64], "src": [32,16], "f": 0, "t": 13, "d": [121,71], "a": 1 }, { "px": [112,64], "src": [0,16], "f": 1, "t": 11, "d": [121,71], "a": 1 }, @@ -4239,22 +4260,6 @@ { "px": [192,160], "src": [0,16], "f": 0, "t": 11, "d": [121,172], "a": 1 }, { "px": [48,176], "src": [32,16], "f": 1, "t": 13, "d": [121,179], "a": 1 }, { "px": [192,176], "src": [16,16], "f": 0, "t": 12, "d": [121,188], "a": 1 }, - { "px": [0,16], "src": [16,0], "f": 0, "t": 1, "d": [122,16], "a": 1 }, - { "px": [16,16], "src": [16,0], "f": 0, "t": 1, "d": [122,17], "a": 1 }, - { "px": [32,16], "src": [16,0], "f": 0, "t": 1, "d": [122,18], "a": 1 }, - { "px": [48,16], "src": [16,0], "f": 0, "t": 1, "d": [122,19], "a": 1 }, - { "px": [64,16], "src": [16,0], "f": 0, "t": 1, "d": [122,20], "a": 1 }, - { "px": [80,16], "src": [16,0], "f": 0, "t": 1, "d": [122,21], "a": 1 }, - { "px": [96,16], "src": [16,0], "f": 0, "t": 1, "d": [122,22], "a": 1 }, - { "px": [112,16], "src": [16,0], "f": 0, "t": 1, "d": [122,23], "a": 1 }, - { "px": [128,16], "src": [16,0], "f": 0, "t": 1, "d": [122,24], "a": 1 }, - { "px": [144,16], "src": [16,0], "f": 0, "t": 1, "d": [122,25], "a": 1 }, - { "px": [160,16], "src": [16,0], "f": 0, "t": 1, "d": [122,26], "a": 1 }, - { "px": [176,16], "src": [16,0], "f": 0, "t": 1, "d": [122,27], "a": 1 }, - { "px": [192,16], "src": [16,0], "f": 0, "t": 1, "d": [122,28], "a": 1 }, - { "px": [208,16], "src": [16,0], "f": 0, "t": 1, "d": [122,29], "a": 1 }, - { "px": [224,16], "src": [16,0], "f": 0, "t": 1, "d": [122,30], "a": 1 }, - { "px": [240,16], "src": [16,0], "f": 0, "t": 1, "d": [122,31], "a": 1 }, { "px": [112,112], "src": [16,0], "f": 0, "t": 1, "d": [122,119], "a": 1 }, { "px": [96,128], "src": [16,0], "f": 0, "t": 1, "d": [122,134], "a": 1 }, { "px": [128,128], "src": [16,0], "f": 0, "t": 1, "d": [122,136], "a": 1 }, @@ -4314,8 +4319,8 @@ "visible": true, "optionalRules": [], "intGridCsv": [ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0, + 1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0, 0,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0, 0,0,0,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1, 1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1, @@ -4324,6 +4329,14 @@ 1,1,1,1,1,1,1,1,1,1,1 ], "autoLayerTiles": [ + { "px": [144,0], "src": [16,96], "f": 1, "t": 67, "d": [156,9], "a": 1 }, + { "px": [160,0], "src": [16,96], "f": 0, "t": 67, "d": [156,10], "a": 1 }, + { "px": [144,16], "src": [16,96], "f": 1, "t": 67, "d": [156,25], "a": 1 }, + { "px": [160,16], "src": [16,96], "f": 0, "t": 67, "d": [156,26], "a": 1 }, + { "px": [144,32], "src": [16,96], "f": 1, "t": 67, "d": [156,41], "a": 1 }, + { "px": [160,32], "src": [16,96], "f": 0, "t": 67, "d": [156,42], "a": 1 }, + { "px": [144,48], "src": [16,96], "f": 1, "t": 67, "d": [156,57], "a": 1 }, + { "px": [160,48], "src": [16,96], "f": 0, "t": 67, "d": [156,58], "a": 1 }, { "px": [64,64], "src": [16,96], "f": 1, "t": 67, "d": [156,68], "a": 1 }, { "px": [96,64], "src": [16,96], "f": 0, "t": 67, "d": [156,70], "a": 1 }, { "px": [128,64], "src": [16,96], "f": 1, "t": 67, "d": [156,72], "a": 1 }, @@ -4345,8 +4358,6 @@ { "px": [80,64], "src": [0,96], "f": 0, "t": 66, "d": [155,69], "a": 1 }, { "px": [96,64], "src": [0,96], "f": 0, "t": 66, "d": [155,70], "a": 1 }, { "px": [128,64], "src": [0,96], "f": 0, "t": 66, "d": [155,72], "a": 1 }, - { "px": [144,64], "src": [0,96], "f": 0, "t": 66, "d": [155,73], "a": 1 }, - { "px": [160,64], "src": [0,96], "f": 0, "t": 66, "d": [155,74], "a": 1 }, { "px": [176,64], "src": [0,96], "f": 0, "t": 66, "d": [155,75], "a": 1 }, { "px": [112,80], "src": [0,96], "f": 0, "t": 66, "d": [155,87], "a": 1 }, { "px": [0,128], "src": [0,96], "f": 0, "t": 66, "d": [155,128], "a": 1 }, @@ -4357,6 +4368,8 @@ { "px": [128,144], "src": [0,96], "f": 0, "t": 66, "d": [155,152], "a": 1 }, { "px": [176,144], "src": [0,96], "f": 0, "t": 66, "d": [155,155], "a": 1 }, { "px": [112,160], "src": [0,96], "f": 0, "t": 66, "d": [155,167], "a": 1 }, + { "px": [144,64], "src": [32,96], "f": 1, "t": 68, "d": [154,73], "a": 1 }, + { "px": [160,64], "src": [32,96], "f": 0, "t": 68, "d": [154,74], "a": 1 }, { "px": [96,80], "src": [32,96], "f": 0, "t": 68, "d": [154,86], "a": 1 }, { "px": [128,80], "src": [32,96], "f": 1, "t": 68, "d": [154,88], "a": 1 }, { "px": [96,96], "src": [32,96], "f": 2, "t": 68, "d": [154,102], "a": 1 }, @@ -4371,17 +4384,27 @@ { "px": [160,144], "src": [32,96], "f": 0, "t": 68, "d": [154,154], "a": 1 }, { "px": [96,160], "src": [32,96], "f": 0, "t": 68, "d": [154,166], "a": 1 }, { "px": [128,160], "src": [32,96], "f": 1, "t": 68, "d": [154,168], "a": 1 }, + { "px": [0,0], "src": [128,16], "f": 0, "t": 19, "d": [168,0], "a": 1 }, + { "px": [16,0], "src": [128,16], "f": 0, "t": 19, "d": [168,1], "a": 1 }, + { "px": [32,0], "src": [128,16], "f": 0, "t": 19, "d": [168,2], "a": 1 }, + { "px": [48,0], "src": [128,16], "f": 0, "t": 19, "d": [168,3], "a": 1 }, + { "px": [64,0], "src": [128,16], "f": 0, "t": 19, "d": [168,4], "a": 1 }, + { "px": [80,0], "src": [128,16], "f": 0, "t": 19, "d": [168,5], "a": 1 }, + { "px": [96,0], "src": [128,16], "f": 0, "t": 19, "d": [168,6], "a": 1 }, + { "px": [112,0], "src": [128,16], "f": 0, "t": 19, "d": [168,7], "a": 1 }, + { "px": [128,0], "src": [128,16], "f": 0, "t": 19, "d": [168,8], "a": 1 }, + { "px": [176,0], "src": [128,16], "f": 0, "t": 19, "d": [168,11], "a": 1 }, + { "px": [192,0], "src": [128,16], "f": 0, "t": 19, "d": [168,12], "a": 1 }, + { "px": [208,0], "src": [128,16], "f": 0, "t": 19, "d": [168,13], "a": 1 }, + { "px": [224,0], "src": [128,16], "f": 0, "t": 19, "d": [168,14], "a": 1 }, + { "px": [240,0], "src": [128,16], "f": 0, "t": 19, "d": [168,15], "a": 1 }, { "px": [0,16], "src": [128,16], "f": 0, "t": 19, "d": [168,16], "a": 1 }, { "px": [16,16], "src": [128,16], "f": 0, "t": 19, "d": [168,17], "a": 1 }, { "px": [32,16], "src": [128,16], "f": 0, "t": 19, "d": [168,18], "a": 1 }, { "px": [48,16], "src": [128,16], "f": 0, "t": 19, "d": [168,19], "a": 1 }, { "px": [64,16], "src": [128,16], "f": 0, "t": 19, "d": [168,20], "a": 1 }, { "px": [80,16], "src": [128,16], "f": 0, "t": 19, "d": [168,21], "a": 1 }, - { "px": [96,16], "src": [128,16], "f": 0, "t": 19, "d": [168,22], "a": 1 }, - { "px": [112,16], "src": [128,16], "f": 0, "t": 19, "d": [168,23], "a": 1 }, { "px": [128,16], "src": [128,16], "f": 0, "t": 19, "d": [168,24], "a": 1 }, - { "px": [144,16], "src": [128,16], "f": 0, "t": 19, "d": [168,25], "a": 1 }, - { "px": [160,16], "src": [128,16], "f": 0, "t": 19, "d": [168,26], "a": 1 }, { "px": [176,16], "src": [128,16], "f": 0, "t": 19, "d": [168,27], "a": 1 }, { "px": [192,16], "src": [128,16], "f": 0, "t": 19, "d": [168,28], "a": 1 }, { "px": [208,16], "src": [128,16], "f": 0, "t": 19, "d": [168,29], "a": 1 }, @@ -4392,8 +4415,6 @@ { "px": [48,32], "src": [128,16], "f": 0, "t": 19, "d": [168,35], "a": 1 }, { "px": [80,32], "src": [128,16], "f": 0, "t": 19, "d": [168,37], "a": 1 }, { "px": [128,32], "src": [128,16], "f": 0, "t": 19, "d": [168,40], "a": 1 }, - { "px": [144,32], "src": [128,16], "f": 0, "t": 19, "d": [168,41], "a": 1 }, - { "px": [160,32], "src": [128,16], "f": 0, "t": 19, "d": [168,42], "a": 1 }, { "px": [176,32], "src": [128,16], "f": 0, "t": 19, "d": [168,43], "a": 1 }, { "px": [192,32], "src": [128,16], "f": 0, "t": 19, "d": [168,44], "a": 1 }, { "px": [208,32], "src": [128,16], "f": 0, "t": 19, "d": [168,45], "a": 1 }, @@ -4461,6 +4482,8 @@ { "px": [192,240], "src": [128,16], "f": 0, "t": 19, "d": [168,252], "a": 1 }, { "px": [208,240], "src": [128,16], "f": 0, "t": 19, "d": [168,253], "a": 1 }, { "px": [224,240], "src": [128,16], "f": 0, "t": 19, "d": [168,254], "a": 1 }, + { "px": [96,16], "src": [48,32], "f": 0, "t": 25, "d": [167,22], "a": 1 }, + { "px": [112,16], "src": [96,16], "f": 0, "t": 17, "d": [167,23], "a": 1 }, { "px": [16,32], "src": [80,32], "f": 0, "t": 27, "d": [167,33], "a": 1 }, { "px": [64,32], "src": [48,16], "f": 0, "t": 14, "d": [167,36], "a": 1 }, { "px": [96,32], "src": [48,32], "f": 0, "t": 25, "d": [167,38], "a": 1 }, @@ -4530,22 +4553,6 @@ { "px": [144,240], "src": [96,16], "f": 0, "t": 17, "d": [167,249], "a": 1 }, { "px": [160,240], "src": [96,32], "f": 0, "t": 28, "d": [167,250], "a": 1 }, { "px": [240,240], "src": [64,32], "f": 0, "t": 26, "d": [167,255], "a": 1 }, - { "px": [0,0], "src": [144,16], "f": 0, "t": 20, "d": [166,0], "a": 1 }, - { "px": [16,0], "src": [144,16], "f": 0, "t": 20, "d": [166,1], "a": 1 }, - { "px": [32,0], "src": [144,16], "f": 0, "t": 20, "d": [166,2], "a": 1 }, - { "px": [48,0], "src": [144,16], "f": 0, "t": 20, "d": [166,3], "a": 1 }, - { "px": [64,0], "src": [144,16], "f": 0, "t": 20, "d": [166,4], "a": 1 }, - { "px": [80,0], "src": [144,16], "f": 0, "t": 20, "d": [166,5], "a": 1 }, - { "px": [96,0], "src": [144,16], "f": 0, "t": 20, "d": [166,6], "a": 1 }, - { "px": [112,0], "src": [144,16], "f": 0, "t": 20, "d": [166,7], "a": 1 }, - { "px": [128,0], "src": [144,16], "f": 0, "t": 20, "d": [166,8], "a": 1 }, - { "px": [144,0], "src": [144,16], "f": 0, "t": 20, "d": [166,9], "a": 1 }, - { "px": [160,0], "src": [144,16], "f": 0, "t": 20, "d": [166,10], "a": 1 }, - { "px": [176,0], "src": [144,16], "f": 0, "t": 20, "d": [166,11], "a": 1 }, - { "px": [192,0], "src": [144,16], "f": 0, "t": 20, "d": [166,12], "a": 1 }, - { "px": [208,0], "src": [144,16], "f": 0, "t": 20, "d": [166,13], "a": 1 }, - { "px": [224,0], "src": [144,16], "f": 0, "t": 20, "d": [166,14], "a": 1 }, - { "px": [240,0], "src": [144,16], "f": 0, "t": 20, "d": [166,15], "a": 1 }, { "px": [112,96], "src": [144,16], "f": 0, "t": 20, "d": [166,103], "a": 1 }, { "px": [96,112], "src": [144,16], "f": 0, "t": 20, "d": [166,118], "a": 1 }, { "px": [128,112], "src": [144,16], "f": 0, "t": 20, "d": [166,120], "a": 1 }, @@ -4562,6 +4569,14 @@ { "px": [144,176], "src": [144,16], "f": 0, "t": 20, "d": [166,185], "a": 1 }, { "px": [160,176], "src": [144,16], "f": 0, "t": 20, "d": [166,186], "a": 1 }, { "px": [176,176], "src": [144,16], "f": 0, "t": 20, "d": [166,187], "a": 1 }, + { "px": [139,0], "src": [80,96], "f": 0, "t": 71, "d": [159,9], "a": 0.3 }, + { "px": [165,0], "src": [96,96], "f": 1, "t": 72, "d": [159,10], "a": 0.3 }, + { "px": [139,16], "src": [96,96], "f": 0, "t": 72, "d": [159,25], "a": 0.3 }, + { "px": [165,16], "src": [80,96], "f": 1, "t": 71, "d": [159,26], "a": 0.3 }, + { "px": [139,32], "src": [80,96], "f": 0, "t": 71, "d": [159,41], "a": 0.3 }, + { "px": [165,32], "src": [80,96], "f": 1, "t": 71, "d": [159,42], "a": 0.3 }, + { "px": [139,48], "src": [80,96], "f": 0, "t": 71, "d": [159,57], "a": 0.3 }, + { "px": [165,48], "src": [80,96], "f": 1, "t": 71, "d": [159,58], "a": 0.3 }, { "px": [59,64], "src": [80,96], "f": 0, "t": 71, "d": [159,68], "a": 0.3 }, { "px": [101,64], "src": [96,96], "f": 1, "t": 72, "d": [159,70], "a": 0.3 }, { "px": [123,64], "src": [80,96], "f": 0, "t": 71, "d": [159,72], "a": 0.3 }, @@ -4584,6 +4599,10 @@ { "px": [181,160], "src": [96,96], "f": 1, "t": 72, "d": [159,171], "a": 0.3 }, { "px": [59,176], "src": [96,96], "f": 0, "t": 72, "d": [159,180], "a": 0.3 }, { "px": [181,176], "src": [112,96], "f": 1, "t": 73, "d": [159,187], "a": 0.3 }, + { "px": [144,0], "src": [112,96], "f": 0, "t": 73, "d": [152,9], "a": 0.75 }, + { "px": [144,16], "src": [96,96], "f": 0, "t": 72, "d": [152,25], "a": 0.75 }, + { "px": [144,32], "src": [112,96], "f": 0, "t": 73, "d": [152,41], "a": 0.75 }, + { "px": [144,48], "src": [96,96], "f": 0, "t": 72, "d": [152,57], "a": 0.75 }, { "px": [64,64], "src": [96,96], "f": 0, "t": 72, "d": [152,68], "a": 0.75 }, { "px": [128,64], "src": [80,96], "f": 0, "t": 71, "d": [152,72], "a": 0.75 }, { "px": [64,80], "src": [80,96], "f": 0, "t": 71, "d": [152,84], "a": 0.75 }, @@ -4598,8 +4617,6 @@ { "px": [80,48], "src": [80,0], "f": 0, "t": 5, "d": [114,53], "a": 1 }, { "px": [96,48], "src": [80,0], "f": 0, "t": 5, "d": [114,54], "a": 1 }, { "px": [128,48], "src": [80,0], "f": 0, "t": 5, "d": [114,56], "a": 1 }, - { "px": [144,48], "src": [80,0], "f": 0, "t": 5, "d": [114,57], "a": 1 }, - { "px": [160,48], "src": [80,0], "f": 0, "t": 5, "d": [114,58], "a": 1 }, { "px": [176,48], "src": [80,0], "f": 0, "t": 5, "d": [114,59], "a": 1 }, { "px": [112,64], "src": [80,0], "f": 0, "t": 5, "d": [114,71], "a": 1 }, { "px": [0,112], "src": [80,0], "f": 0, "t": 5, "d": [114,112], "a": 1 }, @@ -4610,6 +4627,8 @@ { "px": [128,128], "src": [80,0], "f": 0, "t": 5, "d": [114,136], "a": 1 }, { "px": [176,128], "src": [80,0], "f": 0, "t": 5, "d": [114,139], "a": 1 }, { "px": [112,144], "src": [80,0], "f": 0, "t": 5, "d": [114,151], "a": 1 }, + { "px": [128,48], "src": [112,0], "f": 1, "t": 7, "d": [157,56], "a": 1 }, + { "px": [176,48], "src": [112,0], "f": 0, "t": 7, "d": [157,59], "a": 1 }, { "px": [112,64], "src": [112,0], "f": 0, "t": 7, "d": [157,71], "a": 1 }, { "px": [112,64], "src": [112,0], "f": 1, "t": 7, "d": [157,71], "a": 1 }, { "px": [48,112], "src": [112,0], "f": 1, "t": 7, "d": [157,115], "a": 1 }, @@ -4643,7 +4662,7 @@ "layerDefUid": 150, "pxOffsetX": 0, "pxOffsetY": 0, - "visible": false, + "visible": true, "optionalRules": [], "intGridCsv": [], "autoLayerTiles": [], @@ -4659,8 +4678,8 @@ { "px": [96,0], "src": [0,48], "f": 0, "t": 33, "d": [6], "a": 1 }, { "px": [112,0], "src": [0,48], "f": 0, "t": 33, "d": [7], "a": 1 }, { "px": [128,0], "src": [64,48], "f": 0, "t": 37, "d": [8], "a": 1 }, - { "px": [144,0], "src": [80,48], "f": 0, "t": 38, "d": [9], "a": 1 }, - { "px": [160,0], "src": [32,48], "f": 0, "t": 35, "d": [10], "a": 1 }, + { "px": [144,0], "src": [64,64], "f": 0, "t": 48, "d": [9], "a": 1 }, + { "px": [160,0], "src": [0,64], "f": 0, "t": 44, "d": [10], "a": 1 }, { "px": [176,0], "src": [80,48], "f": 0, "t": 38, "d": [11], "a": 1 }, { "px": [192,0], "src": [0,48], "f": 0, "t": 33, "d": [12], "a": 1 }, { "px": [208,0], "src": [48,48], "f": 0, "t": 36, "d": [13], "a": 1 }, @@ -4673,8 +4692,8 @@ { "px": [96,16], "src": [32,48], "f": 0, "t": 35, "d": [22], "a": 1 }, { "px": [112,16], "src": [0,48], "f": 0, "t": 33, "d": [23], "a": 1 }, { "px": [128,16], "src": [80,48], "f": 0, "t": 38, "d": [24], "a": 1 }, - { "px": [144,16], "src": [80,48], "f": 0, "t": 38, "d": [25], "a": 1 }, - { "px": [160,16], "src": [64,48], "f": 0, "t": 37, "d": [26], "a": 1 }, + { "px": [144,16], "src": [80,64], "f": 0, "t": 49, "d": [25], "a": 1 }, + { "px": [160,16], "src": [64,64], "f": 0, "t": 48, "d": [26], "a": 1 }, { "px": [176,16], "src": [64,48], "f": 0, "t": 37, "d": [27], "a": 1 }, { "px": [192,16], "src": [48,48], "f": 0, "t": 36, "d": [28], "a": 1 }, { "px": [208,16], "src": [16,48], "f": 0, "t": 34, "d": [29], "a": 1 }, @@ -4687,8 +4706,8 @@ { "px": [96,32], "src": [0,48], "f": 0, "t": 33, "d": [38], "a": 1 }, { "px": [112,32], "src": [0,48], "f": 0, "t": 33, "d": [39], "a": 1 }, { "px": [128,32], "src": [48,48], "f": 0, "t": 36, "d": [40], "a": 1 }, - { "px": [144,32], "src": [64,48], "f": 0, "t": 37, "d": [41], "a": 1 }, - { "px": [160,32], "src": [16,48], "f": 0, "t": 34, "d": [42], "a": 1 }, + { "px": [144,32], "src": [32,64], "f": 0, "t": 46, "d": [41], "a": 1 }, + { "px": [160,32], "src": [16,64], "f": 0, "t": 45, "d": [42], "a": 1 }, { "px": [176,32], "src": [0,48], "f": 0, "t": 33, "d": [43], "a": 1 }, { "px": [192,32], "src": [48,48], "f": 0, "t": 36, "d": [44], "a": 1 }, { "px": [208,32], "src": [80,48], "f": 0, "t": 38, "d": [45], "a": 1 }, @@ -4699,8 +4718,8 @@ { "px": [96,48], "src": [0,48], "f": 0, "t": 33, "d": [54], "a": 1 }, { "px": [112,48], "src": [16,48], "f": 0, "t": 34, "d": [55], "a": 1 }, { "px": [128,48], "src": [80,48], "f": 0, "t": 38, "d": [56], "a": 1 }, - { "px": [144,48], "src": [0,48], "f": 0, "t": 33, "d": [57], "a": 1 }, - { "px": [160,48], "src": [16,48], "f": 0, "t": 34, "d": [58], "a": 1 }, + { "px": [144,48], "src": [112,64], "f": 0, "t": 51, "d": [57], "a": 1 }, + { "px": [160,48], "src": [96,64], "f": 0, "t": 50, "d": [58], "a": 1 }, { "px": [176,48], "src": [48,48], "f": 0, "t": 36, "d": [59], "a": 1 }, { "px": [192,48], "src": [48,48], "f": 0, "t": 36, "d": [60], "a": 1 }, { "px": [208,48], "src": [0,48], "f": 0, "t": 33, "d": [61], "a": 1 }, @@ -4873,26 +4892,18 @@ "layerDefUid": 128, "pxOffsetX": 0, "pxOffsetY": 0, - "visible": false, + "visible": true, "optionalRules": [], "intGridCsv": [], "autoLayerTiles": [ - { "px": [0,0], "src": [16,64], "f": 0, "t": 45, "d": [130,0], "a": 1 }, - { "px": [16,0], "src": [64,64], "f": 0, "t": 48, "d": [130,1], "a": 1 }, - { "px": [32,0], "src": [64,64], "f": 0, "t": 48, "d": [130,2], "a": 1 }, - { "px": [48,0], "src": [32,64], "f": 0, "t": 46, "d": [130,3], "a": 1 }, - { "px": [64,0], "src": [112,64], "f": 0, "t": 51, "d": [130,4], "a": 1 }, - { "px": [80,0], "src": [96,64], "f": 0, "t": 50, "d": [130,5], "a": 1 }, - { "px": [96,0], "src": [64,64], "f": 0, "t": 48, "d": [130,6], "a": 1 }, - { "px": [112,0], "src": [48,64], "f": 0, "t": 47, "d": [130,7], "a": 1 }, - { "px": [128,0], "src": [80,64], "f": 0, "t": 49, "d": [130,8], "a": 1 }, { "px": [144,0], "src": [80,64], "f": 0, "t": 49, "d": [130,9], "a": 1 }, { "px": [160,0], "src": [112,64], "f": 0, "t": 51, "d": [130,10], "a": 1 }, - { "px": [176,0], "src": [112,64], "f": 0, "t": 51, "d": [130,11], "a": 1 }, - { "px": [192,0], "src": [16,64], "f": 0, "t": 45, "d": [130,12], "a": 1 }, - { "px": [208,0], "src": [48,64], "f": 0, "t": 47, "d": [130,13], "a": 1 }, - { "px": [224,0], "src": [64,64], "f": 0, "t": 48, "d": [130,14], "a": 1 }, - { "px": [240,0], "src": [80,64], "f": 0, "t": 49, "d": [130,15], "a": 1 }, + { "px": [144,16], "src": [0,64], "f": 0, "t": 44, "d": [130,25], "a": 1 }, + { "px": [160,16], "src": [48,64], "f": 0, "t": 47, "d": [130,26], "a": 1 }, + { "px": [144,32], "src": [96,64], "f": 0, "t": 50, "d": [130,41], "a": 1 }, + { "px": [160,32], "src": [48,64], "f": 0, "t": 47, "d": [130,42], "a": 1 }, + { "px": [144,48], "src": [48,64], "f": 0, "t": 47, "d": [130,57], "a": 1 }, + { "px": [160,48], "src": [48,64], "f": 0, "t": 47, "d": [130,58], "a": 1 }, { "px": [64,64], "src": [64,64], "f": 0, "t": 48, "d": [130,68], "a": 1 }, { "px": [80,64], "src": [0,64], "f": 0, "t": 44, "d": [130,69], "a": 1 }, { "px": [96,64], "src": [32,64], "f": 0, "t": 46, "d": [130,70], "a": 1 }, @@ -4965,14 +4976,913 @@ "entityInstances": [] } ], - "__neighbours": [{ "levelIid": "d53f9950-c640-11ed-8430-4942c04951ff", "dir": "w" }] + "__neighbours": [ { "levelIid": "d53f9950-c640-11ed-8430-4942c04951ff", "dir": "w" }, { "levelIid": "d89f31b0-5e50-11f0-8497-ef9223ee1fda", "dir": "n" } ] }, { "identifier": "World_Level_3", + "iid": "d89f31b0-5e50-11f0-8497-ef9223ee1fda", + "uid": 173, + "worldX": 512, + "worldY": -512, + "worldDepth": 0, + "pxWid": 256, + "pxHei": 256, + "__bgColor": "#404255", + "bgColor": null, + "useAutoIdentifier": true, + "bgRelPath": null, + "bgPos": null, + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#9697A2", + "__bgPos": null, + "externalRelPath": null, + "fieldInstances": [], + "layerInstances": [ + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "d89f58c0-5e50-11f0-8497-a77eea7ca1c9", + "levelId": 173, + "layerDefUid": 54, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 1849743, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Item", + "__grid": [11,4], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 256, "y": 256, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "d89f7fd0-5e50-11f0-8497-69ac302ce66d", + "width": 20, + "height": 20, + "defUid": 63, + "px": [184,72], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Food", "__tile": { "tilesetUid": 172, "x": 256, "y": 256, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["Food"] + }] }], + "__worldX": 696, + "__worldY": -440 + } + ] + }, + { + "__identifier": "Wall_tops", + "__type": "AutoLayer", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": -16, + "__tilesetDefUid": 1, + "__tilesetRelPath": "../tilemaps/TopDown_by_deepnight.png", + "iid": "d89fa6e0-5e50-11f0-8497-09303d02a527", + "levelId": 173, + "layerDefUid": 115, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [ + { "px": [128,32], "src": [16,32], "f": 0, "t": 23, "d": [127,40], "a": 1 }, + { "px": [144,32], "src": [16,32], "f": 0, "t": 23, "d": [127,41], "a": 1 }, + { "px": [160,32], "src": [16,32], "f": 0, "t": 23, "d": [127,42], "a": 1 }, + { "px": [176,32], "src": [16,32], "f": 0, "t": 23, "d": [127,43], "a": 1 }, + { "px": [192,32], "src": [16,32], "f": 0, "t": 23, "d": [127,44], "a": 1 }, + { "px": [208,32], "src": [16,32], "f": 0, "t": 23, "d": [127,45], "a": 1 }, + { "px": [64,48], "src": [16,32], "f": 0, "t": 23, "d": [127,52], "a": 1 }, + { "px": [80,48], "src": [16,32], "f": 0, "t": 23, "d": [127,53], "a": 1 }, + { "px": [96,48], "src": [16,32], "f": 0, "t": 23, "d": [127,54], "a": 1 }, + { "px": [112,64], "src": [16,32], "f": 0, "t": 23, "d": [127,71], "a": 1 }, + { "px": [16,112], "src": [16,32], "f": 0, "t": 23, "d": [127,113], "a": 1 }, + { "px": [32,112], "src": [16,32], "f": 0, "t": 23, "d": [127,114], "a": 1 }, + { "px": [48,112], "src": [16,32], "f": 0, "t": 23, "d": [127,115], "a": 1 }, + { "px": [96,128], "src": [16,32], "f": 0, "t": 23, "d": [127,134], "a": 1 }, + { "px": [128,128], "src": [16,32], "f": 0, "t": 23, "d": [127,136], "a": 1 }, + { "px": [112,144], "src": [16,32], "f": 0, "t": 23, "d": [127,151], "a": 1 }, + { "px": [112,48], "src": [16,16], "f": 1, "t": 12, "d": [121,55], "a": 1 }, + { "px": [224,48], "src": [0,16], "f": 0, "t": 11, "d": [121,62], "a": 1 }, + { "px": [48,64], "src": [0,16], "f": 1, "t": 11, "d": [121,67], "a": 1 }, + { "px": [112,64], "src": [32,16], "f": 0, "t": 13, "d": [121,71], "a": 1 }, + { "px": [112,64], "src": [0,16], "f": 1, "t": 11, "d": [121,71], "a": 1 }, + { "px": [224,64], "src": [32,16], "f": 0, "t": 13, "d": [121,78], "a": 1 }, + { "px": [48,80], "src": [32,16], "f": 1, "t": 13, "d": [121,83], "a": 1 }, + { "px": [224,80], "src": [0,16], "f": 0, "t": 11, "d": [121,94], "a": 1 }, + { "px": [48,96], "src": [32,16], "f": 1, "t": 13, "d": [121,99], "a": 1 }, + { "px": [224,96], "src": [32,16], "f": 0, "t": 13, "d": [121,110], "a": 1 }, + { "px": [48,112], "src": [0,16], "f": 1, "t": 11, "d": [121,115], "a": 1 }, + { "px": [224,112], "src": [32,16], "f": 0, "t": 13, "d": [121,126], "a": 1 }, + { "px": [0,128], "src": [32,16], "f": 1, "t": 13, "d": [121,128], "a": 1 }, + { "px": [0,144], "src": [0,16], "f": 1, "t": 11, "d": [121,144], "a": 1 }, + { "px": [112,144], "src": [16,16], "f": 0, "t": 12, "d": [121,151], "a": 1 }, + { "px": [112,144], "src": [0,16], "f": 1, "t": 11, "d": [121,151], "a": 1 }, + { "px": [192,144], "src": [0,16], "f": 0, "t": 11, "d": [121,156], "a": 1 }, + { "px": [0,160], "src": [16,16], "f": 1, "t": 12, "d": [121,160], "a": 1 }, + { "px": [192,160], "src": [0,16], "f": 0, "t": 11, "d": [121,172], "a": 1 }, + { "px": [192,176], "src": [16,16], "f": 0, "t": 12, "d": [121,188], "a": 1 }, + { "px": [112,208], "src": [0,16], "f": 1, "t": 11, "d": [121,215], "a": 1 }, + { "px": [176,208], "src": [32,16], "f": 0, "t": 13, "d": [121,219], "a": 1 }, + { "px": [112,224], "src": [0,16], "f": 1, "t": 11, "d": [121,231], "a": 1 }, + { "px": [176,224], "src": [32,16], "f": 0, "t": 13, "d": [121,235], "a": 1 }, + { "px": [176,240], "src": [16,16], "f": 0, "t": 12, "d": [121,251], "a": 1 }, + { "px": [0,16], "src": [16,0], "f": 0, "t": 1, "d": [122,16], "a": 1 }, + { "px": [16,16], "src": [16,0], "f": 0, "t": 1, "d": [122,17], "a": 1 }, + { "px": [32,16], "src": [16,0], "f": 0, "t": 1, "d": [122,18], "a": 1 }, + { "px": [48,16], "src": [16,0], "f": 0, "t": 1, "d": [122,19], "a": 1 }, + { "px": [64,16], "src": [16,0], "f": 0, "t": 1, "d": [122,20], "a": 1 }, + { "px": [80,16], "src": [16,0], "f": 0, "t": 1, "d": [122,21], "a": 1 }, + { "px": [96,16], "src": [16,0], "f": 0, "t": 1, "d": [122,22], "a": 1 }, + { "px": [112,16], "src": [16,0], "f": 0, "t": 1, "d": [122,23], "a": 1 }, + { "px": [128,16], "src": [16,0], "f": 0, "t": 1, "d": [122,24], "a": 1 }, + { "px": [144,16], "src": [16,0], "f": 0, "t": 1, "d": [122,25], "a": 1 }, + { "px": [160,16], "src": [16,0], "f": 0, "t": 1, "d": [122,26], "a": 1 }, + { "px": [176,16], "src": [16,0], "f": 0, "t": 1, "d": [122,27], "a": 1 }, + { "px": [192,16], "src": [16,0], "f": 0, "t": 1, "d": [122,28], "a": 1 }, + { "px": [208,16], "src": [16,0], "f": 0, "t": 1, "d": [122,29], "a": 1 }, + { "px": [224,16], "src": [16,0], "f": 0, "t": 1, "d": [122,30], "a": 1 }, + { "px": [240,16], "src": [16,0], "f": 0, "t": 1, "d": [122,31], "a": 1 }, + { "px": [112,112], "src": [16,0], "f": 0, "t": 1, "d": [122,119], "a": 1 }, + { "px": [96,128], "src": [16,0], "f": 0, "t": 1, "d": [122,134], "a": 1 }, + { "px": [128,128], "src": [16,0], "f": 0, "t": 1, "d": [122,136], "a": 1 }, + { "px": [192,128], "src": [16,0], "f": 0, "t": 1, "d": [122,140], "a": 1 }, + { "px": [208,128], "src": [16,0], "f": 0, "t": 1, "d": [122,141], "a": 1 }, + { "px": [16,176], "src": [16,0], "f": 0, "t": 1, "d": [122,177], "a": 1 }, + { "px": [32,176], "src": [16,0], "f": 0, "t": 1, "d": [122,178], "a": 1 }, + { "px": [48,176], "src": [16,0], "f": 0, "t": 1, "d": [122,179], "a": 1 }, + { "px": [64,192], "src": [16,0], "f": 0, "t": 1, "d": [122,196], "a": 1 }, + { "px": [80,192], "src": [16,0], "f": 0, "t": 1, "d": [122,197], "a": 1 }, + { "px": [96,192], "src": [16,0], "f": 0, "t": 1, "d": [122,198], "a": 1 }, + { "px": [112,192], "src": [16,0], "f": 0, "t": 1, "d": [122,199], "a": 1 }, + { "px": [176,192], "src": [16,0], "f": 0, "t": 1, "d": [122,203], "a": 1 }, + { "px": [128,240], "src": [16,0], "f": 0, "t": 1, "d": [122,248], "a": 1 }, + { "px": [112,112], "src": [0,0], "f": 0, "t": 0, "d": [117,119], "a": 1 }, + { "px": [112,112], "src": [0,0], "f": 1, "t": 0, "d": [117,119], "a": 1 }, + { "px": [96,128], "src": [0,0], "f": 0, "t": 0, "d": [117,134], "a": 1 }, + { "px": [128,128], "src": [0,0], "f": 1, "t": 0, "d": [117,136], "a": 1 }, + { "px": [192,128], "src": [0,0], "f": 0, "t": 0, "d": [117,140], "a": 1 }, + { "px": [48,176], "src": [0,0], "f": 1, "t": 0, "d": [117,179], "a": 1 }, + { "px": [112,192], "src": [0,0], "f": 1, "t": 0, "d": [117,199], "a": 1 }, + { "px": [176,192], "src": [0,0], "f": 0, "t": 0, "d": [117,203], "a": 1 }, + { "px": [128,240], "src": [0,0], "f": 1, "t": 0, "d": [117,248], "a": 1 }, + { "px": [112,32], "src": [32,32], "f": 1, "t": 24, "d": [131,39], "a": 1 }, + { "px": [224,32], "src": [32,32], "f": 0, "t": 24, "d": [131,46], "a": 1 }, + { "px": [48,48], "src": [32,32], "f": 1, "t": 24, "d": [131,51], "a": 1 }, + { "px": [112,48], "src": [32,32], "f": 0, "t": 24, "d": [131,55], "a": 1 }, + { "px": [0,112], "src": [32,32], "f": 1, "t": 24, "d": [131,112], "a": 1 }, + { "px": [112,128], "src": [32,32], "f": 0, "t": 24, "d": [131,135], "a": 1 }, + { "px": [112,128], "src": [32,32], "f": 1, "t": 24, "d": [131,135], "a": 1 }, + { "px": [112,128], "src": [32,0], "f": 0, "t": 2, "d": [132,135], "a": 1 }, + { "px": [112,128], "src": [32,0], "f": 1, "t": 2, "d": [132,135], "a": 1 }, + { "px": [224,128], "src": [32,0], "f": 0, "t": 2, "d": [132,142], "a": 1 }, + { "px": [0,176], "src": [32,0], "f": 1, "t": 2, "d": [132,176], "a": 1 }, + { "px": [48,192], "src": [32,0], "f": 1, "t": 2, "d": [132,195], "a": 1 }, + { "px": [192,192], "src": [32,0], "f": 0, "t": 2, "d": [132,204], "a": 1 }, + { "px": [112,240], "src": [32,0], "f": 1, "t": 2, "d": [132,247], "a": 1 } + ], + "seed": 8933453, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + }, + { + "__identifier": "Walls", + "__type": "IntGrid", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 1, + "__tilesetRelPath": "../tilemaps/TopDown_by_deepnight.png", + "iid": "d89fa6e1-5e50-11f0-8497-3502809be8cc", + "levelId": 173, + "layerDefUid": 110, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [ + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0, + 0,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0, + 0,0,0,0,0,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,0, + 1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1, + 1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1, + 1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,0,0,1,1,1,1,1 + ], + "autoLayerTiles": [ + { "px": [128,48], "src": [16,96], "f": 1, "t": 67, "d": [156,56], "a": 1 }, + { "px": [208,48], "src": [16,96], "f": 0, "t": 67, "d": [156,61], "a": 1 }, + { "px": [64,64], "src": [16,96], "f": 1, "t": 67, "d": [156,68], "a": 1 }, + { "px": [96,64], "src": [16,96], "f": 0, "t": 67, "d": [156,70], "a": 1 }, + { "px": [128,64], "src": [16,96], "f": 1, "t": 67, "d": [156,72], "a": 1 }, + { "px": [208,64], "src": [16,96], "f": 0, "t": 67, "d": [156,77], "a": 1 }, + { "px": [64,80], "src": [16,96], "f": 1, "t": 67, "d": [156,84], "a": 1 }, + { "px": [208,80], "src": [16,96], "f": 0, "t": 67, "d": [156,93], "a": 1 }, + { "px": [64,96], "src": [16,96], "f": 1, "t": 67, "d": [156,100], "a": 1 }, + { "px": [208,96], "src": [16,96], "f": 0, "t": 67, "d": [156,109], "a": 1 }, + { "px": [64,112], "src": [16,96], "f": 1, "t": 67, "d": [156,116], "a": 1 }, + { "px": [16,128], "src": [16,96], "f": 1, "t": 67, "d": [156,129], "a": 1 }, + { "px": [80,128], "src": [16,96], "f": 0, "t": 67, "d": [156,133], "a": 1 }, + { "px": [144,128], "src": [16,96], "f": 1, "t": 67, "d": [156,137], "a": 1 }, + { "px": [176,128], "src": [16,96], "f": 0, "t": 67, "d": [156,139], "a": 1 }, + { "px": [16,144], "src": [16,96], "f": 1, "t": 67, "d": [156,145], "a": 1 }, + { "px": [96,144], "src": [16,96], "f": 0, "t": 67, "d": [156,150], "a": 1 }, + { "px": [128,144], "src": [16,96], "f": 1, "t": 67, "d": [156,152], "a": 1 }, + { "px": [176,144], "src": [16,96], "f": 0, "t": 67, "d": [156,155], "a": 1 }, + { "px": [176,160], "src": [16,96], "f": 0, "t": 67, "d": [156,171], "a": 1 }, + { "px": [128,192], "src": [16,96], "f": 1, "t": 67, "d": [156,200], "a": 1 }, + { "px": [160,192], "src": [16,96], "f": 0, "t": 67, "d": [156,202], "a": 1 }, + { "px": [128,208], "src": [16,96], "f": 1, "t": 67, "d": [156,216], "a": 1 }, + { "px": [160,208], "src": [16,96], "f": 0, "t": 67, "d": [156,218], "a": 1 }, + { "px": [160,224], "src": [16,96], "f": 0, "t": 67, "d": [156,234], "a": 1 }, + { "px": [144,240], "src": [16,96], "f": 1, "t": 67, "d": [156,249], "a": 1 }, + { "px": [160,240], "src": [16,96], "f": 0, "t": 67, "d": [156,250], "a": 1 }, + { "px": [128,48], "src": [0,96], "f": 0, "t": 66, "d": [155,56], "a": 1 }, + { "px": [144,48], "src": [0,96], "f": 0, "t": 66, "d": [155,57], "a": 1 }, + { "px": [160,48], "src": [0,96], "f": 0, "t": 66, "d": [155,58], "a": 1 }, + { "px": [176,48], "src": [0,96], "f": 0, "t": 66, "d": [155,59], "a": 1 }, + { "px": [192,48], "src": [0,96], "f": 0, "t": 66, "d": [155,60], "a": 1 }, + { "px": [208,48], "src": [0,96], "f": 0, "t": 66, "d": [155,61], "a": 1 }, + { "px": [64,64], "src": [0,96], "f": 0, "t": 66, "d": [155,68], "a": 1 }, + { "px": [80,64], "src": [0,96], "f": 0, "t": 66, "d": [155,69], "a": 1 }, + { "px": [96,64], "src": [0,96], "f": 0, "t": 66, "d": [155,70], "a": 1 }, + { "px": [112,80], "src": [0,96], "f": 0, "t": 66, "d": [155,87], "a": 1 }, + { "px": [16,128], "src": [0,96], "f": 0, "t": 66, "d": [155,129], "a": 1 }, + { "px": [32,128], "src": [0,96], "f": 0, "t": 66, "d": [155,130], "a": 1 }, + { "px": [48,128], "src": [0,96], "f": 0, "t": 66, "d": [155,131], "a": 1 }, + { "px": [96,144], "src": [0,96], "f": 0, "t": 66, "d": [155,150], "a": 1 }, + { "px": [128,144], "src": [0,96], "f": 0, "t": 66, "d": [155,152], "a": 1 }, + { "px": [112,160], "src": [0,96], "f": 0, "t": 66, "d": [155,167], "a": 1 }, + { "px": [96,80], "src": [32,96], "f": 0, "t": 68, "d": [154,86], "a": 1 }, + { "px": [128,80], "src": [32,96], "f": 1, "t": 68, "d": [154,88], "a": 1 }, + { "px": [96,96], "src": [32,96], "f": 2, "t": 68, "d": [154,102], "a": 1 }, + { "px": [128,96], "src": [32,96], "f": 3, "t": 68, "d": [154,104], "a": 1 }, + { "px": [80,112], "src": [32,96], "f": 2, "t": 68, "d": [154,117], "a": 1 }, + { "px": [144,112], "src": [32,96], "f": 3, "t": 68, "d": [154,121], "a": 1 }, + { "px": [176,112], "src": [32,96], "f": 2, "t": 68, "d": [154,123], "a": 1 }, + { "px": [64,128], "src": [32,96], "f": 1, "t": 68, "d": [154,132], "a": 1 }, + { "px": [80,144], "src": [32,96], "f": 0, "t": 68, "d": [154,149], "a": 1 }, + { "px": [144,144], "src": [32,96], "f": 1, "t": 68, "d": [154,153], "a": 1 }, + { "px": [64,160], "src": [32,96], "f": 3, "t": 68, "d": [154,164], "a": 1 }, + { "px": [96,160], "src": [32,96], "f": 0, "t": 68, "d": [154,166], "a": 1 }, + { "px": [128,160], "src": [32,96], "f": 1, "t": 68, "d": [154,168], "a": 1 }, + { "px": [128,176], "src": [32,96], "f": 3, "t": 68, "d": [154,184], "a": 1 }, + { "px": [160,176], "src": [32,96], "f": 2, "t": 68, "d": [154,186], "a": 1 }, + { "px": [144,224], "src": [32,96], "f": 3, "t": 68, "d": [154,233], "a": 1 }, + { "px": [0,16], "src": [128,16], "f": 0, "t": 19, "d": [168,16], "a": 1 }, + { "px": [16,16], "src": [128,16], "f": 0, "t": 19, "d": [168,17], "a": 1 }, + { "px": [32,16], "src": [128,16], "f": 0, "t": 19, "d": [168,18], "a": 1 }, + { "px": [48,16], "src": [128,16], "f": 0, "t": 19, "d": [168,19], "a": 1 }, + { "px": [64,16], "src": [128,16], "f": 0, "t": 19, "d": [168,20], "a": 1 }, + { "px": [80,16], "src": [128,16], "f": 0, "t": 19, "d": [168,21], "a": 1 }, + { "px": [96,16], "src": [128,16], "f": 0, "t": 19, "d": [168,22], "a": 1 }, + { "px": [112,16], "src": [128,16], "f": 0, "t": 19, "d": [168,23], "a": 1 }, + { "px": [128,16], "src": [128,16], "f": 0, "t": 19, "d": [168,24], "a": 1 }, + { "px": [144,16], "src": [128,16], "f": 0, "t": 19, "d": [168,25], "a": 1 }, + { "px": [160,16], "src": [128,16], "f": 0, "t": 19, "d": [168,26], "a": 1 }, + { "px": [176,16], "src": [128,16], "f": 0, "t": 19, "d": [168,27], "a": 1 }, + { "px": [192,16], "src": [128,16], "f": 0, "t": 19, "d": [168,28], "a": 1 }, + { "px": [208,16], "src": [128,16], "f": 0, "t": 19, "d": [168,29], "a": 1 }, + { "px": [224,16], "src": [128,16], "f": 0, "t": 19, "d": [168,30], "a": 1 }, + { "px": [240,16], "src": [128,16], "f": 0, "t": 19, "d": [168,31], "a": 1 }, + { "px": [0,32], "src": [128,16], "f": 0, "t": 19, "d": [168,32], "a": 1 }, + { "px": [32,32], "src": [128,16], "f": 0, "t": 19, "d": [168,34], "a": 1 }, + { "px": [48,32], "src": [128,16], "f": 0, "t": 19, "d": [168,35], "a": 1 }, + { "px": [80,32], "src": [128,16], "f": 0, "t": 19, "d": [168,37], "a": 1 }, + { "px": [224,32], "src": [128,16], "f": 0, "t": 19, "d": [168,46], "a": 1 }, + { "px": [240,32], "src": [128,16], "f": 0, "t": 19, "d": [168,47], "a": 1 }, + { "px": [0,48], "src": [128,16], "f": 0, "t": 19, "d": [168,48], "a": 1 }, + { "px": [16,48], "src": [128,16], "f": 0, "t": 19, "d": [168,49], "a": 1 }, + { "px": [48,48], "src": [128,16], "f": 0, "t": 19, "d": [168,51], "a": 1 }, + { "px": [112,48], "src": [128,16], "f": 0, "t": 19, "d": [168,55], "a": 1 }, + { "px": [224,48], "src": [128,16], "f": 0, "t": 19, "d": [168,62], "a": 1 }, + { "px": [240,48], "src": [128,16], "f": 0, "t": 19, "d": [168,63], "a": 1 }, + { "px": [0,64], "src": [128,16], "f": 0, "t": 19, "d": [168,64], "a": 1 }, + { "px": [16,64], "src": [128,16], "f": 0, "t": 19, "d": [168,65], "a": 1 }, + { "px": [224,64], "src": [128,16], "f": 0, "t": 19, "d": [168,78], "a": 1 }, + { "px": [240,64], "src": [128,16], "f": 0, "t": 19, "d": [168,79], "a": 1 }, + { "px": [16,80], "src": [128,16], "f": 0, "t": 19, "d": [168,81], "a": 1 }, + { "px": [32,80], "src": [128,16], "f": 0, "t": 19, "d": [168,82], "a": 1 }, + { "px": [16,96], "src": [128,16], "f": 0, "t": 19, "d": [168,97], "a": 1 }, + { "px": [32,96], "src": [128,16], "f": 0, "t": 19, "d": [168,98], "a": 1 }, + { "px": [0,112], "src": [128,16], "f": 0, "t": 19, "d": [168,112], "a": 1 }, + { "px": [112,112], "src": [128,16], "f": 0, "t": 19, "d": [168,119], "a": 1 }, + { "px": [0,128], "src": [128,16], "f": 0, "t": 19, "d": [168,128], "a": 1 }, + { "px": [112,128], "src": [128,16], "f": 0, "t": 19, "d": [168,135], "a": 1 }, + { "px": [192,128], "src": [128,16], "f": 0, "t": 19, "d": [168,140], "a": 1 }, + { "px": [208,128], "src": [128,16], "f": 0, "t": 19, "d": [168,141], "a": 1 }, + { "px": [0,144], "src": [128,16], "f": 0, "t": 19, "d": [168,144], "a": 1 }, + { "px": [192,144], "src": [128,16], "f": 0, "t": 19, "d": [168,156], "a": 1 }, + { "px": [192,160], "src": [128,16], "f": 0, "t": 19, "d": [168,172], "a": 1 }, + { "px": [224,160], "src": [128,16], "f": 0, "t": 19, "d": [168,174], "a": 1 }, + { "px": [240,160], "src": [128,16], "f": 0, "t": 19, "d": [168,175], "a": 1 }, + { "px": [16,176], "src": [128,16], "f": 0, "t": 19, "d": [168,177], "a": 1 }, + { "px": [32,176], "src": [128,16], "f": 0, "t": 19, "d": [168,178], "a": 1 }, + { "px": [48,176], "src": [128,16], "f": 0, "t": 19, "d": [168,179], "a": 1 }, + { "px": [224,176], "src": [128,16], "f": 0, "t": 19, "d": [168,190], "a": 1 }, + { "px": [240,176], "src": [128,16], "f": 0, "t": 19, "d": [168,191], "a": 1 }, + { "px": [32,192], "src": [128,16], "f": 0, "t": 19, "d": [168,194], "a": 1 }, + { "px": [64,192], "src": [128,16], "f": 0, "t": 19, "d": [168,196], "a": 1 }, + { "px": [80,192], "src": [128,16], "f": 0, "t": 19, "d": [168,197], "a": 1 }, + { "px": [96,192], "src": [128,16], "f": 0, "t": 19, "d": [168,198], "a": 1 }, + { "px": [112,192], "src": [128,16], "f": 0, "t": 19, "d": [168,199], "a": 1 }, + { "px": [176,192], "src": [128,16], "f": 0, "t": 19, "d": [168,203], "a": 1 }, + { "px": [224,192], "src": [128,16], "f": 0, "t": 19, "d": [168,206], "a": 1 }, + { "px": [240,192], "src": [128,16], "f": 0, "t": 19, "d": [168,207], "a": 1 }, + { "px": [16,208], "src": [128,16], "f": 0, "t": 19, "d": [168,209], "a": 1 }, + { "px": [64,208], "src": [128,16], "f": 0, "t": 19, "d": [168,212], "a": 1 }, + { "px": [96,208], "src": [128,16], "f": 0, "t": 19, "d": [168,214], "a": 1 }, + { "px": [112,208], "src": [128,16], "f": 0, "t": 19, "d": [168,215], "a": 1 }, + { "px": [192,208], "src": [128,16], "f": 0, "t": 19, "d": [168,220], "a": 1 }, + { "px": [208,208], "src": [128,16], "f": 0, "t": 19, "d": [168,221], "a": 1 }, + { "px": [224,208], "src": [128,16], "f": 0, "t": 19, "d": [168,222], "a": 1 }, + { "px": [240,208], "src": [128,16], "f": 0, "t": 19, "d": [168,223], "a": 1 }, + { "px": [0,224], "src": [128,16], "f": 0, "t": 19, "d": [168,224], "a": 1 }, + { "px": [192,224], "src": [128,16], "f": 0, "t": 19, "d": [168,236], "a": 1 }, + { "px": [208,224], "src": [128,16], "f": 0, "t": 19, "d": [168,237], "a": 1 }, + { "px": [224,224], "src": [128,16], "f": 0, "t": 19, "d": [168,238], "a": 1 }, + { "px": [240,224], "src": [128,16], "f": 0, "t": 19, "d": [168,239], "a": 1 }, + { "px": [48,240], "src": [128,16], "f": 0, "t": 19, "d": [168,243], "a": 1 }, + { "px": [96,240], "src": [128,16], "f": 0, "t": 19, "d": [168,246], "a": 1 }, + { "px": [128,240], "src": [128,16], "f": 0, "t": 19, "d": [168,248], "a": 1 }, + { "px": [176,240], "src": [128,16], "f": 0, "t": 19, "d": [168,251], "a": 1 }, + { "px": [192,240], "src": [128,16], "f": 0, "t": 19, "d": [168,252], "a": 1 }, + { "px": [208,240], "src": [128,16], "f": 0, "t": 19, "d": [168,253], "a": 1 }, + { "px": [224,240], "src": [128,16], "f": 0, "t": 19, "d": [168,254], "a": 1 }, + { "px": [16,32], "src": [80,32], "f": 0, "t": 27, "d": [167,33], "a": 1 }, + { "px": [64,32], "src": [48,16], "f": 0, "t": 14, "d": [167,36], "a": 1 }, + { "px": [96,32], "src": [48,32], "f": 0, "t": 25, "d": [167,38], "a": 1 }, + { "px": [112,32], "src": [48,16], "f": 0, "t": 14, "d": [167,39], "a": 1 }, + { "px": [32,48], "src": [80,16], "f": 0, "t": 16, "d": [167,50], "a": 1 }, + { "px": [32,64], "src": [48,16], "f": 0, "t": 14, "d": [167,66], "a": 1 }, + { "px": [48,64], "src": [48,16], "f": 0, "t": 14, "d": [167,67], "a": 1 }, + { "px": [0,80], "src": [48,32], "f": 0, "t": 25, "d": [167,80], "a": 1 }, + { "px": [48,80], "src": [64,16], "f": 0, "t": 15, "d": [167,83], "a": 1 }, + { "px": [224,80], "src": [80,32], "f": 0, "t": 27, "d": [167,94], "a": 1 }, + { "px": [240,80], "src": [96,16], "f": 0, "t": 17, "d": [167,95], "a": 1 }, + { "px": [0,96], "src": [64,16], "f": 0, "t": 15, "d": [167,96], "a": 1 }, + { "px": [48,96], "src": [64,32], "f": 0, "t": 26, "d": [167,99], "a": 1 }, + { "px": [224,96], "src": [96,32], "f": 0, "t": 28, "d": [167,110], "a": 1 }, + { "px": [240,96], "src": [96,32], "f": 0, "t": 28, "d": [167,111], "a": 1 }, + { "px": [224,112], "src": [48,16], "f": 0, "t": 14, "d": [167,126], "a": 1 }, + { "px": [240,112], "src": [64,32], "f": 0, "t": 26, "d": [167,127], "a": 1 }, + { "px": [224,128], "src": [80,16], "f": 0, "t": 16, "d": [167,142], "a": 1 }, + { "px": [240,128], "src": [48,16], "f": 0, "t": 14, "d": [167,143], "a": 1 }, + { "px": [208,144], "src": [48,32], "f": 0, "t": 25, "d": [167,157], "a": 1 }, + { "px": [224,144], "src": [48,16], "f": 0, "t": 14, "d": [167,158], "a": 1 }, + { "px": [240,144], "src": [64,32], "f": 0, "t": 26, "d": [167,159], "a": 1 }, + { "px": [0,160], "src": [48,32], "f": 0, "t": 25, "d": [167,160], "a": 1 }, + { "px": [208,160], "src": [48,32], "f": 0, "t": 25, "d": [167,173], "a": 1 }, + { "px": [0,176], "src": [48,32], "f": 0, "t": 25, "d": [167,176], "a": 1 }, + { "px": [192,176], "src": [80,32], "f": 0, "t": 27, "d": [167,188], "a": 1 }, + { "px": [208,176], "src": [64,32], "f": 0, "t": 26, "d": [167,189], "a": 1 }, + { "px": [0,192], "src": [48,16], "f": 0, "t": 14, "d": [167,192], "a": 1 }, + { "px": [16,192], "src": [80,16], "f": 0, "t": 16, "d": [167,193], "a": 1 }, + { "px": [48,192], "src": [80,16], "f": 0, "t": 16, "d": [167,195], "a": 1 }, + { "px": [192,192], "src": [48,32], "f": 0, "t": 25, "d": [167,204], "a": 1 }, + { "px": [208,192], "src": [48,32], "f": 0, "t": 25, "d": [167,205], "a": 1 }, + { "px": [0,208], "src": [80,16], "f": 0, "t": 16, "d": [167,208], "a": 1 }, + { "px": [32,208], "src": [80,32], "f": 0, "t": 27, "d": [167,210], "a": 1 }, + { "px": [48,208], "src": [64,16], "f": 0, "t": 15, "d": [167,211], "a": 1 }, + { "px": [80,208], "src": [48,32], "f": 0, "t": 25, "d": [167,213], "a": 1 }, + { "px": [176,208], "src": [96,32], "f": 0, "t": 28, "d": [167,219], "a": 1 }, + { "px": [16,224], "src": [80,32], "f": 0, "t": 27, "d": [167,225], "a": 1 }, + { "px": [32,224], "src": [48,16], "f": 0, "t": 14, "d": [167,226], "a": 1 }, + { "px": [48,224], "src": [48,16], "f": 0, "t": 14, "d": [167,227], "a": 1 }, + { "px": [64,224], "src": [64,16], "f": 0, "t": 15, "d": [167,228], "a": 1 }, + { "px": [80,224], "src": [64,16], "f": 0, "t": 15, "d": [167,229], "a": 1 }, + { "px": [96,224], "src": [48,32], "f": 0, "t": 25, "d": [167,230], "a": 1 }, + { "px": [112,224], "src": [80,32], "f": 0, "t": 27, "d": [167,231], "a": 1 }, + { "px": [176,224], "src": [48,16], "f": 0, "t": 14, "d": [167,235], "a": 1 }, + { "px": [0,240], "src": [80,32], "f": 0, "t": 27, "d": [167,240], "a": 1 }, + { "px": [16,240], "src": [48,32], "f": 0, "t": 25, "d": [167,241], "a": 1 }, + { "px": [32,240], "src": [80,16], "f": 0, "t": 16, "d": [167,242], "a": 1 }, + { "px": [64,240], "src": [96,32], "f": 0, "t": 28, "d": [167,244], "a": 1 }, + { "px": [80,240], "src": [48,16], "f": 0, "t": 14, "d": [167,245], "a": 1 }, + { "px": [112,240], "src": [96,32], "f": 0, "t": 28, "d": [167,247], "a": 1 }, + { "px": [240,240], "src": [64,32], "f": 0, "t": 26, "d": [167,255], "a": 1 }, + { "px": [0,0], "src": [144,16], "f": 0, "t": 20, "d": [166,0], "a": 1 }, + { "px": [16,0], "src": [144,16], "f": 0, "t": 20, "d": [166,1], "a": 1 }, + { "px": [32,0], "src": [144,16], "f": 0, "t": 20, "d": [166,2], "a": 1 }, + { "px": [48,0], "src": [144,16], "f": 0, "t": 20, "d": [166,3], "a": 1 }, + { "px": [64,0], "src": [144,16], "f": 0, "t": 20, "d": [166,4], "a": 1 }, + { "px": [80,0], "src": [144,16], "f": 0, "t": 20, "d": [166,5], "a": 1 }, + { "px": [96,0], "src": [144,16], "f": 0, "t": 20, "d": [166,6], "a": 1 }, + { "px": [112,0], "src": [144,16], "f": 0, "t": 20, "d": [166,7], "a": 1 }, + { "px": [128,0], "src": [144,16], "f": 0, "t": 20, "d": [166,8], "a": 1 }, + { "px": [144,0], "src": [144,16], "f": 0, "t": 20, "d": [166,9], "a": 1 }, + { "px": [160,0], "src": [144,16], "f": 0, "t": 20, "d": [166,10], "a": 1 }, + { "px": [176,0], "src": [144,16], "f": 0, "t": 20, "d": [166,11], "a": 1 }, + { "px": [192,0], "src": [144,16], "f": 0, "t": 20, "d": [166,12], "a": 1 }, + { "px": [208,0], "src": [144,16], "f": 0, "t": 20, "d": [166,13], "a": 1 }, + { "px": [224,0], "src": [144,16], "f": 0, "t": 20, "d": [166,14], "a": 1 }, + { "px": [240,0], "src": [144,16], "f": 0, "t": 20, "d": [166,15], "a": 1 }, + { "px": [112,96], "src": [144,16], "f": 0, "t": 20, "d": [166,103], "a": 1 }, + { "px": [96,112], "src": [144,16], "f": 0, "t": 20, "d": [166,118], "a": 1 }, + { "px": [128,112], "src": [144,16], "f": 0, "t": 20, "d": [166,120], "a": 1 }, + { "px": [192,112], "src": [144,16], "f": 0, "t": 20, "d": [166,124], "a": 1 }, + { "px": [208,112], "src": [144,16], "f": 0, "t": 20, "d": [166,125], "a": 1 }, + { "px": [16,160], "src": [144,16], "f": 0, "t": 20, "d": [166,161], "a": 1 }, + { "px": [32,160], "src": [144,16], "f": 0, "t": 20, "d": [166,162], "a": 1 }, + { "px": [48,160], "src": [144,16], "f": 0, "t": 20, "d": [166,163], "a": 1 }, + { "px": [64,176], "src": [144,16], "f": 0, "t": 20, "d": [166,180], "a": 1 }, + { "px": [80,176], "src": [144,16], "f": 0, "t": 20, "d": [166,181], "a": 1 }, + { "px": [96,176], "src": [144,16], "f": 0, "t": 20, "d": [166,182], "a": 1 }, + { "px": [112,176], "src": [144,16], "f": 0, "t": 20, "d": [166,183], "a": 1 }, + { "px": [176,176], "src": [144,16], "f": 0, "t": 20, "d": [166,187], "a": 1 }, + { "px": [128,224], "src": [144,16], "f": 0, "t": 20, "d": [166,232], "a": 1 }, + { "px": [123,48], "src": [80,96], "f": 0, "t": 71, "d": [159,56], "a": 0.3 }, + { "px": [213,48], "src": [112,96], "f": 1, "t": 73, "d": [159,61], "a": 0.3 }, + { "px": [59,64], "src": [80,96], "f": 0, "t": 71, "d": [159,68], "a": 0.3 }, + { "px": [101,64], "src": [96,96], "f": 1, "t": 72, "d": [159,70], "a": 0.3 }, + { "px": [123,64], "src": [80,96], "f": 0, "t": 71, "d": [159,72], "a": 0.3 }, + { "px": [213,64], "src": [112,96], "f": 1, "t": 73, "d": [159,77], "a": 0.3 }, + { "px": [59,80], "src": [80,96], "f": 0, "t": 71, "d": [159,84], "a": 0.3 }, + { "px": [213,80], "src": [96,96], "f": 1, "t": 72, "d": [159,93], "a": 0.3 }, + { "px": [59,96], "src": [96,96], "f": 0, "t": 72, "d": [159,100], "a": 0.3 }, + { "px": [213,96], "src": [80,96], "f": 1, "t": 71, "d": [159,109], "a": 0.3 }, + { "px": [59,112], "src": [80,96], "f": 0, "t": 71, "d": [159,116], "a": 0.3 }, + { "px": [101,112], "src": [96,96], "f": 1, "t": 72, "d": [159,118], "a": 0.3 }, + { "px": [123,112], "src": [96,96], "f": 0, "t": 72, "d": [159,120], "a": 0.3 }, + { "px": [213,112], "src": [96,96], "f": 1, "t": 72, "d": [159,125], "a": 0.3 }, + { "px": [11,128], "src": [80,96], "f": 0, "t": 71, "d": [159,129], "a": 0.3 }, + { "px": [85,128], "src": [112,96], "f": 1, "t": 73, "d": [159,133], "a": 0.3 }, + { "px": [139,128], "src": [112,96], "f": 0, "t": 73, "d": [159,137], "a": 0.3 }, + { "px": [181,128], "src": [80,96], "f": 1, "t": 71, "d": [159,139], "a": 0.3 }, + { "px": [11,144], "src": [112,96], "f": 0, "t": 73, "d": [159,145], "a": 0.3 }, + { "px": [101,144], "src": [112,96], "f": 1, "t": 73, "d": [159,150], "a": 0.3 }, + { "px": [123,144], "src": [96,96], "f": 0, "t": 72, "d": [159,152], "a": 0.3 }, + { "px": [181,144], "src": [96,96], "f": 1, "t": 72, "d": [159,155], "a": 0.3 }, + { "px": [11,160], "src": [80,96], "f": 0, "t": 71, "d": [159,161], "a": 0.3 }, + { "px": [181,160], "src": [96,96], "f": 1, "t": 72, "d": [159,171], "a": 0.3 }, + { "px": [59,176], "src": [96,96], "f": 0, "t": 72, "d": [159,180], "a": 0.3 }, + { "px": [181,176], "src": [112,96], "f": 1, "t": 73, "d": [159,187], "a": 0.3 }, + { "px": [123,192], "src": [112,96], "f": 0, "t": 73, "d": [159,200], "a": 0.3 }, + { "px": [165,192], "src": [96,96], "f": 1, "t": 72, "d": [159,202], "a": 0.3 }, + { "px": [123,208], "src": [112,96], "f": 0, "t": 73, "d": [159,216], "a": 0.3 }, + { "px": [165,208], "src": [96,96], "f": 1, "t": 72, "d": [159,218], "a": 0.3 }, + { "px": [123,224], "src": [112,96], "f": 0, "t": 73, "d": [159,232], "a": 0.3 }, + { "px": [165,224], "src": [80,96], "f": 1, "t": 71, "d": [159,234], "a": 0.3 }, + { "px": [139,240], "src": [80,96], "f": 0, "t": 71, "d": [159,249], "a": 0.3 }, + { "px": [165,240], "src": [112,96], "f": 1, "t": 73, "d": [159,250], "a": 0.3 }, + { "px": [128,48], "src": [80,96], "f": 0, "t": 71, "d": [152,56], "a": 0.75 }, + { "px": [64,64], "src": [96,96], "f": 0, "t": 72, "d": [152,68], "a": 0.75 }, + { "px": [128,64], "src": [80,96], "f": 0, "t": 71, "d": [152,72], "a": 0.75 }, + { "px": [64,80], "src": [80,96], "f": 0, "t": 71, "d": [152,84], "a": 0.75 }, + { "px": [64,96], "src": [80,96], "f": 0, "t": 71, "d": [152,100], "a": 0.75 }, + { "px": [64,112], "src": [112,96], "f": 0, "t": 73, "d": [152,116], "a": 0.75 }, + { "px": [128,112], "src": [80,96], "f": 0, "t": 71, "d": [152,120], "a": 0.75 }, + { "px": [16,128], "src": [112,96], "f": 0, "t": 73, "d": [152,129], "a": 0.75 }, + { "px": [144,128], "src": [80,96], "f": 0, "t": 71, "d": [152,137], "a": 0.75 }, + { "px": [16,144], "src": [96,96], "f": 0, "t": 72, "d": [152,145], "a": 0.75 }, + { "px": [128,144], "src": [80,96], "f": 0, "t": 71, "d": [152,152], "a": 0.75 }, + { "px": [16,160], "src": [80,96], "f": 0, "t": 71, "d": [152,161], "a": 0.75 }, + { "px": [64,176], "src": [80,96], "f": 0, "t": 71, "d": [152,180], "a": 0.75 }, + { "px": [128,192], "src": [112,96], "f": 0, "t": 73, "d": [152,200], "a": 0.75 }, + { "px": [128,208], "src": [80,96], "f": 0, "t": 71, "d": [152,216], "a": 0.75 }, + { "px": [128,224], "src": [96,96], "f": 0, "t": 72, "d": [152,232], "a": 0.75 }, + { "px": [144,240], "src": [112,96], "f": 0, "t": 73, "d": [152,249], "a": 0.75 }, + { "px": [128,32], "src": [80,0], "f": 0, "t": 5, "d": [114,40], "a": 1 }, + { "px": [144,32], "src": [80,0], "f": 0, "t": 5, "d": [114,41], "a": 1 }, + { "px": [160,32], "src": [80,0], "f": 0, "t": 5, "d": [114,42], "a": 1 }, + { "px": [176,32], "src": [80,0], "f": 0, "t": 5, "d": [114,43], "a": 1 }, + { "px": [192,32], "src": [80,0], "f": 0, "t": 5, "d": [114,44], "a": 1 }, + { "px": [208,32], "src": [80,0], "f": 0, "t": 5, "d": [114,45], "a": 1 }, + { "px": [64,48], "src": [80,0], "f": 0, "t": 5, "d": [114,52], "a": 1 }, + { "px": [80,48], "src": [80,0], "f": 0, "t": 5, "d": [114,53], "a": 1 }, + { "px": [96,48], "src": [80,0], "f": 0, "t": 5, "d": [114,54], "a": 1 }, + { "px": [112,64], "src": [80,0], "f": 0, "t": 5, "d": [114,71], "a": 1 }, + { "px": [16,112], "src": [80,0], "f": 0, "t": 5, "d": [114,113], "a": 1 }, + { "px": [32,112], "src": [80,0], "f": 0, "t": 5, "d": [114,114], "a": 1 }, + { "px": [48,112], "src": [80,0], "f": 0, "t": 5, "d": [114,115], "a": 1 }, + { "px": [96,128], "src": [80,0], "f": 0, "t": 5, "d": [114,134], "a": 1 }, + { "px": [128,128], "src": [80,0], "f": 0, "t": 5, "d": [114,136], "a": 1 }, + { "px": [112,144], "src": [80,0], "f": 0, "t": 5, "d": [114,151], "a": 1 }, + { "px": [112,64], "src": [112,0], "f": 0, "t": 7, "d": [157,71], "a": 1 }, + { "px": [112,64], "src": [112,0], "f": 1, "t": 7, "d": [157,71], "a": 1 }, + { "px": [48,112], "src": [112,0], "f": 1, "t": 7, "d": [157,115], "a": 1 }, + { "px": [96,128], "src": [112,0], "f": 0, "t": 7, "d": [157,134], "a": 1 }, + { "px": [128,128], "src": [112,0], "f": 1, "t": 7, "d": [157,136], "a": 1 }, + { "px": [112,144], "src": [112,0], "f": 0, "t": 7, "d": [157,151], "a": 1 }, + { "px": [112,144], "src": [112,0], "f": 1, "t": 7, "d": [157,151], "a": 1 }, + { "px": [128,32], "src": [64,96], "f": 0, "t": 70, "d": [141,40], "a": 0.7000000000000001 }, + { "px": [64,48], "src": [64,96], "f": 0, "t": 70, "d": [141,52], "a": 0.7000000000000001 }, + { "px": [16,112], "src": [64,96], "f": 0, "t": 70, "d": [141,113], "a": 0.7000000000000001 }, + { "px": [128,128], "src": [64,96], "f": 0, "t": 70, "d": [141,136], "a": 0.7000000000000001 } + ], + "seed": 5124479, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + }, + { + "__identifier": "Custom_floor", + "__type": "Tiles", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 1, + "__tilesetRelPath": "../tilemaps/TopDown_by_deepnight.png", + "iid": "d89fa6e2-5e50-11f0-8497-89152217d942", + "levelId": 173, + "layerDefUid": 150, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 1638017, + "overrideTilesetUid": null, + "gridTiles": [ + { "px": [0,0], "src": [32,48], "f": 0, "t": 35, "d": [0], "a": 1 }, + { "px": [16,0], "src": [32,48], "f": 0, "t": 35, "d": [1], "a": 1 }, + { "px": [32,0], "src": [32,48], "f": 0, "t": 35, "d": [2], "a": 1 }, + { "px": [48,0], "src": [0,48], "f": 0, "t": 33, "d": [3], "a": 1 }, + { "px": [64,0], "src": [64,48], "f": 0, "t": 37, "d": [4], "a": 1 }, + { "px": [80,0], "src": [32,48], "f": 0, "t": 35, "d": [5], "a": 1 }, + { "px": [96,0], "src": [0,48], "f": 0, "t": 33, "d": [6], "a": 1 }, + { "px": [112,0], "src": [0,48], "f": 0, "t": 33, "d": [7], "a": 1 }, + { "px": [128,0], "src": [64,48], "f": 0, "t": 37, "d": [8], "a": 1 }, + { "px": [144,0], "src": [80,48], "f": 0, "t": 38, "d": [9], "a": 1 }, + { "px": [160,0], "src": [32,48], "f": 0, "t": 35, "d": [10], "a": 1 }, + { "px": [176,0], "src": [80,48], "f": 0, "t": 38, "d": [11], "a": 1 }, + { "px": [192,0], "src": [0,48], "f": 0, "t": 33, "d": [12], "a": 1 }, + { "px": [208,0], "src": [48,48], "f": 0, "t": 36, "d": [13], "a": 1 }, + { "px": [224,0], "src": [64,48], "f": 0, "t": 37, "d": [14], "a": 1 }, + { "px": [240,0], "src": [32,48], "f": 0, "t": 35, "d": [15], "a": 1 }, + { "px": [32,16], "src": [16,48], "f": 0, "t": 34, "d": [18], "a": 1 }, + { "px": [48,16], "src": [32,48], "f": 0, "t": 35, "d": [19], "a": 1 }, + { "px": [64,16], "src": [0,48], "f": 0, "t": 33, "d": [20], "a": 1 }, + { "px": [80,16], "src": [80,48], "f": 0, "t": 38, "d": [21], "a": 1 }, + { "px": [96,16], "src": [32,48], "f": 0, "t": 35, "d": [22], "a": 1 }, + { "px": [112,16], "src": [0,48], "f": 0, "t": 33, "d": [23], "a": 1 }, + { "px": [128,16], "src": [80,48], "f": 0, "t": 38, "d": [24], "a": 1 }, + { "px": [144,16], "src": [80,48], "f": 0, "t": 38, "d": [25], "a": 1 }, + { "px": [160,16], "src": [64,48], "f": 0, "t": 37, "d": [26], "a": 1 }, + { "px": [176,16], "src": [64,48], "f": 0, "t": 37, "d": [27], "a": 1 }, + { "px": [192,16], "src": [48,48], "f": 0, "t": 36, "d": [28], "a": 1 }, + { "px": [208,16], "src": [16,48], "f": 0, "t": 34, "d": [29], "a": 1 }, + { "px": [224,16], "src": [48,48], "f": 0, "t": 36, "d": [30], "a": 1 }, + { "px": [240,16], "src": [32,48], "f": 0, "t": 35, "d": [31], "a": 1 }, + { "px": [32,32], "src": [32,48], "f": 0, "t": 35, "d": [34], "a": 1 }, + { "px": [48,32], "src": [64,48], "f": 0, "t": 37, "d": [35], "a": 1 }, + { "px": [64,32], "src": [32,48], "f": 0, "t": 35, "d": [36], "a": 1 }, + { "px": [80,32], "src": [16,48], "f": 0, "t": 34, "d": [37], "a": 1 }, + { "px": [96,32], "src": [0,48], "f": 0, "t": 33, "d": [38], "a": 1 }, + { "px": [112,32], "src": [0,48], "f": 0, "t": 33, "d": [39], "a": 1 }, + { "px": [128,32], "src": [48,48], "f": 0, "t": 36, "d": [40], "a": 1 }, + { "px": [144,32], "src": [64,48], "f": 0, "t": 37, "d": [41], "a": 1 }, + { "px": [160,32], "src": [16,48], "f": 0, "t": 34, "d": [42], "a": 1 }, + { "px": [176,32], "src": [0,48], "f": 0, "t": 33, "d": [43], "a": 1 }, + { "px": [192,32], "src": [48,48], "f": 0, "t": 36, "d": [44], "a": 1 }, + { "px": [208,32], "src": [80,48], "f": 0, "t": 38, "d": [45], "a": 1 }, + { "px": [224,32], "src": [32,48], "f": 0, "t": 35, "d": [46], "a": 1 }, + { "px": [240,32], "src": [80,48], "f": 0, "t": 38, "d": [47], "a": 1 }, + { "px": [64,48], "src": [16,48], "f": 0, "t": 34, "d": [52], "a": 1 }, + { "px": [80,48], "src": [48,48], "f": 0, "t": 36, "d": [53], "a": 1 }, + { "px": [96,48], "src": [0,48], "f": 0, "t": 33, "d": [54], "a": 1 }, + { "px": [112,48], "src": [16,48], "f": 0, "t": 34, "d": [55], "a": 1 }, + { "px": [128,48], "src": [0,80], "f": 0, "t": 55, "d": [56], "a": 1 }, + { "px": [144,48], "src": [32,80], "f": 0, "t": 57, "d": [57], "a": 1 }, + { "px": [160,48], "src": [16,80], "f": 0, "t": 56, "d": [58], "a": 1 }, + { "px": [176,48], "src": [0,80], "f": 0, "t": 55, "d": [59], "a": 1 }, + { "px": [192,48], "src": [48,80], "f": 0, "t": 58, "d": [60], "a": 1 }, + { "px": [208,48], "src": [0,80], "f": 0, "t": 55, "d": [61], "a": 1 }, + { "px": [224,48], "src": [64,48], "f": 0, "t": 37, "d": [62], "a": 1 }, + { "px": [240,48], "src": [0,48], "f": 0, "t": 33, "d": [63], "a": 1 }, + { "px": [64,64], "src": [0,80], "f": 0, "t": 55, "d": [68], "a": 1 }, + { "px": [80,64], "src": [0,80], "f": 0, "t": 55, "d": [69], "a": 1 }, + { "px": [96,64], "src": [0,80], "f": 0, "t": 55, "d": [70], "a": 1 }, + { "px": [112,64], "src": [0,80], "f": 0, "t": 55, "d": [71], "a": 1 }, + { "px": [128,64], "src": [0,80], "f": 0, "t": 55, "d": [72], "a": 1 }, + { "px": [144,64], "src": [0,80], "f": 0, "t": 55, "d": [73], "a": 1 }, + { "px": [160,64], "src": [0,80], "f": 0, "t": 55, "d": [74], "a": 1 }, + { "px": [176,64], "src": [32,80], "f": 0, "t": 57, "d": [75], "a": 1 }, + { "px": [192,64], "src": [48,80], "f": 0, "t": 58, "d": [76], "a": 1 }, + { "px": [208,64], "src": [0,80], "f": 0, "t": 55, "d": [77], "a": 1 }, + { "px": [224,64], "src": [80,48], "f": 0, "t": 38, "d": [78], "a": 1 }, + { "px": [240,64], "src": [64,48], "f": 0, "t": 37, "d": [79], "a": 1 }, + { "px": [64,80], "src": [16,80], "f": 0, "t": 56, "d": [84], "a": 1 }, + { "px": [80,80], "src": [0,80], "f": 0, "t": 55, "d": [85], "a": 1 }, + { "px": [96,80], "src": [0,80], "f": 0, "t": 55, "d": [86], "a": 1 }, + { "px": [112,80], "src": [0,80], "f": 0, "t": 55, "d": [87], "a": 1 }, + { "px": [128,80], "src": [0,80], "f": 0, "t": 55, "d": [88], "a": 1 }, + { "px": [144,80], "src": [0,80], "f": 0, "t": 55, "d": [89], "a": 1 }, + { "px": [160,80], "src": [48,80], "f": 0, "t": 58, "d": [90], "a": 1 }, + { "px": [176,80], "src": [32,80], "f": 0, "t": 57, "d": [91], "a": 1 }, + { "px": [192,80], "src": [48,80], "f": 0, "t": 58, "d": [92], "a": 1 }, + { "px": [208,80], "src": [16,80], "f": 0, "t": 56, "d": [93], "a": 1 }, + { "px": [224,80], "src": [48,48], "f": 0, "t": 36, "d": [94], "a": 1 }, + { "px": [240,80], "src": [48,48], "f": 0, "t": 36, "d": [95], "a": 1 }, + { "px": [64,96], "src": [48,80], "f": 0, "t": 58, "d": [100], "a": 1 }, + { "px": [80,96], "src": [0,80], "f": 0, "t": 55, "d": [101], "a": 1 }, + { "px": [96,96], "src": [32,80], "f": 0, "t": 57, "d": [102], "a": 1 }, + { "px": [112,96], "src": [0,80], "f": 0, "t": 55, "d": [103], "a": 1 }, + { "px": [128,96], "src": [48,80], "f": 0, "t": 58, "d": [104], "a": 1 }, + { "px": [144,96], "src": [16,80], "f": 0, "t": 56, "d": [105], "a": 1 }, + { "px": [160,96], "src": [32,80], "f": 0, "t": 57, "d": [106], "a": 1 }, + { "px": [176,96], "src": [32,80], "f": 0, "t": 57, "d": [107], "a": 1 }, + { "px": [192,96], "src": [48,80], "f": 0, "t": 58, "d": [108], "a": 1 }, + { "px": [208,96], "src": [16,80], "f": 0, "t": 56, "d": [109], "a": 1 }, + { "px": [224,96], "src": [16,48], "f": 0, "t": 34, "d": [110], "a": 1 }, + { "px": [240,96], "src": [64,48], "f": 0, "t": 37, "d": [111], "a": 1 }, + { "px": [64,112], "src": [32,80], "f": 0, "t": 57, "d": [116], "a": 1 }, + { "px": [80,112], "src": [48,80], "f": 0, "t": 58, "d": [117], "a": 1 }, + { "px": [96,112], "src": [16,80], "f": 0, "t": 56, "d": [118], "a": 1 }, + { "px": [112,112], "src": [0,80], "f": 0, "t": 55, "d": [119], "a": 1 }, + { "px": [128,112], "src": [48,80], "f": 0, "t": 58, "d": [120], "a": 1 }, + { "px": [144,112], "src": [48,80], "f": 0, "t": 58, "d": [121], "a": 1 }, + { "px": [160,112], "src": [48,80], "f": 0, "t": 58, "d": [122], "a": 1 }, + { "px": [176,112], "src": [32,80], "f": 0, "t": 57, "d": [123], "a": 1 }, + { "px": [192,112], "src": [16,80], "f": 0, "t": 56, "d": [124], "a": 1 }, + { "px": [208,112], "src": [0,80], "f": 0, "t": 55, "d": [125], "a": 1 }, + { "px": [224,112], "src": [48,48], "f": 0, "t": 36, "d": [126], "a": 1 }, + { "px": [240,112], "src": [48,48], "f": 0, "t": 36, "d": [127], "a": 1 }, + { "px": [16,128], "src": [0,80], "f": 0, "t": 55, "d": [129], "a": 1 }, + { "px": [32,128], "src": [16,80], "f": 0, "t": 56, "d": [130], "a": 1 }, + { "px": [48,128], "src": [0,80], "f": 0, "t": 55, "d": [131], "a": 1 }, + { "px": [64,128], "src": [0,80], "f": 0, "t": 55, "d": [132], "a": 1 }, + { "px": [80,128], "src": [16,80], "f": 0, "t": 56, "d": [133], "a": 1 }, + { "px": [96,128], "src": [32,80], "f": 0, "t": 57, "d": [134], "a": 1 }, + { "px": [112,128], "src": [48,80], "f": 0, "t": 58, "d": [135], "a": 1 }, + { "px": [128,128], "src": [16,80], "f": 0, "t": 56, "d": [136], "a": 1 }, + { "px": [144,128], "src": [32,80], "f": 0, "t": 57, "d": [137], "a": 1 }, + { "px": [160,128], "src": [16,80], "f": 0, "t": 56, "d": [138], "a": 1 }, + { "px": [176,128], "src": [32,80], "f": 0, "t": 57, "d": [139], "a": 1 }, + { "px": [192,128], "src": [80,48], "f": 0, "t": 38, "d": [140], "a": 1 }, + { "px": [208,128], "src": [64,48], "f": 0, "t": 37, "d": [141], "a": 1 }, + { "px": [224,128], "src": [48,48], "f": 0, "t": 36, "d": [142], "a": 1 }, + { "px": [240,128], "src": [64,48], "f": 0, "t": 37, "d": [143], "a": 1 }, + { "px": [16,144], "src": [0,80], "f": 0, "t": 55, "d": [145], "a": 1 }, + { "px": [32,144], "src": [16,80], "f": 0, "t": 56, "d": [146], "a": 1 }, + { "px": [48,144], "src": [32,80], "f": 0, "t": 57, "d": [147], "a": 1 }, + { "px": [64,144], "src": [32,80], "f": 0, "t": 57, "d": [148], "a": 1 }, + { "px": [80,144], "src": [32,80], "f": 0, "t": 57, "d": [149], "a": 1 }, + { "px": [96,144], "src": [32,80], "f": 0, "t": 57, "d": [150], "a": 1 }, + { "px": [112,144], "src": [16,80], "f": 0, "t": 56, "d": [151], "a": 1 }, + { "px": [128,144], "src": [0,80], "f": 0, "t": 55, "d": [152], "a": 1 }, + { "px": [144,144], "src": [48,80], "f": 0, "t": 58, "d": [153], "a": 1 }, + { "px": [160,144], "src": [0,80], "f": 0, "t": 55, "d": [154], "a": 1 }, + { "px": [176,144], "src": [32,80], "f": 0, "t": 57, "d": [155], "a": 1 }, + { "px": [192,144], "src": [80,48], "f": 0, "t": 38, "d": [156], "a": 1 }, + { "px": [208,144], "src": [48,48], "f": 0, "t": 36, "d": [157], "a": 1 }, + { "px": [224,144], "src": [32,48], "f": 0, "t": 35, "d": [158], "a": 1 }, + { "px": [240,144], "src": [0,48], "f": 0, "t": 33, "d": [159], "a": 1 }, + { "px": [16,160], "src": [32,80], "f": 0, "t": 57, "d": [161], "a": 1 }, + { "px": [32,160], "src": [48,80], "f": 0, "t": 58, "d": [162], "a": 1 }, + { "px": [48,160], "src": [16,80], "f": 0, "t": 56, "d": [163], "a": 1 }, + { "px": [64,160], "src": [32,80], "f": 0, "t": 57, "d": [164], "a": 1 }, + { "px": [80,160], "src": [16,80], "f": 0, "t": 56, "d": [165], "a": 1 }, + { "px": [96,160], "src": [32,80], "f": 0, "t": 57, "d": [166], "a": 1 }, + { "px": [112,160], "src": [32,80], "f": 0, "t": 57, "d": [167], "a": 1 }, + { "px": [128,160], "src": [0,80], "f": 0, "t": 55, "d": [168], "a": 1 }, + { "px": [144,160], "src": [48,80], "f": 0, "t": 58, "d": [169], "a": 1 }, + { "px": [160,160], "src": [48,80], "f": 0, "t": 58, "d": [170], "a": 1 }, + { "px": [176,160], "src": [32,80], "f": 0, "t": 57, "d": [171], "a": 1 }, + { "px": [192,160], "src": [48,48], "f": 0, "t": 36, "d": [172], "a": 1 }, + { "px": [208,160], "src": [32,48], "f": 0, "t": 35, "d": [173], "a": 1 }, + { "px": [224,160], "src": [80,48], "f": 0, "t": 38, "d": [174], "a": 1 }, + { "px": [240,160], "src": [64,48], "f": 0, "t": 37, "d": [175], "a": 1 }, + { "px": [64,176], "src": [16,80], "f": 0, "t": 56, "d": [180], "a": 1 }, + { "px": [80,176], "src": [32,80], "f": 0, "t": 57, "d": [181], "a": 1 }, + { "px": [96,176], "src": [32,80], "f": 0, "t": 57, "d": [182], "a": 1 }, + { "px": [112,176], "src": [16,80], "f": 0, "t": 56, "d": [183], "a": 1 }, + { "px": [128,176], "src": [0,80], "f": 0, "t": 55, "d": [184], "a": 1 }, + { "px": [144,176], "src": [0,80], "f": 0, "t": 55, "d": [185], "a": 1 }, + { "px": [160,176], "src": [16,80], "f": 0, "t": 56, "d": [186], "a": 1 }, + { "px": [176,176], "src": [32,80], "f": 0, "t": 57, "d": [187], "a": 1 }, + { "px": [192,176], "src": [80,48], "f": 0, "t": 38, "d": [188], "a": 1 }, + { "px": [208,176], "src": [32,48], "f": 0, "t": 35, "d": [189], "a": 1 }, + { "px": [224,176], "src": [0,48], "f": 0, "t": 33, "d": [190], "a": 1 }, + { "px": [240,176], "src": [16,48], "f": 0, "t": 34, "d": [191], "a": 1 }, + { "px": [128,192], "src": [0,80], "f": 0, "t": 55, "d": [200], "a": 1 }, + { "px": [144,192], "src": [0,80], "f": 0, "t": 55, "d": [201], "a": 1 }, + { "px": [160,192], "src": [32,80], "f": 0, "t": 57, "d": [202], "a": 1 }, + { "px": [192,192], "src": [32,48], "f": 0, "t": 35, "d": [204], "a": 1 }, + { "px": [208,192], "src": [32,48], "f": 0, "t": 35, "d": [205], "a": 1 }, + { "px": [224,192], "src": [32,48], "f": 0, "t": 35, "d": [206], "a": 1 }, + { "px": [240,192], "src": [32,48], "f": 0, "t": 35, "d": [207], "a": 1 }, + { "px": [0,208], "src": [0,48], "f": 0, "t": 33, "d": [208], "a": 1 }, + { "px": [16,208], "src": [48,48], "f": 0, "t": 36, "d": [209], "a": 1 }, + { "px": [32,208], "src": [64,48], "f": 0, "t": 37, "d": [210], "a": 1 }, + { "px": [48,208], "src": [80,48], "f": 0, "t": 38, "d": [211], "a": 1 }, + { "px": [64,208], "src": [64,48], "f": 0, "t": 37, "d": [212], "a": 1 }, + { "px": [80,208], "src": [16,48], "f": 0, "t": 34, "d": [213], "a": 1 }, + { "px": [96,208], "src": [0,48], "f": 0, "t": 33, "d": [214], "a": 1 }, + { "px": [112,208], "src": [48,48], "f": 0, "t": 36, "d": [215], "a": 1 }, + { "px": [128,208], "src": [0,80], "f": 0, "t": 55, "d": [216], "a": 1 }, + { "px": [144,208], "src": [0,80], "f": 0, "t": 55, "d": [217], "a": 1 }, + { "px": [160,208], "src": [32,80], "f": 0, "t": 57, "d": [218], "a": 1 }, + { "px": [176,208], "src": [0,48], "f": 0, "t": 33, "d": [219], "a": 1 }, + { "px": [192,208], "src": [80,48], "f": 0, "t": 38, "d": [220], "a": 1 }, + { "px": [208,208], "src": [32,48], "f": 0, "t": 35, "d": [221], "a": 1 }, + { "px": [224,208], "src": [32,48], "f": 0, "t": 35, "d": [222], "a": 1 }, + { "px": [240,208], "src": [0,48], "f": 0, "t": 33, "d": [223], "a": 1 }, + { "px": [0,224], "src": [0,48], "f": 0, "t": 33, "d": [224], "a": 1 }, + { "px": [16,224], "src": [80,48], "f": 0, "t": 38, "d": [225], "a": 1 }, + { "px": [32,224], "src": [64,48], "f": 0, "t": 37, "d": [226], "a": 1 }, + { "px": [48,224], "src": [16,48], "f": 0, "t": 34, "d": [227], "a": 1 }, + { "px": [64,224], "src": [16,48], "f": 0, "t": 34, "d": [228], "a": 1 }, + { "px": [80,224], "src": [48,48], "f": 0, "t": 36, "d": [229], "a": 1 }, + { "px": [96,224], "src": [80,48], "f": 0, "t": 38, "d": [230], "a": 1 }, + { "px": [112,224], "src": [16,48], "f": 0, "t": 34, "d": [231], "a": 1 }, + { "px": [128,224], "src": [48,80], "f": 0, "t": 58, "d": [232], "a": 1 }, + { "px": [144,224], "src": [16,80], "f": 0, "t": 56, "d": [233], "a": 1 }, + { "px": [160,224], "src": [16,80], "f": 0, "t": 56, "d": [234], "a": 1 }, + { "px": [176,224], "src": [32,48], "f": 0, "t": 35, "d": [235], "a": 1 }, + { "px": [192,224], "src": [80,48], "f": 0, "t": 38, "d": [236], "a": 1 }, + { "px": [208,224], "src": [16,48], "f": 0, "t": 34, "d": [237], "a": 1 }, + { "px": [224,224], "src": [64,48], "f": 0, "t": 37, "d": [238], "a": 1 }, + { "px": [240,224], "src": [32,48], "f": 0, "t": 35, "d": [239], "a": 1 }, + { "px": [0,240], "src": [16,48], "f": 0, "t": 34, "d": [240], "a": 1 }, + { "px": [16,240], "src": [64,48], "f": 0, "t": 37, "d": [241], "a": 1 }, + { "px": [32,240], "src": [32,48], "f": 0, "t": 35, "d": [242], "a": 1 }, + { "px": [48,240], "src": [0,48], "f": 0, "t": 33, "d": [243], "a": 1 }, + { "px": [64,240], "src": [48,48], "f": 0, "t": 36, "d": [244], "a": 1 }, + { "px": [80,240], "src": [32,48], "f": 0, "t": 35, "d": [245], "a": 1 }, + { "px": [96,240], "src": [80,48], "f": 0, "t": 38, "d": [246], "a": 1 }, + { "px": [112,240], "src": [48,48], "f": 0, "t": 36, "d": [247], "a": 1 }, + { "px": [128,240], "src": [16,48], "f": 0, "t": 34, "d": [248], "a": 1 }, + { "px": [144,240], "src": [48,80], "f": 0, "t": 58, "d": [249], "a": 1 }, + { "px": [160,240], "src": [0,80], "f": 0, "t": 55, "d": [250], "a": 1 }, + { "px": [176,240], "src": [48,48], "f": 0, "t": 36, "d": [251], "a": 1 }, + { "px": [192,240], "src": [64,48], "f": 0, "t": 37, "d": [252], "a": 1 }, + { "px": [208,240], "src": [48,48], "f": 0, "t": 36, "d": [253], "a": 1 }, + { "px": [224,240], "src": [0,48], "f": 0, "t": 33, "d": [254], "a": 1 }, + { "px": [240,240], "src": [0,48], "f": 0, "t": 33, "d": [255], "a": 1 } + ], + "entityInstances": [] + }, + { + "__identifier": "Default_floor", + "__type": "AutoLayer", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 1, + "__tilesetRelPath": "../tilemaps/TopDown_by_deepnight.png", + "iid": "d89fa6e3-5e50-11f0-8497-45206cfa996c", + "levelId": 173, + "layerDefUid": 128, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [ + { "px": [0,0], "src": [16,64], "f": 0, "t": 45, "d": [130,0], "a": 1 }, + { "px": [16,0], "src": [64,64], "f": 0, "t": 48, "d": [130,1], "a": 1 }, + { "px": [32,0], "src": [64,64], "f": 0, "t": 48, "d": [130,2], "a": 1 }, + { "px": [48,0], "src": [32,64], "f": 0, "t": 46, "d": [130,3], "a": 1 }, + { "px": [64,0], "src": [112,64], "f": 0, "t": 51, "d": [130,4], "a": 1 }, + { "px": [80,0], "src": [96,64], "f": 0, "t": 50, "d": [130,5], "a": 1 }, + { "px": [96,0], "src": [64,64], "f": 0, "t": 48, "d": [130,6], "a": 1 }, + { "px": [112,0], "src": [48,64], "f": 0, "t": 47, "d": [130,7], "a": 1 }, + { "px": [128,0], "src": [80,64], "f": 0, "t": 49, "d": [130,8], "a": 1 }, + { "px": [144,0], "src": [80,64], "f": 0, "t": 49, "d": [130,9], "a": 1 }, + { "px": [160,0], "src": [112,64], "f": 0, "t": 51, "d": [130,10], "a": 1 }, + { "px": [176,0], "src": [112,64], "f": 0, "t": 51, "d": [130,11], "a": 1 }, + { "px": [192,0], "src": [16,64], "f": 0, "t": 45, "d": [130,12], "a": 1 }, + { "px": [208,0], "src": [48,64], "f": 0, "t": 47, "d": [130,13], "a": 1 }, + { "px": [224,0], "src": [64,64], "f": 0, "t": 48, "d": [130,14], "a": 1 }, + { "px": [240,0], "src": [80,64], "f": 0, "t": 49, "d": [130,15], "a": 1 }, + { "px": [128,48], "src": [0,64], "f": 0, "t": 44, "d": [130,56], "a": 1 }, + { "px": [144,48], "src": [48,64], "f": 0, "t": 47, "d": [130,57], "a": 1 }, + { "px": [160,48], "src": [48,64], "f": 0, "t": 47, "d": [130,58], "a": 1 }, + { "px": [176,48], "src": [0,64], "f": 0, "t": 44, "d": [130,59], "a": 1 }, + { "px": [192,48], "src": [16,64], "f": 0, "t": 45, "d": [130,60], "a": 1 }, + { "px": [208,48], "src": [0,64], "f": 0, "t": 44, "d": [130,61], "a": 1 }, + { "px": [64,64], "src": [64,64], "f": 0, "t": 48, "d": [130,68], "a": 1 }, + { "px": [80,64], "src": [0,64], "f": 0, "t": 44, "d": [130,69], "a": 1 }, + { "px": [96,64], "src": [32,64], "f": 0, "t": 46, "d": [130,70], "a": 1 }, + { "px": [128,64], "src": [80,64], "f": 0, "t": 49, "d": [130,72], "a": 1 }, + { "px": [144,64], "src": [96,64], "f": 0, "t": 50, "d": [130,73], "a": 1 }, + { "px": [160,64], "src": [96,64], "f": 0, "t": 50, "d": [130,74], "a": 1 }, + { "px": [176,64], "src": [64,64], "f": 0, "t": 48, "d": [130,75], "a": 1 }, + { "px": [192,64], "src": [64,64], "f": 0, "t": 48, "d": [130,76], "a": 1 }, + { "px": [208,64], "src": [0,64], "f": 0, "t": 44, "d": [130,77], "a": 1 }, + { "px": [64,80], "src": [48,64], "f": 0, "t": 47, "d": [130,84], "a": 1 }, + { "px": [80,80], "src": [32,64], "f": 0, "t": 46, "d": [130,85], "a": 1 }, + { "px": [96,80], "src": [16,64], "f": 0, "t": 45, "d": [130,86], "a": 1 }, + { "px": [112,80], "src": [112,64], "f": 0, "t": 51, "d": [130,87], "a": 1 }, + { "px": [128,80], "src": [48,64], "f": 0, "t": 47, "d": [130,88], "a": 1 }, + { "px": [144,80], "src": [0,64], "f": 0, "t": 44, "d": [130,89], "a": 1 }, + { "px": [160,80], "src": [48,64], "f": 0, "t": 47, "d": [130,90], "a": 1 }, + { "px": [176,80], "src": [0,64], "f": 0, "t": 44, "d": [130,91], "a": 1 }, + { "px": [192,80], "src": [112,64], "f": 0, "t": 51, "d": [130,92], "a": 1 }, + { "px": [208,80], "src": [80,64], "f": 0, "t": 49, "d": [130,93], "a": 1 }, + { "px": [64,96], "src": [32,64], "f": 0, "t": 46, "d": [130,100], "a": 1 }, + { "px": [80,96], "src": [96,64], "f": 0, "t": 50, "d": [130,101], "a": 1 }, + { "px": [96,96], "src": [80,64], "f": 0, "t": 49, "d": [130,102], "a": 1 }, + { "px": [112,96], "src": [112,64], "f": 0, "t": 51, "d": [130,103], "a": 1 }, + { "px": [128,96], "src": [64,64], "f": 0, "t": 48, "d": [130,104], "a": 1 }, + { "px": [144,96], "src": [32,64], "f": 0, "t": 46, "d": [130,105], "a": 1 }, + { "px": [160,96], "src": [16,64], "f": 0, "t": 45, "d": [130,106], "a": 1 }, + { "px": [176,96], "src": [48,64], "f": 0, "t": 47, "d": [130,107], "a": 1 }, + { "px": [192,96], "src": [0,64], "f": 0, "t": 44, "d": [130,108], "a": 1 }, + { "px": [208,96], "src": [112,64], "f": 0, "t": 51, "d": [130,109], "a": 1 }, + { "px": [64,112], "src": [0,64], "f": 0, "t": 44, "d": [130,116], "a": 1 }, + { "px": [80,112], "src": [32,64], "f": 0, "t": 46, "d": [130,117], "a": 1 }, + { "px": [96,112], "src": [48,64], "f": 0, "t": 47, "d": [130,118], "a": 1 }, + { "px": [128,112], "src": [96,64], "f": 0, "t": 50, "d": [130,120], "a": 1 }, + { "px": [144,112], "src": [112,64], "f": 0, "t": 51, "d": [130,121], "a": 1 }, + { "px": [160,112], "src": [48,64], "f": 0, "t": 47, "d": [130,122], "a": 1 }, + { "px": [176,112], "src": [64,64], "f": 0, "t": 48, "d": [130,123], "a": 1 }, + { "px": [192,112], "src": [48,64], "f": 0, "t": 47, "d": [130,124], "a": 1 }, + { "px": [208,112], "src": [32,64], "f": 0, "t": 46, "d": [130,125], "a": 1 }, + { "px": [16,128], "src": [0,64], "f": 0, "t": 44, "d": [130,129], "a": 1 }, + { "px": [32,128], "src": [16,64], "f": 0, "t": 45, "d": [130,130], "a": 1 }, + { "px": [48,128], "src": [0,64], "f": 0, "t": 44, "d": [130,131], "a": 1 }, + { "px": [64,128], "src": [96,64], "f": 0, "t": 50, "d": [130,132], "a": 1 }, + { "px": [80,128], "src": [80,64], "f": 0, "t": 49, "d": [130,133], "a": 1 }, + { "px": [144,128], "src": [48,64], "f": 0, "t": 47, "d": [130,137], "a": 1 }, + { "px": [160,128], "src": [80,64], "f": 0, "t": 49, "d": [130,138], "a": 1 }, + { "px": [176,128], "src": [80,64], "f": 0, "t": 49, "d": [130,139], "a": 1 }, + { "px": [16,144], "src": [96,64], "f": 0, "t": 50, "d": [130,145], "a": 1 }, + { "px": [32,144], "src": [32,64], "f": 0, "t": 46, "d": [130,146], "a": 1 }, + { "px": [48,144], "src": [32,64], "f": 0, "t": 46, "d": [130,147], "a": 1 }, + { "px": [64,144], "src": [48,64], "f": 0, "t": 47, "d": [130,148], "a": 1 }, + { "px": [80,144], "src": [0,64], "f": 0, "t": 44, "d": [130,149], "a": 1 }, + { "px": [96,144], "src": [48,64], "f": 0, "t": 47, "d": [130,150], "a": 1 }, + { "px": [128,144], "src": [64,64], "f": 0, "t": 48, "d": [130,152], "a": 1 }, + { "px": [144,144], "src": [64,64], "f": 0, "t": 48, "d": [130,153], "a": 1 }, + { "px": [160,144], "src": [0,64], "f": 0, "t": 44, "d": [130,154], "a": 1 }, + { "px": [176,144], "src": [112,64], "f": 0, "t": 51, "d": [130,155], "a": 1 }, + { "px": [16,160], "src": [112,64], "f": 0, "t": 51, "d": [130,161], "a": 1 }, + { "px": [32,160], "src": [32,64], "f": 0, "t": 46, "d": [130,162], "a": 1 }, + { "px": [48,160], "src": [32,64], "f": 0, "t": 46, "d": [130,163], "a": 1 }, + { "px": [64,160], "src": [96,64], "f": 0, "t": 50, "d": [130,164], "a": 1 }, + { "px": [80,160], "src": [96,64], "f": 0, "t": 50, "d": [130,165], "a": 1 }, + { "px": [96,160], "src": [16,64], "f": 0, "t": 45, "d": [130,166], "a": 1 }, + { "px": [112,160], "src": [112,64], "f": 0, "t": 51, "d": [130,167], "a": 1 }, + { "px": [128,160], "src": [64,64], "f": 0, "t": 48, "d": [130,168], "a": 1 }, + { "px": [144,160], "src": [80,64], "f": 0, "t": 49, "d": [130,169], "a": 1 }, + { "px": [160,160], "src": [32,64], "f": 0, "t": 46, "d": [130,170], "a": 1 }, + { "px": [176,160], "src": [96,64], "f": 0, "t": 50, "d": [130,171], "a": 1 }, + { "px": [64,176], "src": [96,64], "f": 0, "t": 50, "d": [130,180], "a": 1 }, + { "px": [80,176], "src": [64,64], "f": 0, "t": 48, "d": [130,181], "a": 1 }, + { "px": [96,176], "src": [64,64], "f": 0, "t": 48, "d": [130,182], "a": 1 }, + { "px": [112,176], "src": [0,64], "f": 0, "t": 44, "d": [130,183], "a": 1 }, + { "px": [128,176], "src": [48,64], "f": 0, "t": 47, "d": [130,184], "a": 1 }, + { "px": [144,176], "src": [16,64], "f": 0, "t": 45, "d": [130,185], "a": 1 }, + { "px": [160,176], "src": [96,64], "f": 0, "t": 50, "d": [130,186], "a": 1 }, + { "px": [176,176], "src": [0,64], "f": 0, "t": 44, "d": [130,187], "a": 1 }, + { "px": [128,192], "src": [0,64], "f": 0, "t": 44, "d": [130,200], "a": 1 }, + { "px": [144,192], "src": [64,64], "f": 0, "t": 48, "d": [130,201], "a": 1 }, + { "px": [160,192], "src": [112,64], "f": 0, "t": 51, "d": [130,202], "a": 1 }, + { "px": [128,208], "src": [96,64], "f": 0, "t": 50, "d": [130,216], "a": 1 }, + { "px": [144,208], "src": [112,64], "f": 0, "t": 51, "d": [130,217], "a": 1 }, + { "px": [160,208], "src": [96,64], "f": 0, "t": 50, "d": [130,218], "a": 1 }, + { "px": [128,224], "src": [48,64], "f": 0, "t": 47, "d": [130,232], "a": 1 }, + { "px": [144,224], "src": [80,64], "f": 0, "t": 49, "d": [130,233], "a": 1 }, + { "px": [160,224], "src": [48,64], "f": 0, "t": 47, "d": [130,234], "a": 1 }, + { "px": [144,240], "src": [32,64], "f": 0, "t": 46, "d": [130,249], "a": 1 }, + { "px": [160,240], "src": [32,64], "f": 0, "t": 46, "d": [130,250], "a": 1 } + ], + "seed": 3267249, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + } + ], + "__neighbours": [ { "levelIid": "d53f9950-c640-11ed-8430-4942c04951ff", "dir": "sw" }, { "levelIid": "e06b8660-c640-11ed-8430-7b6fcb3e9e6b", "dir": "s" } ] + }, + { + "identifier": "World_Level_4", "iid": "6819b330-3740-11f0-8612-85d65c9acf56", "uid": 170, "worldX": -256, - "worldY": 512, + "worldY": 0, "worldDepth": 0, "pxWid": 256, "pxHei": 256, From 046cc8dba8c597c8b1c3acf53aa8113f2e32c925 Mon Sep 17 00:00:00 2001 From: RobertoMaurizzi Date: Thu, 17 Jul 2025 16:52:48 +0800 Subject: [PATCH 3/8] better var name, reduce debug logging --- src/demo/movement.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/demo/movement.rs b/src/demo/movement.rs index 30e3c52..be076fb 100644 --- a/src/demo/movement.rs +++ b/src/demo/movement.rs @@ -78,7 +78,7 @@ fn apply_movement( // no velocity... for now? It'd be nice to have different speed depending on the tile type // let velocity = controller.max_speed * controller.intent; - for mut player_grid_coords in players.iter_mut() { + for mut player_abs_coords in players.iter_mut() { let movement_direction = if controller.intent.x == 1.0 { GridCoords::new(1, 0) } else if controller.intent.x == -1.0 { @@ -95,14 +95,14 @@ fn apply_movement( warn!("Unrecognized intent: {:?}", controller.intent); return; }; - info!("player old coords: {:?}", player_grid_coords); - let destination = *player_grid_coords + movement_direction; + info!("player old absolute coords: {:?}", player_abs_coords); + let destination = *player_abs_coords + movement_direction; info!("commanded movement player coords: {:?}", destination); - info!("Level selection: {:?}", level_selection_iid); + debug!("Level selection: {:?}", level_selection_iid); if !level_walls.in_wall(level_selection_iid, &destination) { - *player_grid_coords = destination; - info!("new player grid_coords: {:?}", player_grid_coords); - info!( + *player_abs_coords = destination; + info!("new player grid_coords: {:?}", player_abs_coords); + trace!( "new player screen_coords: {:?}", player_transform_query.single() ); @@ -110,7 +110,7 @@ fn apply_movement( } else { info!("SDENG!"); } - level_walls.debug_collisions(level_selection_iid, &player_grid_coords); + level_walls.debug_collisions(level_selection_iid, &player_abs_coords); } } } From ff9007c0f2f9cf6983a9d5c16ce2aba1b2930375 Mon Sep 17 00:00:00 2001 From: RobertoMaurizzi Date: Thu, 17 Jul 2025 16:54:48 +0800 Subject: [PATCH 4/8] register and bundle EntityInstance, make PlayerBundle pub --- src/demo/player.rs | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/demo/player.rs b/src/demo/player.rs index 92bff45..5832f0a 100644 --- a/src/demo/player.rs +++ b/src/demo/player.rs @@ -19,6 +19,7 @@ use crate::{ pub(super) fn plugin(app: &mut App) { app.register_type::(); + app.register_type::(); app.register_type::(); app.load_resource::(); app.register_ldtk_entity::("Player"); @@ -72,16 +73,21 @@ pub(super) fn plugin(app: &mut App) { pub struct Player; #[derive(Default, Bundle, LdtkEntity)] -struct PlayerBundle { +pub struct PlayerBundle { #[sprite_sheet] - sprite_sheet: Sprite, + pub sprite_sheet: Sprite, #[worldly] - worldly: Worldly, + pub worldly: Worldly, #[grid_coords] - grid_coords: GridCoords, - // non-ecsldtk-related components - player_comp: Player, - movement: MovementController, + pub grid_coords: GridCoords, + #[from_entity_instance] + pub entity: EntityInstance, + // EntityInstance gives access to entity-specific fields defined in LDtk as + // EntityInstance.field_instances.get("field_name") + + // non-ecs-ldtk-related components + pub player: Player, + pub movement: MovementController, } fn record_player_directional_input( @@ -107,10 +113,6 @@ fn record_player_directional_input( intent.x += 1.0; } - // Normalize intent so that diagonal movement is the same speed as horizontal / vertical. - // This should be omitted if the input comes from an analog stick instead. - let intent = intent.normalize_or_zero(); - // Apply movement intent to controllers. for mut controller in &mut controller_query { controller.intent = intent; From 2f727e403d92e81dfc143fd53505304732442473 Mon Sep 17 00:00:00 2001 From: RobertoMaurizzi Date: Thu, 17 Jul 2025 17:00:51 +0800 Subject: [PATCH 5/8] =?UTF-8?q?finally=20understand=20how=20to=20remap=20c?= =?UTF-8?q?oordinates=20between=20LDtk=20and=20Bevy=20=F0=9F=98=B5?= =?UTF-8?q?=E2=80=8D=F0=9F=92=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/demo/level.rs | 168 +++++++++++++++++++++++++--------------------- 1 file changed, 92 insertions(+), 76 deletions(-) diff --git a/src/demo/level.rs b/src/demo/level.rs index 0a37418..618c650 100644 --- a/src/demo/level.rs +++ b/src/demo/level.rs @@ -6,7 +6,11 @@ use bevy::{ prelude::*, window::PrimaryWindow, }; -use bevy_ecs_ldtk::{ldtk::NeighbourLevel, prelude::*}; +use bevy_ecs_ldtk::{ + ldtk::{NeighbourLevel, TileInstance}, + prelude::*, + utils::int_grid_index_to_grid_coords, +}; use crate::{ asset_tracking::LoadResource, audio::music, demo::player::PlayerAssets, screens::Screen, @@ -17,6 +21,7 @@ use super::player::Player; pub(super) fn plugin(app: &mut App) { app.add_plugins(LdtkPlugin) .insert_resource(LevelSelection::iid("d53f9950-c640-11ed-8430-4942c04951ff")) + // .insert_resource(LevelSelection::iid("34f51d20-8990-11ee-b0d1-cfeb0e9e30f6")) .insert_resource(LdtkSettings { level_spawn_behavior: LevelSpawnBehavior::UseWorldTranslation { load_level_neighbors: true, @@ -40,7 +45,8 @@ pub(super) fn plugin(app: &mut App) { level_selection_follow_player, cache_wall_locations, pan_camera, - ), + ) + .chain(), ); } @@ -64,6 +70,7 @@ impl FromWorld for LevelAssets { Self { music: assets.load("audio/music/Fluffing A Duck.ogg"), world: assets.load("levels/world.ldtk").into(), + // world: assets.load("levels/tile-based-game.ldtk").into(), // world: assets.load("levels/collectathon.ldtk").into(), } } @@ -97,11 +104,13 @@ fn translate_grid_coords_entities( // TODO: what is this used for? Why it doesn't work for a moving Player? for (mut transform, grid_coords) in grid_coords_entities.iter_mut() { info!("Changed GridCoords: {grid_coords:?}"); + info!("Previous traslation: {:?}", transform.translation); transform.translation = (bevy_ecs_ldtk::utils::grid_coords_to_translation( *grid_coords, IVec2::splat(GRID_SIZE), )) .extend(transform.translation.z); + info!("Updated traslation: {:?}", transform.translation); } } @@ -155,6 +164,8 @@ pub fn convert_neighbors( #[reflect(Resource)] pub struct LevelWalls { wall_locations: HashSet, + level_tile_pos_x: i32, + level_tile_pos_y: i32, level_width: i32, level_height: i32, level_neighbours: HashMap, @@ -177,18 +188,36 @@ impl LevelWalls { "map for a level that is x: {} by y: {}", self.level_width, self.level_height ); - for y in (0..self.level_height) { + info!("player pos: {:?}", player_pos); + println!( + "level world coordinates: x: {} y: {}", + self.level_tile_pos_x, self.level_tile_pos_y + ); + // FIXME: kwwp aligned with MultiLevelWalls.in_wall.translated_coords + let player_translated_coords = GridCoords::new( + player_pos.x - self.level_tile_pos_x, + player_pos.y - (-self.level_tile_pos_y - self.level_height), + ); + println!("Player absolute coords: {:?}", *player_pos); + println!("Player relative coords: {player_translated_coords:?}"); + for y in (0..self.level_height).rev() { for x in 0..self.level_width { + // let coords = GridCoords::new(x + self.level_tile_pos_x, y + self.level_tile_pos_y); let coords = GridCoords::new(x, y); - if coords == *player_pos { + if coords.x == 0 { + print!("[X :{:03} Y: {:03}] ", coords.x, coords.y); + } + if coords == player_translated_coords { print!("@"); } else if self.in_wall(&coords) { print!("X"); } else { print!("_"); } + if coords.x == (self.level_width - 1) { + println!("[X :{:03} Y: {:03}] ", coords.x, coords.y); + } } - println!(" [y: {y:02}]"); } } } @@ -201,7 +230,23 @@ pub struct MultiLevelWalls { impl MultiLevelWalls { pub fn in_wall(&self, level: &LevelIid, grid_coords: &GridCoords) -> bool { - self.cache[level].in_wall(grid_coords) + let translated_coords = GridCoords::new( + // FIXME: x seems to work, y... not so much. + // Level UNDER the "zero level strip" by a level_height has: + // level world coordinates: x: -16 y: 0 + // Player absolute coords: GridCoords { x: -8, y: -1 } y should be 15 + // Player relative coords: GridCoords { x: 8, y: -1 } + // Level ABOVE the "zero level strip" by a level_height has: + // level world coordinates: x: 32 y: -32 + // Player absolute coords: GridCoords { x: 42, y: 17 } + // Player relative coords: GridCoords { x: 10, y: 17 } y should be 1 + // level world coordinates: x: 32 y: -16 + // Player absolute coords: GridCoords { x: 41, y: 16 } + // Player relative coords: GridCoords { x: 9, y: 16 } y should be 0 + grid_coords.x - self.cache[level].level_tile_pos_x, + grid_coords.y - (-self.cache[level].level_tile_pos_y - self.cache[level].level_height), + ); + self.cache[level].in_wall(&translated_coords) } pub fn debug_collisions(&self, level: &LevelIid, player_pos: &GridCoords) { if let Some(level) = self.cache.get(level) { @@ -218,68 +263,27 @@ pub fn spawn_level( window: Single<&Window, With>, level_assets: Res, ) { - let half_size = window.size() / 2.0; + // let half_size = window.size() / 2.0; commands.spawn(( Name::new("Ldtk level"), StateScoped(Screen::Gameplay), LdtkWorldBundle { ldtk_handle: level_assets.world.clone(), - transform: Transform::from_xyz(-half_size.x, half_size.y, 0.0), + // transform: Transform::from_xyz(-half_size.x, half_size.y, 0.0), ..Default::default() }, )); } -fn _old_cache_wall_locations( - level_selection: Res, - mut level_walls: ResMut, - mut level_events: EventReader, - walls: Query<&GridCoords, With>, - ldtk_project_entities: Query<&LdtkProjectHandle>, - ldtk_project_assets: Res>, -) -> Result { - for level_event in level_events.read() { - if let LevelEvent::Spawned(level_iid) = level_event { - let ldtk_project = ldtk_project_assets - .get(ldtk_project_entities.single()?) - .expect("LdtkProject should be loaded when level is spawned"); - let level = ldtk_project - .get_raw_level_by_iid(level_iid.get()) - .expect("spawned level should exist in project"); - - let wall_locations = walls.iter().copied().collect(); - - info!( - "loading level of dimension x: {} by y: {}", - level.px_wid, level.px_hei - ); - let new_level_walls = LevelWalls { - wall_locations, - level_width: level.px_wid / GRID_SIZE, - level_height: level.px_hei / GRID_SIZE, - ..Default::default() - }; - - *level_walls = new_level_walls; - info!( - "new level tile dimensions are x: {} y {}", - level_walls.level_width, level_walls.level_height - ); - level_walls.debug_collisions(&GridCoords::default()); - } - } - Ok(()) -} - fn cache_wall_locations( mut levels_wall_cache: ResMut, mut level_events: EventReader, - walls: Query<(&ChildOf, &GridCoords), With>, ldtk_project_entities: Query<&LdtkProjectHandle>, ldtk_project_assets: Res>, ) -> Result { let multi_level_walls = levels_wall_cache.into_inner(); + let pippo: TileInstance = TileInstance::default(); for level_event in level_events.read() { if let LevelEvent::Spawned(level_iid) = level_event { @@ -291,47 +295,60 @@ fn cache_wall_locations( .expect("spawned level should exist in project"); let mut wall_locations = HashSet::::default(); - info!("current level neighbours: {:?}", level.neighbours); + let mut last_coord: GridCoords = GridCoords::default(); + trace!("current level neighbours: {:?}", level.neighbours); + trace!( + "Level world coordinates: x [{}], y[{}]", + level.world_x, level.world_y + ); + + let level_tile_pos_x = level.world_x / GRID_SIZE; + let level_tile_pos_y = level.world_y / GRID_SIZE; + let level_tile_width = level.px_wid / GRID_SIZE; + trace!( + "Level tile coordinates: x [{}], y[{}]", + level_tile_pos_x, level_tile_pos_y + ); if let Some(layers) = level.layer_instances.clone() { // info!("layers: {:?}", layers); layers.iter().for_each(|field| { info!("Layer field: {:?}", field.identifier); if field.identifier == "Walls" { info!("Found walls layer: {:?}", field.int_grid_csv); - info!("Trying to format it"); - // FIXME: a .rev() here? It doesn't look necessary from what gets printed - // remember to fix the supposed "map dragging" too - for y in (0..(level.px_hei / GRID_SIZE)) { - for x in (0..(level.px_wid / GRID_SIZE)) { - let index = (y * level.px_wid / GRID_SIZE + x) as usize; - if let Some(value) = field.int_grid_csv.get(index) { - if *value == 1 { - print!("X"); - wall_locations.insert(GridCoords::new(x, y)); - } else { - print!("_"); - } - } + for (i, value) in field.int_grid_csv.iter().enumerate() { + let gc = int_grid_index_to_grid_coords( + i, + (level.px_wid / GRID_SIZE) as u32, + (level.px_hei / GRID_SIZE) as u32, + ); + let Some(gc) = gc else { + warn!("Invalid GridCoords for index {i}"); + continue; + }; + last_coord = GridCoords::new(gc.x, gc.y); + if last_coord.x == 0 { + print!("[X :{:03} Y: {:03}] ", last_coord.x, last_coord.y); + } + if *value == 1 { + print!("X"); + wall_locations.insert(last_coord); + } else { + print!("_"); + } + if last_coord.x == (level_tile_width - 1) { + println!(" [X :{:03} Y: {:03}]", last_coord.x, last_coord.y); } - println!(" [y: {y:02}]"); } } }); } - // level.iter_fields().for_each(|field| { - // info!("Field: {:?}", field); - // }); - // let wall_locations = walls.iter().map(|e| e.1).copied().collect(); - - info!( - "loading level of dimension x: {} by y: {}", - level.px_wid, level.px_hei - ); multi_level_walls.cache.insert( level_iid.clone(), // You'll need to clone the key since HashMap takes ownership LevelWalls { wall_locations, + level_tile_pos_x, + level_tile_pos_y, level_width: level.px_wid / GRID_SIZE, level_height: level.px_hei / GRID_SIZE, level_neighbours: convert_neighbors(&level.neighbours).unwrap_or_default(), // Convert neighbours to a HashMap @@ -344,7 +361,6 @@ fn cache_wall_locations( multi_level_walls.cache[level_iid].level_height, multi_level_walls.cache[level_iid].level_neighbours, ); - multi_level_walls.cache[level_iid].debug_collisions(&GridCoords::default()); } } Ok(()) From f48ac15cb703c9d6011f53b6cf559327d34e68ca Mon Sep 17 00:00:00 2001 From: RobertoMaurizzi Date: Thu, 17 Jul 2025 17:22:25 +0800 Subject: [PATCH 6/8] reduce debug spam again, use info! to emit collision map, works on web --- src/demo/level.rs | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/demo/level.rs b/src/demo/level.rs index 618c650..7a54941 100644 --- a/src/demo/level.rs +++ b/src/demo/level.rs @@ -184,12 +184,12 @@ impl LevelWalls { } pub fn debug_collisions(&self, player_pos: &GridCoords) { - info!( + debug!( "map for a level that is x: {} by y: {}", self.level_width, self.level_height ); - info!("player pos: {:?}", player_pos); - println!( + debug!("player pos: {:?}", player_pos); + debug!( "level world coordinates: x: {} y: {}", self.level_tile_pos_x, self.level_tile_pos_y ); @@ -198,24 +198,27 @@ impl LevelWalls { player_pos.x - self.level_tile_pos_x, player_pos.y - (-self.level_tile_pos_y - self.level_height), ); - println!("Player absolute coords: {:?}", *player_pos); - println!("Player relative coords: {player_translated_coords:?}"); + debug!("Player absolute coords: {:?}", *player_pos); + info!("Player relative coords: {player_translated_coords:?}"); for y in (0..self.level_height).rev() { + let mut lineoutput = String::from(""); for x in 0..self.level_width { - // let coords = GridCoords::new(x + self.level_tile_pos_x, y + self.level_tile_pos_y); let coords = GridCoords::new(x, y); if coords.x == 0 { - print!("[X :{:03} Y: {:03}] ", coords.x, coords.y); + // print!("[X :{:03} Y: {:03}] ", coords.x, coords.y); + lineoutput = format!("{lineoutput}[X :{:03} Y: {:03}] ", coords.x, coords.y); } if coords == player_translated_coords { - print!("@"); + lineoutput = format!("{lineoutput}@"); } else if self.in_wall(&coords) { - print!("X"); + lineoutput = format!("{lineoutput}X"); } else { - print!("_"); + lineoutput = format!("{lineoutput}_"); } if coords.x == (self.level_width - 1) { - println!("[X :{:03} Y: {:03}] ", coords.x, coords.y); + // println!("[X :{:03} Y: {:03}] ", coords.x, coords.y); + lineoutput = format!("{lineoutput} [X :{:03} Y: {:03}]", coords.x, coords.y); + info!("{lineoutput}"); } } } From a7b66d25cede6fca89c8fe97ca97548e95e36d2f Mon Sep 17 00:00:00 2001 From: RobertoMaurizzi Date: Thu, 17 Jul 2025 17:38:28 +0800 Subject: [PATCH 7/8] increase player size, change layer, reduce spam again --- assets/levels/world.ldtk | 1174 +++++++++++++++++++------------------- src/demo/level.rs | 4 +- 2 files changed, 589 insertions(+), 589 deletions(-) diff --git a/assets/levels/world.ldtk b/assets/levels/world.ldtk index 39d6274..870f763 100644 --- a/assets/levels/world.ldtk +++ b/assets/levels/world.ldtk @@ -26,7 +26,7 @@ "levelIid": "d53f9950-c640-11ed-8430-4942c04951ff", "layerIid": "d53f9951-c640-11ed-8430-3f3f71a3daf1", "entityIid": "1982b890-3740-11f0-881a-73ffe6c3eecc" - }, "worldX": 232, "worldY": -104, "widPx": 16, "heiPx": 16, "fields" : {} }] + }, "worldX": 168, "worldY": -104, "widPx": 24, "heiPx": 24, "fields" : {} }] }], "worldLayout": "GridVania", "worldGridWidth": 256, @@ -55,41 +55,6 @@ "customCommands": [], "flags": [ "ExportOldTableOfContentData", "UseMultilinesType" ], "defs": { "layers": [ - { - "__type": "Entities", - "identifier": "Entities", - "type": "Entities", - "uid": 54, - "doc": null, - "uiColor": "#0099DB", - "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": null, - "tilePivotX": 0, - "tilePivotY": 0, - "biomeFieldUid": null - }, { "__type": "AutoLayer", "identifier": "Wall_tops", @@ -793,6 +758,41 @@ "tilePivotY": 0, "biomeFieldUid": null }, + { + "__type": "Entities", + "identifier": "Entities", + "type": "Entities", + "uid": 54, + "doc": null, + "uiColor": "#0099DB", + "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": null, + "tilePivotX": 0, + "tilePivotY": 0, + "biomeFieldUid": null + }, { "__type": "Tiles", "identifier": "Custom_floor", @@ -926,8 +926,8 @@ "exportToToc": true, "allowOutOfBounds": false, "doc": null, - "width": 16, - "height": 16, + "width": 24, + "height": 24, "resizableX": false, "resizableY": false, "minWidth": null, @@ -1419,180 +1419,6 @@ "externalRelPath": null, "fieldInstances": [], "layerInstances": [ - { - "__identifier": "Entities", - "__type": "Entities", - "__cWid": 32, - "__cHei": 16, - "__gridSize": 16, - "__opacity": 1, - "__pxTotalOffsetX": 0, - "__pxTotalOffsetY": 0, - "__tilesetDefUid": null, - "__tilesetRelPath": null, - "iid": "d53f9951-c640-11ed-8430-3f3f71a3daf1", - "levelId": 109, - "layerDefUid": 54, - "pxOffsetX": 0, - "pxOffsetY": 0, - "visible": true, - "optionalRules": [], - "intGridCsv": [], - "autoLayerTiles": [], - "seed": 4328649, - "overrideTilesetUid": null, - "gridTiles": [], - "entityInstances": [ - { - "__identifier": "Door", - "__grid": [10,7], - "__pivot": [0,0], - "__tags": ["environment"], - "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, - "__smartColor": "#B86F50", - "iid": "8ac5dda0-c640-11ed-8430-8169bab5952b", - "width": 32, - "height": 16, - "defUid": 62, - "px": [160,112], - "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], - "__worldX": 160, - "__worldY": -144 - }, - { - "__identifier": "Door", - "__grid": [18,7], - "__pivot": [0,0], - "__tags": ["environment"], - "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, - "__smartColor": "#B86F50", - "iid": "8d4360c0-c640-11ed-8430-abb21cbec6c0", - "width": 32, - "height": 16, - "defUid": 62, - "px": [288,112], - "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], - "__worldX": 288, - "__worldY": -144 - }, - { - "__identifier": "Door", - "__grid": [7,9], - "__pivot": [0,0], - "__tags": ["environment"], - "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, - "__smartColor": "#B86F50", - "iid": "a1e0c860-c640-11ed-8430-e927d6a72261", - "width": 16, - "height": 48, - "defUid": 62, - "px": [112,144], - "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": "KeyA", "__tile": null, "defUid": 69, "realEditorValues": [{ - "id": "V_String", - "params": ["KeyA"] - }] }], - "__worldX": 112, - "__worldY": -112 - }, - { - "__identifier": "Item", - "__grid": [18,3], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 172, "x": 96, "y": 160, "w": 32, "h": 32 }, - "__smartColor": "#FF0044", - "iid": "c3c403c0-c640-11ed-8430-cd4fd5179384", - "width": 20, - "height": 20, - "defUid": 63, - "px": [296,56], - "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "KeyA", "__tile": { "tilesetUid": 172, "x": 96, "y": 160, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ - "id": "V_String", - "params": ["KeyA"] - }] }], - "__worldX": 296, - "__worldY": -200 - }, - { - "__identifier": "Item", - "__grid": [3,4], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 172, "x": 0, "y": 160, "w": 32, "h": 32 }, - "__smartColor": "#FF0044", - "iid": "c75e4180-c640-11ed-8430-ebd1fb662306", - "width": 20, - "height": 20, - "defUid": 63, - "px": [56,72], - "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Health", "__tile": { "tilesetUid": 172, "x": 0, "y": 160, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ - "id": "V_String", - "params": ["Health"] - }] }], - "__worldX": 56, - "__worldY": -184 - }, - { - "__identifier": "Button", - "__grid": [11,2], - "__pivot": [0.5,0.5], - "__tags": ["environment"], - "__tile": { "tilesetUid": 104, "x": 272, "y": 32, "w": 16, "h": 16 }, - "__smartColor": "#FF0000", - "iid": "cb7d3fa0-c640-11ed-8430-97bfc67769ff", - "width": 10, - "height": 10, - "defUid": 105, - "px": [184,40], - "fieldInstances": [{ "__identifier": "targets", "__type": "Array", "__value": [{ - "entityIid": "8d4360c0-c640-11ed-8430-abb21cbec6c0", - "layerIid": "d53f9951-c640-11ed-8430-3f3f71a3daf1", - "levelIid": "d53f9950-c640-11ed-8430-4942c04951ff", - "worldIid": "c9ef2d10-c640-11ed-ad34-f553e1d803f9" - }], "__tile": null, "defUid": 106, "realEditorValues": [{ - "id": "V_String", - "params": ["8d4360c0-c640-11ed-8430-abb21cbec6c0"] - }] }], - "__worldX": 184, - "__worldY": -216 - }, - { - "__identifier": "Door", - "__grid": [8,4], - "__pivot": [0,0], - "__tags": ["environment"], - "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, - "__smartColor": "#B86F50", - "iid": "c8d51610-3b70-11ee-b655-5116b3326bb0", - "width": 16, - "height": 32, - "defUid": 62, - "px": [128,64], - "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], - "__worldX": 128, - "__worldY": -192 - }, - { - "__identifier": "Player", - "__grid": [14,9], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 171, "x": 195, "y": 130, "w": 64, "h": 64 }, - "__smartColor": "#03CB7C", - "iid": "1982b890-3740-11f0-881a-73ffe6c3eecc", - "width": 16, - "height": 16, - "defUid": 59, - "px": [232,152], - "fieldInstances": [ - { "__identifier": "life", "__type": "Int", "__value": 100, "__tile": null, "defUid": 61, "realEditorValues": [] }, - { "__identifier": "ammo", "__type": "Int", "__value": 10, "__tile": null, "defUid": 60, "realEditorValues": [] } - ], - "__worldX": 232, - "__worldY": -104 - } - ] - }, { "__identifier": "Wall_tops", "__type": "AutoLayer", @@ -2471,6 +2297,180 @@ "gridTiles": [], "entityInstances": [] }, + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 32, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "d53f9951-c640-11ed-8430-3f3f71a3daf1", + "levelId": 109, + "layerDefUid": 54, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 4328649, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Door", + "__grid": [10,7], + "__pivot": [0,0], + "__tags": ["environment"], + "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, + "__smartColor": "#B86F50", + "iid": "8ac5dda0-c640-11ed-8430-8169bab5952b", + "width": 32, + "height": 16, + "defUid": 62, + "px": [160,112], + "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], + "__worldX": 160, + "__worldY": -144 + }, + { + "__identifier": "Door", + "__grid": [18,7], + "__pivot": [0,0], + "__tags": ["environment"], + "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, + "__smartColor": "#B86F50", + "iid": "8d4360c0-c640-11ed-8430-abb21cbec6c0", + "width": 32, + "height": 16, + "defUid": 62, + "px": [288,112], + "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], + "__worldX": 288, + "__worldY": -144 + }, + { + "__identifier": "Door", + "__grid": [7,9], + "__pivot": [0,0], + "__tags": ["environment"], + "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, + "__smartColor": "#B86F50", + "iid": "a1e0c860-c640-11ed-8430-e927d6a72261", + "width": 16, + "height": 48, + "defUid": 62, + "px": [112,144], + "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": "KeyA", "__tile": null, "defUid": 69, "realEditorValues": [{ + "id": "V_String", + "params": ["KeyA"] + }] }], + "__worldX": 112, + "__worldY": -112 + }, + { + "__identifier": "Item", + "__grid": [18,3], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 96, "y": 160, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "c3c403c0-c640-11ed-8430-cd4fd5179384", + "width": 20, + "height": 20, + "defUid": 63, + "px": [296,56], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "KeyA", "__tile": { "tilesetUid": 172, "x": 96, "y": 160, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["KeyA"] + }] }], + "__worldX": 296, + "__worldY": -200 + }, + { + "__identifier": "Item", + "__grid": [3,4], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 0, "y": 160, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "c75e4180-c640-11ed-8430-ebd1fb662306", + "width": 20, + "height": 20, + "defUid": 63, + "px": [56,72], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Health", "__tile": { "tilesetUid": 172, "x": 0, "y": 160, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["Health"] + }] }], + "__worldX": 56, + "__worldY": -184 + }, + { + "__identifier": "Button", + "__grid": [11,2], + "__pivot": [0.5,0.5], + "__tags": ["environment"], + "__tile": { "tilesetUid": 104, "x": 272, "y": 32, "w": 16, "h": 16 }, + "__smartColor": "#FF0000", + "iid": "cb7d3fa0-c640-11ed-8430-97bfc67769ff", + "width": 10, + "height": 10, + "defUid": 105, + "px": [184,40], + "fieldInstances": [{ "__identifier": "targets", "__type": "Array", "__value": [{ + "entityIid": "8d4360c0-c640-11ed-8430-abb21cbec6c0", + "layerIid": "d53f9951-c640-11ed-8430-3f3f71a3daf1", + "levelIid": "d53f9950-c640-11ed-8430-4942c04951ff", + "worldIid": "c9ef2d10-c640-11ed-ad34-f553e1d803f9" + }], "__tile": null, "defUid": 106, "realEditorValues": [{ + "id": "V_String", + "params": ["8d4360c0-c640-11ed-8430-abb21cbec6c0"] + }] }], + "__worldX": 184, + "__worldY": -216 + }, + { + "__identifier": "Door", + "__grid": [8,4], + "__pivot": [0,0], + "__tags": ["environment"], + "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, + "__smartColor": "#B86F50", + "iid": "c8d51610-3b70-11ee-b655-5116b3326bb0", + "width": 16, + "height": 32, + "defUid": 62, + "px": [128,64], + "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], + "__worldX": 128, + "__worldY": -192 + }, + { + "__identifier": "Player", + "__grid": [10,9], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 171, "x": 195, "y": 130, "w": 64, "h": 64 }, + "__smartColor": "#03CB7C", + "iid": "1982b890-3740-11f0-881a-73ffe6c3eecc", + "width": 24, + "height": 24, + "defUid": 59, + "px": [168,152], + "fieldInstances": [ + { "__identifier": "life", "__type": "Int", "__value": 100, "__tile": null, "defUid": 61, "realEditorValues": [] }, + { "__identifier": "ammo", "__type": "Int", "__value": 10, "__tile": null, "defUid": 60, "realEditorValues": [] } + ], + "__worldX": 168, + "__worldY": -104 + } + ] + }, { "__identifier": "Custom_floor", "__type": "Tiles", @@ -2990,183 +2990,6 @@ "externalRelPath": null, "fieldInstances": [], "layerInstances": [ - { - "__identifier": "Entities", - "__type": "Entities", - "__cWid": 16, - "__cHei": 16, - "__gridSize": 16, - "__opacity": 1, - "__pxTotalOffsetX": 0, - "__pxTotalOffsetY": 0, - "__tilesetDefUid": null, - "__tilesetRelPath": null, - "iid": "5b1771e1-c640-11ed-8430-c567ed490639", - "levelId": 145, - "layerDefUid": 54, - "pxOffsetX": 0, - "pxOffsetY": 0, - "visible": true, - "optionalRules": [], - "intGridCsv": [], - "autoLayerTiles": [], - "seed": 7331311, - "overrideTilesetUid": null, - "gridTiles": [], - "entityInstances": [ - { - "__identifier": "Door", - "__grid": [10,6], - "__pivot": [0,0], - "__tags": ["environment"], - "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, - "__smartColor": "#B86F50", - "iid": "9b204460-c640-11ed-8430-dbaaf87f9ec4", - "width": 16, - "height": 16, - "defUid": 62, - "px": [160,96], - "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], - "__worldX": -96, - "__worldY": -160 - }, - { - "__identifier": "Item", - "__grid": [5,5], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, - "__smartColor": "#FF0044", - "iid": "d60070f0-c640-11ed-8430-1fbe3e7e0e50", - "width": 20, - "height": 20, - "defUid": 63, - "px": [88,88], - "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Wood", "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ - "id": "V_String", - "params": ["Wood"] - }] }], - "__worldX": -168, - "__worldY": -168 - }, - { - "__identifier": "Item", - "__grid": [8,6], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, - "__smartColor": "#FF0044", - "iid": "d83181c0-c640-11ed-8430-8ff8bb36b114", - "width": 20, - "height": 20, - "defUid": 63, - "px": [136,104], - "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Wood", "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ - "id": "V_String", - "params": ["Wood"] - }] }], - "__worldX": -120, - "__worldY": -152 - }, - { - "__identifier": "Item", - "__grid": [4,8], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, - "__smartColor": "#FF0044", - "iid": "da07c860-c640-11ed-8430-4d5c0daa8a2b", - "width": 20, - "height": 20, - "defUid": 63, - "px": [72,136], - "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Wood", "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ - "id": "V_String", - "params": ["Wood"] - }] }], - "__worldX": -184, - "__worldY": -120 - }, - { - "__identifier": "Item", - "__grid": [12,12], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 172, "x": 128, "y": 96, "w": 32, "h": 32 }, - "__smartColor": "#FF0044", - "iid": "5cbf6010-c640-11ed-8430-bdf779e74a2c", - "width": 20, - "height": 20, - "defUid": 63, - "px": [200,200], - "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Gold", "__tile": { "tilesetUid": 172, "x": 128, "y": 96, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ - "id": "V_String", - "params": ["Gold"] - }] }], - "__worldX": -56, - "__worldY": -56 - }, - { - "__identifier": "SecretWall", - "__grid": [8,12], - "__pivot": [0,0], - "__tags": ["environment"], - "__tile": { "tilesetUid": 104, "x": 320, "y": 256, "w": 16, "h": 16 }, - "__smartColor": "#B55088", - "iid": "778bba10-c640-11ed-8430-45e05816c898", - "width": 16, - "height": 16, - "defUid": 148, - "px": [128,192], - "fieldInstances": [], - "__worldX": -128, - "__worldY": -64 - }, - { - "__identifier": "Button", - "__grid": [5,10], - "__pivot": [0.5,0.5], - "__tags": ["environment"], - "__tile": { "tilesetUid": 104, "x": 272, "y": 32, "w": 16, "h": 16 }, - "__smartColor": "#FF0000", - "iid": "8da3dad0-c640-11ed-8430-b5ffeb3fb035", - "width": 10, - "height": 10, - "defUid": 105, - "px": [88,168], - "fieldInstances": [{ "__identifier": "targets", "__type": "Array", "__value": [{ - "entityIid": "778bba10-c640-11ed-8430-45e05816c898", - "layerIid": "5b1771e1-c640-11ed-8430-c567ed490639", - "levelIid": "5b1771e0-c640-11ed-8430-9b64f8cc95ad", - "worldIid": "c9ef2d10-c640-11ed-ad34-f553e1d803f9" - }], "__tile": null, "defUid": 106, "realEditorValues": [{ - "id": "V_String", - "params": ["778bba10-c640-11ed-8430-45e05816c898"] - }] }], - "__worldX": -168, - "__worldY": -88 - }, - { - "__identifier": "Item", - "__grid": [6,2], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 172, "x": 416, "y": 2880, "w": 32, "h": 32 }, - "__smartColor": "#FF0044", - "iid": "32ec4110-c640-11ed-8430-09dce52db41d", - "width": 20, - "height": 20, - "defUid": 63, - "px": [104,40], - "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "KeyB", "__tile": { "tilesetUid": 172, "x": 416, "y": 2880, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ - "id": "V_String", - "params": ["KeyB"] - }] }], - "__worldX": -152, - "__worldY": -216 - } - ] - }, { "__identifier": "Wall_tops", "__type": "AutoLayer", @@ -3742,6 +3565,183 @@ "gridTiles": [], "entityInstances": [] }, + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "5b1771e1-c640-11ed-8430-c567ed490639", + "levelId": 145, + "layerDefUid": 54, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 7331311, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Door", + "__grid": [10,6], + "__pivot": [0,0], + "__tags": ["environment"], + "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, + "__smartColor": "#B86F50", + "iid": "9b204460-c640-11ed-8430-dbaaf87f9ec4", + "width": 16, + "height": 16, + "defUid": 62, + "px": [160,96], + "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], + "__worldX": -96, + "__worldY": -160 + }, + { + "__identifier": "Item", + "__grid": [5,5], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "d60070f0-c640-11ed-8430-1fbe3e7e0e50", + "width": 20, + "height": 20, + "defUid": 63, + "px": [88,88], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Wood", "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["Wood"] + }] }], + "__worldX": -168, + "__worldY": -168 + }, + { + "__identifier": "Item", + "__grid": [8,6], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "d83181c0-c640-11ed-8430-8ff8bb36b114", + "width": 20, + "height": 20, + "defUid": 63, + "px": [136,104], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Wood", "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["Wood"] + }] }], + "__worldX": -120, + "__worldY": -152 + }, + { + "__identifier": "Item", + "__grid": [4,8], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "da07c860-c640-11ed-8430-4d5c0daa8a2b", + "width": 20, + "height": 20, + "defUid": 63, + "px": [72,136], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Wood", "__tile": { "tilesetUid": 172, "x": 320, "y": 256, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["Wood"] + }] }], + "__worldX": -184, + "__worldY": -120 + }, + { + "__identifier": "Item", + "__grid": [12,12], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 128, "y": 96, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "5cbf6010-c640-11ed-8430-bdf779e74a2c", + "width": 20, + "height": 20, + "defUid": 63, + "px": [200,200], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Gold", "__tile": { "tilesetUid": 172, "x": 128, "y": 96, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["Gold"] + }] }], + "__worldX": -56, + "__worldY": -56 + }, + { + "__identifier": "SecretWall", + "__grid": [8,12], + "__pivot": [0,0], + "__tags": ["environment"], + "__tile": { "tilesetUid": 104, "x": 320, "y": 256, "w": 16, "h": 16 }, + "__smartColor": "#B55088", + "iid": "778bba10-c640-11ed-8430-45e05816c898", + "width": 16, + "height": 16, + "defUid": 148, + "px": [128,192], + "fieldInstances": [], + "__worldX": -128, + "__worldY": -64 + }, + { + "__identifier": "Button", + "__grid": [5,10], + "__pivot": [0.5,0.5], + "__tags": ["environment"], + "__tile": { "tilesetUid": 104, "x": 272, "y": 32, "w": 16, "h": 16 }, + "__smartColor": "#FF0000", + "iid": "8da3dad0-c640-11ed-8430-b5ffeb3fb035", + "width": 10, + "height": 10, + "defUid": 105, + "px": [88,168], + "fieldInstances": [{ "__identifier": "targets", "__type": "Array", "__value": [{ + "entityIid": "778bba10-c640-11ed-8430-45e05816c898", + "layerIid": "5b1771e1-c640-11ed-8430-c567ed490639", + "levelIid": "5b1771e0-c640-11ed-8430-9b64f8cc95ad", + "worldIid": "c9ef2d10-c640-11ed-ad34-f553e1d803f9" + }], "__tile": null, "defUid": 106, "realEditorValues": [{ + "id": "V_String", + "params": ["778bba10-c640-11ed-8430-45e05816c898"] + }] }], + "__worldX": -168, + "__worldY": -88 + }, + { + "__identifier": "Item", + "__grid": [6,2], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 416, "y": 2880, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "32ec4110-c640-11ed-8430-09dce52db41d", + "width": 20, + "height": 20, + "defUid": 63, + "px": [104,40], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "KeyB", "__tile": { "tilesetUid": 172, "x": 416, "y": 2880, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["KeyB"] + }] }], + "__worldX": -152, + "__worldY": -216 + } + ] + }, { "__identifier": "Custom_floor", "__type": "Tiles", @@ -4076,134 +4076,6 @@ "externalRelPath": null, "fieldInstances": [], "layerInstances": [ - { - "__identifier": "Entities", - "__type": "Entities", - "__cWid": 16, - "__cHei": 16, - "__gridSize": 16, - "__opacity": 1, - "__pxTotalOffsetX": 0, - "__pxTotalOffsetY": 0, - "__tilesetDefUid": null, - "__tilesetRelPath": null, - "iid": "e06b8661-c640-11ed-8430-e761d4f8aba6", - "levelId": 147, - "layerDefUid": 54, - "pxOffsetX": 0, - "pxOffsetY": 0, - "visible": true, - "optionalRules": [], - "intGridCsv": [], - "autoLayerTiles": [], - "seed": 1849743, - "overrideTilesetUid": null, - "gridTiles": [], - "entityInstances": [ - { - "__identifier": "Door", - "__grid": [3,8], - "__pivot": [0,0], - "__tags": ["environment"], - "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, - "__smartColor": "#B86F50", - "iid": "f7ff4aa0-c640-11ed-8430-2d514444555c", - "width": 16, - "height": 32, - "defUid": 62, - "px": [48,128], - "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": "KeyB", "__tile": null, "defUid": 69, "realEditorValues": [{ - "id": "V_String", - "params": ["KeyB"] - }] }], - "__worldX": 560, - "__worldY": -128 - }, - { - "__identifier": "Item", - "__grid": [9,5], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 172, "x": 224, "y": 448, "w": 32, "h": 32 }, - "__smartColor": "#FF0044", - "iid": "13e79bf0-c640-11ed-8430-d534eb2f2a32", - "width": 20, - "height": 20, - "defUid": 63, - "px": [152,88], - "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Rifle", "__tile": { "tilesetUid": 172, "x": 224, "y": 448, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ - "id": "V_String", - "params": ["Rifle"] - }] }], - "__worldX": 664, - "__worldY": -168 - }, - { - "__identifier": "Door", - "__grid": [7,5], - "__pivot": [0,0], - "__tags": ["environment"], - "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, - "__smartColor": "#B86F50", - "iid": "74febbb0-c640-11ed-8430-99228a1aeb52", - "width": 16, - "height": 32, - "defUid": 62, - "px": [112,80], - "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], - "__worldX": 624, - "__worldY": -176 - }, - { - "__identifier": "Door", - "__grid": [9,8], - "__pivot": [0,0], - "__tags": ["environment"], - "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, - "__smartColor": "#B86F50", - "iid": "75bbf130-c640-11ed-8430-4908ff1e52c1", - "width": 32, - "height": 16, - "defUid": 62, - "px": [144,128], - "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], - "__worldX": 656, - "__worldY": -128 - }, - { - "__identifier": "Button", - "__grid": [7,9], - "__pivot": [0.5,0.5], - "__tags": ["environment"], - "__tile": { "tilesetUid": 104, "x": 272, "y": 32, "w": 16, "h": 16 }, - "__smartColor": "#FF0000", - "iid": "782a5920-c640-11ed-8430-4b5f95407d8a", - "width": 10, - "height": 10, - "defUid": 105, - "px": [120,152], - "fieldInstances": [{ "__identifier": "targets", "__type": "Array", "__value": [ { - "entityIid": "74febbb0-c640-11ed-8430-99228a1aeb52", - "layerIid": "e06b8661-c640-11ed-8430-e761d4f8aba6", - "levelIid": "e06b8660-c640-11ed-8430-7b6fcb3e9e6b", - "worldIid": "c9ef2d10-c640-11ed-ad34-f553e1d803f9" - }, { - "entityIid": "75bbf130-c640-11ed-8430-4908ff1e52c1", - "layerIid": "e06b8661-c640-11ed-8430-e761d4f8aba6", - "levelIid": "e06b8660-c640-11ed-8430-7b6fcb3e9e6b", - "worldIid": "c9ef2d10-c640-11ed-ad34-f553e1d803f9" - } ], "__tile": null, "defUid": 106, "realEditorValues": [ { - "id": "V_String", - "params": ["74febbb0-c640-11ed-8430-99228a1aeb52"] - }, { - "id": "V_String", - "params": ["75bbf130-c640-11ed-8430-4908ff1e52c1"] - } ] }], - "__worldX": 632, - "__worldY": -104 - } - ] - }, { "__identifier": "Wall_tops", "__type": "AutoLayer", @@ -4646,6 +4518,134 @@ "gridTiles": [], "entityInstances": [] }, + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "e06b8661-c640-11ed-8430-e761d4f8aba6", + "levelId": 147, + "layerDefUid": 54, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 1849743, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Door", + "__grid": [3,8], + "__pivot": [0,0], + "__tags": ["environment"], + "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, + "__smartColor": "#B86F50", + "iid": "f7ff4aa0-c640-11ed-8430-2d514444555c", + "width": 16, + "height": 32, + "defUid": 62, + "px": [48,128], + "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": "KeyB", "__tile": null, "defUid": 69, "realEditorValues": [{ + "id": "V_String", + "params": ["KeyB"] + }] }], + "__worldX": 560, + "__worldY": -128 + }, + { + "__identifier": "Item", + "__grid": [9,5], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 224, "y": 448, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "13e79bf0-c640-11ed-8430-d534eb2f2a32", + "width": 20, + "height": 20, + "defUid": 63, + "px": [152,88], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Rifle", "__tile": { "tilesetUid": 172, "x": 224, "y": 448, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["Rifle"] + }] }], + "__worldX": 664, + "__worldY": -168 + }, + { + "__identifier": "Door", + "__grid": [7,5], + "__pivot": [0,0], + "__tags": ["environment"], + "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, + "__smartColor": "#B86F50", + "iid": "74febbb0-c640-11ed-8430-99228a1aeb52", + "width": 16, + "height": 32, + "defUid": 62, + "px": [112,80], + "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], + "__worldX": 624, + "__worldY": -176 + }, + { + "__identifier": "Door", + "__grid": [9,8], + "__pivot": [0,0], + "__tags": ["environment"], + "__tile": { "tilesetUid": 172, "x": 288, "y": 448, "w": 32, "h": 32 }, + "__smartColor": "#B86F50", + "iid": "75bbf130-c640-11ed-8430-4908ff1e52c1", + "width": 32, + "height": 16, + "defUid": 62, + "px": [144,128], + "fieldInstances": [{ "__identifier": "lockedWith", "__type": "LocalEnum.Item", "__value": null, "__tile": null, "defUid": 69, "realEditorValues": [] }], + "__worldX": 656, + "__worldY": -128 + }, + { + "__identifier": "Button", + "__grid": [7,9], + "__pivot": [0.5,0.5], + "__tags": ["environment"], + "__tile": { "tilesetUid": 104, "x": 272, "y": 32, "w": 16, "h": 16 }, + "__smartColor": "#FF0000", + "iid": "782a5920-c640-11ed-8430-4b5f95407d8a", + "width": 10, + "height": 10, + "defUid": 105, + "px": [120,152], + "fieldInstances": [{ "__identifier": "targets", "__type": "Array", "__value": [ { + "entityIid": "74febbb0-c640-11ed-8430-99228a1aeb52", + "layerIid": "e06b8661-c640-11ed-8430-e761d4f8aba6", + "levelIid": "e06b8660-c640-11ed-8430-7b6fcb3e9e6b", + "worldIid": "c9ef2d10-c640-11ed-ad34-f553e1d803f9" + }, { + "entityIid": "75bbf130-c640-11ed-8430-4908ff1e52c1", + "layerIid": "e06b8661-c640-11ed-8430-e761d4f8aba6", + "levelIid": "e06b8660-c640-11ed-8430-7b6fcb3e9e6b", + "worldIid": "c9ef2d10-c640-11ed-ad34-f553e1d803f9" + } ], "__tile": null, "defUid": 106, "realEditorValues": [ { + "id": "V_String", + "params": ["74febbb0-c640-11ed-8430-99228a1aeb52"] + }, { + "id": "V_String", + "params": ["75bbf130-c640-11ed-8430-4908ff1e52c1"] + } ] }], + "__worldX": 632, + "__worldY": -104 + } + ] + }, { "__identifier": "Custom_floor", "__type": "Tiles", @@ -4999,51 +4999,6 @@ "externalRelPath": null, "fieldInstances": [], "layerInstances": [ - { - "__identifier": "Entities", - "__type": "Entities", - "__cWid": 16, - "__cHei": 16, - "__gridSize": 16, - "__opacity": 1, - "__pxTotalOffsetX": 0, - "__pxTotalOffsetY": 0, - "__tilesetDefUid": null, - "__tilesetRelPath": null, - "iid": "d89f58c0-5e50-11f0-8497-a77eea7ca1c9", - "levelId": 173, - "layerDefUid": 54, - "pxOffsetX": 0, - "pxOffsetY": 0, - "visible": true, - "optionalRules": [], - "intGridCsv": [], - "autoLayerTiles": [], - "seed": 1849743, - "overrideTilesetUid": null, - "gridTiles": [], - "entityInstances": [ - { - "__identifier": "Item", - "__grid": [11,4], - "__pivot": [0.5,0.5], - "__tags": ["actor"], - "__tile": { "tilesetUid": 172, "x": 256, "y": 256, "w": 32, "h": 32 }, - "__smartColor": "#FF0044", - "iid": "d89f7fd0-5e50-11f0-8497-69ac302ce66d", - "width": 20, - "height": 20, - "defUid": 63, - "px": [184,72], - "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Food", "__tile": { "tilesetUid": 172, "x": 256, "y": 256, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ - "id": "V_String", - "params": ["Food"] - }] }], - "__worldX": 696, - "__worldY": -440 - } - ] - }, { "__identifier": "Wall_tops", "__type": "AutoLayer", @@ -5498,6 +5453,51 @@ "gridTiles": [], "entityInstances": [] }, + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "d89f58c0-5e50-11f0-8497-a77eea7ca1c9", + "levelId": 173, + "layerDefUid": 54, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 1849743, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "Item", + "__grid": [11,4], + "__pivot": [0.5,0.5], + "__tags": ["actor"], + "__tile": { "tilesetUid": 172, "x": 256, "y": 256, "w": 32, "h": 32 }, + "__smartColor": "#FF0044", + "iid": "d89f7fd0-5e50-11f0-8497-69ac302ce66d", + "width": 20, + "height": 20, + "defUid": 63, + "px": [184,72], + "fieldInstances": [{ "__identifier": "type", "__type": "LocalEnum.Item", "__value": "Food", "__tile": { "tilesetUid": 172, "x": 256, "y": 256, "w": 32, "h": 32 }, "defUid": 146, "realEditorValues": [{ + "id": "V_String", + "params": ["Food"] + }] }], + "__worldX": 696, + "__worldY": -440 + } + ] + }, { "__identifier": "Custom_floor", "__type": "Tiles", @@ -5898,31 +5898,6 @@ "externalRelPath": null, "fieldInstances": [], "layerInstances": [ - { - "__identifier": "Entities", - "__type": "Entities", - "__cWid": 16, - "__cHei": 16, - "__gridSize": 16, - "__opacity": 1, - "__pxTotalOffsetX": 0, - "__pxTotalOffsetY": 0, - "__tilesetDefUid": null, - "__tilesetRelPath": null, - "iid": "6819b331-3740-11f0-8612-3955a78aadba", - "levelId": 170, - "layerDefUid": 54, - "pxOffsetX": 0, - "pxOffsetY": 0, - "visible": true, - "optionalRules": [], - "intGridCsv": [], - "autoLayerTiles": [], - "seed": 1358177, - "overrideTilesetUid": null, - "gridTiles": [], - "entityInstances": [] - }, { "__identifier": "Wall_tops", "__type": "AutoLayer", @@ -6265,6 +6240,31 @@ "gridTiles": [], "entityInstances": [] }, + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 16, + "__cHei": 16, + "__gridSize": 16, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "6819b331-3740-11f0-8612-3955a78aadba", + "levelId": 170, + "layerDefUid": 54, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 1358177, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [] + }, { "__identifier": "Custom_floor", "__type": "Tiles", diff --git a/src/demo/level.rs b/src/demo/level.rs index 7a54941..ee140c0 100644 --- a/src/demo/level.rs +++ b/src/demo/level.rs @@ -104,13 +104,13 @@ fn translate_grid_coords_entities( // TODO: what is this used for? Why it doesn't work for a moving Player? for (mut transform, grid_coords) in grid_coords_entities.iter_mut() { info!("Changed GridCoords: {grid_coords:?}"); - info!("Previous traslation: {:?}", transform.translation); + debug!("Previous traslation: {:?}", transform.translation); transform.translation = (bevy_ecs_ldtk::utils::grid_coords_to_translation( *grid_coords, IVec2::splat(GRID_SIZE), )) .extend(transform.translation.z); - info!("Updated traslation: {:?}", transform.translation); + debug!("Updated traslation: {:?}", transform.translation); } } From 99bbb1074e1f9585af39765f8746ff562c5b0eca Mon Sep 17 00:00:00 2001 From: RobertoMaurizzi Date: Thu, 17 Jul 2025 21:12:34 +0800 Subject: [PATCH 8/8] poor man's deploy script for my server --- deploy.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100755 deploy.sh diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..436aca9 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,15 @@ +set -x +export BUILD_DIR="target/bevy_web/web-release/" +export NAME="chain-reaction-collapse" +export HOST="root@antares.digitalpha.net" +export TARGET_DIR="/var/www/" +# trunk build --release --no-default-features +# bevy build --yes --release web --bundle +# for f in "${BUILD_DIR}/build/"*.wasm; do brotli -c "$f" "$f".br; done +ssh $HOST -C "rm ${TARGET_DIR}/${NAME} -r" +ssh $HOST -C "mkdir -p ${TARGET_DIR}/${NAME}" +scp -r "${BUILD_DIR}/${NAME}" "${HOST}":"${TARGET_DIR}"/ +# scp ${BUILD_DIR}/index.html "${HOST}":"${TARGET_DIR}"/ +# scp -r ${BUILD_DIR}/assets "${HOST}":"${TARGET_DIR}"/ +# scp ${BUILD_DIR}/build/*.js "${HOST}":"${TARGET_DIR}"/build/ +# scp ${BUILD_DIR}/build/*.wasm* "${HOST}":"${TARGET_DIR}"/build/