summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/index.html2
-rw-r--r--docs/index.pckbin1986020 -> 1992876 bytes
-rw-r--r--docs/index.service.worker.js2
-rw-r--r--door.gd39
-rw-r--r--esc_listener.gd2
-rw-r--r--game_camera.gd6
-rw-r--r--game_camera.tscn1
-rw-r--r--map.tscn3
-rw-r--r--map_room.tscn7
-rw-r--r--player.gd36
-rw-r--r--player.tscn6
-rw-r--r--room.gd2
-rw-r--r--room.gd.uid1
-rw-r--r--room_main_menu.gd2
-rw-r--r--room_test1.tscn31
-rw-r--r--room_test2.tscn29
-rw-r--r--top.gd33
-rw-r--r--top.tscn22
18 files changed, 149 insertions, 75 deletions
diff --git a/docs/index.html b/docs/index.html
index 527bda1..319ab4b 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -112,7 +112,7 @@ body {
<script src="index.js"></script>
<script>
-const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":1986020,"index.wasm":38034280},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"};
+const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":1992876,"index.wasm":38034280},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"};
const GODOT_THREADS_ENABLED = false;
const engine = new Engine(GODOT_CONFIG);
diff --git a/docs/index.pck b/docs/index.pck
index 46f7f40..32cc67c 100644
--- a/docs/index.pck
+++ b/docs/index.pck
Binary files differ
diff --git a/docs/index.service.worker.js b/docs/index.service.worker.js
index 3f38f39..47c52b8 100644
--- a/docs/index.service.worker.js
+++ b/docs/index.service.worker.js
@@ -4,7 +4,7 @@
// Incrementing CACHE_VERSION will kick off the install event and force
// previously cached resources to be updated from the network.
/** @type {string} */
-const CACHE_VERSION = '1763570078|4706443861';
+const CACHE_VERSION = '1763672851|1701273529';
/** @type {string} */
const CACHE_PREFIX = 'MobileMetroidvan-sw-cache-';
const CACHE_NAME = CACHE_PREFIX + CACHE_VERSION;
diff --git a/door.gd b/door.gd
index 9e03186..c1b8968 100644
--- a/door.gd
+++ b/door.gd
@@ -1,7 +1,40 @@
+@tool
+class_name Door
extends Area2D
-@export var target_room: String
+@export var target_room: String:
+ set(v):
+ target_room = v
+ update_configuration_warnings()
-func _on_body_entered(_body: Node2D) -> void:
+@export var target_door: String:
+ set(v):
+ target_door = v
+ update_configuration_warnings()
+
+@export_enum("LEFT", "RIGHT", "JUMP_LEFT", "JUMP_RIGHT", "DROP") var exit_towards: String
+@export_enum("LEFT", "RIGHT", "JUMP", "DROP") var enter_towards: String
+
+func _ready():
+ update_configuration_warnings()
+
+func _on_body_entered(player: Player) -> void:
var top: Top = get_tree().root.get_node("Top")
- top.transition_to_room(target_room)
+ if not top.is_transitioning():
+ player.set_forced_input(enter_towards)
+ top.transition_to_room(to_room_path(target_room), target_door)
+
+func _get_configuration_warnings() -> PackedStringArray:
+ var warnings: PackedStringArray = []
+ var room_path: String
+ if target_room:
+ room_path = to_room_path(target_room)
+ if not target_room or not ResourceLoader.exists(room_path):
+ warnings.append("target_room is not valid (%s does not exist)" % room_path)
+ if not target_door:
+ warnings.append("target_door is not valid")
+
+ return warnings
+
+func to_room_path(room_name: String):
+ return "res://room_" + room_name + ".tscn"
diff --git a/esc_listener.gd b/esc_listener.gd
index cc25f4a..c0b276a 100644
--- a/esc_listener.gd
+++ b/esc_listener.gd
@@ -4,4 +4,4 @@ extends Node
func _process(_delta: float) -> void:
if Input.is_action_just_pressed("menu"):
- top.transition_to_room("main_menu")
+ top.transition_to_room("res://room_main_menu.tscn", null)
diff --git a/game_camera.gd b/game_camera.gd
index 4348ace..a92f23c 100644
--- a/game_camera.gd
+++ b/game_camera.gd
@@ -3,7 +3,11 @@ extends Camera2D
## Amount to smoothly offset the camera if the parent is a Player.
@export var offset_amt: Vector2
-# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _ready() -> void:
+ if not position_smoothing_enabled:
+ await get_tree().create_timer(0.1).timeout
+ position_smoothing_enabled = true
+
func _process(_delta: float) -> void:
var parent = get_parent()
if parent is Player:
diff --git a/game_camera.tscn b/game_camera.tscn
index cbf8aca..6f0359e 100644
--- a/game_camera.tscn
+++ b/game_camera.tscn
@@ -3,6 +3,5 @@
[ext_resource type="Script" uid="uid://dul8m52uio8t5" path="res://game_camera.gd" id="1_sfxhn"]
[node name="GameCamera" type="Camera2D"]
-position_smoothing_enabled = true
position_smoothing_speed = 16.0
script = ExtResource("1_sfxhn")
diff --git a/map.tscn b/map.tscn
new file mode 100644
index 0000000..775ee14
--- /dev/null
+++ b/map.tscn
@@ -0,0 +1,3 @@
+[gd_scene format=3 uid="uid://cseqghymhiyqo"]
+
+[node name="Map" type="CanvasLayer"]
diff --git a/map_room.tscn b/map_room.tscn
new file mode 100644
index 0000000..891e634
--- /dev/null
+++ b/map_room.tscn
@@ -0,0 +1,7 @@
+[gd_scene format=3 uid="uid://clm2kocuhjqbb"]
+
+[node name="MapRoom" type="ColorRect"]
+offset_left = 68.0
+offset_top = 57.0
+offset_right = 76.0
+offset_bottom = 62.0
diff --git a/player.gd b/player.gd
index 645c8b2..2fe3997 100644
--- a/player.gd
+++ b/player.gd
@@ -8,6 +8,9 @@ extends CharacterBody2D
@export var coyote_max: int
@export var jump_held_coef: float
+## float (-1.0 .. 1.0) or null
+var forced_input_x: Variant
+
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
var prev_dir: float = 0.0
var jump_was_released: bool = true
@@ -18,7 +21,7 @@ var coyote: int = 0
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
- pass # Replace with function body.
+ pass
func get_facing() -> int:
if $AnimatedSprite2D.flip_h:
@@ -41,8 +44,6 @@ func _process(_delta: float) -> void:
$AnimatedSprite2D.set_animation("idle")
func _physics_process(delta: float):
- if not top.objects_active: return
-
var grav_coef = 1.0
if velocity.y < 0 and Input.is_action_pressed("jump"):
grav_coef = 1.0 + (jump_held_coef * velocity.y / jump_strength)
@@ -55,7 +56,7 @@ func _physics_process(delta: float):
else:
coyote += 1
- var can_jump = coyote < coyote_max and jump_was_released
+ var can_jump = coyote < coyote_max and jump_was_released and forced_input_x == null
if Input.is_action_pressed("jump") and can_jump:
velocity.y = -jump_strength
# Force coyote time to expire to forbid double jumps
@@ -66,7 +67,9 @@ func _physics_process(delta: float):
jump_was_released = true
var direction: float
- if Input.is_action_pressed("move_left") and Input.is_action_pressed("move_right"):
+ if forced_input_x:
+ direction = forced_input_x
+ elif Input.is_action_pressed("move_left") and Input.is_action_pressed("move_right"):
# This is a fix to the stalled movement issue
# where the player stops if both x inputs are pressed at the same time.
# To fix it, we store the previous direction the player was moving in, and change
@@ -77,5 +80,26 @@ func _physics_process(delta: float):
prev_dir = direction
velocity.x = direction * speed
- # Move the character
+
move_and_slide()
+
+## dir: String or null
+func set_forced_input(dir: Variant):
+ if dir == null:
+ forced_input_x = null
+ elif dir == "LEFT":
+ forced_input_x = -1.0
+ elif dir == "JUMP_LEFT":
+ velocity.y = -jump_strength
+ forced_input_x = -1.0
+ elif dir == "RIGHT":
+ forced_input_x = 1.0
+ elif dir == "JUMP_RIGHT":
+ velocity.y = -jump_strength
+ forced_input_x = 1.0
+ elif dir == "JUMP":
+ velocity.y = -jump_strength
+ forced_input_x = 0.0
+ elif dir == "DROP":
+ velocity.y = 0.0
+ forced_input_x = 0.0
diff --git a/player.tscn b/player.tscn
index 40e2720..f0e23db 100644
--- a/player.tscn
+++ b/player.tscn
@@ -107,9 +107,9 @@ script = ExtResource("2_onrkg")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -1)
sprite_frames = SubResource("SpriteFrames_rj586")
-animation = &"idle"
-autoplay = "idle"
-frame_progress = 0.4343156
+animation = &"walk"
+autoplay = "walk"
+frame_progress = 0.86319524
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 3)
diff --git a/room.gd b/room.gd
new file mode 100644
index 0000000..e06ee5d
--- /dev/null
+++ b/room.gd
@@ -0,0 +1,2 @@
+class_name Room
+extends Node2D
diff --git a/room.gd.uid b/room.gd.uid
new file mode 100644
index 0000000..bd32f85
--- /dev/null
+++ b/room.gd.uid
@@ -0,0 +1 @@
+uid://cbhily4o7e2r3
diff --git a/room_main_menu.gd b/room_main_menu.gd
index 1edb126..cba6d69 100644
--- a/room_main_menu.gd
+++ b/room_main_menu.gd
@@ -7,4 +7,4 @@ func _ready() -> void:
func _test_room_button_pressed():
var top: Top = get_tree().root.get_node("Top")
- top.transition_to_room("test1")
+ top.transition_to_room("res://room_test1.tscn", null)
diff --git a/room_test1.tscn b/room_test1.tscn
index 4efe255..cda51a8 100644
--- a/room_test1.tscn
+++ b/room_test1.tscn
@@ -1,5 +1,6 @@
[gd_scene load_steps=10 format=4 uid="uid://cfj21o6wsd3hv"]
+[ext_resource type="Script" uid="uid://cbhily4o7e2r3" path="res://room.gd" id="1_qglt1"]
[ext_resource type="Texture2D" uid="uid://o0yy2jkyp0dy" path="res://assets/kenney_1-bit-platformer-pack/Tilemap/monochrome_tilemap_transparent_packed.png" id="1_ubxha"]
[ext_resource type="PackedScene" uid="uid://coxnsharboouu" path="res://player.tscn" id="2_qglt1"]
[ext_resource type="PackedScene" uid="uid://dfyvkc2qlcdac" path="res://game_camera.tscn" id="3_mrrx3"]
@@ -7,19 +8,6 @@
[ext_resource type="PackedScene" uid="uid://cciwccvljuuyq" path="res://touch_screen_ui.tscn" id="5_r17u5"]
[ext_resource type="PackedScene" uid="uid://df0loiahar23o" path="res://door.tscn" id="6_lfjh7"]
-[sub_resource type="GDScript" id="GDScript_p1rem"]
-script/source = "class_name RoomTest
-extends Node2D
-
-# Called when the node enters the scene tree for the first time.
-func _ready() -> void:
- pass # Replace with function body.
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(_delta: float) -> void:
- pass
-"
-
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0e48y"]
texture = ExtResource("1_ubxha")
1:0/0 = 0
@@ -452,16 +440,17 @@ texture = ExtResource("1_ubxha")
physics_layer_0/collision_layer = 1
sources/1 = SubResource("TileSetAtlasSource_0e48y")
-[node name="RoomTest" type="Node2D"]
+[node name="RoomTest1" type="Node2D"]
process_mode = 1
-script = SubResource("GDScript_p1rem")
+script = ExtResource("1_qglt1")
+metadata/_custom_type_script = "uid://cbhily4o7e2r3"
[node name="TileMapLayer" type="TileMapLayer" parent="."]
-tile_map_data = PackedByteArray("AAACAAYAAQAIAAQAAAADAAYAAQAIAAQAAAAEAAYAAQAIAAQAAAAFAAYAAQAIAAQAAAAGAAYAAQAIAAQAAAAHAAYAAQAIAAQAAAAIAAYAAQAIAAQAAAACAAcAAQAIAAUAAAACAAgAAQAIAAUAAAADAAgAAQAIAAUAAAAEAAgAAQAIAAUAAAAEAAkAAQAIAAUAAAAFAAkAAQAIAAUAAAAGAAkAAQAIAAUAAAAHAAkAAQAIAAUAAAAHAAgAAQAIAAUAAAAIAAgAAQAIAAUAAAAIAAcAAQAIAAUAAAAHAAcAAQAIAAUAAAAGAAcAAQAIAAUAAAAFAAcAAQAIAAUAAAAEAAcAAQAIAAUAAAADAAcAAQAIAAUAAAAFAAgAAQAIAAUAAAAGAAgAAQAIAAUAAAAJAAUAAQAHAAUAAAAJAAQAAQAHAAQAAAAKAAQAAQAIAAQAAAALAAQAAQAJAAQAAAALAAUAAQAJAAUAAAALAAYAAQAJAAUAAAALAAcAAQAJAAUAAAAMAAgAAQAIAAQAAAANAAgAAQAIAAQAAAALAAgAAQAIAAUAAAAKAAgAAQAIAAUAAAAKAAcAAQAIAAUAAAAKAAYAAQAIAAUAAAAKAAUAAQAIAAUAAAAJAAYAAQAIAAUAAAAJAAcAAQAIAAUAAAAJAAgAAQAIAAUAAAAJAAkAAQAIAAUAAAAIAAkAAQAIAAUAAAAKAAkAAQAIAAUAAAALAAkAAQAIAAUAAAAMAAkAAQAIAAUAAAAMAAcAAQASAAEAAAABAAUAAQAJAAUAAAABAAQAAQAJAAUAAAABAAMAAQAJAAUAAAABAAIAAQAJAAUAAAAAAAIAAQAIAAUAAAAAAAMAAQAIAAUAAAAAAAQAAQAIAAUAAAAAAAUAAQAIAAUAAAAAAAYAAQAIAAUAAAAAAAcAAQAIAAUAAAABAAYAAQAIAAUAAAABAAcAAQAIAAUAAAABAAgAAQAIAAUAAAABAAkAAQAIAAUAAAAAAAkAAQAIAAUAAAAAAAgAAQAIAAUAAAACAAkAAQAIAAUAAAADAAkAAQAIAAUAAAAOAAYAAQALAAMAAAAOAAgAAQAIAAQAAAAPAAkAAQAIAAUAAAAKAAMAAQAOAAEAAAAKAAIAAQAOAAAAAAAHAAUAAQASAAAAAAAEAAEAAQALAAMAAAAEAAIAAQATAAAAAAAEAAMAAQATAAEAAAAPAAgAAQAIAAQAAAAQAAcAAQAAAAAAAAAQAAYAAQATAAEAAAAQAAUAAQAHAAYAAAAQAAQAAQAHAAQAAAAQAAMAAQAAAAAAAAAQAAIAAQAAAAAAAAAQAAEAAQAAAAAAAAAQAAAAAQAAAAAAAAANAAkAAQAIAAUAAAAOAAkAAQAIAAUAAAAQAAkAAQAIAAUAAAAQAAgAAQAIAAQAAAARAAkAAQAIAAUAAAARAAgAAQAIAAQAAAARAAcAAQAAAAAAAAARAAYAAQAAAAAAAAARAAUAAQAJAAYAAAARAAQAAQAJAAQAAAARAAMAAQANAAIAAAARAAIAAQAAAAAAAAARAAEAAQAAAAAAAAARAAAAAQAAAAAAAAASAAAAAQAAAAAAAAASAAEAAQAAAAAAAAASAAIAAQAAAAAAAAASAAMAAQAAAAAAAAASAAQAAQAAAAAAAAASAAUAAQAAAAAAAAASAAYAAQAAAAAAAAASAAcAAQAAAAAAAAASAAgAAQAIAAQAAAASAAkAAQAIAAUAAAASAAoAAQAIAAUAAAASAAsAAQAIAAUAAAARAAsAAQAIAAUAAAARAAoAAQAIAAUAAAAQAAoAAQAIAAUAAAAPAAoAAQAIAAUAAAAOAAoAAQAIAAUAAAANAAoAAQAIAAUAAAAMAAoAAQAIAAUAAAALAAoAAQAIAAUAAAAKAAoAAQAIAAUAAAAJAAoAAQAIAAUAAAAIAAoAAQAIAAUAAAAHAAoAAQAIAAUAAAAGAAoAAQAIAAUAAAAFAAoAAQAIAAUAAAAEAAoAAQAIAAUAAAADAAoAAQAIAAUAAAACAAoAAQAIAAUAAAABAAoAAQAIAAUAAAAAAAoAAQAIAAUAAAAAAAsAAQAIAAUAAAABAAsAAQAIAAUAAAACAAsAAQAIAAUAAAADAAsAAQAIAAUAAAAEAAsAAQAIAAUAAAAFAAsAAQAIAAUAAAAGAAsAAQAIAAUAAAAHAAsAAQAIAAUAAAAIAAsAAQAIAAUAAAAJAAsAAQAIAAUAAAAKAAsAAQAIAAUAAAALAAsAAQAIAAUAAAAMAAsAAQAIAAUAAAANAAsAAQAIAAUAAAAOAAsAAQAIAAUAAAAPAAsAAQAIAAUAAAAQAAsAAQAIAAUAAAAAAAEAAQAIAAUAAAAAAAAAAQAIAAUAAAAAAP//AQAIAAUAAAAAAP7/AQAIAAUAAAD///7/AQAIAAUAAAD/////AQAIAAUAAAD//wAAAQAIAAUAAAD//wEAAQAIAAUAAAD//wIAAQAIAAUAAAD//wMAAQAIAAUAAAD//wQAAQAIAAUAAAD//wUAAQAIAAUAAAD//wYAAQAIAAUAAAD//wcAAQAIAAUAAAD//wgAAQAIAAUAAAD+/wgAAQAIAAUAAAD+/wcAAQAIAAUAAAD+/wYAAQAIAAUAAAD+/wUAAQAIAAUAAAD+/wQAAQAIAAUAAAD+/wMAAQAIAAUAAAD+/wIAAQAIAAUAAAD+/wEAAQAIAAUAAAD+/wAAAQAIAAUAAAD+////AQAIAAUAAAD+/wkAAQAIAAUAAAD//wkAAQAIAAUAAAD//woAAQAIAAUAAAD//wsAAQAIAAUAAAD+/wsAAQAIAAUAAAD+/woAAQAIAAUAAAABAAEAAQAJAAUAAAABAAAAAQAJAAUAAAABAP//AQAJAAUAAAABAP7/AQAJAAUAAAABAP3/AQAJAAUAAAAQAP//AQAAAAAAAAAQAP7/AQAAAAAAAAAQAP3/AQAAAAAAAAARAP//AQAAAAAAAAAPAAcAAQASAAEAAAAQAPz/AQAAAAAAAAARAP7/AQAAAAAAAAAUAAcAAQAAAAAAAAAUAAYAAQAAAAAAAAAUAAUAAQAIAAYAAAAUAAQAAQAHAAUAAAAUAAMAAQAHAAUAAAAUAAEAAQAAAAAAAAAUAAIAAQAHAAQAAAATAAgAAQAIAAQAAAATAAkAAQAIAAUAAAATAAoAAQAIAAUAAAATAAsAAQAIAAUAAAAUAAsAAQAIAAUAAAAUAAoAAQAIAAUAAAAUAAkAAQAIAAUAAAAUAAgAAQAIAAQAAAAVAAkAAQAIAAUAAAAVAAoAAQAIAAUAAAAVAAsAAQAIAAUAAAAVAAgAAQAIAAQAAAAVAAcAAQAQAAIAAAAVAAYAAQAAAAAAAAAVAAUAAQAIAAYAAAAVAAQAAQAIAAUAAAAVAAMAAQAJAAUAAAAVAAIAAQAJAAQAAAAWAAQAAQAJAAQAAAAXAAUAAQAJAAQAAAAYAAYAAQAJAAQAAAAWAAUAAQAIAAUAAAAWAAYAAQAHAAUAAAAXAAYAAQAIAAUAAAAXAAcAAQAIAAUAAAAWAAcAAQAHAAUAAAAWAAgAAQAIAAUAAAAXAAgAAQAIAAUAAAAWAAkAAQAIAAUAAAAWAAoAAQAIAAUAAAAWAAsAAQAIAAUAAAAXAAsAAQAIAAUAAAAXAAoAAQAIAAUAAAAXAAkAAQAIAAUAAAAYAAkAAQAIAAUAAAAYAAgAAQAIAAUAAAAYAAcAAQAIAAUAAAAYAAoAAQAIAAUAAAAYAAsAAQAIAAUAAAAZAAcAAQAIAAQAAAAaAAcAAQAIAAQAAAAbAAcAAQAIAAQAAAAcAAcAAQAIAAQAAAAdAAcAAQAIAAQAAAAeAAcAAQAIAAQAAAAfAAcAAQAIAAQAAAAgAAcAAQAIAAQAAAAhAAcAAQAIAAQAAAAhAAgAAQAIAAUAAAAhAAkAAQAIAAUAAAAhAAoAAQAIAAUAAAAgAAoAAQAIAAUAAAAgAAkAAQAIAAUAAAAgAAgAAQAIAAUAAAAfAAgAAQAIAAUAAAAfAAkAAQAIAAUAAAAeAAkAAQAIAAUAAAAdAAgAAQAIAAUAAAAcAAgAAQAIAAUAAAAbAAgAAQAIAAUAAAAaAAgAAQAIAAUAAAAZAAgAAQAIAAUAAAAeAAgAAQAIAAUAAAAeAAoAAQAIAAUAAAAdAAoAAQAIAAUAAAAcAAoAAQAIAAUAAAAbAAoAAQAIAAUAAAAbAAkAAQAIAAUAAAAaAAkAAQAIAAUAAAAZAAkAAQAIAAUAAAAcAAkAAQAIAAUAAAAdAAkAAQAIAAUAAAAaAAoAAQAIAAUAAAAZAAoAAQAIAAUAAAAZAAsAAQAIAAUAAAAaAAsAAQAIAAUAAAAbAAsAAQAIAAUAAAAcAAsAAQAIAAUAAAAdAAsAAQAIAAUAAAAeAAsAAQAIAAUAAAAfAAsAAQAIAAUAAAAgAAsAAQAIAAUAAAAfAAoAAQAIAAUAAAAhAAsAAQAIAAUAAAAAAP3/AQAIAAUAAAD///3/AQAIAAUAAAD+//3/AQAIAAUAAAD9//3/AQAIAAUAAAD8//3/AQAIAAUAAAD+//7/AQAIAAUAAAD9//7/AQAIAAUAAAD8//7/AQAIAAUAAAD7//7/AQAIAAUAAAD7//3/AQAIAAUAAAD7////AQAIAAUAAAD8////AQAIAAUAAAD9////AQAIAAUAAAD9/wAAAQAIAAUAAAD9/wEAAQAIAAUAAAD9/wIAAQAIAAUAAAD8/wIAAQAIAAUAAAD7/wEAAQAIAAUAAAD7/wAAAQAIAAUAAAD8/wAAAQAIAAUAAAD8/wEAAQAIAAUAAAD7/wIAAQAIAAUAAAD7/wMAAQAIAAUAAAD8/wMAAQAIAAUAAAD9/wMAAQAIAAUAAAD9/wQAAQAIAAUAAAD8/wQAAQAIAAUAAAD7/wQAAQAIAAUAAAD7/wUAAQAIAAUAAAD8/wUAAQAIAAUAAAD9/wUAAQAIAAUAAAD9/wYAAQAIAAUAAAD8/wYAAQAIAAUAAAD7/wYAAQAIAAUAAAD7/wcAAQAIAAUAAAD8/wcAAQAIAAUAAAD9/wcAAQAIAAUAAAD9/wgAAQAIAAUAAAD8/wgAAQAIAAUAAAD7/wgAAQAIAAUAAAD7/wkAAQAIAAUAAAD8/wkAAQAIAAUAAAD9/wkAAQAIAAUAAAD9/woAAQAIAAUAAAD8/woAAQAIAAUAAAD7/woAAQAIAAUAAAD7/wsAAQAIAAUAAAD8/wsAAQAIAAUAAAD9/wsAAQAIAAUAAAAfAAYAAQAHAAwAAAAfAAUAAQAHAAsAAAAgAAUAAQAIAAsAAAAhAAUAAQAIAAsAAAAiAAcAAQAIAAUAAAAiAAYAAQAHAAUAAAAiAAUAAQAHAAUAAAAiAAQAAQAHAAUAAAAiAAMAAQAHAAUAAAAiAAIAAQAHAAUAAAAiAAEAAQAHAAUAAAAiAAgAAQAIAAUAAAAiAAkAAQAIAAUAAAAiAAoAAQAIAAUAAAAiAAsAAQAIAAUAAAAjAAsAAQAIAAUAAAAjAAoAAQAIAAUAAAAkAAoAAQAIAAUAAAAkAAkAAQAIAAUAAAAjAAkAAQAIAAUAAAAjAAgAAQAIAAUAAAAkAAsAAQAIAAUAAAAkAAgAAQAIAAUAAAAjAAcAAQAIAAUAAAAkAAcAAQAIAAUAAAAkAAYAAQAIAAUAAAAkAAUAAQAIAAUAAAAkAAQAAQAIAAUAAAAkAAMAAQAIAAUAAAAkAAIAAQAIAAUAAAAjAAIAAQAIAAUAAAAjAAEAAQAIAAUAAAAjAAMAAQAIAAUAAAAjAAQAAQAIAAUAAAAjAAUAAQAIAAUAAAAjAAYAAQAIAAUAAAAkAAEAAQAIAAUAAAAjAAAAAQAIAAUAAAAjAP//AQAHAAUAAAAjAP7/AQAHAAUAAAAjAP3/AQAHAAUAAAAjAPz/AQAHAAUAAAAjAPv/AQAHAAUAAAAjAPr/AQAHAAUAAAAkAPr/AQAIAAUAAAAkAPv/AQAIAAUAAAAkAPz/AQAIAAUAAAAkAP3/AQAIAAUAAAAkAP7/AQAIAAUAAAAkAP//AQAIAAUAAAAkAAAAAQAIAAUAAAAhAAMAAQAHAA0AAAAhAAIAAQAHAAsAAAAiAAAAAQAHAAQAAAAYAP//AQAHAA0AAAAZAP//AQAIAAsAAAAaAP//AQAIAAsAAAAbAP//AQAIAAsAAAAcAP//AQAIAAsAAAAdAP//AQAIAAsAAAAeAP//AQAIAAsAAAAfAP//AQAJAAsAAAAgAP//AQAAAAAAAAAcAP7/AQACAAIAAAAjAPn/AQAHAAUAAAAkAPn/AQAIAAUAAAAlAPn/AQAIAAUAAAAmAPn/AQAIAAUAAAAnAPn/AQAIAAUAAAAnAPr/AQAIAAUAAAAnAPv/AQAIAAUAAAAnAPz/AQAIAAUAAAAmAPz/AQAIAAUAAAAmAPv/AQAIAAUAAAAlAPv/AQAIAAUAAAAlAPr/AQAIAAUAAAAmAPr/AQAIAAUAAAAlAPz/AQAIAAUAAAAlAP3/AQAIAAUAAAAmAP3/AQAIAAUAAAAnAP3/AQAIAAUAAAAmAP7/AQAIAAUAAAAlAP7/AQAIAAUAAAAlAP//AQAIAAUAAAAmAP//AQAIAAUAAAAnAP//AQAIAAUAAAAnAP7/AQAIAAUAAAAnAAAAAQAIAAUAAAAmAAAAAQAIAAUAAAAlAAAAAQAIAAUAAAAlAAEAAQAIAAUAAAAmAAEAAQAIAAUAAAAmAAIAAQAIAAUAAAAnAAIAAQAIAAUAAAAnAAMAAQAIAAUAAAAnAAQAAQAIAAUAAAAnAAEAAQAIAAUAAAAnAAUAAQAIAAUAAAAnAAYAAQAIAAUAAAAnAAcAAQAIAAUAAAAnAAgAAQAIAAUAAAAnAAkAAQAIAAUAAAAmAAkAAQAIAAUAAAAmAAgAAQAIAAUAAAAlAAgAAQAIAAUAAAAlAAcAAQAIAAUAAAAlAAYAAQAIAAUAAAAlAAUAAQAIAAUAAAAlAAQAAQAIAAUAAAAlAAMAAQAIAAUAAAAmAAMAAQAIAAUAAAAlAAIAAQAIAAUAAAAmAAQAAQAIAAUAAAAmAAUAAQAIAAUAAAAmAAcAAQAIAAUAAAAmAAYAAQAIAAUAAAAlAAkAAQAIAAUAAAAlAAoAAQAIAAUAAAAlAAsAAQAIAAUAAAAmAAsAAQAIAAUAAAAnAAsAAQAIAAUAAAAnAAoAAQAIAAUAAAAmAAoAAQAIAAUAAAAYAP7/AQAHAAwAAAAYAP3/AQAHAAwAAAAYAPz/AQAHAAwAAAAYAPv/AQAHAAwAAAAYAPr/AQAHAAwAAAAYAPn/AQAHAAwAAAAYAPj/AQAHAAwAAAAYAPf/AQAHAAwAAAAbAAAAAQATAAAAAAAbAAEAAQATAAAAAAAbAAIAAQATAAAAAAAbAAMAAQATAAEAAAAdAAAAAQATAAAAAAAdAAEAAQATAAEAAAAaAAAAAQATAAEAAAA=")
+tile_map_data = PackedByteArray("AAACAAYAAQAIAAQAAAADAAYAAQAIAAQAAAAEAAYAAQAIAAQAAAAFAAYAAQAIAAQAAAAGAAYAAQAIAAQAAAAHAAYAAQAIAAQAAAAIAAYAAQAIAAQAAAACAAcAAQAIAAUAAAACAAgAAQAIAAUAAAADAAgAAQAIAAUAAAAEAAgAAQAIAAUAAAAEAAkAAQAIAAUAAAAFAAkAAQAIAAUAAAAGAAkAAQAIAAUAAAAHAAkAAQAIAAUAAAAHAAgAAQAIAAUAAAAIAAgAAQAIAAUAAAAIAAcAAQAIAAUAAAAHAAcAAQAIAAUAAAAGAAcAAQAIAAUAAAAFAAcAAQAIAAUAAAAEAAcAAQAIAAUAAAADAAcAAQAIAAUAAAAFAAgAAQAIAAUAAAAGAAgAAQAIAAUAAAAJAAUAAQAHAAUAAAAJAAQAAQAHAAQAAAAKAAQAAQAIAAQAAAALAAQAAQAJAAQAAAALAAUAAQAJAAUAAAALAAYAAQAJAAUAAAALAAcAAQAJAAUAAAAMAAgAAQAIAAQAAAANAAgAAQAIAAQAAAALAAgAAQAIAAUAAAAKAAgAAQAIAAUAAAAKAAcAAQAIAAUAAAAKAAYAAQAIAAUAAAAKAAUAAQAIAAUAAAAJAAYAAQAIAAUAAAAJAAcAAQAIAAUAAAAJAAgAAQAIAAUAAAAJAAkAAQAIAAUAAAAIAAkAAQAIAAUAAAAKAAkAAQAIAAUAAAALAAkAAQAIAAUAAAAMAAkAAQAIAAUAAAAMAAcAAQASAAEAAAABAAUAAQAJAAUAAAABAAQAAQAJAAUAAAABAAMAAQAJAAUAAAABAAIAAQAJAAUAAAAAAAIAAQAIAAUAAAAAAAMAAQAIAAUAAAAAAAQAAQAIAAUAAAAAAAUAAQAIAAUAAAAAAAYAAQAIAAUAAAAAAAcAAQAIAAUAAAABAAYAAQAIAAUAAAABAAcAAQAIAAUAAAABAAgAAQAIAAUAAAABAAkAAQAIAAUAAAAAAAkAAQAIAAUAAAAAAAgAAQAIAAUAAAACAAkAAQAIAAUAAAADAAkAAQAIAAUAAAAOAAYAAQALAAMAAAAOAAgAAQAIAAQAAAAPAAkAAQAIAAUAAAAKAAMAAQAOAAEAAAAKAAIAAQAOAAAAAAAHAAUAAQASAAAAAAAEAAEAAQALAAMAAAAEAAIAAQATAAAAAAAEAAMAAQATAAEAAAAPAAgAAQAIAAQAAAAQAAcAAQAAAAAAAAAQAAYAAQATAAEAAAAQAAUAAQAHAAYAAAAQAAQAAQAHAAQAAAAQAAMAAQAAAAAAAAAQAAIAAQAAAAAAAAAQAAEAAQAAAAAAAAAQAAAAAQAAAAAAAAANAAkAAQAIAAUAAAAOAAkAAQAIAAUAAAAQAAkAAQAIAAUAAAAQAAgAAQAIAAQAAAARAAkAAQAIAAUAAAARAAgAAQAIAAQAAAARAAcAAQAAAAAAAAARAAYAAQAAAAAAAAARAAUAAQAJAAYAAAARAAQAAQAJAAQAAAARAAMAAQANAAIAAAARAAIAAQAAAAAAAAARAAEAAQAAAAAAAAARAAAAAQAAAAAAAAASAAAAAQAAAAAAAAASAAEAAQAAAAAAAAASAAIAAQAAAAAAAAASAAMAAQAAAAAAAAASAAQAAQAAAAAAAAASAAUAAQAAAAAAAAASAAYAAQAAAAAAAAASAAcAAQAAAAAAAAASAAgAAQAJAAQAAAASAAkAAQAIAAUAAAASAAoAAQAIAAUAAAASAAsAAQAIAAUAAAARAAsAAQAIAAUAAAARAAoAAQAIAAUAAAAQAAoAAQAIAAUAAAAPAAoAAQAIAAUAAAAOAAoAAQAIAAUAAAANAAoAAQAIAAUAAAAMAAoAAQAIAAUAAAALAAoAAQAIAAUAAAAKAAoAAQAIAAUAAAAJAAoAAQAIAAUAAAAIAAoAAQAIAAUAAAAHAAoAAQAIAAUAAAAGAAoAAQAIAAUAAAAFAAoAAQAIAAUAAAAEAAoAAQAIAAUAAAADAAoAAQAIAAUAAAACAAoAAQAIAAUAAAABAAoAAQAIAAUAAAAAAAoAAQAIAAUAAAAAAAsAAQAIAAUAAAABAAsAAQAIAAUAAAACAAsAAQAIAAUAAAADAAsAAQAIAAUAAAAEAAsAAQAIAAUAAAAFAAsAAQAIAAUAAAAGAAsAAQAIAAUAAAAHAAsAAQAIAAUAAAAIAAsAAQAIAAUAAAAJAAsAAQAIAAUAAAAKAAsAAQAIAAUAAAALAAsAAQAIAAUAAAAMAAsAAQAIAAUAAAANAAsAAQAIAAUAAAAOAAsAAQAIAAUAAAAPAAsAAQAIAAUAAAAQAAsAAQAIAAUAAAAAAAEAAQAIAAUAAAAAAAAAAQAIAAUAAAAAAP//AQAIAAUAAAAAAP7/AQAIAAUAAAD///7/AQAIAAUAAAD/////AQAIAAUAAAD//wAAAQAIAAUAAAD//wEAAQAIAAUAAAD//wIAAQAIAAUAAAD//wMAAQAIAAUAAAD//wQAAQAIAAUAAAD//wUAAQAIAAUAAAD//wYAAQAIAAUAAAD//wcAAQAIAAUAAAD//wgAAQAIAAUAAAD+/wgAAQAIAAUAAAD+/wcAAQAIAAUAAAD+/wYAAQAIAAUAAAD+/wUAAQAIAAUAAAD+/wQAAQAIAAUAAAD+/wMAAQAIAAUAAAD+/wIAAQAIAAUAAAD+/wEAAQAIAAUAAAD+/wAAAQAIAAUAAAD+////AQAIAAUAAAD+/wkAAQAIAAUAAAD//wkAAQAIAAUAAAD//woAAQAIAAUAAAD//wsAAQAIAAUAAAD+/wsAAQAIAAUAAAD+/woAAQAIAAUAAAABAAEAAQAJAAUAAAABAAAAAQAJAAUAAAABAP//AQAJAAUAAAABAP7/AQAJAAUAAAABAP3/AQAJAAUAAAAQAP//AQAAAAAAAAAQAP7/AQAAAAAAAAAQAP3/AQAAAAAAAAARAP//AQAAAAAAAAAPAAcAAQASAAEAAAAQAPz/AQAAAAAAAAARAP7/AQAAAAAAAAAUAAcAAQAAAAAAAAAUAAYAAQAAAAAAAAAUAAUAAQAHAAYAAAAUAAQAAQAHAAUAAAAUAAMAAQAHAAUAAAAUAAEAAQAAAAAAAAAUAAIAAQAHAAQAAAATAAgAAQAAAAAAAAATAAkAAQAJAAQAAAATAAoAAQAIAAUAAAATAAsAAQAIAAUAAAAUAAsAAQAIAAUAAAAUAAoAAQAJAAQAAAAUAAkAAQAAAAAAAAAUAAgAAQAAAAAAAAAVAAkAAQAAAAAAAAAVAAoAAQAAAAAAAAAVAAsAAQAIAAQAAAAVAAgAAQAAAAAAAAAVAAcAAQAAAAAAAAAVAAYAAQAAAAAAAAAVAAUAAQAIAAYAAAAVAAQAAQAIAAUAAAAVAAMAAQAJAAUAAAAVAAIAAQAJAAQAAAAWAAQAAQAJAAQAAAAXAAUAAQAJAAQAAAAYAAYAAQAJAAQAAAAWAAUAAQAIAAUAAAAWAAYAAQAHAAUAAAAXAAYAAQAIAAUAAAAXAAcAAQAIAAUAAAAWAAcAAQAHAAYAAAAWAAgAAQAAAAAAAAAXAAgAAQAHAAYAAAAWAAkAAQAAAAAAAAAWAAoAAQAAAAAAAAAWAAsAAQAIAAQAAAAXAAsAAQAIAAQAAAAXAAoAAQAAAAAAAAAXAAkAAQAAAAAAAAAYAAkAAQAAAAAAAAAYAAgAAQAIAAYAAAAYAAcAAQAIAAUAAAAYAAoAAQAAAAAAAAAYAAsAAQAIAAQAAAAZAAcAAQAIAAQAAAAaAAcAAQAIAAQAAAAbAAcAAQAIAAQAAAAcAAcAAQAIAAQAAAAdAAcAAQAIAAQAAAAeAAcAAQAIAAQAAAAfAAcAAQAIAAQAAAAgAAcAAQAIAAQAAAAhAAcAAQAIAAQAAAAhAAgAAQAIAAYAAAAhAAkAAQAAAAAAAAAhAAoAAQAAAAAAAAAgAAoAAQAAAAAAAAAgAAkAAQAAAAAAAAAgAAgAAQAIAAYAAAAfAAgAAQAIAAYAAAAfAAkAAQAAAAAAAAAeAAkAAQAAAAAAAAAdAAgAAQAIAAYAAAAcAAgAAQAIAAYAAAAbAAgAAQAIAAYAAAAaAAgAAQAIAAYAAAAZAAgAAQAIAAYAAAAeAAgAAQAIAAYAAAAeAAoAAQAAAAAAAAAdAAoAAQAAAAAAAAAcAAoAAQAAAAAAAAAbAAoAAQAAAAAAAAAbAAkAAQAAAAAAAAAaAAkAAQAAAAAAAAAZAAkAAQAAAAAAAAAcAAkAAQAAAAAAAAAdAAkAAQAAAAAAAAAaAAoAAQAAAAAAAAAZAAoAAQAAAAAAAAAZAAsAAQAIAAQAAAAaAAsAAQAIAAQAAAAbAAsAAQAIAAQAAAAcAAsAAQAIAAQAAAAdAAsAAQAIAAQAAAAeAAsAAQAIAAQAAAAfAAsAAQAIAAQAAAAgAAsAAQAIAAQAAAAfAAoAAQAAAAAAAAAhAAsAAQAIAAQAAAAAAP3/AQAIAAUAAAD///3/AQAIAAUAAAD+//3/AQAIAAUAAAD9//3/AQAIAAUAAAD8//3/AQAIAAUAAAD+//7/AQAIAAUAAAD9//7/AQAIAAUAAAD8//7/AQAIAAUAAAD7//7/AQAIAAUAAAD7//3/AQAIAAUAAAD7////AQAIAAUAAAD8////AQAIAAUAAAD9////AQAIAAUAAAD9/wAAAQAIAAUAAAD9/wEAAQAIAAUAAAD9/wIAAQAIAAUAAAD8/wIAAQAIAAUAAAD7/wEAAQAIAAUAAAD7/wAAAQAIAAUAAAD8/wAAAQAIAAUAAAD8/wEAAQAIAAUAAAD7/wIAAQAIAAUAAAD7/wMAAQAIAAUAAAD8/wMAAQAIAAUAAAD9/wMAAQAIAAUAAAD9/wQAAQAIAAUAAAD8/wQAAQAIAAUAAAD7/wQAAQAIAAUAAAD7/wUAAQAIAAUAAAD8/wUAAQAIAAUAAAD9/wUAAQAIAAUAAAD9/wYAAQAIAAUAAAD8/wYAAQAIAAUAAAD7/wYAAQAIAAUAAAD7/wcAAQAIAAUAAAD8/wcAAQAIAAUAAAD9/wcAAQAIAAUAAAD9/wgAAQAIAAUAAAD8/wgAAQAIAAUAAAD7/wgAAQAIAAUAAAD7/wkAAQAIAAUAAAD8/wkAAQAIAAUAAAD9/wkAAQAIAAUAAAD9/woAAQAIAAUAAAD8/woAAQAIAAUAAAD7/woAAQAIAAUAAAD7/wsAAQAIAAUAAAD8/wsAAQAIAAUAAAD9/wsAAQAIAAUAAAAfAAYAAQAHAAwAAAAfAAUAAQAHAAsAAAAgAAUAAQAIAAsAAAAhAAUAAQAIAAsAAAAiAAcAAQAIAAUAAAAiAAYAAQAHAAUAAAAiAAUAAQAHAAUAAAAiAAQAAQAHAAUAAAAiAAMAAQAHAAUAAAAiAAIAAQAHAAUAAAAiAAEAAQAHAAUAAAAiAAgAAQAIAAYAAAAiAAkAAQAAAAAAAAAiAAoAAQAAAAAAAAAiAAsAAQAIAAQAAAAjAAsAAQAIAAQAAAAjAAoAAQAAAAAAAAAkAAoAAQAAAAAAAAAkAAkAAQAAAAAAAAAjAAkAAQAAAAAAAAAjAAgAAQAIAAYAAAAkAAsAAQAIAAQAAAAkAAgAAQAIAAYAAAAjAAcAAQAIAAUAAAAkAAcAAQAIAAUAAAAkAAYAAQAIAAUAAAAkAAUAAQAIAAUAAAAkAAQAAQAIAAUAAAAkAAMAAQAIAAUAAAAkAAIAAQAIAAUAAAAjAAIAAQAIAAUAAAAjAAEAAQAIAAUAAAAjAAMAAQAIAAUAAAAjAAQAAQAIAAUAAAAjAAUAAQAIAAUAAAAjAAYAAQAIAAUAAAAkAAEAAQAIAAUAAAAjAAAAAQAIAAUAAAAjAP//AQAHAAUAAAAjAP7/AQAHAAUAAAAjAP3/AQAHAAUAAAAjAPz/AQAHAAUAAAAjAPv/AQAHAAUAAAAjAPr/AQAHAAUAAAAkAPr/AQAIAAUAAAAkAPv/AQAIAAUAAAAkAPz/AQAIAAUAAAAkAP3/AQAIAAUAAAAkAP7/AQAIAAUAAAAkAP//AQAIAAUAAAAkAAAAAQAIAAUAAAAhAAMAAQAHAA0AAAAhAAIAAQAHAAsAAAAiAAAAAQAHAAQAAAAYAP//AQAHAA0AAAAZAP//AQAIAAsAAAAaAP//AQAIAAsAAAAbAP//AQAIAAsAAAAcAP//AQAIAAsAAAAdAP//AQAIAAsAAAAeAP//AQAIAAsAAAAfAP//AQAJAAsAAAAgAP//AQAAAAAAAAAcAP7/AQACAAIAAAAjAPn/AQAHAAUAAAAkAPn/AQAIAAUAAAAlAPn/AQAIAAUAAAAmAPn/AQAIAAUAAAAnAPn/AQAIAAUAAAAnAPr/AQAIAAUAAAAnAPv/AQAIAAUAAAAnAPz/AQAIAAUAAAAmAPz/AQAIAAUAAAAmAPv/AQAIAAUAAAAlAPv/AQAIAAUAAAAlAPr/AQAIAAUAAAAmAPr/AQAIAAUAAAAlAPz/AQAIAAUAAAAlAP3/AQAIAAUAAAAmAP3/AQAIAAUAAAAnAP3/AQAIAAUAAAAmAP7/AQAIAAUAAAAlAP7/AQAIAAUAAAAlAP//AQAIAAUAAAAmAP//AQAIAAUAAAAnAP//AQAIAAUAAAAnAP7/AQAIAAUAAAAnAAAAAQAIAAUAAAAmAAAAAQAIAAUAAAAlAAAAAQAIAAUAAAAlAAEAAQAIAAUAAAAmAAEAAQAIAAUAAAAmAAIAAQAIAAUAAAAnAAIAAQAIAAUAAAAnAAMAAQAIAAUAAAAnAAQAAQAIAAUAAAAnAAEAAQAIAAUAAAAnAAUAAQAIAAUAAAAnAAYAAQAIAAUAAAAnAAcAAQAIAAUAAAAnAAgAAQAIAAYAAAAnAAkAAQAAAAAAAAAmAAkAAQAAAAAAAAAmAAgAAQAIAAYAAAAlAAgAAQAIAAYAAAAlAAcAAQAIAAUAAAAlAAYAAQAIAAUAAAAlAAUAAQAIAAUAAAAlAAQAAQAIAAUAAAAlAAMAAQAIAAUAAAAmAAMAAQAIAAUAAAAlAAIAAQAIAAUAAAAmAAQAAQAIAAUAAAAmAAUAAQAIAAUAAAAmAAcAAQAIAAUAAAAmAAYAAQAIAAUAAAAlAAkAAQAAAAAAAAAlAAoAAQAAAAAAAAAlAAsAAQAIAAQAAAAmAAsAAQAIAAQAAAAnAAsAAQAIAAQAAAAnAAoAAQAAAAAAAAAmAAoAAQAAAAAAAAAYAP7/AQAHAAwAAAAYAP3/AQAHAAwAAAAYAPz/AQAHAAwAAAAYAPv/AQAHAAwAAAAYAPr/AQAHAAwAAAAYAPn/AQAHAAwAAAAYAPj/AQAHAAwAAAAYAPf/AQAHAAwAAAAbAAAAAQATAAAAAAAbAAEAAQATAAAAAAAbAAIAAQATAAAAAAAbAAMAAQATAAEAAAAdAAAAAQATAAAAAAAdAAEAAQATAAEAAAAaAAAAAQATAAEAAAAnAAwAAQAIAAUAAAAnAA0AAQAIAAUAAAAnAA4AAQAIAAUAAAAnAA8AAQAIAAUAAAAnABAAAQAIAAUAAAAmABAAAQAIAAUAAAAmAA8AAQAIAAUAAAAmAA4AAQAIAAUAAAAmAA0AAQAIAAUAAAAmAAwAAQAIAAUAAAAlAAwAAQAIAAUAAAAlAA0AAQAIAAUAAAAlAA4AAQAIAAUAAAAlAA8AAQAIAAUAAAAlABAAAQAIAAUAAAAkABAAAQAIAAUAAAAkAA8AAQAIAAUAAAAkAA4AAQAIAAUAAAAkAA0AAQAIAAUAAAAkAAwAAQAIAAUAAAAjAAwAAQAIAAUAAAAjAA0AAQAIAAUAAAAjAA4AAQAIAAUAAAAjAA8AAQAIAAUAAAAjABAAAQAIAAUAAAAiABAAAQAIAAUAAAAiAA8AAQAIAAUAAAAiAA4AAQAIAAUAAAAiAA0AAQAIAAUAAAAiAAwAAQAIAAUAAAAhAAwAAQAIAAUAAAAhAA0AAQAIAAUAAAAhAA4AAQAIAAUAAAAhAA8AAQAIAAUAAAAhABAAAQAIAAUAAAAgABAAAQAIAAUAAAAgAA8AAQAIAAUAAAAgAA4AAQAIAAUAAAAgAA0AAQAIAAUAAAAgAAwAAQAIAAUAAAAfAAwAAQAIAAUAAAAfAA0AAQAIAAUAAAAfAA4AAQAIAAUAAAAfAA8AAQAIAAUAAAAfABAAAQAIAAUAAAAeABAAAQAIAAUAAAAeAA8AAQAIAAUAAAAeAA4AAQAIAAUAAAAeAA0AAQAIAAUAAAAeAAwAAQAIAAUAAAAdAAwAAQAIAAUAAAAdAA0AAQAIAAUAAAAdAA4AAQAIAAUAAAAdAA8AAQAIAAUAAAAdABAAAQAIAAUAAAAcABAAAQAIAAUAAAAcAA8AAQAIAAUAAAAcAA4AAQAIAAUAAAAcAA0AAQAIAAUAAAAcAAwAAQAIAAUAAAAbAAwAAQAIAAUAAAAbAA0AAQAIAAUAAAAbAA4AAQAIAAUAAAAbAA8AAQAIAAUAAAAbABAAAQAIAAUAAAAaABAAAQAIAAUAAAAaAA8AAQAIAAUAAAAaAA4AAQAIAAUAAAAaAA0AAQAIAAUAAAAaAAwAAQAIAAUAAAAZAAwAAQAIAAUAAAAZAA0AAQAIAAUAAAAZAA4AAQAIAAUAAAAZAA8AAQAIAAUAAAAZABAAAQAIAAUAAAAYABAAAQAIAAUAAAAYAA8AAQAIAAUAAAAYAA4AAQAIAAUAAAAYAA0AAQAIAAUAAAAYAAwAAQAIAAUAAAAXAAwAAQAIAAUAAAAXAA0AAQAIAAUAAAAXAA4AAQAIAAUAAAAXAA8AAQAIAAUAAAAXABAAAQAIAAUAAAAWABAAAQAIAAUAAAAWAA8AAQAIAAUAAAAWAA4AAQAIAAUAAAAWAA0AAQAIAAUAAAAWAAwAAQAIAAUAAAAVAAwAAQAIAAUAAAAVAA0AAQAIAAUAAAAVAA4AAQAIAAUAAAAVAA8AAQAIAAUAAAAVABAAAQAIAAUAAAAUABAAAQAIAAUAAAAUAA8AAQAIAAUAAAAUAA4AAQAIAAUAAAAUAA0AAQAIAAUAAAAUAAwAAQAIAAUAAAATAAwAAQAIAAUAAAATAA0AAQAIAAUAAAATAA4AAQAIAAUAAAATAA8AAQAIAAUAAAATABAAAQAIAAUAAAASABAAAQAIAAUAAAASAA8AAQAIAAUAAAASAA4AAQAIAAUAAAASAA0AAQAIAAUAAAASAAwAAQAIAAUAAAARAAwAAQAIAAUAAAARAA0AAQAIAAUAAAARAA4AAQAIAAUAAAARAA8AAQAIAAUAAAARABAAAQAIAAUAAAAQABAAAQAIAAUAAAAQAA8AAQAIAAUAAAAQAA4AAQAIAAUAAAAQAA0AAQAIAAUAAAAQAAwAAQAIAAUAAAAPAAwAAQAIAAUAAAAPAA0AAQAIAAUAAAAPAA4AAQAIAAUAAAAPAA8AAQAIAAUAAAAPABAAAQAIAAUAAAAOABAAAQAIAAUAAAAOAA8AAQAIAAUAAAAOAA4AAQAIAAUAAAAOAA0AAQAIAAUAAAANAA0AAQAIAAUAAAANAAwAAQAIAAUAAAAOAAwAAQAIAAUAAAANAA4AAQAIAAUAAAANAA8AAQAIAAUAAAANABAAAQAIAAUAAAAMABAAAQAIAAUAAAAMAA8AAQAIAAUAAAAMAA4AAQAIAAUAAAAMAA0AAQAIAAUAAAAMAAwAAQAIAAUAAAD6/wsAAQAIAAUAAAD5/wsAAQAIAAUAAAD4/wsAAQAIAAUAAAD4/woAAQAIAAUAAAD5/woAAQAIAAUAAAD6/woAAQAIAAUAAAD6/wkAAQAIAAUAAAD5/wkAAQAIAAUAAAD4/wkAAQAIAAUAAAD4/wgAAQAIAAUAAAD5/wgAAQAIAAUAAAD6/wgAAQAIAAUAAAD6/wcAAQAIAAUAAAD5/wcAAQAIAAUAAAD4/wcAAQAIAAUAAAD4/wYAAQAIAAUAAAD5/wYAAQAIAAUAAAD6/wYAAQAIAAUAAAD6/wUAAQAIAAUAAAD5/wUAAQAIAAUAAAD4/wUAAQAIAAUAAAD4/wQAAQAIAAUAAAD5/wQAAQAIAAUAAAD6/wQAAQAIAAUAAAD6/wMAAQAIAAUAAAD5/wMAAQAIAAUAAAD4/wMAAQAIAAUAAAD4/wIAAQAIAAUAAAD4/wEAAQAIAAUAAAD5/wEAAQAIAAUAAAD6/wEAAQAIAAUAAAD5/wIAAQAIAAUAAAD6/wIAAQAIAAUAAAD6/wAAAQAIAAUAAAD5/wAAAQAIAAUAAAD4/wAAAQAIAAUAAAD4////AQAIAAUAAAD5////AQAIAAUAAAD6////AQAIAAUAAAD6//7/AQAIAAUAAAD5//7/AQAIAAUAAAD4//7/AQAIAAUAAAD3//7/AQAIAAUAAAD3//3/AQAIAAUAAAD4//3/AQAIAAUAAAD5//3/AQAIAAUAAAD6//3/AQAIAAUAAAA=")
tile_set = SubResource("TileSet_y32ns")
[node name="Player" parent="." instance=ExtResource("2_qglt1")]
-position = Vector2(325, 122)
+position = Vector2(87, 91)
collision_layer = 2
speed = 70.0
jump_strength = 200.0
@@ -479,6 +468,10 @@ script = ExtResource("4_8b75i")
[node name="TouchScreenUI" parent="." instance=ExtResource("5_r17u5")]
-[node name="Door" parent="." instance=ExtResource("6_lfjh7")]
-position = Vector2(344, 121)
+[node name="DoorMiddle" parent="." instance=ExtResource("6_lfjh7")]
+position = Vector2(430, 170)
+scale = Vector2(1, 4)
target_room = "test2"
+target_door = "DoorLeft"
+exit_towards = "LEFT"
+enter_towards = "RIGHT"
diff --git a/room_test2.tscn b/room_test2.tscn
index 39c9c9d..b6bb018 100644
--- a/room_test2.tscn
+++ b/room_test2.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=10 format=4 uid="uid://cm4xqhbvyndt1"]
+[gd_scene load_steps=9 format=4 uid="uid://cm4xqhbvyndt1"]
[ext_resource type="Texture2D" uid="uid://o0yy2jkyp0dy" path="res://assets/kenney_1-bit-platformer-pack/Tilemap/monochrome_tilemap_transparent_packed.png" id="1_otugw"]
[ext_resource type="PackedScene" uid="uid://coxnsharboouu" path="res://player.tscn" id="2_0kik6"]
@@ -7,19 +7,6 @@
[ext_resource type="PackedScene" uid="uid://cciwccvljuuyq" path="res://touch_screen_ui.tscn" id="5_a1hvs"]
[ext_resource type="PackedScene" uid="uid://df0loiahar23o" path="res://door.tscn" id="6_0kik6"]
-[sub_resource type="GDScript" id="GDScript_p1rem"]
-script/source = "class_name RoomTest
-extends Node2D
-
-# Called when the node enters the scene tree for the first time.
-func _ready() -> void:
- pass # Replace with function body.
-
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-func _process(_delta: float) -> void:
- pass
-"
-
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0e48y"]
texture = ExtResource("1_otugw")
1:0/0 = 0
@@ -452,16 +439,15 @@ texture = ExtResource("1_otugw")
physics_layer_0/collision_layer = 1
sources/1 = SubResource("TileSetAtlasSource_0e48y")
-[node name="RoomTest" type="Node2D"]
+[node name="RoomTest2" type="Node2D"]
process_mode = 1
-script = SubResource("GDScript_p1rem")
+metadata/_custom_type_script = "uid://cbhily4o7e2r3"
[node name="TileMapLayer" type="TileMapLayer" parent="."]
tile_map_data = PackedByteArray("AAACAAYAAQAIAAQAAAADAAYAAQAIAAQAAAAEAAYAAQAIAAQAAAAFAAYAAQAIAAQAAAAGAAYAAQAIAAQAAAAHAAYAAQAIAAQAAAAIAAYAAQAIAAQAAAACAAcAAQAIAAUAAAACAAgAAQAIAAUAAAADAAgAAQAIAAUAAAAEAAgAAQAIAAUAAAAEAAkAAQAIAAUAAAAFAAkAAQAIAAUAAAAGAAkAAQAIAAUAAAAHAAkAAQAIAAUAAAAHAAgAAQAIAAUAAAAIAAgAAQAIAAUAAAAIAAcAAQAIAAUAAAAHAAcAAQAIAAUAAAAGAAcAAQAIAAUAAAAFAAcAAQAIAAUAAAAEAAcAAQAIAAUAAAADAAcAAQAIAAUAAAAFAAgAAQAIAAUAAAAGAAgAAQAIAAUAAAAJAAUAAQAHAAUAAAAJAAQAAQAHAAUAAAAKAAQAAQAIAAUAAAALAAQAAQAIAAUAAAALAAUAAQAIAAUAAAALAAYAAQAIAAUAAAALAAcAAQAIAAUAAAAMAAgAAQAIAAUAAAANAAgAAQAAAAAAAAALAAgAAQAIAAUAAAAKAAgAAQAIAAUAAAAKAAcAAQAIAAUAAAAKAAYAAQAIAAUAAAAKAAUAAQAIAAUAAAAJAAYAAQAIAAUAAAAJAAcAAQAIAAUAAAAJAAgAAQAIAAUAAAAJAAkAAQAIAAUAAAAIAAkAAQAIAAUAAAAKAAkAAQAIAAUAAAALAAkAAQAIAAUAAAAMAAkAAQAIAAUAAAAMAAcAAQAIAAUAAAABAAUAAQAAAAAAAAABAAQAAQAAAAAAAAABAAMAAQAJAAYAAAABAAIAAQAJAAUAAAAAAAIAAQAIAAUAAAAAAAMAAQAIAAYAAAAAAAQAAQAAAAAAAAAAAAUAAQAAAAAAAAAAAAYAAQAIAAQAAAAAAAcAAQAIAAUAAAABAAYAAQAIAAQAAAABAAcAAQAIAAUAAAABAAgAAQAIAAUAAAABAAkAAQAIAAUAAAAAAAkAAQAIAAUAAAAAAAgAAQAIAAUAAAACAAkAAQAIAAUAAAADAAkAAQAIAAUAAAAOAAYAAQAAAAAAAAAOAAgAAQAAAAAAAAAPAAkAAQAAAAAAAAAKAAMAAQAIAAUAAAAKAAIAAQAIAAUAAAAHAAUAAQASAAAAAAAEAAEAAQALAAMAAAAEAAIAAQATAAAAAAAEAAMAAQATAAEAAAAPAAgAAQAAAAAAAAAQAAcAAQAAAAAAAAAQAAYAAQAAAAAAAAAQAAUAAQAAAAAAAAAQAAQAAQAAAAAAAAAQAAMAAQAAAAAAAAAQAAIAAQAAAAAAAAAQAAEAAQAAAAAAAAAQAAAAAQAAAAAAAAANAAkAAQAAAAAAAAAOAAkAAQAAAAAAAAAQAAkAAQAAAAAAAAAQAAgAAQAAAAAAAAARAAkAAQAAAAAAAAARAAgAAQAAAAAAAAARAAcAAQAAAAAAAAARAAYAAQAAAAAAAAARAAUAAQAAAAAAAAARAAQAAQAAAAAAAAARAAMAAQAAAAAAAAARAAIAAQAAAAAAAAARAAEAAQAAAAAAAAARAAAAAQAAAAAAAAASAAAAAQAAAAAAAAASAAEAAQAAAAAAAAASAAIAAQAAAAAAAAASAAMAAQAAAAAAAAASAAQAAQAAAAAAAAASAAUAAQAAAAAAAAASAAYAAQAAAAAAAAASAAcAAQAAAAAAAAASAAgAAQAAAAAAAAASAAkAAQAAAAAAAAASAAoAAQAAAAAAAAASAAsAAQAAAAAAAAARAAsAAQAAAAAAAAARAAoAAQAAAAAAAAAQAAoAAQAAAAAAAAAPAAoAAQAAAAAAAAAOAAoAAQAAAAAAAAANAAoAAQAAAAAAAAAMAAoAAQAIAAUAAAALAAoAAQAIAAUAAAAKAAoAAQAIAAUAAAAJAAoAAQAIAAUAAAAIAAoAAQAIAAUAAAAHAAoAAQAIAAUAAAAGAAoAAQAIAAUAAAAFAAoAAQAIAAUAAAAEAAoAAQAIAAUAAAADAAoAAQAIAAUAAAACAAoAAQAIAAUAAAABAAoAAQAIAAUAAAAAAAoAAQAIAAUAAAAAAAsAAQAIAAUAAAABAAsAAQAIAAUAAAACAAsAAQAIAAUAAAADAAsAAQAIAAUAAAAEAAsAAQAIAAUAAAAFAAsAAQAIAAUAAAAGAAsAAQAIAAUAAAAHAAsAAQAIAAUAAAAIAAsAAQAIAAUAAAAJAAsAAQAIAAUAAAAKAAsAAQAIAAUAAAALAAsAAQAIAAUAAAAMAAsAAQAIAAUAAAANAAsAAQAAAAAAAAAOAAsAAQAAAAAAAAAPAAsAAQAAAAAAAAAQAAsAAQAAAAAAAAAAAAEAAQAIAAUAAAAAAAAAAQAIAAUAAAAAAP//AQAIAAUAAAAAAP7/AQAIAAUAAAD///7/AQAIAAUAAAD/////AQAIAAUAAAD//wAAAQAIAAUAAAD//wEAAQAIAAUAAAD//wIAAQAIAAUAAAD//wMAAQAIAAYAAAD//wQAAQAAAAAAAAD//wUAAQAAAAAAAAD//wYAAQAIAAQAAAD//wcAAQAIAAUAAAD//wgAAQAIAAUAAAD+/wgAAQAIAAUAAAD+/wcAAQAIAAUAAAD+/wYAAQAIAAQAAAD+/wUAAQAAAAAAAAD+/wQAAQAAAAAAAAD+/wMAAQAIAAYAAAD+/wIAAQAIAAUAAAD+/wEAAQAIAAUAAAD+/wAAAQAIAAUAAAD+////AQAIAAUAAAD+/wkAAQAIAAUAAAD//wkAAQAIAAUAAAD//woAAQAIAAUAAAD//wsAAQAIAAUAAAD+/wsAAQAIAAUAAAD+/woAAQAIAAUAAAABAAEAAQAJAAUAAAABAAAAAQAJAAUAAAABAP//AQAIAAUAAAABAP7/AQAIAAUAAAABAP3/AQAIAAUAAAAQAP//AQAAAAAAAAAQAP7/AQAAAAAAAAAQAP3/AQAAAAAAAAARAP//AQAAAAAAAAAPAAcAAQAAAAAAAAAQAPz/AQAAAAAAAAARAP7/AQAAAAAAAAAUAAcAAQAAAAAAAAAUAAYAAQAAAAAAAAAUAAUAAQAAAAAAAAAUAAQAAQAAAAAAAAAUAAMAAQAAAAAAAAAUAAEAAQAAAAAAAAAUAAIAAQAAAAAAAAATAAgAAQAAAAAAAAATAAkAAQAAAAAAAAATAAoAAQAAAAAAAAATAAsAAQAAAAAAAAAUAAsAAQAAAAAAAAAUAAoAAQAAAAAAAAAUAAkAAQAAAAAAAAAUAAgAAQAAAAAAAAAVAAkAAQAAAAAAAAAVAAoAAQAAAAAAAAAVAAsAAQAAAAAAAAAVAAgAAQAAAAAAAAAVAAcAAQAAAAAAAAAVAAYAAQAAAAAAAAAVAAUAAQAAAAAAAAAVAAQAAQAAAAAAAAAVAAMAAQAAAAAAAAAVAAIAAQAAAAAAAAAWAAQAAQAAAAAAAAAXAAUAAQAAAAAAAAAYAAYAAQAAAAAAAAAWAAUAAQAAAAAAAAAWAAYAAQAAAAAAAAAXAAYAAQAAAAAAAAAXAAcAAQAAAAAAAAAWAAcAAQAAAAAAAAAWAAgAAQAAAAAAAAAXAAgAAQAAAAAAAAAWAAkAAQAAAAAAAAAWAAoAAQAAAAAAAAAWAAsAAQAAAAAAAAAXAAsAAQAAAAAAAAAXAAoAAQAAAAAAAAAXAAkAAQAAAAAAAAAYAAkAAQAAAAAAAAAYAAgAAQAAAAAAAAAYAAcAAQAAAAAAAAAYAAoAAQAAAAAAAAAYAAsAAQAAAAAAAAAZAAcAAQAAAAAAAAAaAAcAAQAAAAAAAAAbAAcAAQAAAAAAAAAcAAcAAQAAAAAAAAAdAAcAAQAAAAAAAAAeAAcAAQAAAAAAAAAfAAcAAQAAAAAAAAAgAAcAAQAAAAAAAAAhAAcAAQAAAAAAAAAhAAgAAQAAAAAAAAAhAAkAAQAAAAAAAAAhAAoAAQAAAAAAAAAgAAoAAQAAAAAAAAAgAAkAAQAAAAAAAAAgAAgAAQAAAAAAAAAfAAgAAQAAAAAAAAAfAAkAAQAAAAAAAAAeAAkAAQAAAAAAAAAdAAgAAQAAAAAAAAAcAAgAAQAAAAAAAAAbAAgAAQAAAAAAAAAaAAgAAQAAAAAAAAAZAAgAAQAAAAAAAAAeAAgAAQAAAAAAAAAeAAoAAQAAAAAAAAAdAAoAAQAAAAAAAAAcAAoAAQAAAAAAAAAbAAoAAQAAAAAAAAAbAAkAAQAAAAAAAAAaAAkAAQAAAAAAAAAZAAkAAQAAAAAAAAAcAAkAAQAAAAAAAAAdAAkAAQAAAAAAAAAaAAoAAQAAAAAAAAAZAAoAAQAAAAAAAAAZAAsAAQAAAAAAAAAaAAsAAQAAAAAAAAAbAAsAAQAAAAAAAAAcAAsAAQAAAAAAAAAdAAsAAQAAAAAAAAAeAAsAAQAAAAAAAAAfAAsAAQAAAAAAAAAgAAsAAQAAAAAAAAAfAAoAAQAAAAAAAAAhAAsAAQAAAAAAAAAAAP3/AQAIAAUAAAD///3/AQAIAAUAAAD+//3/AQAIAAUAAAD9//3/AQAIAAUAAAD8//3/AQAIAAUAAAD+//7/AQAIAAUAAAD9//7/AQAIAAUAAAD8//7/AQAIAAUAAAD7//7/AQAIAAUAAAD7//3/AQAIAAUAAAD7////AQAIAAUAAAD8////AQAIAAUAAAD9////AQAIAAUAAAD9/wAAAQAIAAUAAAD9/wEAAQAIAAUAAAD9/wIAAQAIAAUAAAD8/wIAAQAIAAUAAAD7/wEAAQAIAAUAAAD7/wAAAQAIAAUAAAD8/wAAAQAIAAUAAAD8/wEAAQAIAAUAAAD7/wIAAQAIAAUAAAD7/wMAAQAIAAYAAAD8/wMAAQAIAAYAAAD9/wMAAQAIAAYAAAD9/wQAAQAAAAAAAAD8/wQAAQAAAAAAAAD7/wQAAQAAAAAAAAD7/wUAAQAAAAAAAAD8/wUAAQAAAAAAAAD9/wUAAQAAAAAAAAD9/wYAAQAIAAQAAAD8/wYAAQAIAAQAAAD7/wYAAQAIAAQAAAD7/wcAAQAIAAUAAAD8/wcAAQAIAAUAAAD9/wcAAQAIAAUAAAD9/wgAAQAIAAUAAAD8/wgAAQAIAAUAAAD7/wgAAQAIAAUAAAD7/wkAAQAIAAUAAAD8/wkAAQAIAAUAAAD9/wkAAQAIAAUAAAD9/woAAQAIAAUAAAD8/woAAQAIAAUAAAD7/woAAQAIAAUAAAD7/wsAAQAIAAUAAAD8/wsAAQAIAAUAAAD9/wsAAQAIAAUAAAAfAAYAAQAAAAAAAAAfAAUAAQAAAAAAAAAgAAUAAQAAAAAAAAAhAAUAAQAAAAAAAAAiAAcAAQAAAAAAAAAiAAYAAQAAAAAAAAAiAAUAAQAAAAAAAAAiAAQAAQAAAAAAAAAiAAMAAQAAAAAAAAAiAAIAAQAAAAAAAAAiAAEAAQAAAAAAAAAiAAgAAQAAAAAAAAAiAAkAAQAAAAAAAAAiAAoAAQAAAAAAAAAiAAsAAQAAAAAAAAAjAAsAAQAAAAAAAAAjAAoAAQAAAAAAAAAkAAoAAQAAAAAAAAAkAAkAAQAAAAAAAAAjAAkAAQAAAAAAAAAjAAgAAQAAAAAAAAAkAAsAAQAAAAAAAAAkAAgAAQAAAAAAAAAjAAcAAQAAAAAAAAAkAAcAAQAAAAAAAAAkAAYAAQAAAAAAAAAkAAUAAQAAAAAAAAAkAAQAAQAAAAAAAAAkAAMAAQAAAAAAAAAkAAIAAQAAAAAAAAAjAAIAAQAAAAAAAAAjAAEAAQAAAAAAAAAjAAMAAQAAAAAAAAAjAAQAAQAAAAAAAAAjAAUAAQAAAAAAAAAjAAYAAQAAAAAAAAAkAAEAAQAAAAAAAAAjAAAAAQAAAAAAAAAjAP//AQAAAAAAAAAjAP7/AQAAAAAAAAAjAP3/AQAAAAAAAAAjAPz/AQAAAAAAAAAjAPv/AQAAAAAAAAAjAPr/AQAAAAAAAAAkAPr/AQAAAAAAAAAkAPv/AQAAAAAAAAAkAPz/AQAAAAAAAAAkAP3/AQAAAAAAAAAkAP7/AQAAAAAAAAAkAP//AQAAAAAAAAAkAAAAAQAAAAAAAAAhAAMAAQAAAAAAAAAhAAIAAQAAAAAAAAAiAAAAAQAAAAAAAAAYAP//AQAAAAAAAAAZAP//AQAAAAAAAAAaAP//AQAAAAAAAAAbAP//AQAAAAAAAAAcAP//AQAAAAAAAAAdAP//AQAAAAAAAAAeAP//AQAAAAAAAAAfAP//AQAAAAAAAAAgAP//AQAAAAAAAAAcAP7/AQAAAAAAAAAjAPn/AQAAAAAAAAAkAPn/AQAAAAAAAAAlAPn/AQAAAAAAAAAmAPn/AQAAAAAAAAAnAPn/AQAAAAAAAAAnAPr/AQAAAAAAAAAnAPv/AQAAAAAAAAAnAPz/AQAAAAAAAAAmAPz/AQAAAAAAAAAmAPv/AQAAAAAAAAAlAPv/AQAAAAAAAAAlAPr/AQAAAAAAAAAmAPr/AQAAAAAAAAAlAPz/AQAAAAAAAAAlAP3/AQAAAAAAAAAmAP3/AQAAAAAAAAAnAP3/AQAAAAAAAAAmAP7/AQAAAAAAAAAlAP7/AQAAAAAAAAAlAP//AQAAAAAAAAAmAP//AQAAAAAAAAAnAP//AQAAAAAAAAAnAP7/AQAAAAAAAAAnAAAAAQAAAAAAAAAmAAAAAQAAAAAAAAAlAAAAAQAAAAAAAAAlAAEAAQAAAAAAAAAmAAEAAQAAAAAAAAAmAAIAAQAAAAAAAAAnAAIAAQAAAAAAAAAnAAMAAQAAAAAAAAAnAAQAAQAAAAAAAAAnAAEAAQAAAAAAAAAnAAUAAQAAAAAAAAAnAAYAAQAAAAAAAAAnAAcAAQAAAAAAAAAnAAgAAQAAAAAAAAAnAAkAAQAAAAAAAAAmAAkAAQAAAAAAAAAmAAgAAQAAAAAAAAAlAAgAAQAAAAAAAAAlAAcAAQAAAAAAAAAlAAYAAQAAAAAAAAAlAAUAAQAAAAAAAAAlAAQAAQAAAAAAAAAlAAMAAQAAAAAAAAAmAAMAAQAAAAAAAAAlAAIAAQAAAAAAAAAmAAQAAQAAAAAAAAAmAAUAAQAAAAAAAAAmAAcAAQAAAAAAAAAmAAYAAQAAAAAAAAAlAAkAAQAAAAAAAAAlAAoAAQAAAAAAAAAlAAsAAQAAAAAAAAAmAAsAAQAAAAAAAAAnAAsAAQAAAAAAAAAnAAoAAQAAAAAAAAAmAAoAAQAAAAAAAAAYAP7/AQAAAAAAAAAYAP3/AQAAAAAAAAAYAPz/AQAAAAAAAAAYAPv/AQAAAAAAAAAYAPr/AQAAAAAAAAAYAPn/AQAAAAAAAAAYAPj/AQAAAAAAAAAYAPf/AQAAAAAAAAAbAAAAAQAAAAAAAAAbAAEAAQAAAAAAAAAbAAIAAQAAAAAAAAAbAAMAAQAAAAAAAAAdAAAAAQAAAAAAAAAdAAEAAQAAAAAAAAAaAAAAAQAAAAAAAAAnAAwAAQAAAAAAAAAnAPj/AQAAAAAAAAAnAA0AAQAAAAAAAAAnAA4AAQAAAAAAAAAnAA8AAQAAAAAAAAAkAPj/AQAAAAAAAAAkAPf/AQAAAAAAAAAmAAwAAQAAAAAAAAAlAPj/AQAAAAAAAAAlAPf/AQAAAAAAAAAkAPb/AQAAAAAAAAAkAPX/AQAAAAAAAAAkAPT/AQAAAAAAAAAlAPT/AQAAAAAAAAAlAPX/AQAAAAAAAAAlAPb/AQAAAAAAAAAmAPj/AQAAAAAAAAAmAA0AAQAAAAAAAAAmAA4AAQAAAAAAAAAlAA4AAQAAAAAAAAAlAA0AAQAAAAAAAAAlAAwAAQAAAAAAAAAiAP//AQAAAAAAAAAiAP7/AQAAAAAAAAAiAP3/AQAAAAAAAAAiAPz/AQAAAAAAAAAiAPv/AQAAAAAAAAAiAPr/AQAAAAAAAAAiAPn/AQAAAAAAAAAiAPj/AQAAAAAAAAAiAPf/AQAAAAAAAAAiAPb/AQAAAAAAAAAjAPj/AQAAAAAAAAAgAAYAAQAAAAAAAAAgAAQAAQAAAAAAAAAgAAMAAQAAAAAAAAAhAAEAAQAAAAAAAAAhAAYAAQAAAAAAAAAfAAQAAQAAAAAAAAAgAAIAAQAAAAAAAAAhAAQAAQAAAAAAAAAYAAUAAQAAAAAAAAAZAAYAAQAAAAAAAAAaAAYAAQAAAAAAAAAcAAYAAQAAAAAAAAAdAAUAAQAAAAAAAAAdAAQAAQAAAAAAAAAeAAQAAQAAAAAAAAAeAAMAAQAAAAAAAAAfAAMAAQAAAAAAAAAfAAIAAQAAAAAAAAAfAAEAAQAAAAAAAAAfAAAAAQAAAAAAAAAZAP7/AQAAAAAAAAAZAPn/AQAAAAAAAAAZAPj/AQAAAAAAAAAZAPf/AQAAAAAAAAAZAPb/AQAAAAAAAAAYAPb/AQAAAAAAAAAcAAIAAQAAAAAAAAAcAAEAAQAAAAAAAAAeAAAAAQAAAAAAAAAcAAAAAQAAAAAAAAAcAAMAAQAAAAAAAAAcAAQAAQAAAAAAAAAbAAUAAQAAAAAAAAAbAAYAAQAAAAAAAAAZAAwAAQAAAAAAAAAZAA0AAQAAAAAAAAAYAA0AAQAAAAAAAAAYAAwAAQAAAAAAAAATAAcAAQAAAAAAAAASAAwAAQAAAAAAAAATAAYAAQAAAAAAAAAQAAwAAQAAAAAAAAAQAA0AAQAAAAAAAAAQAA4AAQAAAAAAAAAQAA8AAQAAAAAAAAAQABAAAQAAAAAAAAAPAA8AAQAAAAAAAAAPAA4AAQAAAAAAAAAPAA0AAQAAAAAAAAAPAAwAAQAAAAAAAAAPAAYAAQAAAAAAAAAPAAUAAQAAAAAAAAAPAAQAAQAAAAAAAAAPAAMAAQAAAAAAAAAPAAIAAQAAAAAAAAAOAA4AAQAAAAAAAAAOAA0AAQAAAAAAAAAOAAwAAQAAAAAAAAAOAAcAAQAAAAAAAAAOAAUAAQAAAAAAAAAOAAQAAQAAAAAAAAAOAAMAAQAAAAAAAAANAAYAAQAAAAAAAAANAAUAAQAAAAAAAAANAAQAAQAAAAAAAAANAAMAAQAAAAAAAAANAAIAAQAAAAAAAAANAAEAAQAAAAAAAAANAAAAAQAAAAAAAAANAAcAAQAAAAAAAAANAAwAAQAAAAAAAAANAA0AAQAAAAAAAAANAA4AAQAAAAAAAAANAA8AAQAAAAAAAAAMAA8AAQAAAAAAAAAMABAAAQAAAAAAAAAMAA4AAQAAAAAAAAAMAA0AAQAAAAAAAAAMAAwAAQAAAAAAAAAMAAYAAQAIAAUAAAALAAMAAQAIAAUAAAALAAIAAQAIAAUAAAALAAEAAQAIAAUAAAAKAAAAAQAIAAUAAAAKAP//AQAIAAUAAAAKAAEAAQAIAAUAAAAKAAwAAQAAAAAAAAAKAA0AAQAAAAAAAAAKAA4AAQAAAAAAAAAJAAMAAQAHAAUAAAAJAAIAAQAHAAUAAAAJAAEAAQAHAAUAAAAJAAAAAQAHAAUAAAAIAP//AQAIAAYAAAAHAP//AQAIAAYAAAAGAP//AQAIAAYAAAAFAP//AQAIAAYAAAAEAP//AQAIAAYAAAADAP//AQAIAAYAAAACAP//AQAIAAYAAAACAP7/AQAIAAUAAAADAP7/AQAIAAUAAAAEAP7/AQAIAAUAAAAFAP7/AQAIAAUAAAAGAP7/AQAIAAUAAAAHAP7/AQAIAAUAAAAIAP7/AQAIAAUAAAAJAP7/AQAIAAUAAAAJAP//AQAIAAUAAAAKAP7/AQAIAAUAAAALAP7/AQAIAAUAAAALAP//AQAIAAUAAAALAAAAAQAIAAUAAAAMAAUAAQAIAAUAAAAMAAQAAQAIAAUAAAAMAAMAAQAIAAUAAAAMAAIAAQAIAAUAAAAMAAEAAQAIAAUAAAAMAAAAAQAIAAUAAAAMAP//AQAIAAUAAAAMAP7/AQAIAAUAAAAMAP3/AQAIAAUAAAALAP3/AQAIAAUAAAAKAP3/AQAIAAUAAAAJAP3/AQAIAAUAAAAIAP3/AQAIAAUAAAAHAP3/AQAIAAUAAAADAP3/AQAIAAUAAAACAP3/AQAIAAUAAAAEAP3/AQAIAAUAAAAFAP3/AQAIAAUAAAAGAP3/AQAIAAUAAAD7//z/AQAIAAUAAAD8//z/AQAIAAUAAAD9//z/AQAIAAUAAAD+//z/AQAIAAUAAAD///z/AQAIAAUAAAAAAPz/AQAIAAUAAAABAPz/AQAIAAUAAAACAPz/AQAIAAUAAAADAPz/AQAIAAUAAAAEAPz/AQAIAAUAAAAFAPz/AQAIAAUAAAAGAPz/AQAIAAUAAAAHAPz/AQAIAAUAAAAIAPz/AQAIAAUAAAAJAPz/AQAIAAUAAAAKAPz/AQAIAAUAAAALAPz/AQAIAAUAAAAMAPz/AQAIAAUAAAD6/wYAAQAIAAQAAAD5/wYAAQAIAAQAAAD4/wYAAQAIAAQAAAD3/wYAAQAIAAQAAAD2/wYAAQAIAAQAAAD1/wYAAQAIAAQAAAD0/wYAAQAIAAQAAAD6/wcAAQAIAAUAAAD5/wcAAQAIAAUAAAD4/wcAAQAIAAUAAAD3/wcAAQAIAAUAAAD2/wcAAQAIAAUAAAD1/wcAAQAIAAUAAAD1/wgAAQAIAAUAAAD0/wcAAQAIAAUAAAD0/wgAAQAIAAUAAAD0/wkAAQAIAAUAAAD0/woAAQAIAAUAAAD0/wsAAQAIAAUAAAD0/wwAAQAIAAUAAAD1/wkAAQAIAAUAAAD2/wgAAQAIAAUAAAD3/wgAAQAIAAUAAAD4/wgAAQAIAAUAAAD5/wgAAQAIAAUAAAD6/wgAAQAIAAUAAAD6/wkAAQAIAAUAAAD6/woAAQAIAAUAAAD6/wsAAQAIAAUAAAD5/wsAAQAIAAUAAAD4/wsAAQAIAAUAAAD3/wsAAQAIAAUAAAD2/wsAAQAIAAUAAAD1/wsAAQAIAAUAAAD1/woAAQAIAAUAAAD2/wkAAQAIAAUAAAD3/wkAAQAIAAUAAAD4/wkAAQAIAAUAAAD5/wkAAQAIAAUAAAD5/woAAQAIAAUAAAD4/woAAQAIAAUAAAD3/woAAQAIAAUAAAD2/woAAQAIAAUAAAD6/wIAAQAIAAUAAAD5/wIAAQAIAAUAAAD4/wIAAQAIAAUAAAD3/wIAAQAIAAUAAAD2/wIAAQAIAAUAAAD1/wIAAQAIAAUAAAD0/wIAAQAIAAUAAAD0/wEAAQAIAAUAAAD1/wEAAQAIAAUAAAD2/wEAAQAIAAUAAAD3/wEAAQAIAAUAAAD4/wEAAQAIAAUAAAD5/wEAAQAIAAUAAAD6/wEAAQAIAAUAAAD6/wAAAQAIAAUAAAD6////AQAIAAUAAAD5/wAAAQAIAAUAAAD4/wAAAQAIAAUAAAD3/wAAAQAIAAUAAAD2/wAAAQAIAAUAAAD1/wAAAQAIAAUAAAD0/wAAAQAIAAUAAAD0////AQAIAAUAAAD1////AQAIAAUAAAD2////AQAIAAUAAAD3////AQAIAAUAAAD4////AQAIAAUAAAD5////AQAIAAUAAAD6//7/AQAIAAUAAAD5//7/AQAIAAUAAAD4//7/AQAIAAUAAAD3//7/AQAIAAUAAAD2//7/AQAIAAUAAAD1//7/AQAIAAUAAAD0//7/AQAIAAUAAAD6/wMAAQAIAAYAAAD5/wMAAQAIAAYAAAD4/wMAAQAIAAYAAAD3/wMAAQAIAAYAAAD2/wMAAQAIAAYAAAD1/wMAAQAIAAYAAAD0/wMAAQAIAAYAAAA=")
tile_set = SubResource("TileSet_y32ns")
[node name="Player" parent="." instance=ExtResource("2_0kik6")]
-position = Vector2(-2, 90)
collision_layer = 2
speed = 70.0
jump_strength = 200.0
@@ -479,7 +465,10 @@ script = ExtResource("4_gyred")
[node name="TouchScreenUI" parent="." instance=ExtResource("5_a1hvs")]
-[node name="Door" parent="." instance=ExtResource("6_0kik6")]
-position = Vector2(-28, 80)
-scale = Vector2(2, 2)
+[node name="DoorLeft" parent="." instance=ExtResource("6_0kik6")]
+position = Vector2(-28, 88)
+scale = Vector2(1, 4)
target_room = "test1"
+target_door = "DoorMiddle"
+exit_towards = "RIGHT"
+enter_towards = "LEFT"
diff --git a/top.gd b/top.gd
index 63335c4..54a8baf 100644
--- a/top.gd
+++ b/top.gd
@@ -5,10 +5,8 @@ extends Node2D
var save_state_path = "user://save_state.cfg"
var save_state = ConfigFile.new()
-## Should objects like the Player react to input, and enemies move
-var objects_active = true
-
var _transition_room: Node
+var _transition_door_name: Variant # String or null
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
@@ -23,20 +21,23 @@ func _ready() -> void:
save_state.set_value("items", "test_item", true)
save_state.save(save_state_path)
print(OS.get_data_dir())
+
+func is_transitioning() -> bool:
+ return _transition_room != null
-func transition_to_room(room_name: String):
+func transition_to_room(room_path: String, door_name: Variant):
# Do not transition if there is already a transition in process
if _transition_room != null:
- print_debug("Tried to transition to ", room_name, " but a transition was already in process")
+ #print_debug("Tried to transition to ", room_name, " but a transition was already in process")
return
# Start animation
# The animation calls _change_room at a specific time
$TransitionCanvas/AnimationPlayer.play("room_trans_start")
- objects_active = false
- var room = ResourceLoader.load("res://room_" + room_name + ".tscn")
+ var room = ResourceLoader.load(room_path)
_transition_room = room.instantiate()
+ _transition_door_name = door_name
func _transition_start():
print_debug("_transition_start")
@@ -50,17 +51,31 @@ func _transition_start():
var next_room: Node = _transition_room
next_room.name = "active_room"
- next_room.connect("ready", _on_room_changed)
+ #next_room.connect("ready", _on_room_changed)
+ next_room.connect("tree_entered", _on_room_changed)
+ next_room.process_mode = Node.PROCESS_MODE_PAUSABLE
add_child(next_room)
func _on_room_changed():
print_debug("_on_room_changed")
+ var room = get_node("active_room")
+ var player: Player = room.find_child("Player")
+ if _transition_door_name:
+ var door: Door = room.find_child(_transition_door_name)
+ player.position = door.position
+ player.set_forced_input(door.exit_towards)
+
$TransitionCanvas/AnimationPlayer.play("room_trans_end")
func _transition_end():
print_debug("_transition_end")
- objects_active = true
_transition_room = null
+ _transition_door_name = null
+
+ var room = get_node("active_room")
+ var player: Player = room.find_child("Player")
+ if player:
+ player.set_forced_input(null)
func save():
save_state.save("user://save_state.cfg")
diff --git a/top.tscn b/top.tscn
index b47a0aa..92486cc 100644
--- a/top.tscn
+++ b/top.tscn
@@ -1,7 +1,8 @@
-[gd_scene load_steps=7 format=3 uid="uid://cey3jxnpmommt"]
+[gd_scene load_steps=8 format=3 uid="uid://cey3jxnpmommt"]
[ext_resource type="Script" uid="uid://dxbspy72bg0db" path="res://top.gd" id="1_on2c2"]
[ext_resource type="PackedScene" uid="uid://cjdhfl70fgt6m" path="res://room_main_menu.tscn" id="2_58ij3"]
+[ext_resource type="PackedScene" uid="uid://cseqghymhiyqo" path="res://map.tscn" id="3_58ij3"]
[sub_resource type="Animation" id="Animation_58ij3"]
length = 0.001
@@ -18,8 +19,8 @@ tracks/0/keys = {
"values": [Color(0, 0, 0, 0)]
}
-[sub_resource type="Animation" id="Animation_2exal"]
-resource_name = "room_trans_start"
+[sub_resource type="Animation" id="Animation_edsjh"]
+resource_name = "room_trans_end"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
@@ -31,7 +32,7 @@ tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
-"values": [Color(0, 0, 0, 0), Color(0, 0, 0, 1)]
+"values": [Color(0, 0, 0, 1), Color(0, 0, 0, 0)]
}
tracks/1/type = "method"
tracks/1/imported = false
@@ -44,12 +45,12 @@ tracks/1/keys = {
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
-"method": &"_transition_start"
+"method": &"_transition_end"
}]
}
-[sub_resource type="Animation" id="Animation_edsjh"]
-resource_name = "room_trans_end"
+[sub_resource type="Animation" id="Animation_2exal"]
+resource_name = "room_trans_start"
length = 2.0
tracks/0/type = "value"
tracks/0/imported = false
@@ -61,7 +62,7 @@ tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
-"values": [Color(0, 0, 0, 1), Color(0, 0, 0, 0)]
+"values": [Color(0, 0, 0, 0), Color(0, 0, 0, 1)]
}
tracks/1/type = "method"
tracks/1/imported = false
@@ -74,7 +75,7 @@ tracks/1/keys = {
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
-"method": &"_transition_end"
+"method": &"_transition_start"
}]
}
@@ -95,6 +96,7 @@ initial_room = ExtResource("2_58ij3")
[node name="ColorRect" type="ColorRect" parent="TransitionCanvas"]
offset_right = 192.0
offset_bottom = 108.0
+mouse_filter = 2
color = Color(0, 0, 0, 0)
[node name="AnimationPlayer" type="AnimationPlayer" parent="TransitionCanvas"]
@@ -103,3 +105,5 @@ libraries = {
&"": SubResource("AnimationLibrary_2exal")
}
speed_scale = 3.0
+
+[node name="Map" parent="." instance=ExtResource("3_58ij3")]