From a12e4e4c0b95c5ca4aacf207024e7dc8fe73aa0e Mon Sep 17 00:00:00 2001 From: Jakob Feldmann Date: Tue, 10 Oct 2023 14:03:01 +0200 Subject: [PATCH] fix: icon, boost is now run, button layer, pixelized light shader? --- icon.ico | Bin 4286 -> 359559 bytes project.godot | 55 ++++++++++-------- src/Actors/Enemies/Caterpillar.tscn | 6 +- src/Contraptions/Triggers/ElevatorButton.tscn | 2 +- src/Environment/Grass/ShaderGrass.tscn | 1 + src/Environment/LightingShaderMaterial.tres | 12 +++- src/Levels/Level 0.1.tscn | 2 +- src/Levels/Level 0.2.tscn | 5 +- src/Levels/Level 0.3.tscn | 14 +++-- src/Levels/Level 2.tscn | 20 ++++--- src/Levels/Level 3.tscn | 5 +- src/StateMachines/BlobbyStateMachine.gd | 2 +- src/UserInterface/TutorialComboThingy.gd | 2 +- 13 files changed, 69 insertions(+), 57 deletions(-) diff --git a/icon.ico b/icon.ico index d0207b2276bd8a4d8100fdc5ce1618a7bb0271ee..8dc8f3e5ae09285d7d6a45918d1ebcc038c5b678 100644 GIT binary patch literal 359559 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 U zDYl%yRMTS9EQo6)OmWO3yeao)Y+=1_#i&VR9k!=2>JXg?%;abPoO$kImsP@u$FN^6 tw+fgIF$GKkQ{ayknEZF=5?$ly#pCn>4o_g4an5u7N`1~fHn}O;+#6ZvigN$} diff --git a/project.godot b/project.godot index 9a13f7d..dc9dcd2 100644 --- a/project.godot +++ b/project.godot @@ -59,6 +59,11 @@ _global_script_classes=[ { "language": "GDScript", "path": "res://addons/controller_icons/objects/TextureRect.gd" }, { +"base": "SceneTree", +"class": "CreateIcon", +"language": "GDScript", +"path": "res://Neuer Ordner/CreateIcon.gd" +}, { "base": "Actor", "class": "Enemy", "language": "GDScript", @@ -84,6 +89,11 @@ _global_script_classes=[ { "language": "GDScript", "path": "res://src/RayCasters/RayCaster.gd" }, { +"base": "Reference", +"class": "ReplaceIcon", +"language": "GDScript", +"path": "res://Neuer Ordner/ReplaceIcon.gd" +}, { "base": "Button", "class": "SoundButton", "language": "GDScript", @@ -105,11 +115,13 @@ _global_script_class_icons={ "ControllerSprite": "", "ControllerSprite3D": "", "ControllerTextureRect": "", +"CreateIcon": "", "Enemy": "", "GlobalStateResource": "", "LevelTemplate": "", "RayCastDebugLines": "", "RayCaster": "", +"ReplaceIcon": "", "SoundButton": "", "StateMachine": "" } @@ -118,8 +130,8 @@ _global_script_class_icons={ config/name="Blobby" run/main_scene="res://src/UserInterface/Screens/MainMenu/MainScreen.tscn" -run/low_processor_mode=true config/icon="res://icon.png" +config/windows_native_icon="res://icon.ico" [audio] @@ -239,34 +251,34 @@ ui_end={ } up={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":87,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) +"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777232,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } duck={ "deadzone": 0.5, "events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":83,"unicode":0,"echo":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777234,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } move_left={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":false,"script":null) +"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":14,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777231,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } move_right={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":15,"pressure":0.0,"pressed":false,"script":null) +"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":15,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":16777233,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } jump={ @@ -275,16 +287,16 @@ jump={ , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) ] } -boost_move={ +run={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"physical_scancode":0,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null) +"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":5,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } interact={ "deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":69,"unicode":0,"echo":false,"script":null) -, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":false,"script":null) +"events": [ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } pause={ @@ -316,7 +328,6 @@ ui_click={ common/physics_fps=120 2d/thread_model=0 -2d/use_bvh=false 2d/cell_size=100 common/physics_interpolation=true common/enable_object_picking=false @@ -326,17 +337,11 @@ common/enable_object_picking=false 2d/options/use_nvidia_rect_flicker_workaround=true quality/intended_usage/framebuffer_allocation=0 quality/intended_usage/framebuffer_allocation.mobile=0 -2d/snapping/use_gpu_pixel_snap=true threads/thread_model=2 -quality/reflections/texture_array_reflections=false -quality/reflections/high_quality_ggx=false 2d/options/use_software_skinning=false gles3/shaders/shader_compilation_mode=2 -gles3/shaders/shader_compilation_mode.mobile=2 gles3/shaders/shader_compilation_mode.web=2 -gles3/shaders/max_simultaneous_compiles.web=2 -gles3/shaders/shader_cache_size_mb.mobile=256 -gles3/shaders/shader_cache_size_mb.web=256 +2d/options/culling_mode=0 quality/depth/hdr=false environment/default_environment="res://default_env.tres" environment/2d/use_nvidia_rect_flicker_workaround=true diff --git a/src/Actors/Enemies/Caterpillar.tscn b/src/Actors/Enemies/Caterpillar.tscn index f957cef..fddeacf 100644 --- a/src/Actors/Enemies/Caterpillar.tscn +++ b/src/Actors/Enemies/Caterpillar.tscn @@ -80,29 +80,25 @@ cast_to = Vector2( 3, 0 ) collision_mask = 8 [node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]] -visible = false modulate = Color( 0, 0.0392157, 1, 1 ) light_mask = 0 -position = Vector2( 0, -6.44095 ) +position = Vector2( 0, 5.23628 ) collision_layer = 2 input_pickable = false monitorable = false priority = 1.0 [node name="CollisionShape2D" type="CollisionShape2D" parent="StompDetector"] -visible = false position = Vector2( 0, -2.28618 ) shape = SubResource( 2 ) [node name="EnemySkin" type="Area2D" parent="."] process_priority = -1 -visible = false collision_layer = 2 collision_mask = 127 input_pickable = false [node name="CollisionPolygon2D" type="CollisionShape2D" parent="EnemySkin"] -visible = false position = Vector2( 0, 3.49085 ) shape = SubResource( 3 ) diff --git a/src/Contraptions/Triggers/ElevatorButton.tscn b/src/Contraptions/Triggers/ElevatorButton.tscn index 222cb5a..dc476dc 100644 --- a/src/Contraptions/Triggers/ElevatorButton.tscn +++ b/src/Contraptions/Triggers/ElevatorButton.tscn @@ -85,7 +85,7 @@ valign = 1 unique_name_in_owner = true position = Vector2( 0, -6 ) scale = Vector2( 0.5, 0.5 ) -collision_layer = 24 +collision_layer = 0 monitorable = false [node name="ActivatorAreaShape" type="CollisionShape2D" parent="ActivatorArea"] diff --git a/src/Environment/Grass/ShaderGrass.tscn b/src/Environment/Grass/ShaderGrass.tscn index c5fbfa0..80982b5 100644 --- a/src/Environment/Grass/ShaderGrass.tscn +++ b/src/Environment/Grass/ShaderGrass.tscn @@ -93,6 +93,7 @@ volume_db = -22.0 bus = "Effects" [node name="Area2D" type="Area2D" parent="."] +visible = false collision_layer = 0 collision_mask = 3 monitorable = false diff --git a/src/Environment/LightingShaderMaterial.tres b/src/Environment/LightingShaderMaterial.tres index 7c775cf..1fef1c8 100644 --- a/src/Environment/LightingShaderMaterial.tres +++ b/src/Environment/LightingShaderMaterial.tres @@ -17,6 +17,7 @@ uniform int n_light_bands : hint_range(1, 13) = 7; uniform bool will_smooth_shade = false; uniform float band_decay_rate : hint_range(0.0, 1.0, 0.05) = 0.5; uniform float light_strength_modifier : hint_range(0.0, 1.0) = 1.0; +uniform float bits = 1.; varying vec2 world_position; @@ -25,7 +26,7 @@ void vertex() { } void fragment() { - vec4 col = texture(TEXTURE, UV); + vec4 col = texture(TEXTURE, UV); if (col.a <= 0.0){ COLOR = col; } @@ -39,7 +40,11 @@ void fragment() { // Get the data for this light source as passed in via texture vec4 texel = texelFetch(light_data, ivec2(i, 0), 0); vec2 texel_pos = (viewport_transform * (global_transform * vec4(texel.xy, 0.0, 1.0))).xy; - vec2 texel_pos2 = texel.xy; + float x_bits = bits / TEXTURE_PIXEL_SIZE.x; + float y_bits = bits / TEXTURE_PIXEL_SIZE.y; + float pixelized_x = floor(texel_pos.x * x_bits)/x_bits + 0.5/x_bits; + float pixelized_y = floor(texel_pos.y * y_bits)/y_bits + 0.5/y_bits; + texel_pos = vec2(pixelized_x, pixelized_y); // How far the light source extends float radius = texel.a; @@ -92,6 +97,7 @@ shader_param/default_light_color = null shader_param/light_level = 0.0 shader_param/offset_modifier = 1.0 shader_param/n_light_bands = 7 -shader_param/will_smooth_shade = false +shader_param/will_smooth_shade = true shader_param/band_decay_rate = 0.5 shader_param/light_strength_modifier = 1.0 +shader_param/bits = 1.0 diff --git a/src/Levels/Level 0.1.tscn b/src/Levels/Level 0.1.tscn index d7183fb..9aecdae 100644 --- a/src/Levels/Level 0.1.tscn +++ b/src/Levels/Level 0.1.tscn @@ -1226,7 +1226,7 @@ visible = false position = Vector2( -154, 14 ) texture = ExtResource( 36 ) script = ExtResource( 9 ) -color = Color( 1, 0, 0, 0.615686 ) +color = Color( 1, 0, 0, 0.321569 ) [node name="Emitter4" type="Sprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer4" groups=["light"]] visible = false diff --git a/src/Levels/Level 0.2.tscn b/src/Levels/Level 0.2.tscn index d6e360d..b92b472 100644 --- a/src/Levels/Level 0.2.tscn +++ b/src/Levels/Level 0.2.tscn @@ -1172,9 +1172,6 @@ jump_buffer_filled = null death_sound_1 = null death_sound_2 = null -[node name="BlobbySprite" parent="Blobby" index="5"] -frame = 10 - [node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"] parameters/playback = SubResource( 6 ) parameters/jumpStretching/blend_position = 1 @@ -1259,7 +1256,7 @@ position = Vector2( 6, -6 ) [node name="TutorialComboThingy" parent="." instance=ExtResource( 13 )] visible = false position = Vector2( 1115, 4 ) -action1 = "boost_move" +action1 = "run" action2 = "move_right" press_limit = 2 diff --git a/src/Levels/Level 0.3.tscn b/src/Levels/Level 0.3.tscn index 241ab28..5584726 100644 --- a/src/Levels/Level 0.3.tscn +++ b/src/Levels/Level 0.3.tscn @@ -236,9 +236,6 @@ unique_name_in_owner = true position = Vector2( -180, 113 ) scale = Vector2( 0.878906, 0.936025 ) -[node name="BlobbySprite" parent="Blobby" index="5"] -frame = 7 - [node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"] parameters/playback = SubResource( 6 ) @@ -280,7 +277,7 @@ position = Vector2( 369, -300 ) elevator_time = 10 [node name="Portal" parent="." instance=ExtResource( 9 )] -position = Vector2( 716, 48 ) +position = Vector2( 712, 48 ) next_scene = "res://src/Levels/Level 0.4.tscn" [node name="FlyingPlatform2" parent="." instance=ExtResource( 15 )] @@ -302,7 +299,7 @@ y_target = 112 [node name="TutorialComboThingy" parent="." instance=ExtResource( 6 )] visible = false position = Vector2( 276, -35 ) -action1 = "boost_move" +action1 = "run" action2 = "jump" goal_state = "runToJump" tutorial_text = "Move and press to runjump:" @@ -320,7 +317,7 @@ position = Vector2( -10, 75 ) [node name="TutorialComboThingy2" parent="." instance=ExtResource( 6 )] visible = false position = Vector2( 381, -230 ) -action1 = "boost_move" +action1 = "run" action2 = "jump" goal_state = "runToJump" tutorial_text = "Move and press to runjump:" @@ -343,6 +340,7 @@ position = Vector2( -61, 100 ) [node name="ShaderGrass7" parent="Decor" instance=ExtResource( 4 )] position = Vector2( -55, 98 ) +z_index = -1 [node name="ShaderGrass9" parent="Decor" instance=ExtResource( 4 )] position = Vector2( -41, 100 ) @@ -420,6 +418,7 @@ position = Vector2( 511, 100 ) [node name="ShaderGrass5" parent="Decor" instance=ExtResource( 4 )] position = Vector2( 517, 97 ) +z_index = -1 [node name="ShaderGrass6" parent="Decor" instance=ExtResource( 4 )] position = Vector2( 503, 100 ) @@ -629,6 +628,7 @@ position = Vector2( 556, 100 ) [node name="ShaderGrass99" parent="Decor" instance=ExtResource( 4 )] position = Vector2( 554, 97 ) +z_index = -1 [node name="ShaderGrass100" parent="Decor" instance=ExtResource( 4 )] position = Vector2( 589, 100 ) @@ -660,6 +660,7 @@ position = Vector2( 614, 100 ) [node name="ShaderGrass109" parent="Decor" instance=ExtResource( 4 )] position = Vector2( 612, 97 ) +z_index = -1 [node name="ShaderGrass110" parent="Decor" instance=ExtResource( 4 )] position = Vector2( 647, 100 ) @@ -681,6 +682,7 @@ position = Vector2( 57, 100 ) [node name="ShaderGrass23" parent="Decor" instance=ExtResource( 4 )] position = Vector2( 63, 98 ) +z_index = -1 [node name="ShaderGrass24" parent="Decor" instance=ExtResource( 4 )] position = Vector2( 77, 100 ) diff --git a/src/Levels/Level 2.tscn b/src/Levels/Level 2.tscn index aecb86d..facac3a 100644 --- a/src/Levels/Level 2.tscn +++ b/src/Levels/Level 2.tscn @@ -12,7 +12,7 @@ [ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=10] [ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=11] [ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=12] -[ext_resource path="res://src/Actors/Enemies/SimpleEnemy.tscn" type="PackedScene" id=13] +[ext_resource path="res://src/Actors/Enemies/Vacuum.tscn" type="PackedScene" id=13] [ext_resource path="res://src/Platforms/FlyingPlatform.tscn" type="PackedScene" id=14] [ext_resource path="res://src/Actors/Enemies/Flyer.tscn" type="PackedScene" id=15] [ext_resource path="res://src/Actors/Friendlies/BoundFrog.tscn" type="PackedScene" id=16] @@ -128,11 +128,11 @@ drag_margin_bottom = 0.3 [node name="Blobby" parent="." instance=ExtResource( 11 )] unique_name_in_owner = true -position = Vector2( -64, -1.90735e-06 ) +position = Vector2( -32, 0 ) scale = Vector2( 0.878906, 0.936025 ) [node name="BlobbySprite" parent="Blobby" index="5"] -frame = 7 +frame = 9 [node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"] parameters/playback = SubResource( 6 ) @@ -198,12 +198,6 @@ next_scene = "res://src/Levels/Level 3.tscn" position = Vector2( 1248, 16 ) rotation = 1.57079 -[node name="SimpleEnemy" parent="." instance=ExtResource( 13 )] -position = Vector2( 16, -207 ) - -[node name="SimpleEnemy2" parent="." instance=ExtResource( 13 )] -position = Vector2( 336, -206 ) - [node name="Spikes" parent="." instance=ExtResource( 20 )] position = Vector2( 447, 176 ) @@ -297,6 +291,14 @@ position = Vector2( 857, -272 ) [node name="Coin3" parent="." instance=ExtResource( 21 )] position = Vector2( 216, -272 ) +[node name="Vacuum" parent="." instance=ExtResource( 13 )] +position = Vector2( 413, -204 ) +killable = false + +[node name="Vacuum2" parent="." instance=ExtResource( 13 )] +position = Vector2( 44, -204 ) +killable = false + [connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"] [connection signal="button_pushed" from="FrogFreeButton" to="BoundFrog" method="_on_FrogFreeButton_pushed"] diff --git a/src/Levels/Level 3.tscn b/src/Levels/Level 3.tscn index af7b1b6..748b3d9 100644 --- a/src/Levels/Level 3.tscn +++ b/src/Levels/Level 3.tscn @@ -1011,7 +1011,7 @@ position = Vector2( -88, 96 ) scale = Vector2( 0.878906, 0.936025 ) [node name="BlobbySprite" parent="Blobby" index="5"] -frame = 7 +frame = 5 [node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"] parameters/playback = SubResource( 6 ) @@ -1234,6 +1234,7 @@ next_scene = "res://src/Levels/Level 4.tscn" [node name="BoundFrog" parent="." instance=ExtResource( 56 )] position = Vector2( 203, -45 ) +movement_radius = 9 [node name="FrogFreeButton" parent="." instance=ExtResource( 59 )] position = Vector2( 408, -272 ) @@ -1274,3 +1275,5 @@ format = 1 [editable path="UserInterface"] [editable path="UserInterface/HUD"] [editable path="Blobby"] +[editable path="BoundFrog"] +[editable path="BoundFrog/RopeAnchor"] diff --git a/src/StateMachines/BlobbyStateMachine.gd b/src/StateMachines/BlobbyStateMachine.gd index 473e558..105ddcb 100644 --- a/src/StateMachines/BlobbyStateMachine.gd +++ b/src/StateMachines/BlobbyStateMachine.gd @@ -189,7 +189,7 @@ func _get_transition(_delta): elif abs(parent.velocity.x) > 5: was_coyote_hanging = false - if Input.is_action_pressed("boost_move"): + if Input.is_action_pressed("run"): new_state = states.run # TODO Walking when stopping and not pressing anything? else: diff --git a/src/UserInterface/TutorialComboThingy.gd b/src/UserInterface/TutorialComboThingy.gd index bad8550..cc6fd1d 100644 --- a/src/UserInterface/TutorialComboThingy.gd +++ b/src/UserInterface/TutorialComboThingy.gd @@ -1,6 +1,6 @@ extends Node2D export var action1 = "move_right" -export var action2 = "boost_move" +export var action2 = "run" export var goal_state = "" export var tutorial_text = "" export var velocity = Vector2(0.309,0.309)