From 0c5c2112b435804574448a0065e064d86bc5eb83 Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Tue, 18 Oct 2022 18:27:04 +0200 Subject: [PATCH] Unfunctional slope rotation, renamed globals --- assets/contraption/Coin.gd | 2 +- project.godot | 2 +- src/Actors/Blobby/Blobby.gd | 32 +- src/Actors/Blobby/Blobby.tscn | 13 +- src/Actors/Blobby/BlobbyCam.gd | 5 +- src/Actors/Blobby/BlobbyStateMachine.gd | 2 +- src/Actors/BlobbyCam.tscn | 272 +++++++++++++++++ src/Actors/Enemies/Beings/DartingEnemy.gd | 2 +- src/Actors/Enemies/Beings/Enemy.gd | 3 +- src/Actors/Enemies/Beings/SimpleEnemy.gd | 2 +- src/Actors/Enemies/Beings/SmortEnemy.gd | 2 +- src/Autoload/GlobalData.tscn | 6 - .../{GlobalData.gd => GlobalState.gd} | 0 src/Autoload/GlobalState.tscn | 6 + src/Autoload/PhysicsFunc.tscn | 2 +- src/Levels/01 Level.tscn | 282 +----------------- src/Levels/Enemy Test Level.tscn | 6 +- src/Levels/The Line Level.tscn | 6 +- src/UserInterface/Buttons/RetryButton.gd | 2 +- src/UserInterface/Buttons/StatsLabel.gd | 2 +- src/UserInterface/Screens/HUD.gd | 4 +- src/UserInterface/Screens/MainScreen.tscn | 2 +- src/UserInterface/Screens/PauseScreen.gd | 4 +- 23 files changed, 348 insertions(+), 311 deletions(-) create mode 100644 src/Actors/BlobbyCam.tscn delete mode 100644 src/Autoload/GlobalData.tscn rename src/Autoload/{GlobalData.gd => GlobalState.gd} (100%) create mode 100644 src/Autoload/GlobalState.tscn diff --git a/assets/contraption/Coin.gd b/assets/contraption/Coin.gd index c12cf73..7776a10 100644 --- a/assets/contraption/Coin.gd +++ b/assets/contraption/Coin.gd @@ -5,6 +5,6 @@ onready var anim_player: AnimationPlayer = get_node("AnimationPlayer") export var scoreValue: = 100 func _on_body_entered(body: Node) -> void: - GlobalData.score += scoreValue + GlobalState.score += scoreValue anim_player.play("fade_out") queue_free() diff --git a/project.godot b/project.godot index c851910..9e94619 100644 --- a/project.godot +++ b/project.godot @@ -44,7 +44,7 @@ config/icon="res://icon.png" [autoload] -GlobalData="*res://src/Autoload/GlobalData.tscn" +GlobalState="*res://src/Autoload/GlobalState.tscn" [debug] diff --git a/src/Actors/Blobby/Blobby.gd b/src/Actors/Blobby/Blobby.gd index 0425e57..f61796e 100644 --- a/src/Actors/Blobby/Blobby.gd +++ b/src/Actors/Blobby/Blobby.gd @@ -5,7 +5,6 @@ export var jump_buffer_filled := false #TODO Switch to new unique node name method for referencing onready var left_wall_raycasts = $WallRaycasts/LeftWallRaycast onready var right_wall_raycasts = $WallRaycasts/RightWallRaycast -onready var ground_raycasts = $GroundRaycasts 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 @@ -356,14 +355,39 @@ func execute_airstrafe( return linear_velocity func execute_movement() -> void: - velocity = move_and_slide(velocity, FLOOR_NORMAL,true, 4, 0.785398,false) + if(GlobalState.is_dead): + return + var colliding_ray_number = 0 + var target_angle = 0 + var rotation_point: Vector2 + if(is_on_floor()): + for raycast in $SlopeRaycasts.get_children(): + if(raycast.is_colliding()): + colliding_ray_number += 1 + var collision_normal = raycast.get_collision_normal() + target_angle += Vector2.UP.angle_to(collision_normal) + target_angle = rotation + target_angle/max(colliding_ray_number,1) + rotation_point = sign(target_angle) * Vector2($BlobbyBody.shape.extents.x + $BlobbyBody.to_local(position).x, 0) + print(rotation_point) + if(target_angle == 0 || colliding_ray_number < 2): + rotation = 0 + velocity = move_and_slide(velocity, FLOOR_NORMAL,true, 4, 0.785398,false) + else: + velocity = move_and_slide(velocity, FLOOR_NORMAL,true, 4, 0.785398,false) + var translation = rotation_point.rotated(target_angle) - rotation_point + # if(target_angle == 0): + # position.x += translation.xddddad + # position.y += translation.y + rotation = target_angle + + #TODO Limit movement func die() -> void: z_index = 1 - GlobalData.is_dead = true - GlobalData.deaths += 1 + GlobalState.is_dead = true + GlobalState.deaths += 1 $BlobbySprite/AnimationTree.active = false $BlobbySprite/BlobbymationPlayer.play("dying3") diff --git a/src/Actors/Blobby/Blobby.tscn b/src/Actors/Blobby/Blobby.tscn index 60272b5..b9a7c19 100644 --- a/src/Actors/Blobby/Blobby.tscn +++ b/src/Actors/Blobby/Blobby.tscn @@ -4543,9 +4543,6 @@ shape = SubResource( 1 ) [node name="BlobbyStateMachine" type="Node" parent="."] script = ExtResource( 3 ) -coyote_hanging = null -init_boost = null -init_boost_type = null [node name="JumpBufferTimer" type="Timer" parent="BlobbyStateMachine"] wait_time = 0.067 @@ -4601,19 +4598,19 @@ exclude_parent = false cast_to = Vector2( 1.5, 0 ) collision_mask = 56 -[node name="GroundRaycasts" type="Node2D" parent="."] +[node name="SlopeRaycasts" type="Node2D" parent="."] position = Vector2( 0, -1 ) -[node name="Groundcast2" type="RayCast2D" parent="GroundRaycasts"] +[node name="SlopeRaycast" type="RayCast2D" parent="SlopeRaycasts"] position = Vector2( 14, 0 ) enabled = true -cast_to = Vector2( 0, 10 ) +cast_to = Vector2( 0, 19 ) collision_mask = 56 -[node name="Groundcast3" type="RayCast2D" parent="GroundRaycasts"] +[node name="SlopeRaycast2" type="RayCast2D" parent="SlopeRaycasts"] position = Vector2( -12, 0 ) enabled = true -cast_to = Vector2( 0, 10 ) +cast_to = Vector2( 0, 19 ) collision_mask = 56 [connection signal="area_entered" from="BlobbySkin" to="." method="_on_BlobbySkin_area_entered"] diff --git a/src/Actors/Blobby/BlobbyCam.gd b/src/Actors/Blobby/BlobbyCam.gd index 54d5268..3226815 100644 --- a/src/Actors/Blobby/BlobbyCam.gd +++ b/src/Actors/Blobby/BlobbyCam.gd @@ -17,11 +17,12 @@ func _ready(): _set_boundaries() self.position = blobby.global_position prev_camera_pos = get_camera_screen_center() + offset.x = -camera_horizontal_shift func _physics_process(_delta: float) -> void: - if(!GlobalData.is_dead): + if(!GlobalState.is_dead): _adapt_to_movement() - #TODO Do this via a event + #TODO Do this via a event or let it be to track blobbies movement better else: self.position = blobby.global_position _death_cam() diff --git a/src/Actors/Blobby/BlobbyStateMachine.gd b/src/Actors/Blobby/BlobbyStateMachine.gd index 3701966..aaa082a 100644 --- a/src/Actors/Blobby/BlobbyStateMachine.gd +++ b/src/Actors/Blobby/BlobbyStateMachine.gd @@ -25,7 +25,7 @@ func _ready(): add_state("fall") add_state("wallslide") state = states.idle - GlobalData.is_dead = false + GlobalState.is_dead = false set_state(states.idle) diff --git a/src/Actors/BlobbyCam.tscn b/src/Actors/BlobbyCam.tscn new file mode 100644 index 0000000..67c7792 --- /dev/null +++ b/src/Actors/BlobbyCam.tscn @@ -0,0 +1,272 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://src/Actors/Blobby/BlobbyCam.gd" type="Script" id=1] +[ext_resource path="res://assets/environment/background/Asteroids-Near.png" type="Texture" id=2] +[ext_resource path="res://assets/environment/background/Asteroids-Far.png" type="Texture" id=3] +[ext_resource path="res://assets/environment/background/space.png" type="Texture" id=4] + +[sub_resource type="Animation" id=5] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath(".:zoom") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0.75, 0.75 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:limit_left") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -10000000 ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:limit_top") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -10000000 ] +} +tracks/3/type = "value" +tracks/3/path = NodePath(".:limit_right") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 10000000 ] +} +tracks/4/type = "value" +tracks/4/path = NodePath(".:limit_bottom") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 10000000 ] +} +tracks/5/type = "value" +tracks/5/path = NodePath(".:rotating") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ true ] +} +tracks/6/type = "value" +tracks/6/path = NodePath(".:rotation_degrees") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} +tracks/7/type = "value" +tracks/7/path = NodePath(".:position") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = false +tracks/7/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ) ] +} + +[sub_resource type="Animation" id=6] +resource_name = "deathCam" +length = 2.3 +tracks/0/type = "value" +tracks/0/path = NodePath(".:zoom") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 1.6 ), +"transitions": PoolRealArray( 1, 3.24901 ), +"update": 0, +"values": [ Vector2( 0.75, 0.75 ), Vector2( 0.002, 0.002 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath(".:limit_left") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0.8 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ -10000000 ] +} +tracks/2/type = "value" +tracks/2/path = NodePath(".:limit_top") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0.8 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ -10000000 ] +} +tracks/3/type = "value" +tracks/3/path = NodePath(".:limit_right") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0.8 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 10000000 ] +} +tracks/4/type = "value" +tracks/4/path = NodePath(".:limit_bottom") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0.8 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 10000000 ] +} +tracks/5/type = "value" +tracks/5/path = NodePath(".:rotation_degrees") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0.6, 1.6 ), +"transitions": PoolRealArray( 1, 0.120742 ), +"update": 0, +"values": [ 0.0, 360.0 ] +} +tracks/6/type = "method" +tracks/6/path = NodePath("../Blobby") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 2.3 ), +"transitions": PoolRealArray( 1 ), +"values": [ { +"args": [ ], +"method": "respawn" +} ] +} +tracks/7/type = "value" +tracks/7/path = NodePath(".:offset") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, -6 ) ] +} +tracks/8/type = "value" +tracks/8/path = NodePath(".:drag_margin_h_enabled") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} +tracks/9/type = "value" +tracks/9/path = NodePath(".:drag_margin_v_enabled") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} + +[node name="BlobbyCam" type="Camera2D"] +rotating = true +current = true +zoom = Vector2( 0.75, 0.75 ) +process_mode = 0 +drag_margin_h_enabled = true +drag_margin_v_enabled = true +drag_margin_left = 0.05 +drag_margin_top = 0.05 +drag_margin_right = 0.05 +drag_margin_bottom = 0.05 +editor_draw_screen = false +script = ExtResource( 1 ) + +[node name="ShiftTween" type="Tween" parent="."] + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/RESET = SubResource( 5 ) +anims/deathCam = SubResource( 6 ) + +[node name="ParallaxBackground" type="ParallaxBackground" parent="."] +scroll_base_offset = Vector2( 320, 180 ) + +[node name="ParallaxLayer" type="ParallaxLayer" parent="ParallaxBackground"] +motion_scale = Vector2( 0, 0 ) + +[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer"] +texture = ExtResource( 4 ) + +[node name="ParallaxLayer2" type="ParallaxLayer" parent="ParallaxBackground"] +motion_scale = Vector2( 0, 0 ) + +[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer2"] +texture = ExtResource( 3 ) + +[node name="ParallaxLayer3" type="ParallaxLayer" parent="ParallaxBackground"] +motion_scale = Vector2( 0.001, 0.001 ) + +[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer3"] +texture = ExtResource( 2 ) diff --git a/src/Actors/Enemies/Beings/DartingEnemy.gd b/src/Actors/Enemies/Beings/DartingEnemy.gd index eb6319d..72221b9 100644 --- a/src/Actors/Enemies/Beings/DartingEnemy.gd +++ b/src/Actors/Enemies/Beings/DartingEnemy.gd @@ -30,7 +30,7 @@ func player_on_floor_direction(): func die() -> void: queue_free() - GlobalData.score += score + GlobalState.score += score func _on_EnemySkin_area_entered(area:Area2D) -> void: if area.is_in_group("harmful"): diff --git a/src/Actors/Enemies/Beings/Enemy.gd b/src/Actors/Enemies/Beings/Enemy.gd index ccfe834..91c4d25 100644 --- a/src/Actors/Enemies/Beings/Enemy.gd +++ b/src/Actors/Enemies/Beings/Enemy.gd @@ -9,6 +9,7 @@ func _ready() -> void: # TODO adapt to groups +# TODO Engine error here(what does it WANT???) func _on_StompDetector_body_entered(body: Node) -> void: if body.global_position.y > get_node("StompDetector").global_position.y: return @@ -25,7 +26,7 @@ func _physics_process(delta: float) -> void: func die() -> void: queue_free() - GlobalData.score += score + GlobalState.score += score func _on_EnemySkin_area_entered(area:Area2D) -> void: diff --git a/src/Actors/Enemies/Beings/SimpleEnemy.gd b/src/Actors/Enemies/Beings/SimpleEnemy.gd index 17539f0..129f46d 100644 --- a/src/Actors/Enemies/Beings/SimpleEnemy.gd +++ b/src/Actors/Enemies/Beings/SimpleEnemy.gd @@ -30,7 +30,7 @@ func is_at_ledge(): func die() -> void: queue_free() - GlobalData.score += score + GlobalState.score += score func _on_EnemySkin_area_entered(area:Area2D) -> void: diff --git a/src/Actors/Enemies/Beings/SmortEnemy.gd b/src/Actors/Enemies/Beings/SmortEnemy.gd index e00ba11..635afaa 100644 --- a/src/Actors/Enemies/Beings/SmortEnemy.gd +++ b/src/Actors/Enemies/Beings/SmortEnemy.gd @@ -31,7 +31,7 @@ func is_safe_drop(): func die() -> void: queue_free() - GlobalData.score += score + GlobalState.score += score func _on_EnemySkin_area_entered(area:Area2D) -> void: if area.is_in_group("harmful"): diff --git a/src/Autoload/GlobalData.tscn b/src/Autoload/GlobalData.tscn deleted file mode 100644 index 4d2edb7..0000000 --- a/src/Autoload/GlobalData.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[ext_resource path="res://src/Autoload/GlobalData.gd" type="Script" id=1] - -[node name="GlobalData" type="Node"] -script = ExtResource( 1 ) diff --git a/src/Autoload/GlobalData.gd b/src/Autoload/GlobalState.gd similarity index 100% rename from src/Autoload/GlobalData.gd rename to src/Autoload/GlobalState.gd diff --git a/src/Autoload/GlobalState.tscn b/src/Autoload/GlobalState.tscn new file mode 100644 index 0000000..f107903 --- /dev/null +++ b/src/Autoload/GlobalState.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://src/Autoload/GlobalState.gd" type="Script" id=1] + +[node name="GlobalState" type="Node"] +script = ExtResource( 1 ) diff --git a/src/Autoload/PhysicsFunc.tscn b/src/Autoload/PhysicsFunc.tscn index 7ef41ab..be3a47b 100644 --- a/src/Autoload/PhysicsFunc.tscn +++ b/src/Autoload/PhysicsFunc.tscn @@ -2,5 +2,5 @@ [ext_resource path="res://src/Utilities/Physic/PhysicsFunc.gd" type="Script" id=1] -[node name="Node" type="Node"] +[node name="ScriptNode" type="Node"] script = ExtResource( 1 ) diff --git a/src/Levels/01 Level.tscn b/src/Levels/01 Level.tscn index 9371a3a..0a7a727 100644 --- a/src/Levels/01 Level.tscn +++ b/src/Levels/01 Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=19 format=2] +[gd_scene load_steps=14 format=2] [ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=1] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=2] @@ -11,235 +11,7 @@ [ext_resource path="res://src/Levels/Grass Test Level.tscn" type="PackedScene" id=9] [ext_resource path="res://src/Utilities/GameplaySignalManager.gd" type="Script" id=10] [ext_resource path="res://src/Contraptions/Platform/DropThroughPlatform.tscn" type="PackedScene" id=11] -[ext_resource path="res://assets/environment/background/Asteroids-Near.png" type="Texture" id=12] -[ext_resource path="res://assets/environment/background/space.png" type="Texture" id=13] -[ext_resource path="res://src/Actors/Blobby/BlobbyCam.gd" type="Script" id=14] -[ext_resource path="res://assets/environment/background/Asteroids-Far.png" type="Texture" id=15] - -[sub_resource type="Animation" id=5] -length = 0.001 -tracks/0/type = "value" -tracks/0/path = NodePath(".:zoom") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0.75, 0.75 ) ] -} -tracks/1/type = "value" -tracks/1/path = NodePath(".:limit_left") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ -10000000 ] -} -tracks/2/type = "value" -tracks/2/path = NodePath(".:limit_top") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ -10000000 ] -} -tracks/3/type = "value" -tracks/3/path = NodePath(".:limit_right") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ 10000000 ] -} -tracks/4/type = "value" -tracks/4/path = NodePath(".:limit_bottom") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ 10000000 ] -} -tracks/5/type = "value" -tracks/5/path = NodePath(".:rotating") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ true ] -} -tracks/6/type = "value" -tracks/6/path = NodePath(".:rotation_degrees") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ 0.0 ] -} -tracks/7/type = "value" -tracks/7/path = NodePath(".:position") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/imported = false -tracks/7/enabled = false -tracks/7/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, 0 ) ] -} - -[sub_resource type="Animation" id=6] -resource_name = "deathCam" -length = 2.3 -tracks/0/type = "value" -tracks/0/path = NodePath(".:zoom") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0, 1.6 ), -"transitions": PoolRealArray( 1, 3.24901 ), -"update": 0, -"values": [ Vector2( 0.75, 0.75 ), Vector2( 0.002, 0.002 ) ] -} -tracks/1/type = "value" -tracks/1/path = NodePath(".:limit_left") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/keys = { -"times": PoolRealArray( 0.8 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ -10000000 ] -} -tracks/2/type = "value" -tracks/2/path = NodePath(".:limit_top") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/keys = { -"times": PoolRealArray( 0.8 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ -10000000 ] -} -tracks/3/type = "value" -tracks/3/path = NodePath(".:limit_right") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/keys = { -"times": PoolRealArray( 0.8 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ 10000000 ] -} -tracks/4/type = "value" -tracks/4/path = NodePath(".:limit_bottom") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/keys = { -"times": PoolRealArray( 0.8 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ 10000000 ] -} -tracks/5/type = "value" -tracks/5/path = NodePath(".:rotation_degrees") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/keys = { -"times": PoolRealArray( 0.6, 1.6 ), -"transitions": PoolRealArray( 1, 0.120742 ), -"update": 0, -"values": [ 0.0, 360.0 ] -} -tracks/6/type = "method" -tracks/6/path = NodePath("../Blobby") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/keys = { -"times": PoolRealArray( 2.3 ), -"transitions": PoolRealArray( 1 ), -"values": [ { -"args": [ ], -"method": "respawn" -} ] -} -tracks/7/type = "value" -tracks/7/path = NodePath(".:offset") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, -6 ) ] -} -tracks/8/type = "value" -tracks/8/path = NodePath(".:drag_margin_h_enabled") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} -tracks/9/type = "value" -tracks/9/path = NodePath(".:drag_margin_v_enabled") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 1, -"values": [ false ] -} +[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=12] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -254,52 +26,14 @@ __meta__ = { [node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"] wait_time = 20.0 -[node name="Background" type="CanvasLayer" parent="."] +[node name="BlobbyCam" parent="." instance=ExtResource( 12 )] -[node name="BlobbyCam" type="Camera2D" parent="."] -rotating = true -current = true -zoom = Vector2( 0.75, 0.75 ) -process_mode = 0 -drag_margin_h_enabled = true -drag_margin_v_enabled = true -drag_margin_left = 0.05 -drag_margin_top = 0.05 -drag_margin_right = 0.05 -drag_margin_bottom = 0.05 -editor_draw_screen = false -script = ExtResource( 14 ) - -[node name="ShiftTween" type="Tween" parent="BlobbyCam"] - -[node name="AnimationPlayer" type="AnimationPlayer" parent="BlobbyCam"] -anims/RESET = SubResource( 5 ) -anims/deathCam = SubResource( 6 ) - -[node name="ParallaxBackground" type="ParallaxBackground" parent="BlobbyCam"] -scroll_base_offset = Vector2( 320, 180 ) - -[node name="ParallaxLayer" type="ParallaxLayer" parent="BlobbyCam/ParallaxBackground"] -motion_scale = Vector2( 0, 0 ) - -[node name="Sprite" type="Sprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer"] -texture = ExtResource( 13 ) - -[node name="ParallaxLayer2" type="ParallaxLayer" parent="BlobbyCam/ParallaxBackground"] -motion_scale = Vector2( 0, 0 ) - -[node name="Sprite" type="Sprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer2"] -texture = ExtResource( 15 ) - -[node name="ParallaxLayer3" type="ParallaxLayer" parent="BlobbyCam/ParallaxBackground"] -motion_scale = Vector2( 0.001, 0.001 ) - -[node name="Sprite" type="Sprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer3"] -texture = ExtResource( 12 ) +[node name="ParallaxBackground" parent="BlobbyCam" index="2"] +visible = false [node name="Blobby" parent="." instance=ExtResource( 2 )] unique_name_in_owner = true -position = Vector2( -60, -3.8147e-06 ) +position = Vector2( -56, -1.19209e-07 ) scale = Vector2( 0.878906, 0.936025 ) [node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"] @@ -345,7 +79,7 @@ cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 ) collision_layer = 8 collision_mask = 8 format = 1 -tile_data = PoolIntArray( -851975, 3, 0, -851974, 3, 0, -851973, 3, 0, -851972, 3, 0, -851971, 3, 0, -851970, 3, 0, -851969, 3, 0, -917504, 3, 0, -917503, 3, 0, -917502, 3, 0, -917501, 3, 0, -917500, 3, 0, -917499, 3, 0, -917498, 3, 0, -917497, 3, 0, -917496, 3, 0, -917495, 3, 0, -917494, 3, 0, -917493, 3, 0, -917492, 3, 0, -917491, 3, 0, -917490, 3, 0, -917489, 3, 0, -917488, 3, 0, -917487, 3, 0, -917486, 3, 0, -917485, 3, 0, -917484, 3, 0, -917483, 3, 0, -917482, 3, 0, -917481, 3, 0, -917480, 3, 0, -917479, 3, 0, -917478, 3, 0, -917477, 3, 0, -917476, 3, 0, -917475, 3, 0, -917474, 3, 0, -917473, 3, 0, -917472, 3, 0, -917471, 3, 0, -917470, 3, 0, -917469, 3, 0, -917468, 3, 0, -917467, 3, 0, -917466, 3, 0, -917465, 3, 0, -917464, 3, 0, -917463, 3, 0, -917462, 3, 0, -917461, 3, 0, -917460, 3, 0, -917459, 3, 0, -917458, 3, 0, -917457, 3, 0, -917456, 3, 0, -917455, 3, 0, -917454, 3, 0, -917453, 3, 0, -917452, 3, 0, -917451, 3, 0, -917450, 3, 0, -917449, 3, 0, -917448, 3, 0, -917447, 3, 0, -917446, 3, 0, -917445, 3, 0, -917444, 3, 0, -917443, 3, 0, -917442, 3, 0, -786439, 3, 0, -786438, -1610612735, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612736, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612736, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612736, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612736, 0, -851961, 1610612738, 0, -851960, 1610612738, 0, -851959, 1610612736, 0, -851958, 1610612738, 0, -851957, 1610612738, 0, -851956, 1610612736, 0, -851955, 1610612738, 0, -851954, 1610612738, 0, -851953, 1610612736, 0, -851952, 1610612738, 0, -851951, 1610612738, 0, -851950, 1610612736, 0, -851949, 1610612738, 0, -851948, 1610612738, 0, -851947, 1610612736, 0, -851946, 1610612738, 0, -851945, 1610612738, 0, -851944, 1610612736, 0, -851943, 1610612738, 0, -851942, 1610612738, 0, -851941, 1610612736, 0, -851940, 1610612738, 0, -851939, 1610612738, 0, -851938, 1610612736, 0, -851937, 1610612738, 0, -851936, 1610612738, 0, -851935, 3, 0, -851934, 1610612738, 0, -851933, 1610612738, 0, -851932, 1610612736, 0, -851931, 1610612738, 0, -851930, 1610612738, 0, -851929, 1610612736, 0, -851928, 1610612738, 0, -851927, 1610612738, 0, -851926, 1610612736, 0, -851925, 1610612738, 0, -851924, 1610612738, 0, -851923, 1610612736, 0, -851922, 1610612738, 0, -851921, 1610612738, 0, -851920, 1610612736, 0, -851919, 1610612738, 0, -851918, 1610612738, 0, -851917, 1610612736, 0, -851916, 1610612738, 0, -851915, 1610612738, 0, -851914, 1610612736, 0, -851913, 1610612738, 0, -851912, 1610612738, 0, -851911, 1610612736, 0, -851910, 1610612738, 0, -851909, 1610612738, 0, -851908, 1610612736, 0, -851907, 3, 0, -851906, 3, 0, -720903, 3, 0, -720902, -1610612734, 0, -786371, -1073741822, 0, -786370, 3, 0, -655367, 3, 0, -655366, -1610612734, 0, -720835, -1073741824, 0, -720834, 3, 0, -589831, 3, 0, -589830, -1610612736, 0, -655299, -1073741822, 0, -655298, 3, 0, -524295, 3, 0, -524294, -1610612734, 0, -589763, -1073741822, 0, -589762, 3, 0, -458759, 3, 0, -458758, -1610612734, 0, -524227, -1073741824, 0, -524226, 3, 0, -393223, 3, 0, -393222, -1610612736, 0, -458691, -1073741822, 0, -458690, 3, 0, -327687, 3, 0, -327686, -1610612734, 0, -393155, -1073741822, 0, -393154, 3, 0, -262151, 3, 0, -262150, -1610612734, 0, -327619, -1073741824, 0, -327618, 3, 0, -196615, 3, 0, -196614, -1610612736, 0, -262088, 0, 0, -262087, 2, 0, -262086, 2, 0, -262085, 0, 0, -262084, 2, 0, -262083, 1610612739, 0, -262082, 3, 0, -131079, 3, 0, -131078, -1610612734, 0, -196568, 0, 0, -196567, 2, 0, -196566, 2, 0, -196565, 0, 0, -196564, 2, 0, -196563, 2, 0, -196562, 0, 0, -196559, 2, 0, -196556, 2, 0, -196555, 0, 0, -196554, 2, 0, -196553, 2, 0, -196552, 1610612739, 0, -196551, 1610612739, 0, -196550, 1610612739, 0, -196549, 1610612739, 0, -196548, 1610612739, 0, -196547, 3, 0, -196546, 3, 0, -65543, 3, 0, -65542, -1610612734, 0, -131066, 6, 0, -131064, 0, 0, -131063, 2, 0, -131059, -1073741822, 0, -131058, -1610612734, 0, -131054, 2, 0, -131053, 2, 0, -131052, 0, 0, -131051, 2, 0, -131032, 1610612739, 0, -131031, 1610612739, 0, -131030, 1610612739, 0, -131029, 1610612739, 0, -131028, 1610612739, 0, -131027, 1610612739, 0, -131026, 1610612739, 0, -131020, 1610612739, 0, -131019, 1610612739, 0, -131018, 1610612739, 0, -131017, 1610612739, 0, -131016, 1, 0, -131015, 1610612739, 0, -131014, 1610612739, 0, -131013, 1, 0, -131012, 1610612739, 0, -131011, 3, 0, -131010, 3, 0, -7, 3, 0, -6, -1610612736, 0, -65533, 5, 0, -65532, 2, 0, -65531, 0, 0, -65530, 2, 0, -65529, 2, 0, -65528, 1610612739, 0, -65527, 1610612739, 0, -65526, 2, 0, -65519, 0, 0, -65518, 1610612739, 0, -65517, 1610612739, 0, -65516, 1610612739, 0, -65515, 1610612739, 0, -65514, 2, 0, -65501, 2, 0, -65500, 2, 0, -65499, 0, 0, -65498, 2, 0, -65497, 2, 0, -65496, 1, 0, -65495, 1610612739, 0, -65494, 1610612739, 0, -65493, 1, 0, -65492, 1610612739, 0, -65491, 1610612739, 0, -65490, 1, 0, -65489, 2, 0, -65488, 2, 0, -65487, 2, 0, -65486, 2, 0, -65485, 2, 0, -65484, 1610612739, 0, -65483, 1, 0, -65482, 1610612739, 0, -65481, 1610612739, 0, -65480, 1610612739, 0, -65479, 1610612739, 0, -65478, 1610612739, 0, -65477, 1610612739, 0, -65476, 1610612739, 0, -65475, 3, 0, -65474, 3, 0, 65529, 3, 0, 65530, 3, 0, 65531, 2, 0, 65532, 0, 0, 65533, 2, 0, 65534, 2, 0, 65535, 0, 0, 0, 2, 0, 1, 2, 0, 2, 0, 0, 3, 2, 0, 4, 1610612739, 0, 5, 1610612739, 0, 6, 1610612739, 0, 7, 1610612739, 0, 8, 1610612739, 0, 9, 1610612739, 0, 10, 1610612739, 0, 11, 0, 0, 12, 2, 0, 13, 2, 0, 14, 0, 0, 15, 2, 0, 16, 2, 0, 17, 1610612739, 0, 18, 1610612739, 0, 19, 1610612739, 0, 20, 1610612739, 0, 21, 1610612739, 0, 22, 1610612739, 0, 23, 0, 0, 24, 2, 0, 25, 2, 0, 26, 0, 0, 27, 2, 0, 30, 2, 0, 31, 0, 0, 32, 2, 0, 33, 2, 0, 34, 0, 0, 35, 1610612739, 0, 36, 1610612739, 0, 37, 1610612739, 0, 38, 1610612739, 0, 39, 1610612739, 0, 40, 1610612739, 0, 41, 1610612739, 0, 42, 1610612739, 0, 43, 1610612739, 0, 44, 1610612739, 0, 45, 1610612739, 0, 46, 1610612739, 0, 47, 1610612739, 0, 48, 1610612739, 0, 49, 1610612739, 0, 50, 1610612739, 0, 51, 1610612739, 0, 52, 1610612739, 0, 53, 1610612739, 0, 54, 1610612739, 0, 55, 1610612739, 0, 56, 1, 0, 57, 1610612739, 0, 58, 1610612739, 0, 59, 1, 0, 60, 1610612739, 0, 61, 1610612739, 0, 62, 3, 0, 131065, 3, 0, 131066, 3, 0, 131067, 3, 0, 131068, 3, 0, 131069, 3, 0, 131070, 3, 0, 131071, 3, 0, 65536, 3, 0, 65537, 3, 0, 65538, 3, 0, 65539, 3, 0, 65540, 3, 0, 65541, 3, 0, 65542, 3, 0, 65543, 3, 0, 65544, 3, 0, 65545, 3, 0, 65546, 3, 0, 65547, 3, 0, 65548, 3, 0, 65549, 3, 0, 65550, 3, 0, 65551, 3, 0, 65552, 3, 0, 65553, 3, 0, 65554, 3, 0, 65555, 3, 0, 65556, 3, 0, 65557, 3, 0, 65558, 3, 0, 65559, 3, 0, 65560, 3, 0, 65561, 3, 0, 65562, 3, 0, 65563, 3, 0, 65564, 3, 0, 65565, 3, 0, 65566, 3, 0, 65567, 3, 0, 65568, 3, 0, 65569, 3, 0, 65570, 3, 0, 65571, 3, 0, 65572, 3, 0, 65573, 3, 0, 65574, 3, 0, 65575, 3, 0, 65576, 3, 0, 65577, 3, 0, 65578, 3, 0, 65579, 3, 0, 65580, 3, 0, 65581, 3, 0, 65582, 3, 0, 65583, 3, 0, 65584, 3, 0, 65585, 3, 0, 65586, 3, 0, 65587, 3, 0, 65588, 3, 0, 65589, 3, 0, 65590, 3, 0, 65591, 3, 0, 65592, 3, 0, 65593, 3, 0, 65594, 3, 0, 65595, 3, 0, 65596, 3, 0, 65597, 3, 0, 65598, 3, 0 ) +tile_data = PoolIntArray( -851975, 3, 0, -851974, 3, 0, -851973, 3, 0, -851972, 3, 0, -851971, 3, 0, -851970, 3, 0, -851969, 3, 0, -917504, 3, 0, -917503, 3, 0, -917502, 3, 0, -917501, 3, 0, -917500, 3, 0, -917499, 3, 0, -917498, 3, 0, -917497, 3, 0, -917496, 3, 0, -917495, 3, 0, -917494, 3, 0, -917493, 3, 0, -917492, 3, 0, -917491, 3, 0, -917490, 3, 0, -917489, 3, 0, -917488, 3, 0, -917487, 3, 0, -917486, 3, 0, -917485, 3, 0, -917484, 3, 0, -917483, 3, 0, -917482, 3, 0, -917481, 3, 0, -917480, 3, 0, -917479, 3, 0, -917478, 3, 0, -917477, 3, 0, -917476, 3, 0, -917475, 3, 0, -917474, 3, 0, -917473, 3, 0, -917472, 3, 0, -917471, 3, 0, -917470, 3, 0, -917469, 3, 0, -917468, 3, 0, -917467, 3, 0, -917466, 3, 0, -917465, 3, 0, -917464, 3, 0, -917463, 3, 0, -917462, 3, 0, -917461, 3, 0, -917460, 3, 0, -917459, 3, 0, -917458, 3, 0, -917457, 3, 0, -917456, 3, 0, -917455, 3, 0, -917454, 3, 0, -917453, 3, 0, -917452, 3, 0, -917451, 3, 0, -917450, 3, 0, -917449, 3, 0, -917448, 3, 0, -917447, 3, 0, -917446, 3, 0, -917445, 3, 0, -917444, 3, 0, -917443, 3, 0, -917442, 3, 0, -786439, 3, 0, -786438, -1610612735, 0, -786437, 1610612738, 0, -786436, 1610612738, 0, -786435, 1610612736, 0, -786434, 1610612738, 0, -786433, 1610612738, 0, -851968, 1610612736, 0, -851967, 1610612738, 0, -851966, 1610612738, 0, -851965, 1610612736, 0, -851964, 1610612738, 0, -851963, 1610612738, 0, -851962, 1610612736, 0, -851961, 1610612738, 0, -851960, 1610612738, 0, -851959, 1610612736, 0, -851958, 1610612738, 0, -851957, 1610612738, 0, -851956, 1610612736, 0, -851955, 1610612738, 0, -851954, 1610612738, 0, -851953, 1610612736, 0, -851952, 1610612738, 0, -851951, 1610612738, 0, -851950, 1610612736, 0, -851949, 1610612738, 0, -851948, 1610612738, 0, -851947, 1610612736, 0, -851946, 1610612738, 0, -851945, 1610612738, 0, -851944, 1610612736, 0, -851943, 1610612738, 0, -851942, 1610612738, 0, -851941, 1610612736, 0, -851940, 1610612738, 0, -851939, 1610612738, 0, -851938, 1610612736, 0, -851937, 1610612738, 0, -851936, 1610612738, 0, -851935, 3, 0, -851934, 1610612738, 0, -851933, 1610612738, 0, -851932, 1610612736, 0, -851931, 1610612738, 0, -851930, 1610612738, 0, -851929, 1610612736, 0, -851928, 1610612738, 0, -851927, 1610612738, 0, -851926, 1610612736, 0, -851925, 1610612738, 0, -851924, 1610612738, 0, -851923, 1610612736, 0, -851922, 1610612738, 0, -851921, 1610612738, 0, -851920, 1610612736, 0, -851919, 1610612738, 0, -851918, 1610612738, 0, -851917, 1610612736, 0, -851916, 1610612738, 0, -851915, 1610612738, 0, -851914, 1610612736, 0, -851913, 1610612738, 0, -851912, 1610612738, 0, -851911, 1610612736, 0, -851910, 1610612738, 0, -851909, 1610612738, 0, -851908, 1610612736, 0, -851907, 3, 0, -851906, 3, 0, -720903, 3, 0, -720902, -1610612734, 0, -786371, -1073741822, 0, -786370, 3, 0, -655367, 3, 0, -655366, -1610612734, 0, -720835, -1073741824, 0, -720834, 3, 0, -589831, 3, 0, -589830, -1610612736, 0, -655299, -1073741822, 0, -655298, 3, 0, -524295, 3, 0, -524294, -1610612734, 0, -589763, -1073741822, 0, -589762, 3, 0, -458759, 3, 0, -458758, -1610612734, 0, -524227, -1073741824, 0, -524226, 3, 0, -393223, 3, 0, -393222, -1610612736, 0, -458691, -1073741822, 0, -458690, 3, 0, -327687, 3, 0, -327686, -1610612734, 0, -393155, -1073741822, 0, -393154, 3, 0, -262151, 3, 0, -262150, -1610612734, 0, -327619, -1073741824, 0, -327618, 3, 0, -196615, 3, 0, -196614, -1610612736, 0, -262088, 0, 0, -262087, 2, 0, -262086, 2, 0, -262085, 0, 0, -262084, 2, 0, -262083, 1610612739, 0, -262082, 3, 0, -131079, 3, 0, -131078, -1610612734, 0, -196568, 0, 0, -196567, 2, 0, -196566, 2, 0, -196565, 0, 0, -196564, 2, 0, -196563, 2, 0, -196562, 0, 0, -196559, 2, 0, -196556, 2, 0, -196555, 0, 0, -196554, 2, 0, -196553, 2, 0, -196552, 1610612739, 0, -196551, 1610612739, 0, -196550, 1610612739, 0, -196549, 1610612739, 0, -196548, 1610612739, 0, -196547, 3, 0, -196546, 3, 0, -65543, 3, 0, -65542, -1610612734, 0, -131066, 6, 0, -131064, 0, 0, -131063, 2, 0, -131059, -1073741822, 0, -131058, -1610612734, 0, -131054, 2, 0, -131053, 2, 0, -131052, 0, 0, -131051, 2, 0, -131032, 1610612739, 0, -131031, 1610612739, 0, -131030, 1610612739, 0, -131029, 1610612739, 0, -131028, 1610612739, 0, -131027, 1610612739, 0, -131026, 1610612739, 0, -131020, 1610612739, 0, -131019, 1610612739, 0, -131018, 1610612739, 0, -131017, 1610612739, 0, -131016, 1, 0, -131015, 1610612739, 0, -131014, 1610612739, 0, -131013, 1, 0, -131012, 1610612739, 0, -131011, 3, 0, -131010, 3, 0, -7, 3, 0, -6, -1610612736, 0, -5, -1610612731, 0, -65533, 5, 0, -65532, 2, 0, -65531, 0, 0, -65530, 2, 0, -65529, 2, 0, -65528, 1610612739, 0, -65527, 1610612739, 0, -65526, 2, 0, -65519, 0, 0, -65518, 1610612739, 0, -65517, 1610612739, 0, -65516, 1610612739, 0, -65515, 1610612739, 0, -65514, 2, 0, -65501, 2, 0, -65500, 2, 0, -65499, 0, 0, -65498, 2, 0, -65497, 2, 0, -65496, 1, 0, -65495, 1610612739, 0, -65494, 1610612739, 0, -65493, 1, 0, -65492, 1610612739, 0, -65491, 1610612739, 0, -65490, 1, 0, -65489, 2, 0, -65488, 2, 0, -65487, 2, 0, -65486, 2, 0, -65485, 2, 0, -65484, 1610612739, 0, -65483, 1, 0, -65482, 1610612739, 0, -65481, 1610612739, 0, -65480, 1610612739, 0, -65479, 1610612739, 0, -65478, 1610612739, 0, -65477, 1610612739, 0, -65476, 1610612739, 0, -65475, 3, 0, -65474, 3, 0, 65529, 3, 0, 65530, 3, 0, 65531, 2, 0, 65532, 0, 0, 65533, 2, 0, 65534, 2, 0, 65535, 0, 0, 0, 2, 0, 1, 2, 0, 2, 0, 0, 3, 2, 0, 4, 1610612739, 0, 5, 1610612739, 0, 6, 1610612739, 0, 7, 1610612739, 0, 8, 1610612739, 0, 9, 1610612739, 0, 10, 1610612739, 0, 11, 0, 0, 12, 2, 0, 13, 2, 0, 14, 0, 0, 15, 2, 0, 16, 2, 0, 17, 1610612739, 0, 18, 1610612739, 0, 19, 1610612739, 0, 20, 1610612739, 0, 21, 1610612739, 0, 22, 1610612739, 0, 23, 0, 0, 24, 2, 0, 25, 2, 0, 26, 0, 0, 27, 2, 0, 30, 2, 0, 31, 0, 0, 32, 2, 0, 33, 2, 0, 34, 0, 0, 35, 1610612739, 0, 36, 1610612739, 0, 37, 1610612739, 0, 38, 1610612739, 0, 39, 1610612739, 0, 40, 1610612739, 0, 41, 1610612739, 0, 42, 1610612739, 0, 43, 1610612739, 0, 44, 1610612739, 0, 45, 1610612739, 0, 46, 1610612739, 0, 47, 1610612739, 0, 48, 1610612739, 0, 49, 1610612739, 0, 50, 1610612739, 0, 51, 1610612739, 0, 52, 1610612739, 0, 53, 1610612739, 0, 54, 1610612739, 0, 55, 1610612739, 0, 56, 1, 0, 57, 1610612739, 0, 58, 1610612739, 0, 59, 1, 0, 60, 1610612739, 0, 61, 1610612739, 0, 62, 3, 0, 131065, 3, 0, 131066, 3, 0, 131067, 3, 0, 131068, 3, 0, 131069, 3, 0, 131070, 3, 0, 131071, 3, 0, 65536, 3, 0, 65537, 3, 0, 65538, 3, 0, 65539, 3, 0, 65540, 3, 0, 65541, 3, 0, 65542, 3, 0, 65543, 3, 0, 65544, 3, 0, 65545, 3, 0, 65546, 3, 0, 65547, 3, 0, 65548, 3, 0, 65549, 3, 0, 65550, 3, 0, 65551, 3, 0, 65552, 3, 0, 65553, 3, 0, 65554, 3, 0, 65555, 3, 0, 65556, 3, 0, 65557, 3, 0, 65558, 3, 0, 65559, 3, 0, 65560, 3, 0, 65561, 3, 0, 65562, 3, 0, 65563, 3, 0, 65564, 3, 0, 65565, 3, 0, 65566, 3, 0, 65567, 3, 0, 65568, 3, 0, 65569, 3, 0, 65570, 3, 0, 65571, 3, 0, 65572, 3, 0, 65573, 3, 0, 65574, 3, 0, 65575, 3, 0, 65576, 3, 0, 65577, 3, 0, 65578, 3, 0, 65579, 3, 0, 65580, 3, 0, 65581, 3, 0, 65582, 3, 0, 65583, 3, 0, 65584, 3, 0, 65585, 3, 0, 65586, 3, 0, 65587, 3, 0, 65588, 3, 0, 65589, 3, 0, 65590, 3, 0, 65591, 3, 0, 65592, 3, 0, 65593, 3, 0, 65594, 3, 0, 65595, 3, 0, 65596, 3, 0, 65597, 3, 0, 65598, 3, 0 ) [node name="Spikes" parent="TileMap" instance=ExtResource( 3 )] position = Vector2( 708, 12 ) @@ -396,7 +130,6 @@ monitoring = false next_scene = ExtResource( 9 ) [node name="GameplaySignalManager" type="Node2D" parent="."] -visible = false script = ExtResource( 10 ) [connection signal="timeout" from="UserInterface/HUD/HUDOverlay/GetBackTimer/Timer" to="GameplaySignalManager" method="_on_Timer_timeout"] @@ -406,6 +139,7 @@ script = ExtResource( 10 ) [editable path="UserInterface"] [editable path="UserInterface/HUD"] +[editable path="BlobbyCam"] [editable path="Blobby"] [editable path="TreeWhyButtons"] [editable path="TreeWhyButtons/WhyButton1"] diff --git a/src/Levels/Enemy Test Level.tscn b/src/Levels/Enemy Test Level.tscn index c490220..c7bd62d 100644 --- a/src/Levels/Enemy Test Level.tscn +++ b/src/Levels/Enemy Test Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=2] +[gd_scene load_steps=12 format=2] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=1] [ext_resource path="res://assets/environment/blocks/24BlockBasic.png" type="Texture" id=2] @@ -8,6 +8,7 @@ [ext_resource path="res://src/Actors/Enemies/Beings/SimpleEnemy.tscn" type="PackedScene" id=6] [ext_resource path="res://src/Actors/Enemies/Beings/SmortEnemy.tscn" type="PackedScene" id=7] [ext_resource path="res://src/Actors/Enemies/Beings/DartingEnemy.tscn" type="PackedScene" id=8] +[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=9] [sub_resource type="ConvexPolygonShape2D" id=3] points = PoolVector2Array( 0, 0, 24, 0, 24, 24, 0, 24 ) @@ -43,7 +44,10 @@ __meta__ = { [node name="UserInterface" parent="." instance=ExtResource( 3 )] +[node name="BlobbyCam" parent="." instance=ExtResource( 9 )] + [node name="Blobby" parent="." instance=ExtResource( 1 )] +unique_name_in_owner = true position = Vector2( -259.915, 710.547 ) [node name="SmortEnemy" parent="." instance=ExtResource( 7 )] diff --git a/src/Levels/The Line Level.tscn b/src/Levels/The Line Level.tscn index b0d4ae3..e5ced12 100644 --- a/src/Levels/The Line Level.tscn +++ b/src/Levels/The Line Level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=2] +[gd_scene load_steps=13 format=2] [ext_resource path="res://src/Utilities/GameplaySignalManager.gd" type="Script" id=1] [ext_resource path="res://src/Environment/AlienShipTileSet.tres" type="TileSet" id=2] @@ -10,6 +10,7 @@ [ext_resource path="res://src/Contraptions/Triggers/ThreeWhyButtons.tscn" type="PackedScene" id=8] [ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=9] [ext_resource path="res://src/Contraptions/Portal/Portal.tscn" type="PackedScene" id=10] +[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=11] [sub_resource type="AnimationNodeStateMachinePlayback" id=4] @@ -30,7 +31,10 @@ margin_top = 0.456848 margin_right = 3.15375 margin_bottom = 0.456848 +[node name="BlobbyCam" parent="." instance=ExtResource( 11 )] + [node name="Blobby" parent="." instance=ExtResource( 4 )] +unique_name_in_owner = true position = Vector2( 71.0069, 335.293 ) scale = Vector2( 0.878906, 0.936025 ) diff --git a/src/UserInterface/Buttons/RetryButton.gd b/src/UserInterface/Buttons/RetryButton.gd index dbec988..80f0505 100644 --- a/src/UserInterface/Buttons/RetryButton.gd +++ b/src/UserInterface/Buttons/RetryButton.gd @@ -2,6 +2,6 @@ extends Button func _on_button_up() -> void: - GlobalData.score = 0 + GlobalState.score = 0 get_tree().paused = false get_tree().reload_current_scene() diff --git a/src/UserInterface/Buttons/StatsLabel.gd b/src/UserInterface/Buttons/StatsLabel.gd index 701cb6c..457819b 100644 --- a/src/UserInterface/Buttons/StatsLabel.gd +++ b/src/UserInterface/Buttons/StatsLabel.gd @@ -1,4 +1,4 @@ extends Label func _ready(): - self.text = self.text % [GlobalData.score, GlobalData.deaths] + self.text = self.text % [GlobalState.score, GlobalState.deaths] diff --git a/src/UserInterface/Screens/HUD.gd b/src/UserInterface/Screens/HUD.gd index b799155..aa4ae72 100644 --- a/src/UserInterface/Screens/HUD.gd +++ b/src/UserInterface/Screens/HUD.gd @@ -9,7 +9,7 @@ onready var score: Label = $HUDOverlay/Score func _ready(): #TODO Connect what HOW? - GlobalData.connect("score_updated", self, "update_interface") + GlobalState.connect("score_updated", self, "update_interface") update_interface() func _process(delta): @@ -29,7 +29,7 @@ func _zoom_timer() -> void: func update_interface() -> void: - score.text = "Score: %s" % GlobalData.score + score.text = "Score: %s" % GlobalState.score func _on_SignalManager_terminal_activated() -> void: diff --git a/src/UserInterface/Screens/MainScreen.tscn b/src/UserInterface/Screens/MainScreen.tscn index 6178eab..15ae062 100644 --- a/src/UserInterface/Screens/MainScreen.tscn +++ b/src/UserInterface/Screens/MainScreen.tscn @@ -32,7 +32,7 @@ margin_bottom = 85.0 grow_horizontal = 2 size_flags_horizontal = 2 size_flags_vertical = 2 -text = "Wumper" +text = "bobbi" [node name="MenuContainer" type="HBoxContainer" parent="."] anchor_left = 0.5 diff --git a/src/UserInterface/Screens/PauseScreen.gd b/src/UserInterface/Screens/PauseScreen.gd index cf5574d..d9ff5da 100644 --- a/src/UserInterface/Screens/PauseScreen.gd +++ b/src/UserInterface/Screens/PauseScreen.gd @@ -8,10 +8,10 @@ onready var pause_title: Label = get_node("PauseOverlay/Title") var paused := false setget set_paused func _ready(): - GlobalData.connect("player_died", self, "_on_GlobalData_player_died") + GlobalState.connect("player_died", self, "_on_GlobalState_player_died") -func _on_GlobalData_player_died() -> void: +func _on_GlobalState_player_died() -> void: self.paused = true pause_title.text = "You lost"