fix: Normalized grass movement, invinvible caterpillar, auto trigger buttons, tutorial combo ghost issue, no coins in hud
This commit is contained in:
parent
54ab071bf6
commit
a32e99cf42
@ -118,11 +118,14 @@ _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"
|
||||
|
||||
[audio]
|
||||
|
||||
default_bus_layout="res://src/Sounds/default_bus_layout.tres"
|
||||
output_latency=32
|
||||
output_latency.web=128
|
||||
|
||||
[autoload]
|
||||
|
||||
@ -139,7 +142,7 @@ settings/fps/force_fps=60
|
||||
|
||||
window/size/width=640
|
||||
window/size/height=360
|
||||
window/size/test_width=1240
|
||||
window/size/test_width=1280
|
||||
window/size/test_height=720
|
||||
window/stretch/mode="2d"
|
||||
window/stretch/aspect="expand"
|
||||
@ -312,8 +315,8 @@ ui_click={
|
||||
[physics]
|
||||
|
||||
common/physics_fps=120
|
||||
common/physics_jitter_fix=0.8
|
||||
2d/thread_model=0
|
||||
2d/use_bvh=false
|
||||
2d/cell_size=100
|
||||
common/physics_interpolation=true
|
||||
common/enable_object_picking=false
|
||||
@ -323,8 +326,17 @@ 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
|
||||
quality/depth/hdr=false
|
||||
environment/default_environment="res://default_env.tres"
|
||||
environment/2d/use_nvidia_rect_flicker_workaround=true
|
||||
|
||||
@ -345,7 +345,7 @@ states/wallsliding/node = SubResource( 96 )
|
||||
states/wallsliding/position = Vector2( 1795.45, 770.152 )
|
||||
transitions = [ "falling", "wallsliding", SubResource( 138 ), "wallsliding", "idling", SubResource( 139 ), "wallsliding", "wallslideToJump", SubResource( 140 ), "wallslideToJump", "jumping", SubResource( 141 ), "runToJump", "jumping", SubResource( 148 ), "jumping", "jumpToFall", SubResource( 150 ), "jumpToFall", "falling", SubResource( 151 ), "ducking", "duckTurn", SubResource( 152 ), "duckTurn", "ducking", SubResource( 153 ), "falling", "ducking", SubResource( 154 ), "ducking", "falling", SubResource( 155 ), "ducking", "walking", SubResource( 156 ), "walking", "ducking", SubResource( 157 ), "idling", "ducking", SubResource( 158 ), "ducking", "idling", SubResource( 159 ), "ducking", "running", SubResource( 160 ), "running", "falling", SubResource( 162 ), "falling", "running", SubResource( 163 ), "walking", "falling", SubResource( 164 ), "idling", "walking", SubResource( 167 ), "walking", "idling", SubResource( 168 ), "walking", "turnToRun", SubResource( 169 ), "turnToRun", "walking", SubResource( 170 ), "turnToRun", "running", SubResource( 172 ), "idling", "idleTurn", SubResource( 173 ), "walking", "idleTurn", SubResource( 174 ), "idleTurn", "walking", SubResource( 175 ), "idling", "turnToRun", SubResource( 176 ), "turnToRun", "idling", SubResource( 177 ), "running", "runToJump", SubResource( 178 ), "wallsliding", "falling", SubResource( 137 ), "jumping", "wallsliding", SubResource( 189 ), "jumping", "idling", SubResource( 193 ), "jumping", "walking", SubResource( 194 ), "runToJump", "wallsliding", SubResource( 195 ), "jumpToFall", "idling", SubResource( 196 ), "running", "turnToRun", SubResource( 203 ), "running", "ducking", SubResource( 161 ), "falling", "landStretching", SubResource( 220 ), "landStretching", "idling", SubResource( 221 ), "landStretching", "walking", SubResource( 222 ), "jumpStretching", "jumping", SubResource( 224 ), "ducking", "jumpStretching", SubResource( 225 ), "idling", "jumpStretching", SubResource( 226 ), "walking", "jumpStretching", SubResource( 229 ) ]
|
||||
start_node = "idling"
|
||||
graph_offset = Vector2( 1124.54, -315.431 )
|
||||
graph_offset = Vector2( 642.54, -299.431 )
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=48]
|
||||
|
||||
@ -4385,7 +4385,7 @@ texture = SubResource( 62 )
|
||||
offset = Vector2( 1, 0 )
|
||||
hframes = 6
|
||||
vframes = 6
|
||||
frame = 5
|
||||
frame = 6
|
||||
__meta__ = {
|
||||
"_editor_description_": "YXNlcHJpdGVfd2l6YXJkX2NvbmZpZwpwbGF5ZXJ8PUJsb2JieVNwcml0ZS9CbG9iYnltYXRpb25QbGF5ZXIKc291cmNlfD1yZXM6Ly9hc3NldHMvYmxvYmJ5L2Jsb2JieS1zcHJpdGVzaGVldHQuYXNlcHJpdGUKbGF5ZXJ8PUJsb2JieQpvcF9leHB8PUZhbHNlCm9fZm9sZGVyfD0Kb19uYW1lfD0Kb25seV92aXNpYmxlfD1GYWxzZQpvX2V4X3B8PQo="
|
||||
}
|
||||
|
||||
@ -30,12 +30,13 @@ tracks/0/keys = {
|
||||
"values": [ Vector2( 1, 1 ), Vector2( 1.05, 1 ), Vector2( 1.1, 1.05 ), Vector2( 1.05, 1.1 ) ]
|
||||
}
|
||||
|
||||
[node name="Caterpillar" type="KinematicBody2D" groups=["harmful"]]
|
||||
[node name="Caterpillar" type="KinematicBody2D" groups=["frogfood", "harmful"]]
|
||||
scale = Vector2( 0.747749, 0.572926 )
|
||||
collision_layer = 2
|
||||
collision_layer = 258
|
||||
collision_mask = 9
|
||||
collision/safe_margin = 0.001
|
||||
script = ExtResource( 2 )
|
||||
killable = false
|
||||
|
||||
[node name="enemy" type="Sprite" parent="."]
|
||||
position = Vector2( 0, -3.49085 )
|
||||
|
||||
@ -1,21 +1,61 @@
|
||||
[gd_scene load_steps=14 format=2]
|
||||
[gd_scene load_steps=16 format=2]
|
||||
|
||||
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
|
||||
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=2]
|
||||
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=3]
|
||||
[ext_resource path="res://src/Actors/Friendlies/WhatAreFrog.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=6]
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=7]
|
||||
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=8]
|
||||
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=9]
|
||||
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=10]
|
||||
[ext_resource path="res://assets/sounds/AMBIENCE_SciFi_Large_Space_Hangar_Deep_Smooth_loop_stereo.wav" type="AudioStream" id=11]
|
||||
[ext_resource path="res://assets/ui/fonts/kenny_space.tres" type="DynamicFont" id=12]
|
||||
[ext_resource path="res://src/Utilities/LevelState.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/Actors/Friendlies/WhatAreFrog.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=5]
|
||||
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=6]
|
||||
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=7]
|
||||
[ext_resource path="res://assets/ui/fonts/kenny_space.tres" type="DynamicFont" id=8]
|
||||
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=9]
|
||||
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=10]
|
||||
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=11]
|
||||
[ext_resource path="res://assets/sounds/AMBIENCE_SciFi_Large_Space_Hangar_Deep_Smooth_loop_stereo.wav" type="AudioStream" id=12]
|
||||
|
||||
[sub_resource type="Shader" id=15]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
uniform vec4 in_color:hint_color;
|
||||
uniform vec4 out_color:hint_color;
|
||||
|
||||
uniform float in_out:hint_range(0.,1.)=0.;
|
||||
|
||||
uniform float position:hint_range(-1.5,1.) = 0.856;
|
||||
uniform vec2 size = vec2(16., 16.);
|
||||
|
||||
void fragment(){
|
||||
|
||||
vec2 a = (1./SCREEN_PIXEL_SIZE) / size;
|
||||
|
||||
vec2 uv=UV;
|
||||
uv *= a;
|
||||
|
||||
vec2 i_uv = floor(uv);
|
||||
vec2 f_uv = fract(uv);
|
||||
|
||||
float wave = max(0.,i_uv.x/(a.x) - position);
|
||||
|
||||
vec2 center = f_uv*2.-1.;
|
||||
float circle = length(center);
|
||||
circle = 1. - step(wave,circle);
|
||||
|
||||
vec4 color = mix(in_color, out_color, step(0.5, in_out));
|
||||
|
||||
COLOR=vec4(circle) * color;
|
||||
}"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=16]
|
||||
shader = SubResource( 15 )
|
||||
shader_param/in_color = Color( 0, 0, 0, 1 )
|
||||
shader_param/out_color = Color( 0, 0, 0, 0.568627 )
|
||||
shader_param/in_out = 0.0
|
||||
shader_param/position = -1.5
|
||||
shader_param/size = Vector2( 32, 32 )
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
0/name = "platform-plants.png 0"
|
||||
0/texture = ExtResource( 3 )
|
||||
0/texture = ExtResource( 7 )
|
||||
0/tex_offset = Vector2( 0, 0 )
|
||||
0/modulate = Color( 1, 1, 1, 1 )
|
||||
0/region = Rect2( 16, 0, 256, 16 )
|
||||
@ -37,17 +77,29 @@
|
||||
0/z_index = 0
|
||||
|
||||
[node name="LevelTemplate" type="Node2D"]
|
||||
script = ExtResource( 10 )
|
||||
script = ExtResource( 9 )
|
||||
__meta__ = {
|
||||
"_edit_horizontal_guides_": [ 464.0 ],
|
||||
"_edit_vertical_guides_": [ 2880.0 ]
|
||||
}
|
||||
|
||||
[node name="SignalManager" parent="." instance=ExtResource( 7 )]
|
||||
[node name="SignalManager" parent="." instance=ExtResource( 5 )]
|
||||
|
||||
[node name="SceneAudio" parent="." instance=ExtResource( 6 )]
|
||||
[node name="SceneAudio" parent="." instance=ExtResource( 3 )]
|
||||
|
||||
[node name="LevelState" parent="." instance=ExtResource( 9 )]
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 16 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="LevelState" parent="." instance=ExtResource( 1 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
@ -55,29 +107,26 @@ margin_left = -100.0
|
||||
margin_top = 21.0
|
||||
margin_right = 109.0
|
||||
margin_bottom = 62.0
|
||||
custom_fonts/font = ExtResource( 12 )
|
||||
custom_fonts/font = ExtResource( 8 )
|
||||
text = "< = Rescue Pod
|
||||
0/10 sests occupied"
|
||||
align = 1
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 8 )]
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 4 )]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
|
||||
[node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"]
|
||||
wait_time = 20.0
|
||||
|
||||
[node name="WhatAreFrog" parent="." instance=ExtResource( 4 )]
|
||||
[node name="WhatAreFrog" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 121, 103 )
|
||||
|
||||
[node name="BlobbyCam" parent="." instance=ExtResource( 5 )]
|
||||
[node name="BlobbyCam" parent="." instance=ExtResource( 6 )]
|
||||
unique_name_in_owner = true
|
||||
drag_margin_bottom = 0.3
|
||||
fixed_position = true
|
||||
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
unique_name_in_owner = true
|
||||
tile_set = ExtResource( 1 )
|
||||
tile_set = ExtResource( 10 )
|
||||
cell_size = Vector2( 16, 16 )
|
||||
cell_quadrant_size = 3
|
||||
cell_custom_transform = Transform2D( 24, 0, 0, 24, 0, 0 )
|
||||
@ -85,10 +134,10 @@ collision_layer = 8
|
||||
collision_mask = 8
|
||||
bake_navigation = true
|
||||
format = 1
|
||||
tile_data = PoolIntArray( 65522, 5, 65540, 65523, 5, 10, 65524, 5, 10, 65525, 5, 10, 65526, 5, 10, 65527, 5, 10, 65528, 5, 10, 65529, 5, 10, 65530, 5, 10, 65531, 5, 10, 65532, 5, 10, 65533, 5, 10, 65534, 5, 10, 65535, 5, 10, 0, 5, 10, 1, 5, 10, 2, 5, 10, 3, 5, 10, 4, 5, 10, 5, 5, 10, 6, 5, 10, 7, 5, 10, 8, 5, 10, 9, 5, 10, 10, 5, 10, 11, 5, 10, 12, 5, 10, 13, 5, 10, 14, 5, 10, 15, 5, 10, 16, 5, 10, 17, 5, 10, 18, 5, 10, 19, 5, 10, 131058, 5, 7, 196594, 5, 7, 262130, 5, 7, 327666, 5, 7, 393202, 5, 7, 458738, 5, 7, 524274, 5, 65538, 524275, 5, 2, 524276, 5, 2, 524277, 5, 2, 524278, 5, 2, 524279, 5, 2, 524280, 5, 2, 524281, 5, 2, 524282, 5, 2, 524283, 5, 2, 524284, 5, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 2, 458752, 5, 2, 458753, 5, 2, 458754, 5, 2, 458755, 5, 2, 458756, 5, 2, 458757, 5, 2, 458758, 5, 2, 458759, 5, 2, 458760, 5, 2, 458761, 5, 2, 458762, 5, 2, 458763, 5, 2, 458764, 5, 2, 458765, 5, 2, 458766, 5, 2, 458767, 5, 2, 458768, 5, 2, 458769, 5, 2, 458770, 5, 2, 458771, 5, 3 )
|
||||
tile_data = PoolIntArray( 65522, 5, 65540, 65523, 5, 10, 65524, 5, 10, 65525, 5, 10, 65526, 5, 10, 65527, 5, 10, 65528, 5, 10, 65529, 5, 10, 65530, 5, 10, 65531, 5, 10, 65532, 5, 10, 65533, 5, 10, 65534, 5, 10, 65535, 5, 10, 0, 5, 10, 1, 5, 10, 2, 5, 10, 3, 5, 10, 4, 5, 10, 5, 5, 10, 6, 5, 10, 7, 5, 10, 8, 5, 10, 9, 5, 10, 10, 5, 10, 11, 5, 10, 12, 5, 10, 13, 5, 10, 14, 5, 10, 15, 5, 10, 16, 5, 10, 17, 5, 10, 18, 5, 10, 19, 5, 10, 524274, 5, 65538, 524275, 5, 2, 524276, 5, 2, 524277, 5, 2, 524278, 5, 2, 524279, 5, 2, 524280, 5, 2, 524281, 5, 2, 524282, 5, 2, 524283, 5, 2, 524284, 5, 2, 524285, 5, 2, 524286, 5, 2, 524287, 5, 2, 458752, 5, 2, 458753, 5, 2, 458754, 5, 2, 458755, 5, 2, 458756, 5, 2, 458757, 5, 2, 458758, 5, 2, 458759, 5, 2, 458760, 5, 2, 458761, 5, 2, 458762, 5, 2, 458763, 5, 2, 458764, 5, 2, 458765, 5, 2, 458766, 5, 2, 458767, 5, 2, 458768, 5, 2, 458769, 5, 2, 458770, 5, 2, 458771, 5, 3 )
|
||||
|
||||
[node name="DropThroughPlatforms" type="TileMap" parent="."]
|
||||
tile_set = ExtResource( 2 )
|
||||
tile_set = ExtResource( 11 )
|
||||
cell_size = Vector2( 16, 16 )
|
||||
format = 1
|
||||
|
||||
@ -99,7 +148,7 @@ format = 1
|
||||
|
||||
[node name="LevelAmbiance" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource( 11 )
|
||||
stream = ExtResource( 12 )
|
||||
volume_db = -14.994
|
||||
autoplay = true
|
||||
bus = "Music"
|
||||
|
||||
@ -6,10 +6,6 @@ onready var signal_manager := get_tree().root.get_child(4).get_node("%SignalMana
|
||||
onready var unactivatable_timer := $Timer
|
||||
|
||||
var activatable = true
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if activatable && Input.is_action_just_released("interact"):
|
||||
selfActivate()
|
||||
|
||||
|
||||
func selfActivate():
|
||||
@ -20,7 +16,9 @@ func selfActivate():
|
||||
signal_manager.emit_signal("unlocked", "gateblock")
|
||||
|
||||
|
||||
func _on_ActivatorArea_area_entered(area:Area2D) -> void:
|
||||
func _on_ActivatorArea_body_entered(body: Node) -> void:
|
||||
if(!body.is_in_group("player") && !body.is_in_group("frog")):
|
||||
return
|
||||
$Highlight.visible = true
|
||||
if activatable:
|
||||
selfActivate()
|
||||
|
||||
@ -104,7 +104,8 @@ anims/onning = SubResource( 13 )
|
||||
|
||||
[node name="ActivatorArea" type="Area2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
collision_layer = 32
|
||||
collision_layer = 0
|
||||
collision_mask = 3
|
||||
monitorable = false
|
||||
|
||||
[node name="ActivatorAreaShape" type="CollisionShape2D" parent="ActivatorArea"]
|
||||
@ -115,6 +116,5 @@ shape = SubResource( 18 )
|
||||
wait_time = 0.333
|
||||
one_shot = true
|
||||
|
||||
[connection signal="area_entered" from="ActivatorArea" to="." method="_on_ActivatorArea_area_entered"]
|
||||
[connection signal="area_exited" from="ActivatorArea" to="." method="_on_ActivatorArea_area_exited"]
|
||||
[connection signal="body_entered" from="ActivatorArea" to="." method="_on_ActivatorArea_body_entered"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
|
||||
|
||||
@ -100,9 +100,10 @@ func grass_wave_update(delta: float) -> void:
|
||||
# print(displacement_coeff.x)
|
||||
# saved_coeff = displacement_coeff.x
|
||||
for polygon in get_children():
|
||||
displacement_coeff.x = clamp(displacement_coeff.x, -max_displacement, max_displacement)
|
||||
if polygon is Polygon2D:
|
||||
polygon.material.set_shader_param("displacement_coefficient_x",
|
||||
clamp(displacement_coeff.x, -max_displacement, max_displacement))
|
||||
displacement_coeff.x)
|
||||
break
|
||||
|
||||
last_distance = Vector2(distance, v_distance)
|
||||
|
||||
@ -88,10 +88,10 @@ shader = SubResource( 1 )
|
||||
shader_param/global_transform = null
|
||||
shader_param/viewport_transform = null
|
||||
shader_param/n_lights = 0
|
||||
shader_param/default_light_color = Color( 1, 0.94902, 0.74902, 1 )
|
||||
shader_param/default_light_color = null
|
||||
shader_param/light_level = 0.0
|
||||
shader_param/offset_modifier = 0.48
|
||||
shader_param/n_light_bands = 13
|
||||
shader_param/will_smooth_shade = true
|
||||
shader_param/offset_modifier = 1.0
|
||||
shader_param/n_light_bands = 7
|
||||
shader_param/will_smooth_shade = false
|
||||
shader_param/band_decay_rate = 0.5
|
||||
shader_param/light_strength_modifier = 1.0
|
||||
|
||||
@ -125,6 +125,9 @@ unique_name_in_owner = true
|
||||
position = Vector2( -70, 1 )
|
||||
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 )
|
||||
|
||||
@ -152,7 +155,7 @@ format = 1
|
||||
|
||||
[node name="ElevatorButton" parent="." instance=ExtResource( 10 )]
|
||||
position = Vector2( 832, 310 )
|
||||
elevator_time = 5
|
||||
elevator_time = 15
|
||||
|
||||
[node name="Portal" parent="." instance=ExtResource( 11 )]
|
||||
position = Vector2( 832, 368 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=26 format=2]
|
||||
[gd_scene load_steps=30 format=2]
|
||||
|
||||
[ext_resource path="res://src/Contraptions/Rope/RopeAnchor.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=2]
|
||||
@ -20,6 +20,8 @@
|
||||
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=18]
|
||||
[ext_resource path="res://src/Actors/Friendlies/BoundFrog.gd" type="Script" id=19]
|
||||
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=20]
|
||||
[ext_resource path="res://src/UserInterface/TutorialComboThingy.tscn" type="PackedScene" id=21]
|
||||
[ext_resource path="res://assets/effects/noise.png" type="Texture" id=22]
|
||||
|
||||
[sub_resource type="Shader" id=55]
|
||||
code = "shader_type canvas_item;
|
||||
@ -88,6 +90,62 @@ shader_param/size = Vector2( 32, 32 )
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=54]
|
||||
|
||||
[sub_resource type="Shader" id=15]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
uniform sampler2D noise_tex_normal;
|
||||
uniform sampler2D noise_tex;
|
||||
uniform float progress : hint_range(0.0, 1.0);
|
||||
uniform float scale : hint_range(0.0, 100.0);
|
||||
uniform float strength = 1.0;
|
||||
|
||||
// If your sprite doesn't have enough space and the explosion gets clipped,
|
||||
// you can uncomment this and adjust the scale
|
||||
void vertex() {
|
||||
VERTEX *= scale;
|
||||
|
||||
UV *= scale;
|
||||
UV -= (scale - 1.0) / 2.0;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
vec2 direction = texture(noise_tex_normal, UV).xy; // We're using normal map as direction
|
||||
direction -= 0.5; // Since our normal map is a texture, it ranges from 0.0 to 1.0...
|
||||
direction *= 2.0; // ...so we're going to make it range from -1.0 to 1.0.
|
||||
direction = direction * strength * progress;
|
||||
|
||||
// UV for exploded texture
|
||||
vec2 tex_size = 1.0 / TEXTURE_PIXEL_SIZE; // Real texture size in pixels
|
||||
vec2 uv = floor(UV * tex_size) / (tex_size - 1.0); // Pixelate UV to snap pixels
|
||||
uv = uv - direction; // Distort UV
|
||||
|
||||
// Texture with exploded UV
|
||||
vec4 tex = texture(TEXTURE, uv);
|
||||
|
||||
// Dissolve alpha
|
||||
float dissolve = texture(noise_tex, UV).x;
|
||||
dissolve = step(progress, dissolve);
|
||||
tex.a *= dissolve;
|
||||
|
||||
// Border (in case the edge of your sprite stretches, otherwise you can remove this block)
|
||||
vec2 border_uv = uv * 2.0 - 1.0;
|
||||
border_uv = clamp(abs(border_uv), 0.0, 1.0);
|
||||
float border = max(border_uv.x, border_uv.y);
|
||||
border = ceil(1.0 - border);
|
||||
tex.a *= border;
|
||||
|
||||
COLOR = tex;
|
||||
}"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=57]
|
||||
resource_local_to_scene = true
|
||||
shader = SubResource( 15 )
|
||||
shader_param/progress = 0.0
|
||||
shader_param/scale = 1.0
|
||||
shader_param/strength = 0.1
|
||||
shader_param/noise_tex_normal = ExtResource( 22 )
|
||||
shader_param/noise_tex = ExtResource( 22 )
|
||||
|
||||
[node name="LevelTemplate" type="Node2D"]
|
||||
script = ExtResource( 20 )
|
||||
__meta__ = {
|
||||
@ -215,6 +273,28 @@ position = Vector2( 48, 91 )
|
||||
position = Vector2( 207, -4 )
|
||||
z_index = -1
|
||||
|
||||
[node name="TutorialComboThingy" parent="." instance=ExtResource( 21 )]
|
||||
visible = false
|
||||
position = Vector2( -45, -46 )
|
||||
action1 = "duck"
|
||||
action2 = "jump"
|
||||
goal_state = "ducking"
|
||||
tutorial_text = "Duck and Jump to fall through"
|
||||
press_limit = 1
|
||||
|
||||
[node name="Button1" parent="TutorialComboThingy" index="1"]
|
||||
material = SubResource( 57 )
|
||||
|
||||
[node name="Button2" parent="TutorialComboThingy" index="2"]
|
||||
material = SubResource( 57 )
|
||||
|
||||
[node name="Label" parent="TutorialComboThingy/TextureRect" index="0"]
|
||||
margin_left = -126.0
|
||||
margin_right = 7.0
|
||||
|
||||
[node name="CollisionShape2D" parent="TutorialComboThingy/StartTutorialArea" index="0"]
|
||||
position = Vector2( 5, 86 )
|
||||
|
||||
[connection signal="body_exited" from="Blobby/BlobbySkin" to="Blobby" method="_on_BlobbySkin_body_exited"]
|
||||
[connection signal="child_exiting_tree" from="BoundFrog/WhatAreFrog" to="BoundFrog" method="_on_WhatAreFrog_child_exiting_tree"]
|
||||
[connection signal="button_pushed" from="FrogFreeButton" to="BoundFrog" method="_on_FrogFreeButton_pushed"]
|
||||
@ -227,3 +307,4 @@ z_index = -1
|
||||
[editable path="Blobby"]
|
||||
[editable path="Flyer"]
|
||||
[editable path="BoundFrog/RopeAnchor"]
|
||||
[editable path="TutorialComboThingy"]
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
[gd_scene load_steps=26 format=2]
|
||||
[gd_scene load_steps=25 format=2]
|
||||
|
||||
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=1]
|
||||
[ext_resource path="res://assets/sounds/AMBIENCE_SciFi_Large_Space_Hangar_Deep_Smooth_loop_stereo.wav" type="AudioStream" id=2]
|
||||
[ext_resource path="res://src/UserInterface/UserInterface.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://src/Actors/Blobby/Blobby.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=5]
|
||||
@ -135,7 +134,7 @@ death_sound_1 = null
|
||||
death_sound_2 = null
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 9
|
||||
frame = 7
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
@ -230,13 +229,6 @@ elevator_time = 16
|
||||
position = Vector2( 16, 112 )
|
||||
next_scene = "res://src/Levels/Level 2.tscn"
|
||||
|
||||
[node name="LevelAmbiance" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource( 2 )
|
||||
volume_db = -14.994
|
||||
autoplay = true
|
||||
bus = "Music"
|
||||
|
||||
[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"]
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -981,6 +981,7 @@ __meta__ = {
|
||||
"_edit_horizontal_guides_": [ 464.0 ],
|
||||
"_edit_vertical_guides_": [ 2880.0 ]
|
||||
}
|
||||
level_music = "res://assets/music/The Laboratory (LOOP).wav"
|
||||
|
||||
[node name="SignalManager" parent="." instance=ExtResource( 6 )]
|
||||
|
||||
@ -1009,6 +1010,9 @@ unique_name_in_owner = true
|
||||
position = Vector2( -88, 96 )
|
||||
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 )
|
||||
|
||||
|
||||
@ -86,6 +86,7 @@ shader_param/size = Vector2( 32, 32 )
|
||||
|
||||
[node name="Level 4" type="Node2D"]
|
||||
script = ExtResource( 10 )
|
||||
level_music = "res://assets/music/The Laboratory (LOOP).wav"
|
||||
|
||||
[node name="SignalManager" parent="." instance=ExtResource( 2 )]
|
||||
|
||||
@ -119,7 +120,7 @@ position = Vector2( -183, 111 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 6
|
||||
frame = 7
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
|
||||
@ -185,7 +185,7 @@ position = Vector2( -45, -5.96046e-08 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 8
|
||||
frame = 5
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
|
||||
228
src/Levels/MockUp Level.tscn
Normal file
228
src/Levels/MockUp Level.tscn
Normal file
File diff suppressed because one or more lines are too long
@ -41,7 +41,7 @@ resource_name = "LowPassFilter"
|
||||
cutoff_hz = 3000.0
|
||||
|
||||
[resource]
|
||||
bus/0/volume_db = -20.0
|
||||
bus/0/volume_db = -6.93575
|
||||
bus/1/name = "Music"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
|
||||
@ -43,16 +43,16 @@ resource_name = "Redlight"
|
||||
length = 3.33
|
||||
loop = true
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("../HUDOverlay:color")
|
||||
tracks/0/path = NodePath("../../HUDOverlay:color")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 1.7 ),
|
||||
"times": PoolRealArray( 0, 1.66 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 0, 0, 0, 0 ), Color( 0.478431, 0, 0, 0.207843 ) ]
|
||||
"values": [ Color( 0, 0, 0, 0 ), Color( 1, 0, 0, 0.117647 ) ]
|
||||
}
|
||||
|
||||
[node name="HUD" type="Control"]
|
||||
|
||||
@ -38,7 +38,9 @@ func check_goal_state() -> void:
|
||||
$TextureRect2.visible = false
|
||||
$TextureRect3.visible = false
|
||||
$AudioStreamPlayer.play()
|
||||
$AnimationPlayer.play("cease_4_exist")
|
||||
$AnimationPlayer.play("cease_4_exist")
|
||||
else:
|
||||
queue_free()
|
||||
|
||||
func _ready() -> void:
|
||||
# Should save itself into the progress dictionary upon creation
|
||||
|
||||
Loading…
Reference in New Issue
Block a user