diff --git a/project.godot b/project.godot index 6637ce6..32ca37c 100644 --- a/project.godot +++ b/project.godot @@ -66,6 +66,7 @@ enabled=PoolStringArray( "res://addons/AsepriteWizard/plugin.cfg" ) [global] window=false +grav=false [importer_defaults] diff --git a/src/Actors/Blobby/Blobby.gd b/src/Actors/Blobby/Blobby.gd index 9eb96ca..b221d1b 100644 --- a/src/Actors/Blobby/Blobby.gd +++ b/src/Actors/Blobby/Blobby.gd @@ -8,10 +8,6 @@ onready var player_state_machine = $BlobbyStateMachine onready var init_boost = player_state_machine.init_boost onready var init_boost_type = player_state_machine.init_boost_type onready var animation_player = $BlobbySprite/BlobbymationPlayer -# TODO Too much speed through midair boosting -# TODO Jumping near walls is buggy -# TODO Falling and then touching walls is too fast -# TODO Couple one time applications of force to delta to keep values constant for different physics fps # When the Enemy stomp AREA enters the enemy collision area -> stomp @@ -61,6 +57,7 @@ func calculate_grounded_velocity( # Slowing down movement when not controlling direction if is_equal_approx(direction.x, 0): + # TODO Handle Deadzones out_vel.x = PhysicsFunc.two_step_euler( out_vel.x, deceleration_force * -1 * velocity_direction, mass, delta ) @@ -71,6 +68,7 @@ func calculate_grounded_velocity( # When turning the opposite direction, friction is added to the opposite acceleration movement var reverse_move = is_reversing_horizontal_movement(direction) if reverse_move: + # TODO dont put constants in here out_vel.x = PhysicsFunc.two_step_euler( out_vel.x, deceleration_force * -3.42 * velocity_direction, @@ -117,7 +115,7 @@ func calculate_grounded_velocity( func is_reversing_horizontal_movement(direction: Vector2) -> bool: return ( (direction.x > 0 && velocity.x < 0) - || (direction.x < 0 && velocity.x >= 0) + || (direction.x < 0 && velocity.x > 0) ) @@ -150,8 +148,7 @@ func is_correct_airstrafe_input() -> bool: air_strafe_charges > 0 && ( Input.is_action_just_pressed("move_right") - || - Input.is_action_just_pressed("move_left") + || Input.is_action_just_pressed("move_left") ) ) @@ -165,16 +162,12 @@ func calculate_jump_velocity( linear_velocity: Vector2, delta: float, direction: Vector2 ) -> Vector2: var state = player_state_machine.state - var walljumping = is_correct_walljump_input(direction) var additive_jump_force = velocity_jump_boost_ratio * abs(velocity.x) * mass if state != "jump": - if state == "idle": - additive_jump_force = 0 - linear_velocity.y = PhysicsFunc.two_step_euler( linear_velocity.y, - (acceleration_force[state].y + additive_jump_force) * -1, + (acceleration_force[state].y / delta + additive_jump_force) * -1, mass, delta ) @@ -182,8 +175,8 @@ func calculate_jump_velocity( if !Input.is_action_pressed("jump"): # TODO This is so good not gonna lie # Smooth transition from jumping to falling - if velocity.y > _gravity * delta * 20: - linear_velocity.y += _gravity * delta * 20 + if velocity.y > _gravity * delta * 10: + linear_velocity.y += _gravity * delta * 10 else: linear_velocity.y += ( max(abs(linear_velocity.y), _gravity * delta) @@ -193,21 +186,12 @@ func calculate_jump_velocity( else: linear_velocity.y += _gravity * delta - # TODO Dis shizzle buggy - if (-4 < velocity.x and velocity.x < 4) : + # TODO This poop too + if -4 < velocity.x and velocity.x < 4: linear_velocity.x += inair_velocity * direction.x - if is_correct_airstrafe_input() && !walljumping: - # var rev = 1 if !is_reversing_horizontal_movement(direction) else -1 - linear_velocity.x = PhysicsFunc.two_step_euler( - linear_velocity.x, - acceleration_force["air_strafe"].x * direction.x, - mass, - delta - ) - air_strafe_charges -= 1 - # TODO Suspend in air - + if is_correct_airstrafe_input(): + linear_velocity = execute_airstrafe(linear_velocity, delta, direction) return linear_velocity @@ -223,20 +207,13 @@ func calculate_fall_velocity( ) else: linear_velocity.y = max_velocity["fall"] - if (-4 < velocity.x and velocity.x < 4) : + if -4 < velocity.x and velocity.x < 4: # TODO This is poop linear_velocity.x += inair_velocity * direction.x if Input.is_action_just_pressed("jump"): jump_buffer_filled = true if is_correct_airstrafe_input(): - # var rev = 1 if !is_reversing_horizontal_movement(direction) else -1 - linear_velocity.x = PhysicsFunc.two_step_euler( - linear_velocity.x, - acceleration_force["air_strafe"].x * direction.x, - mass, - delta - ) - air_strafe_charges -= 1 + linear_velocity = execute_airstrafe(linear_velocity, delta, direction) return linear_velocity @@ -246,28 +223,45 @@ func calculate_wallslide_velocity( # Walljump mechanics if is_correct_walljump_input(direction): linear_velocity.x = PhysicsFunc.two_step_euler( - 0, acceleration_force["walljump"].x * direction.x, mass, delta - ) - linear_velocity.y = PhysicsFunc.two_step_euler( - 0, acceleration_force["walljump"].y * -1, mass, delta - ) - # TODO this is done 3 times for different states - # TODO make air strafe a portionable boost instead of a one time acceleration (or not?! whaaat?) - elif is_correct_airstrafe_input(): - # var rev = 1 if !is_reversing_horizontal_movement(direction) else -1 - linear_velocity.x = PhysicsFunc.two_step_euler( - linear_velocity.x, - acceleration_force["air_strafe"].x * velocity.x, + 0, + acceleration_force["walljump"].x / delta * direction.x, mass, delta ) - else: linear_velocity.y = PhysicsFunc.two_step_euler( - linear_velocity.y, _gravity * mass * 0.5, mass, delta + 0, acceleration_force["walljump"].y / delta * -1, mass, delta ) + elif is_correct_airstrafe_input(): + # var rev = 1 if !is_reversing_horizontal_movement(direction) else -1 + linear_velocity = execute_airstrafe(linear_velocity, delta, direction) + else: + # TODO dont put constants in here + linear_velocity.y = PhysicsFunc.two_step_euler( + linear_velocity.y*0.88, _gravity * mass, mass, delta + ) + air_strafe_charges = 1 return linear_velocity +func execute_airstrafe( + linear_velocity: Vector2, delta: float, direction: Vector2 +) -> Vector2: + # var rev = 1 if !is_reversing_horizontal_movement(direction) else -1 + if is_reversing_horizontal_movement(direction): + linear_velocity.x = 0 + linear_velocity.x = PhysicsFunc.two_step_euler( + linear_velocity.x, + acceleration_force["air_strafe"].x / delta * direction.x, + mass, + delta + ) + if linear_velocity.y > 0: + linear_velocity.y = 0 + air_strafe_charges -= 1 + return linear_velocity + # TODO Suspend in air + + func calculate_stomp_velocity( linear_velocity: Vector2, impulse: float ) -> Vector2: diff --git a/src/Actors/Blobby/BlobbyStateMachine.gd b/src/Actors/Blobby/BlobbyStateMachine.gd index 4cce409..0c6f1a1 100644 --- a/src/Actors/Blobby/BlobbyStateMachine.gd +++ b/src/Actors/Blobby/BlobbyStateMachine.gd @@ -60,7 +60,7 @@ func _state_logic(delta): sprite.flip_h = false parent.velocity = handle_input_ref.call_func(delta, direction) - + parent.execute_movement() @@ -114,7 +114,7 @@ func _get_transition(_delta): + " x vel:" + String(round(parent.velocity.x)) + " y vel/10:" - + String(round(parent.velocity.y/10)) + + String(round(parent.velocity.y / 10)) ) var new_state if !parent.is_on_floor(): @@ -123,10 +123,7 @@ func _get_transition(_delta): if parent.velocity.y >= 0: new_state = states.fall - if ( - parent.is_touching_wall_completely() - && parent.velocity.y <= parent.wallslide_threshold - ): + if parent.is_touching_wall_completely(): new_state = states.wallslide # Begins coyote time only if walking from ledge elif [states.walk, states.run].has(self.state) && !coyote_hanging: @@ -162,14 +159,13 @@ func _get_transition(_delta): func _enter_state(new_state, old_state): if old_state == "idle" && (new_state == "walk" || new_state == "run"): - init_boost = true init_boost_type = old_state + "_" + new_state # TODO This may be hard to keep track of if many states are added if !["run", "walk", "idle"].has(old_state) && parent.is_on_floor(): emit_signal("got_grounded") - + match new_state: states.walk: anim_player.play("walking") @@ -182,7 +178,7 @@ func _enter_state(new_state, old_state): anim_player.play("idling") anim_player.queue("falling") states.run: - anim_player.play("walking",-1, 1.33) + anim_player.play("walking", -1, 1.33) func _exit_state(old_state, new_state): diff --git a/src/Actors/Player.gd b/src/Actors/Player.gd index 91da56b..fc997a0 100644 --- a/src/Actors/Player.gd +++ b/src/Actors/Player.gd @@ -8,23 +8,23 @@ var stomp_feedback := 1000.0 var inair_velocity := 21 var wallslide_threshold := 1000 # TODO Map to floor types and move to physics constants -var normal_floor_friction := 1 +var normal_floor_friction := 0.5 var max_velocity := { "walk": 120, "run": 160, "fall": 420, "walljump": 200, "idle": 12000 } var velocity_jump_boost_ratio := 10 # This is added to the acceleration force initially var init_acceleration_force := { - "idle_walk": 4181/2, "idle_run": 5765/2, "walk_run": 1000/2 + "idle_walk": 4181, "idle_run": 5765, "walk_run": 1000 } # Oriented around deltas of 0.0166666...s # newtonmeters is the unit var acceleration_force := { - "walk": Vector2(1000, 148000), - "idle": Vector2(1000, 148000), - "run": Vector2(1400, 148000), - "walljump": Vector2(72000, 126000), - "air_strafe": Vector2(40000, 2000) + "walk": Vector2(1800, 1233), + "idle": Vector2(1800, 1233), + "run": Vector2(2500, 1290), + "walljump": Vector2(600, 1050), + "air_strafe": Vector2(333, 2000) } # Gravity as m/s^2 var _gravity: float = PhysicsConst.gravity diff --git a/src/Levels/1Level.tscn b/src/Levels/1Level.tscn index 95b965f..cb25475 100644 --- a/src/Levels/1Level.tscn +++ b/src/Levels/1Level.tscn @@ -48,9 +48,11 @@ position = Vector2( -259.915, 710.547 ) [node name="TileMap" type="TileMap" parent="."] tile_set = SubResource( 2 ) cell_size = Vector2( 24, 24 ) -cell_quadrant_size = 12 +cell_quadrant_size = 24 +collision_use_kinematic = true +collision_friction = 0.0 collision_layer = 8 -collision_mask = 0 +collision_mask = 8 format = 1 tile_data = PoolIntArray( 720882, 1, 0, 720883, 1, 0, 720884, 1, 0, 720885, 1, 0, 720886, 1, 0, 720887, 1, 0, 720888, 1, 0, 720889, 1, 0, 720890, 1, 0, 720891, 1, 0, 720892, 1, 0, 720893, 1, 0, 720894, 1, 0, 720895, 1, 0, 655360, 1, 0, 655361, 1, 0, 655362, 1, 0, 655363, 1, 0, 655364, 1, 0, 655365, 1, 0, 655366, 1, 0, 655367, 1, 0, 655368, 1, 0, 655369, 1, 0, 655370, 1, 0, 655371, 1, 0, 655372, 1, 0, 655373, 1, 0, 655374, 1, 0, 655375, 1, 0, 655376, 1, 0, 655377, 1, 0, 655378, 1, 0, 655379, 1, 0, 655380, 1, 0, 655381, 1, 0, 655382, 1, 0, 655383, 1, 0, 655384, 1, 0, 655385, 1, 0, 655386, 1, 0, 655387, 1, 0, 655388, 1, 0, 655389, 1, 0, 655390, 1, 0, 655391, 1, 0, 655392, 1, 0, 655393, 1, 0, 655394, 1, 0, 655395, 1, 0, 655396, 1, 0, 655397, 1, 0, 655398, 1, 0, 655399, 1, 0, 655400, 1, 0, 655401, 1, 0, 655402, 1, 0, 655403, 1, 0, 655404, 1, 0, 655405, 1, 0, 655406, 1, 0, 655407, 1, 0, 655408, 1, 0, 655409, 1, 0, 655410, 1, 0, 655411, 1, 0, 655412, 1, 0, 655413, 1, 0, 655414, 1, 0, 655415, 1, 0, 655416, 1, 0, 655417, 1, 0, 655418, 1, 0, 655419, 1, 0, 655420, 1, 0, 655421, 1, 0, 655422, 1, 0, 655423, 1, 0, 655424, 1, 0, 655425, 1, 0, 655426, 1, 0, 655427, 1, 0, 655428, 1, 0, 655429, 1, 0, 655430, 1, 0, 655431, 1, 0, 655432, 1, 0, 655433, 1, 0, 655434, 1, 0, 655435, 1, 0, 655436, 1, 0, 655437, 1, 0, 655438, 1, 0, 655439, 1, 0, 655440, 1, 0, 655441, 1, 0, 655442, 1, 0, 655443, 1, 0, 655444, 1, 0, 655445, 1, 0, 786418, 1, 0, 720981, 1, 0, 851954, 1, 0, 786517, 1, 0, 917490, 1, 0, 852053, 1, 0, 983026, 1, 0, 917589, 1, 0, 1048562, 1, 0, 983125, 1, 0, 1114098, 1, 0, 1048661, 1, 0, 1179634, 1, 0, 1114197, 1, 0, 1245170, 1, 0, 1179733, 1, 0, 1310706, 1, 0, 1245184, 1, 0, 1245185, 1, 0, 1245186, 1, 0, 1245187, 1, 0, 1245188, 1, 0, 1245189, 1, 0, 1245190, 1, 0, 1245193, 1, 0, 1245194, 1, 0, 1245198, 1, 0, 1245199, 1, 0, 1245203, 1, 0, 1245204, 1, 0, 1245205, 1, 0, 1245206, 1, 0, 1245211, 1, 0, 1245212, 1, 0, 1245215, 1, 0, 1245219, 1, 0, 1245220, 1, 0, 1245221, 1, 0, 1245225, 1, 0, 1245226, 1, 0, 1245229, 1, 0, 1245230, 1, 0, 1245233, 1, 0, 1245234, 1, 0, 1245269, 1, 0, 1376242, 536870913, 0, 1310720, 1, 0, 1310721, 1, 0, 1310722, 1, 0, 1310723, 1, 0, 1310724, 1, 0, 1310725, 1, 0, 1310726, 1, 0, 1310805, 1, 0, 1441778, 536870913, 0, 1376256, 1, 0, 1376257, 1, 0, 1376258, 1, 0, 1376259, 1, 0, 1376260, 1, 0, 1376261, 1, 0, 1376262, 1, 0, 1376309, 1, 0, 1376310, 1, 0, 1376311, 1, 0, 1376312, 1, 0, 1376313, 1, 0, 1376314, 1, 0, 1376315, 1, 0, 1376316, 1, 0, 1376317, 1, 0, 1376318, 1, 0, 1376319, 1, 0, 1376320, 1, 0, 1376321, 1, 0, 1376322, 1, 0, 1376323, 1, 0, 1376324, 1, 0, 1376325, 1, 0, 1376326, 1, 0, 1376327, 1, 0, 1376328, 1, 0, 1376329, 1, 0, 1376330, 1, 0, 1376331, 1, 0, 1376332, 1, 0, 1376333, 1, 0, 1376334, 1, 0, 1376335, 1, 0, 1376336, 1, 0, 1376337, 1, 0, 1376338, 1, 0, 1376339, 1, 0, 1376340, 1, 0, 1376341, 1, 0, 1507314, 536870913, 0, 1441792, 1, 0, 1441793, 1, 0, 1441794, 1, 0, 1441795, 1, 0, 1441796, 1, 0, 1441797, 1, 0, 1441798, 1, 0, 1441865, 1, 0, 1441866, 1, 0, 1441867, 1, 0, 1441868, 1, 0, 1441869, 1, 0, 1441877, 1, 0, 1572850, 536870913, 0, 1507328, 1, 0, 1507329, 1, 0, 1507330, 1, 0, 1507331, 1, 0, 1507332, 1, 0, 1507333, 1, 0, 1507334, 1, 0, 1507377, 1, 0, 1507378, 1, 0, 1507402, 1, 0, 1507403, 1, 0, 1507404, 1, 0, 1507405, 1, 0, 1507413, 1, 0, 1638386, 536870913, 0, 1572864, 1, 0, 1572865, 1, 0, 1572866, 1, 0, 1572867, 1, 0, 1572868, 1, 0, 1572869, 1, 0, 1572870, 1, 0, 1572914, 1, 0, 1572915, 1, 0, 1572938, 1, 0, 1572939, 1, 0, 1572940, 1, 0, 1572941, 1, 0, 1572949, 1, 0, 1703922, 536870913, 0, 1638400, 1, 0, 1638401, 1, 0, 1638402, 1, 0, 1638403, 1, 0, 1638404, 1, 0, 1638405, 1, 0, 1638406, 1, 0, 1638475, 1, 0, 1638476, 1, 0, 1638477, 1, 0, 1638485, 1, 0, 1769458, 536870913, 0, 1703936, 1, 0, 1703937, 1, 0, 1703938, 1, 0, 1703939, 1, 0, 1703940, 1, 0, 1703941, 1, 0, 1703942, 1, 0, 1703984, 1, 0, 1703985, 1, 0, 1703986, 1, 0, 1703987, 1, 0, 1703988, 1, 0, 1703989, 1, 0, 1704011, 1, 0, 1704012, 1, 0, 1704013, 1, 0, 1704016, 1, 0, 1704017, 1, 0, 1704018, 1, 0, 1704021, 1, 0, 1834994, 536870913, 0, 1769472, 1, 0, 1769473, 1, 0, 1769474, 1, 0, 1769475, 1, 0, 1769476, 1, 0, 1769477, 1, 0, 1769478, 1, 0, 1769549, 1, 0, 1769557, 1, 0, 1900530, 536870913, 0, 1835008, 1, 0, 1835009, 1, 0, 1835010, 1, 0, 1835011, 1, 0, 1835012, 1, 0, 1835031, 1, 0, 1835032, 1, 0, 1835052, 1, 0, 1835053, 1, 0, 1835093, 1, 0, 1966066, 536870913, 0, 1966069, 536870912, 0, 1900544, 1, 0, 1900545, 1, 0, 1900546, 1, 0, 1900547, 1, 0, 1900566, 1, 0, 1900567, 1, 0, 1900568, 1, 0, 1900569, 1, 0, 1900588, 1, 0, 1900589, 1, 0, 1900607, 1, 0, 1900608, 1, 0, 1900629, 1, 0, 2031602, 536870913, 0, 1966080, 0, 0, 1966090, 1, 0, 1966091, 1, 0, 1966092, 1, 0, 1966093, 1, 0, 1966094, 1, 0, 1966095, 1, 0, 1966096, 1, 0, 1966097, 1, 0, 1966098, 1, 0, 1966099, 1, 0, 1966100, 1, 0, 1966101, 1, 0, 1966102, 1, 0, 1966103, 1, 0, 1966104, 1, 0, 1966105, 1, 0, 1966106, 1, 0, 1966107, 1, 0, 1966108, 1, 0, 1966109, 1, 0, 1966110, 1, 0, 1966111, 1, 0, 1966112, 1, 0, 1966116, 1, 0, 1966117, 1, 0, 1966118, 1, 0, 1966119, 1, 0, 1966120, 1, 0, 1966121, 1, 0, 1966122, 1, 0, 1966123, 1, 0, 1966124, 1, 0, 1966125, 1, 0, 1966126, 1, 0, 1966127, 1, 0, 1966128, 1, 0, 1966129, 1, 0, 1966130, 1, 0, 1966131, 1, 0, 1966132, 1, 0, 1966133, 1, 0, 1966134, 1, 0, 1966135, 1, 0, 1966136, 1, 0, 1966137, 1, 0, 1966138, 1, 0, 1966143, 1, 0, 1966144, 1, 0, 1966149, 1, 0, 1966150, 1, 0, 1966151, 1, 0, 1966152, 1, 0, 1966153, 1, 0, 1966154, 1, 0, 1966155, 1, 0, 1966156, 1, 0, 1966157, 1, 0, 1966158, 1, 0, 1966159, 1, 0, 1966160, 1, 0, 1966161, 1, 0, 1966162, 1, 0, 1966163, 1, 0, 1966164, 1, 0, 1966165, 1, 0, 2097138, 536870913, 0, 2097139, 536870913, 0, 2097140, 536870913, 0, 2097141, 536870913, 0, 2097142, 1, 0, 2097143, 1, 0, 2097144, 1, 0, 2097145, 1, 0, 2097146, 1, 0, 2097147, 1, 0, 2097148, 1, 0, 2097149, 1, 0, 2097150, 1, 0, 2097151, 1, 0, 2031616, 1, 0, 2031617, 1, 0, 2031618, 1, 0, 2031619, 1, 0, 2031620, 1, 0, 2031621, 1, 0, 2031622, 1, 0, 2031623, 1, 0, 2031624, 1, 0, 2031625, 1, 0, 2031626, 1, 0, 2031627, 1, 0, 2031628, 1, 0, 2031629, 1, 0, 2031630, 1, 0, 2031631, 1, 0, 2031632, 1, 0, 2031633, 1, 0, 2031634, 1, 0, 2031635, 1, 0, 2031636, 1, 0, 2031637, 1, 0, 2031638, 1, 0, 2031639, 1, 0, 2031640, 1, 0, 2031641, 1, 0, 2031642, 1, 0, 2031643, 1, 0, 2031644, 1, 0, 2031645, 1, 0, 2031646, 1, 0, 2031647, 1, 0, 2031648, 1, 0, 2031649, 1, 0, 2031650, 1, 0, 2031651, 1, 0, 2031652, 1, 0, 2031653, 1, 0, 2031654, 1, 0, 2031655, 1, 0, 2031656, 1, 0, 2031657, 1, 0, 2031658, 1, 0, 2031659, 1, 0, 2031660, 1, 0, 2031661, 1, 0, 2031662, 1, 0, 2031663, 1, 0, 2031664, 1, 0, 2031665, 1, 0, 2031666, 1, 0, 2031667, 1, 0, 2031668, 1, 0, 2031669, 1, 0, 2031670, 1, 0, 2031671, 1, 0, 2031672, 1, 0, 2031673, 1, 0, 2031674, 1, 0, 2031675, 1, 0, 2031676, 1, 0, 2031677, 1, 0, 2031678, 1, 0, 2031679, 1, 0, 2031680, 1, 0, 2031681, 1, 0, 2031682, 1, 0, 2031683, 1, 0, 2031684, 1, 0, 2031685, 1, 0, 2031686, 1, 0, 2031687, 1, 0, 2031688, 1, 0, 2031689, 1, 0, 2031690, 1, 0, 2031691, 1, 0, 2031692, 1, 0, 2031693, 1, 0, 2031694, 1, 0, 2031695, 1, 0, 2031696, 1, 0, 2031697, 1, 0, 2031698, 1, 0, 2031699, 1, 0, 2031700, 1, 0, 2031701, 1, 0 ) @@ -64,7 +66,7 @@ position = Vector2( -166.948, 610.671 ) scale = Vector2( 0.15, 0.15 ) [node name="AnimatedSprite" parent="Collectibles/Coin" index="2"] -frame = 104 +frame = 285 [node name="FlyingLaserCutter3" parent="." instance=ExtResource( 6 )] position = Vector2( -167.267, 632.742 ) diff --git a/src/Levels/24TileSizeLevel.tscn b/src/Levels/24TileSizeLevel.tscn index 6eac5d8..5370d51 100644 --- a/src/Levels/24TileSizeLevel.tscn +++ b/src/Levels/24TileSizeLevel.tscn @@ -6,7 +6,7 @@ [ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=4] [sub_resource type="ConvexPolygonShape2D" id=3] -points = PoolVector2Array( 23.7224, 24, 0, 24, 0, 0, 24, 0 ) +points = PoolVector2Array( 0, 0, 24, 0, 24, 24, 0, 24 ) [sub_resource type="TileSet" id=2] 1/name = "24BlockBasic.png 1" @@ -45,12 +45,14 @@ position = Vector2( -259.915, 710.547 ) [node name="TileMap" type="TileMap" parent="."] tile_set = SubResource( 2 ) cell_size = Vector2( 24, 24 ) -cell_quadrant_size = 12 +cell_quadrant_size = 24 cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 ) +collision_use_kinematic = true +collision_friction = 0.0 collision_layer = 8 collision_mask = 0 format = 1 -tile_data = PoolIntArray( 720882, 1, 0, 720883, 1, 0, 720884, 1, 0, 720885, 1, 0, 720886, 1, 0, 720887, 1, 0, 720888, 1, 0, 720889, 1, 0, 720890, 1, 0, 720891, 1, 0, 720892, 1, 0, 720893, 1, 0, 720894, 1, 0, 720895, 1, 0, 655360, 1, 0, 655361, 1, 0, 655362, 1, 0, 655363, 1, 0, 655364, 1, 0, 655365, 1, 0, 655366, 1, 0, 655367, 1, 0, 655368, 1, 0, 655369, 1, 0, 655370, 1, 0, 655371, 1, 0, 655372, 1, 0, 655373, 1, 0, 655374, 1, 0, 655375, 1, 0, 655376, 1, 0, 655377, 1, 0, 655378, 1, 0, 655379, 1, 0, 655380, 1, 0, 655381, 1, 0, 655382, 1, 0, 655383, 1, 0, 655384, 1, 0, 655385, 1, 0, 655386, 1, 0, 655387, 1, 0, 655388, 1, 0, 655389, 1, 0, 655390, 1, 0, 655391, 1, 0, 655392, 1, 0, 655393, 1, 0, 655394, 1, 0, 655395, 1, 0, 655396, 1, 0, 655397, 1, 0, 655398, 1, 0, 655399, 1, 0, 655400, 1, 0, 655401, 1, 0, 655402, 1, 0, 655403, 1, 0, 655404, 1, 0, 655405, 1, 0, 655406, 1, 0, 655407, 1, 0, 655408, 1, 0, 655409, 1, 0, 655410, 1, 0, 655411, 1, 0, 655412, 1, 0, 655413, 1, 0, 655414, 1, 0, 655415, 1, 0, 655416, 1, 0, 655417, 1, 0, 655418, 1, 0, 655419, 1, 0, 655420, 1, 0, 655421, 1, 0, 655422, 1, 0, 655423, 1, 0, 655424, 1, 0, 655425, 1, 0, 655426, 1, 0, 655427, 1, 0, 655428, 1, 0, 655429, 1, 0, 655430, 1, 0, 655431, 1, 0, 655432, 1, 0, 655433, 1, 0, 655434, 1, 0, 655435, 1, 0, 655436, 1, 0, 655437, 1, 0, 655438, 1, 0, 655439, 1, 0, 655440, 1, 0, 655441, 1, 0, 655442, 1, 0, 655443, 1, 0, 655444, 1, 0, 655445, 1, 0, 655446, 1, 0, 655447, 1, 0, 655448, 1, 0, 655449, 1, 0, 655450, 1, 0, 655451, 1, 0, 655452, 1, 0, 655453, 1, 0, 655454, 1, 0, 655455, 1, 0, 655456, 1, 0, 655457, 1, 0, 655458, 1, 0, 655459, 1, 0, 655460, 1, 0, 655461, 1, 0, 655462, 1, 0, 655463, 1, 0, 655464, 1, 0, 655465, 1, 0, 655466, 1, 0, 655467, 1, 0, 655468, 1, 0, 655469, 1, 0, 655470, 1, 0, 655471, 1, 0, 655472, 1, 0, 655473, 1, 0, 655474, 1, 0, 655475, 1, 0, 655476, 1, 0, 655477, 1, 0, 655478, 1, 0, 655479, 1, 0, 655480, 1, 0, 655481, 1, 0, 655482, 1, 0, 655483, 1, 0, 655484, 1, 0, 655485, 1, 0, 655486, 1, 0, 655487, 1, 0, 655488, 1, 0, 655489, 1, 0, 655490, 1, 0, 655491, 1, 0, 655492, 1, 0, 655493, 1, 0, 655494, 1, 0, 655495, 1, 0, 655496, 1, 0, 655497, 1, 0, 655498, 1, 0, 655499, 1, 0, 655500, 1, 0, 655501, 1, 0, 655502, 1, 0, 655503, 1, 0, 655504, 1, 0, 655505, 1, 0, 655506, 1, 0, 655507, 1, 0, 655508, 1, 0, 655509, 1, 0, 655510, 1, 0, 655511, 1, 0, 655512, 1, 0, 655513, 1, 0, 786418, 1, 0, 721049, 1, 0, 851954, 1, 0, 786585, 1, 0, 917490, 1, 0, 852121, 1, 0, 983026, 1, 0, 917657, 1, 0, 1048562, 1, 0, 983193, 1, 0, 1114098, 1, 0, 1048729, 1, 0, 1179634, 1, 0, 1114265, 1, 0, 1245170, 1, 0, 1179797, 1, 0, 1179798, 1, 0, 1179799, 1, 0, 1179800, 1, 0, 1179801, 1, 0, 1310706, 1, 0, 1245311, 1, 0, 1245316, 1, 0, 1245317, 1, 0, 1245318, 1, 0, 1245319, 1, 0, 1245320, 1, 0, 1245321, 1, 0, 1245322, 1, 0, 1245323, 1, 0, 1245324, 1, 0, 1245325, 1, 0, 1245326, 1, 0, 1245327, 1, 0, 1245328, 1, 0, 1245329, 1, 0, 1245330, 1, 0, 1245331, 1, 0, 1245332, 1, 0, 1245333, 1, 0, 1245337, 1, 0, 1376242, 536870913, 0, 1310847, 1, 0, 1310864, 1, 0, 1310873, 1, 0, 1441778, 536870913, 0, 1376383, 1, 0, 1376384, 1, 0, 1376409, 1, 0, 1507314, 536870913, 0, 1441919, 1, 0, 1441945, 1, 0, 1572850, 536870913, 0, 1507455, 1, 0, 1507480, 1, 0, 1507481, 1, 0, 1638386, 536870913, 0, 1572991, 1, 0, 1572992, 1, 0, 1572993, 1, 0, 1572994, 1, 0, 1572995, 1, 0, 1572996, 1, 0, 1572997, 1, 0, 1572998, 1, 0, 1572999, 1, 0, 1573000, 1, 0, 1573001, 1, 0, 1573002, 1, 0, 1573017, 1, 0, 1703922, 536870913, 0, 1703926, 1, 0, 1638527, 1, 0, 1638553, 1, 0, 1769458, 536870913, 0, 1769462, 1, 0, 1704063, 1, 0, 1704077, 1, 0, 1704078, 1, 0, 1704079, 1, 0, 1704080, 1, 0, 1704081, 1, 0, 1704089, 1, 0, 1834994, 536870913, 0, 1834995, 1, 0, 1834998, 1, 0, 1835001, 1, 0, 1835002, 1, 0, 1835003, 1, 0, 1835004, 1, 0, 1769599, 1, 0, 1769625, 1, 0, 1900530, 536870913, 0, 1900531, 1, 0, 1900534, 1, 0, 1835135, 1, 0, 1835157, 1, 0, 1835158, 1, 0, 1835159, 1, 0, 1835160, 1, 0, 1835161, 1, 0, 1966066, 536870913, 0, 1966067, 1, 0, 1966069, 536870912, 0, 1966070, 1, 0, 1900544, 0, 0, 1900562, 1, 0, 1900573, 1, 0, 1900697, 1, 0, 2031602, 536870913, 0, 2031603, 1, 0, 1966080, 0, 0, 1966089, 1, 0, 1966098, 1, 0, 1966109, 1, 0, 1966119, 1, 0, 1966121, 1, 0, 1966122, 1, 0, 1966125, 1, 0, 1966126, 1, 0, 1966127, 1, 0, 1966131, 1, 0, 1966132, 1, 0, 1966133, 1, 0, 1966134, 1, 0, 1966139, 1, 0, 1966140, 1, 0, 1966141, 1, 0, 1966142, 1, 0, 1966143, 1, 0, 1966149, 1, 0, 1966150, 1, 0, 1966151, 1, 0, 1966152, 1, 0, 1966153, 1, 0, 1966154, 1, 0, 1966161, 1, 0, 1966162, 1, 0, 1966163, 1, 0, 1966164, 1, 0, 1966165, 1, 0, 1966166, 1, 0, 1966167, 1, 0, 1966175, 1, 0, 1966176, 1, 0, 1966177, 1, 0, 1966178, 1, 0, 1966179, 1, 0, 1966180, 1, 0, 1966181, 1, 0, 1966182, 1, 0, 1966191, 1, 0, 1966192, 1, 0, 1966193, 1, 0, 1966194, 1, 0, 1966195, 1, 0, 1966196, 1, 0, 1966197, 1, 0, 1966198, 1, 0, 1966233, 1, 0, 2097138, 536870913, 0, 2097139, 536870913, 0, 2097140, 536870913, 0, 2097141, 536870913, 0, 2097142, 1, 0, 2097143, 1, 0, 2097144, 1, 0, 2097145, 1, 0, 2097146, 1, 0, 2097147, 1, 0, 2097148, 1, 0, 2097149, 1, 0, 2097150, 1, 0, 2097151, 1, 0, 2031616, 1, 0, 2031617, 1, 0, 2031618, 1, 0, 2031619, 1, 0, 2031620, 1, 0, 2031621, 1, 0, 2031622, 1, 0, 2031623, 1, 0, 2031624, 1, 0, 2031625, 1, 0, 2031626, 1, 0, 2031627, 1, 0, 2031628, 1, 0, 2031629, 1, 0, 2031630, 1, 0, 2031631, 1, 0, 2031632, 1, 0, 2031633, 1, 0, 2031634, 1, 0, 2031635, 1, 0, 2031636, 1, 0, 2031637, 1, 0, 2031638, 1, 0, 2031639, 1, 0, 2031640, 1, 0, 2031641, 1, 0, 2031642, 1, 0, 2031643, 1, 0, 2031644, 1, 0, 2031645, 1, 0, 2031646, 1, 0, 2031647, 1, 0, 2031648, 1, 0, 2031649, 1, 0, 2031650, 1, 0, 2031651, 1, 0, 2031652, 1, 0, 2031653, 1, 0, 2031654, 1, 0, 2031655, 1, 0, 2031656, 1, 0, 2031657, 1, 0, 2031658, 1, 0, 2031659, 1, 0, 2031660, 1, 0, 2031661, 1, 0, 2031662, 1, 0, 2031663, 1, 0, 2031664, 1, 0, 2031665, 1, 0, 2031666, 1, 0, 2031667, 1, 0, 2031668, 1, 0, 2031669, 1, 0, 2031670, 1, 0, 2031671, 1, 0, 2031672, 1, 0, 2031673, 1, 0, 2031674, 1, 0, 2031675, 1, 0, 2031676, 1, 0, 2031677, 1, 0, 2031678, 1, 0, 2031679, 1, 0, 2031680, 1, 0, 2031681, 1, 0, 2031682, 1, 0, 2031683, 1, 0, 2031684, 1, 0, 2031685, 1, 0, 2031686, 1, 0, 2031687, 1, 0, 2031688, 1, 0, 2031689, 1, 0, 2031690, 1, 0, 2031691, 1, 0, 2031692, 1, 0, 2031693, 1, 0, 2031694, 1, 0, 2031695, 1, 0, 2031696, 1, 0, 2031697, 1, 0, 2031698, 1, 0, 2031699, 1, 0, 2031700, 1, 0, 2031701, 1, 0, 2031702, 1, 0, 2031703, 1, 0, 2031704, 1, 0, 2031705, 1, 0, 2031706, 1, 0, 2031707, 1, 0, 2031708, 1, 0, 2031709, 1, 0, 2031710, 1, 0, 2031711, 1, 0, 2031712, 1, 0, 2031713, 1, 0, 2031714, 1, 0, 2031715, 1, 0, 2031716, 1, 0, 2031717, 1, 0, 2031718, 1, 0, 2031719, 1, 0, 2031720, 1, 0, 2031721, 1, 0, 2031722, 1, 0, 2031723, 1, 0, 2031724, 1, 0, 2031725, 1, 0, 2031726, 1, 0, 2031727, 1, 0, 2031728, 1, 0, 2031729, 1, 0, 2031730, 1, 0, 2031731, 1, 0, 2031732, 1, 0, 2031733, 1, 0, 2031734, 1, 0, 2031735, 1, 0, 2031736, 1, 0, 2031737, 1, 0, 2031738, 1, 0, 2031739, 1, 0, 2031740, 1, 0, 2031741, 1, 0, 2031742, 1, 0, 2031743, 1, 0, 2031744, 1, 0, 2031745, 1, 0, 2031746, 1, 0, 2031747, 1, 0, 2031748, 1, 0, 2031749, 1, 0, 2031750, 1, 0, 2031751, 1, 0, 2031752, 1, 0, 2031753, 1, 0, 2031754, 1, 0, 2031755, 1, 0, 2031756, 1, 0, 2031757, 1, 0, 2031758, 1, 0, 2031759, 1, 0, 2031760, 1, 0, 2031761, 1, 0, 2031762, 1, 0, 2031763, 1, 0, 2031764, 1, 0, 2031765, 1, 0, 2031766, 1, 0, 2031767, 1, 0, 2031768, 1, 0, 2031769, 1, 0 ) +tile_data = PoolIntArray( 720882, 1, 0, 720883, 1, 0, 720884, 1, 0, 720885, 1, 0, 720886, 1, 0, 720887, 1, 0, 720888, 1, 0, 720889, 1, 0, 720890, 1, 0, 720891, 1, 0, 720892, 1, 0, 720893, 1, 0, 720894, 1, 0, 720895, 1, 0, 655360, 1, 0, 655361, 1, 0, 655362, 1, 0, 655363, 1, 0, 655364, 1, 0, 655365, 1, 0, 655366, 1, 0, 655367, 1, 0, 655368, 1, 0, 655369, 1, 0, 655370, 1, 0, 655371, 1, 0, 655372, 1, 0, 655373, 1, 0, 655374, 1, 0, 655375, 1, 0, 655376, 1, 0, 655377, 1, 0, 655378, 1, 0, 655379, 1, 0, 655380, 1, 0, 655381, 1, 0, 655382, 1, 0, 655383, 1, 0, 655384, 1, 0, 655385, 1, 0, 655386, 1, 0, 655387, 1, 0, 655388, 1, 0, 655389, 1, 0, 655390, 1, 0, 655391, 1, 0, 655392, 1, 0, 655393, 1, 0, 655394, 1, 0, 655395, 1, 0, 655396, 1, 0, 655397, 1, 0, 655398, 1, 0, 655399, 1, 0, 655400, 1, 0, 655401, 1, 0, 655402, 1, 0, 655403, 1, 0, 655404, 1, 0, 655405, 1, 0, 655406, 1, 0, 655407, 1, 0, 655408, 1, 0, 655409, 1, 0, 655410, 1, 0, 655411, 1, 0, 655412, 1, 0, 655413, 1, 0, 655414, 1, 0, 655415, 1, 0, 655416, 1, 0, 655417, 1, 0, 655418, 1, 0, 655419, 1, 0, 655420, 1, 0, 655421, 1, 0, 655422, 1, 0, 655423, 1, 0, 655424, 1, 0, 655425, 1, 0, 655426, 1, 0, 655427, 1, 0, 655428, 1, 0, 655429, 1, 0, 655430, 1, 0, 655431, 1, 0, 655432, 1, 0, 655433, 1, 0, 655434, 1, 0, 655435, 1, 0, 655436, 1, 0, 655437, 1, 0, 655438, 1, 0, 655439, 1, 0, 655440, 1, 0, 655441, 1, 0, 655442, 1, 0, 655443, 1, 0, 655444, 1, 0, 655445, 1, 0, 655446, 1, 0, 655447, 1, 0, 655448, 1, 0, 655449, 1, 0, 655450, 1, 0, 655451, 1, 0, 655452, 1, 0, 655453, 1, 0, 655454, 1, 0, 655455, 1, 0, 655456, 1, 0, 655457, 1, 0, 655458, 1, 0, 655459, 1, 0, 655460, 1, 0, 655461, 1, 0, 655462, 1, 0, 655463, 1, 0, 655464, 1, 0, 655465, 1, 0, 655466, 1, 0, 655467, 1, 0, 655468, 1, 0, 655469, 1, 0, 655470, 1, 0, 655471, 1, 0, 655472, 1, 0, 655473, 1, 0, 655474, 1, 0, 655475, 1, 0, 655476, 1, 0, 655477, 1, 0, 655478, 1, 0, 655479, 1, 0, 655480, 1, 0, 655481, 1, 0, 655482, 1, 0, 655483, 1, 0, 655484, 1, 0, 655485, 1, 0, 655486, 1, 0, 655487, 1, 0, 655488, 1, 0, 655489, 1, 0, 655490, 1, 0, 655491, 1, 0, 655492, 1, 0, 655493, 1, 0, 655494, 1, 0, 655495, 1, 0, 655496, 1, 0, 655497, 1, 0, 655498, 1, 0, 655499, 1, 0, 655500, 1, 0, 655501, 1, 0, 655502, 1, 0, 655503, 1, 0, 655504, 1, 0, 655505, 1, 0, 655506, 1, 0, 655507, 1, 0, 655508, 1, 0, 655509, 1, 0, 655510, 1, 0, 655511, 1, 0, 655512, 1, 0, 655513, 1, 0, 786418, 1, 0, 721049, 1, 0, 851954, 1, 0, 786585, 1, 0, 917490, 1, 0, 852121, 1, 0, 983026, 1, 0, 917657, 1, 0, 1048562, 1, 0, 983193, 1, 0, 1114098, 1, 0, 1048729, 1, 0, 1179634, 1, 0, 1114265, 1, 0, 1245170, 1, 0, 1179797, 1, 0, 1179798, 1, 0, 1179799, 1, 0, 1179800, 1, 0, 1179801, 1, 0, 1310706, 1, 0, 1245311, 1, 0, 1245316, 1, 0, 1245317, 1, 0, 1245318, 1, 0, 1245319, 1, 0, 1245320, 1, 0, 1245321, 1, 0, 1245322, 1, 0, 1245323, 1, 0, 1245324, 1, 0, 1245325, 1, 0, 1245326, 1, 0, 1245327, 1, 0, 1245328, 1, 0, 1245329, 1, 0, 1245330, 1, 0, 1245331, 1, 0, 1245332, 1, 0, 1245333, 1, 0, 1245337, 1, 0, 1376242, 536870913, 0, 1310847, 1, 0, 1310864, 1, 0, 1310873, 1, 0, 1441778, 536870913, 0, 1376383, 1, 0, 1376384, 1, 0, 1376409, 1, 0, 1507314, 536870913, 0, 1441919, 1, 0, 1441945, 1, 0, 1572850, 536870913, 0, 1507455, 1, 0, 1507480, 1, 0, 1507481, 1, 0, 1638386, 536870913, 0, 1572991, 1, 0, 1572992, 1, 0, 1572993, 1, 0, 1572994, 1, 0, 1572995, 1, 0, 1572996, 1, 0, 1572997, 1, 0, 1572998, 1, 0, 1572999, 1, 0, 1573000, 1, 0, 1573001, 1, 0, 1573002, 1, 0, 1573017, 1, 0, 1703922, 536870913, 0, 1703926, 1, 0, 1638527, 1, 0, 1638553, 1, 0, 1769458, 536870913, 0, 1769462, 1, 0, 1704063, 1, 0, 1704077, 1, 0, 1704078, 1, 0, 1704079, 1, 0, 1704080, 1, 0, 1704081, 1, 0, 1704089, 1, 0, 1834994, 536870913, 0, 1834995, 1, 0, 1834998, 1, 0, 1835001, 1, 0, 1835002, 1, 0, 1835003, 1, 0, 1835004, 1, 0, 1769599, 1, 0, 1769625, 1, 0, 1900530, 536870913, 0, 1900531, 1, 0, 1900534, 1, 0, 1835037, 1, 0, 1835135, 1, 0, 1835157, 1, 0, 1835158, 1, 0, 1835159, 1, 0, 1835160, 1, 0, 1835161, 1, 0, 1966066, 536870913, 0, 1966067, 1, 0, 1966069, 536870912, 0, 1966070, 1, 0, 1900544, 0, 0, 1900562, 1, 0, 1900573, 1, 0, 1900697, 1, 0, 2031602, 536870913, 0, 2031603, 1, 0, 1966080, 0, 0, 1966089, 1, 0, 1966098, 1, 0, 1966109, 1, 0, 1966119, 1, 0, 1966121, 1, 0, 1966122, 1, 0, 1966125, 1, 0, 1966126, 1, 0, 1966127, 1, 0, 1966131, 1, 0, 1966132, 1, 0, 1966133, 1, 0, 1966134, 1, 0, 1966139, 1, 0, 1966140, 1, 0, 1966141, 1, 0, 1966142, 1, 0, 1966143, 1, 0, 1966149, 1, 0, 1966150, 1, 0, 1966151, 1, 0, 1966152, 1, 0, 1966153, 1, 0, 1966154, 1, 0, 1966161, 1, 0, 1966162, 1, 0, 1966163, 1, 0, 1966164, 1, 0, 1966165, 1, 0, 1966166, 1, 0, 1966167, 1, 0, 1966175, 1, 0, 1966176, 1, 0, 1966177, 1, 0, 1966178, 1, 0, 1966179, 1, 0, 1966180, 1, 0, 1966181, 1, 0, 1966182, 1, 0, 1966191, 1, 0, 1966192, 1, 0, 1966193, 1, 0, 1966194, 1, 0, 1966195, 1, 0, 1966196, 1, 0, 1966197, 1, 0, 1966198, 1, 0, 1966233, 1, 0, 2097138, 536870913, 0, 2097139, 536870913, 0, 2097140, 536870913, 0, 2097141, 536870913, 0, 2097142, 1, 0, 2097143, 1, 0, 2097144, 1, 0, 2097145, 1, 0, 2097146, 1, 0, 2097147, 1, 0, 2097148, 1, 0, 2097149, 1, 0, 2097150, 1, 0, 2097151, 1, 0, 2031616, 1, 0, 2031617, 1, 0, 2031618, 1, 0, 2031619, 1, 0, 2031620, 1, 0, 2031621, 1, 0, 2031622, 1, 0, 2031623, 1, 0, 2031624, 1, 0, 2031625, 1, 0, 2031626, 1, 0, 2031627, 1, 0, 2031628, 1, 0, 2031629, 1, 0, 2031630, 1, 0, 2031631, 1, 0, 2031632, 1, 0, 2031633, 1, 0, 2031634, 1, 0, 2031635, 1, 0, 2031636, 1, 0, 2031637, 1, 0, 2031638, 1, 0, 2031639, 1, 0, 2031640, 1, 0, 2031641, 1, 0, 2031642, 1, 0, 2031643, 1, 0, 2031644, 1, 0, 2031645, 1, 0, 2031646, 1, 0, 2031647, 1, 0, 2031648, 1, 0, 2031649, 1, 0, 2031650, 1, 0, 2031651, 1, 0, 2031652, 1, 0, 2031653, 1, 0, 2031654, 1, 0, 2031655, 1, 0, 2031656, 1, 0, 2031657, 1, 0, 2031658, 1, 0, 2031659, 1, 0, 2031660, 1, 0, 2031661, 1, 0, 2031662, 1, 0, 2031663, 1, 0, 2031664, 1, 0, 2031665, 1, 0, 2031666, 1, 0, 2031667, 1, 0, 2031668, 1, 0, 2031669, 1, 0, 2031670, 1, 0, 2031671, 1, 0, 2031672, 1, 0, 2031673, 1, 0, 2031674, 1, 0, 2031675, 1, 0, 2031676, 1, 0, 2031677, 1, 0, 2031678, 1, 0, 2031679, 1, 0, 2031680, 1, 0, 2031681, 1, 0, 2031682, 1, 0, 2031683, 1, 0, 2031684, 1, 0, 2031685, 1, 0, 2031686, 1, 0, 2031687, 1, 0, 2031688, 1, 0, 2031689, 1, 0, 2031690, 1, 0, 2031691, 1, 0, 2031692, 1, 0, 2031693, 1, 0, 2031694, 1, 0, 2031695, 1, 0, 2031696, 1, 0, 2031697, 1, 0, 2031698, 1, 0, 2031699, 1, 0, 2031700, 1, 0, 2031701, 1, 0, 2031702, 1, 0, 2031703, 1, 0, 2031704, 1, 0, 2031705, 1, 0, 2031706, 1, 0, 2031707, 1, 0, 2031708, 1, 0, 2031709, 1, 0, 2031710, 1, 0, 2031711, 1, 0, 2031712, 1, 0, 2031713, 1, 0, 2031714, 1, 0, 2031715, 1, 0, 2031716, 1, 0, 2031717, 1, 0, 2031718, 1, 0, 2031719, 1, 0, 2031720, 1, 0, 2031721, 1, 0, 2031722, 1, 0, 2031723, 1, 0, 2031724, 1, 0, 2031725, 1, 0, 2031726, 1, 0, 2031727, 1, 0, 2031728, 1, 0, 2031729, 1, 0, 2031730, 1, 0, 2031731, 1, 0, 2031732, 1, 0, 2031733, 1, 0, 2031734, 1, 0, 2031735, 1, 0, 2031736, 1, 0, 2031737, 1, 0, 2031738, 1, 0, 2031739, 1, 0, 2031740, 1, 0, 2031741, 1, 0, 2031742, 1, 0, 2031743, 1, 0, 2031744, 1, 0, 2031745, 1, 0, 2031746, 1, 0, 2031747, 1, 0, 2031748, 1, 0, 2031749, 1, 0, 2031750, 1, 0, 2031751, 1, 0, 2031752, 1, 0, 2031753, 1, 0, 2031754, 1, 0, 2031755, 1, 0, 2031756, 1, 0, 2031757, 1, 0, 2031758, 1, 0, 2031759, 1, 0, 2031760, 1, 0, 2031761, 1, 0, 2031762, 1, 0, 2031763, 1, 0, 2031764, 1, 0, 2031765, 1, 0, 2031766, 1, 0, 2031767, 1, 0, 2031768, 1, 0, 2031769, 1, 0 ) [node name="Portal" parent="." instance=ExtResource( 4 )] position = Vector2( 3621, 450 )