fix: controll settings focus, less distracting coin
|
Before Width: | Height: | Size: 318 B After Width: | Height: | Size: 338 B |
BIN
assets/environment/background/Spaceship-Wall-Menu.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
35
assets/environment/background/Spaceship-Wall-Menu.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Spaceship-Wall-Menu.png-6aacac7afef4824c9914684347d2d864.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/environment/background/Spaceship-Wall-Menu.png"
|
||||
dest_files=[ "res://.import/Spaceship-Wall-Menu.png-6aacac7afef4824c9914684347d2d864.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.8 KiB |
BIN
assets/environment/decor/grass-roots.aseprite
Normal file
BIN
assets/environment/decor/grass-roots.png
Normal file
|
After Width: | Height: | Size: 214 B |
35
assets/environment/decor/grass-roots.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/grass-roots.png-f055a24e07bc0ff43d5fac7c06fefc15.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/environment/decor/grass-roots.png"
|
||||
dest_files=[ "res://.import/grass-roots.png-f055a24e07bc0ff43d5fac7c06fefc15.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
assets/neutral object/coin_pixelized.aseprite
Normal file
BIN
assets/neutral object/coin_pixelized.png
Normal file
|
After Width: | Height: | Size: 990 B |
35
assets/neutral object/coin_pixelized.png.import
Normal file
@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/coin_pixelized.png-2e2f5c3d85687ed64d554d977588c605.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/neutral object/coin_pixelized.png"
|
||||
dest_files=[ "res://.import/coin_pixelized.png-2e2f5c3d85687ed64d554d977588c605.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=false
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
BIN
assets/sounds/Short Rising Flutter.wav
Normal file
23
assets/sounds/Short Rising Flutter.wav.import
Normal file
@ -0,0 +1,23 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/Short Rising Flutter.wav-7ed9b1c0749f76dbe55692c27d59931e.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sounds/Short Rising Flutter.wav"
|
||||
dest_files=[ "res://.import/Short Rising Flutter.wav-7ed9b1c0749f76dbe55692c27d59931e.sample" ]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=true
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=true
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
||||
@ -233,6 +233,7 @@ up={
|
||||
"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)
|
||||
, 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)
|
||||
]
|
||||
}
|
||||
duck={
|
||||
@ -240,6 +241,7 @@ duck={
|
||||
"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)
|
||||
]
|
||||
}
|
||||
move_left={
|
||||
@ -247,6 +249,7 @@ move_left={
|
||||
"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)
|
||||
, 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)
|
||||
]
|
||||
}
|
||||
move_right={
|
||||
@ -254,6 +257,7 @@ move_right={
|
||||
"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)
|
||||
, 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)
|
||||
]
|
||||
}
|
||||
jump={
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
[gd_scene load_steps=11 format=2]
|
||||
[gd_scene load_steps=10 format=2]
|
||||
|
||||
[ext_resource path="res://assets/neutral object/coin_pixelized.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/BenefitialObjects/Coin.gd" type="Script" id=2]
|
||||
[ext_resource path="res://assets/neutral object/whitegold orbicle/0000 (Klein)-fs8.png" type="Texture" id=13]
|
||||
[ext_resource path="res://assets/sounds/MAGIC_SPELL_Attacking_Climbing_Bells_stereo.wav" type="AudioStream" id=316]
|
||||
[ext_resource path="res://assets/environment/blocks/Empty-Navigation-Tile.png" type="Texture" id=317]
|
||||
|
||||
[sub_resource type="CircleShape2D" id=1]
|
||||
radius = 34.0147
|
||||
radius = 44.7557
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
resource_name = "fade_out"
|
||||
@ -43,50 +43,30 @@ resource_name = "oscilating"
|
||||
length = 2.4
|
||||
loop = true
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("AnimatedSprite:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/path = NodePath("Sprite2:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 1.5 ),
|
||||
"transitions": PoolRealArray( 0.428, 1.23 ),
|
||||
"times": PoolRealArray( 0, 1.2 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 0, 3 ), Vector2( 0, -4 ) ]
|
||||
"values": [ Vector2( 0, 2.62356 ), Vector2( 0, 1 ) ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("CollisionShape2D:position")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/path = NodePath("Sprite:position")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0, 1.5 ),
|
||||
"transitions": PoolRealArray( 0.428, 1.23 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 0, 3 ), Vector2( 0, -4 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("AnimatedSprite:rotation_degrees")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0, 1.2 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ -13.5, 13.5 ]
|
||||
"values": [ Vector2( 0.0564967, 2.37292 ), Vector2( 0.056, 1 ) ]
|
||||
}
|
||||
|
||||
[sub_resource type="SpriteFrames" id=4]
|
||||
animations = [ {
|
||||
"frames": [ ExtResource( 13 ) ],
|
||||
"loop": true,
|
||||
"name": "still",
|
||||
"speed": 5.0
|
||||
} ]
|
||||
|
||||
[sub_resource type="Shader" id=5]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
@ -139,25 +119,23 @@ monitorable = false
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 0, 2.62987 )
|
||||
position = Vector2( 3.8147e-06, 2.49189 )
|
||||
scale = Vector2( 0.18, 0.18 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "oscilating"
|
||||
anims/fade_out = SubResource( 2 )
|
||||
anims/oscilating = SubResource( 3 )
|
||||
|
||||
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
|
||||
position = Vector2( 0, 2.62987 )
|
||||
rotation = -0.220349
|
||||
scale = Vector2( 0.036, 0.036 )
|
||||
frames = SubResource( 4 )
|
||||
animation = "still"
|
||||
playing = true
|
||||
[node name="Sprite2" type="Sprite" parent="."]
|
||||
position = Vector2( 0, 2.62238 )
|
||||
scale = Vector2( -0.484, -0.5 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
material = SubResource( 6 )
|
||||
position = Vector2( 0.144981, 2.90382 )
|
||||
position = Vector2( 0.0564964, 2.37193 )
|
||||
texture = ExtResource( 317 )
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
|
||||
@ -14,5 +14,5 @@ func _on_SaveArea_area_entered(area: Area2D) -> void:
|
||||
#TODO Spawnheight fixed
|
||||
if(!GlobalState.get_savepoint(level_state.levelName) == global_position + Vector2(0,18)):
|
||||
$AnimationPlayer.play("rolloutflag")
|
||||
|
||||
$AudioStreamPlayer.play()
|
||||
GlobalState.set_savepoint(level_state.levelName, global_position + Vector2(0,18))
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
[gd_scene load_steps=8 format=2]
|
||||
[gd_scene load_steps=9 format=2]
|
||||
|
||||
[ext_resource path="res://assets/neutral object/blobby1Flag.png" type="Texture" id=1]
|
||||
[ext_resource path="res://assets/neutral object/flagPoleAndBasePlant.png" type="Texture" id=2]
|
||||
[ext_resource path="res://src/Environment/FlagMaterial.tres" type="Material" id=3]
|
||||
[ext_resource path="res://src/BenefitialObjects/SavePoint.gd" type="Script" id=4]
|
||||
[ext_resource path="res://assets/sounds/Short Rising Flutter.wav" type="AudioStream" id=5]
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
length = 0.001
|
||||
@ -168,5 +169,8 @@ position = Vector2( -15, 6 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 5 )
|
||||
volume_db = -16.836
|
||||
bus = "Effects"
|
||||
|
||||
[connection signal="area_entered" from="SaveArea" to="." method="_on_SaveArea_area_entered"]
|
||||
|
||||
@ -11,30 +11,31 @@ var activatable = false
|
||||
|
||||
|
||||
func _process(delta):
|
||||
# TODO Global currency count?? Maybe just level intern currency
|
||||
if activatable && Input.is_action_just_released("interact"):
|
||||
if(level_state.spend_currency(cost)):
|
||||
signal_manager.emit_signal("currency_updated")
|
||||
selfActivate()
|
||||
# TODO Global currency count?? Maybe just level intern currency
|
||||
if activatable && Input.is_action_just_released("interact"):
|
||||
if(level_state.spend_currency(cost)):
|
||||
signal_manager.emit_signal("currency_updated")
|
||||
selfActivate()
|
||||
|
||||
func selfActivate():
|
||||
#TODO Is a event for blobby himself
|
||||
#blobby.get_node("BubbleShieldViewport/IridescenceBall").visible = true
|
||||
signal_manager.emit_signal("power_up_collected", "shield")
|
||||
#TODO dis importante
|
||||
activatorArea.set_deferred("monitoring", false)
|
||||
#TODO Is a event for blobby himself
|
||||
#blobby.get_node("BubbleShieldViewport/IridescenceBall").visible = true
|
||||
signal_manager.emit_signal("power_up_collected", "shield")
|
||||
$AudioStreamPlayer.play()
|
||||
#TODO dis importante
|
||||
activatorArea.set_deferred("monitoring", false)
|
||||
|
||||
|
||||
func _on_ActivatorArea_area_entered(area:Area2D) -> void:
|
||||
$Label.visible = true
|
||||
$Highlight.visible = true
|
||||
activatable = true
|
||||
$Label.visible = true
|
||||
$Highlight.visible = true
|
||||
activatable = true
|
||||
|
||||
func _on_ActivatorArea_area_exited(area:Area2D) -> void:
|
||||
unactivatable_timer.start()
|
||||
unactivatable_timer.start()
|
||||
|
||||
func _on_Timer_timeout():
|
||||
if($ActivatorArea.get_overlapping_bodies().size() == 0):
|
||||
$Highlight.visible = false
|
||||
$Label.visible = false
|
||||
activatable = false
|
||||
if($ActivatorArea.get_overlapping_bodies().size() == 0):
|
||||
$Highlight.visible = false
|
||||
$Label.visible = false
|
||||
activatable = false
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
[gd_scene load_steps=7 format=2]
|
||||
[gd_scene load_steps=8 format=2]
|
||||
|
||||
[ext_resource path="res://assets/contraption/ShieldVendingMachine.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/Contraptions/VendingMachine.gd" type="Script" id=2]
|
||||
[ext_resource path="res://assets/ui/sci-fi-godot-theme/sci-fi-pixel.tres" type="DynamicFont" id=3]
|
||||
[ext_resource path="res://assets/sounds/gotShields.wav" type="AudioStream" id=4]
|
||||
|
||||
[sub_resource type="Gradient" id=21]
|
||||
interpolation_mode = 2
|
||||
@ -63,6 +64,10 @@ shape = SubResource( 1 )
|
||||
wait_time = 0.333
|
||||
one_shot = true
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 4 )
|
||||
volume_db = -18.193
|
||||
|
||||
[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="timeout" from="Timer" to="." method="_on_Timer_timeout"]
|
||||
|
||||
@ -2,6 +2,17 @@ shader_type canvas_item;
|
||||
|
||||
uniform float displacement_coefficient_x;
|
||||
|
||||
void fragment() {
|
||||
vec4 environment_color = texture(SCREEN_TEXTURE, SCREEN_UV);
|
||||
vec4 sprite_color = texture(TEXTURE, UV);
|
||||
float gradient_factor = step(UV.y, 1);
|
||||
if(sprite_color.a > 0.1){
|
||||
COLOR = mix(environment_color, sprite_color, gradient_factor);
|
||||
}
|
||||
else{
|
||||
COLOR = sprite_color
|
||||
}
|
||||
}
|
||||
|
||||
void vertex() {
|
||||
VERTEX += vec2(displacement_coefficient_x,0.0) * (1.0 - UV.y);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=12 format=2]
|
||||
[gd_scene load_steps=13 format=2]
|
||||
|
||||
[ext_resource path="res://assets/environment/decor/straight_straw.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/Environment/Grass/ShaderGrass.gd" type="Script" id=2]
|
||||
@ -9,6 +9,7 @@
|
||||
[ext_resource path="res://assets/environment/decor/bent_straw_leftt.png" type="Texture" id=7]
|
||||
[ext_resource path="res://assets/environment/decor/bent_straw_left_2.png" type="Texture" id=8]
|
||||
[ext_resource path="res://assets/sounds/grass swish 4.ogg" type="AudioStream" id=9]
|
||||
[ext_resource path="res://assets/environment/decor/grass-roots.png" type="Texture" id=10]
|
||||
|
||||
[sub_resource type="AudioStreamRandomPitch" id=2]
|
||||
audio_stream = ExtResource( 9 )
|
||||
@ -76,6 +77,12 @@ polygon = PoolVector2Array( 4.9375, 11.875, 5, 8.8125, 2.8125, 7, -0.375, 4.0625
|
||||
uv = PoolVector2Array( 4.9375, 11.875, 5, 8.8125, 2.8125, 7, -0.375, 4.0625, 2.25, 1.9375, 4.75, 4.625, 8.0625, 7.9375, 8, 12.0625 )
|
||||
polygons = [ PoolIntArray( 0, 6, 7 ), PoolIntArray( 0, 1, 6 ), PoolIntArray( 1, 5, 6 ), PoolIntArray( 1, 2, 5 ), PoolIntArray( 2, 4, 5 ), PoolIntArray( 2, 3, 4 ) ]
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
visible = false
|
||||
position = Vector2( 5.00909, 19.9567 )
|
||||
z_index = -1
|
||||
texture = ExtResource( 10 )
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 4.0
|
||||
one_shot = true
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=27 format=2]
|
||||
[gd_scene load_steps=29 format=2]
|
||||
|
||||
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=1]
|
||||
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=2]
|
||||
@ -18,6 +18,46 @@
|
||||
[ext_resource path="res://assets/effects/noise.png" type="Texture" id=17]
|
||||
[ext_resource path="res://src/ObstacleObjects/Mine.tscn" type="PackedScene" id=18]
|
||||
|
||||
[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="ShaderMaterial" id=11]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource( 16 )
|
||||
@ -161,6 +201,18 @@ unique_name_in_owner = true
|
||||
[node name="Timer" parent="UserInterface/HUD/HUDOverlay/GetBackTimer" index="0"]
|
||||
wait_time = 20.0
|
||||
|
||||
[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="Tutorials" type="Node2D" parent="."]
|
||||
position = Vector2( 0, -2.27374e-13 )
|
||||
|
||||
@ -225,7 +277,7 @@ position = Vector2( -70, 1 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 5
|
||||
frame = 6
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 14 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=61 format=2]
|
||||
[gd_scene load_steps=63 format=2]
|
||||
|
||||
[ext_resource path="res://src/Levels/Templates/LevelTemplate.gd" type="Script" id=1]
|
||||
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=2]
|
||||
@ -22,6 +22,46 @@
|
||||
[ext_resource path="res://assets/obstacle object/SpikyMinePlant.png" type="Texture" id=21]
|
||||
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=22]
|
||||
|
||||
[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=51]
|
||||
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="AnimationNodeStateMachinePlayback" id=6]
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
@ -47,7 +87,7 @@
|
||||
0/shapes = [ ]
|
||||
0/z_index = 0
|
||||
|
||||
[sub_resource type="Shader" id=15]
|
||||
[sub_resource type="Shader" id=52]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
uniform sampler2D noise_tex_normal;
|
||||
@ -96,7 +136,7 @@ void fragment() {
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=48]
|
||||
resource_local_to_scene = true
|
||||
shader = SubResource( 15 )
|
||||
shader = SubResource( 52 )
|
||||
shader_param/progress = 0.0
|
||||
shader_param/scale = 1.0
|
||||
shader_param/strength = 0.1
|
||||
@ -1082,6 +1122,18 @@ visible = false
|
||||
[node name="LevelState" parent="." instance=ExtResource( 9 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 51 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 5 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -1099,7 +1151,7 @@ position = Vector2( -156, -51 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 7
|
||||
frame = 8
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=26 format=2]
|
||||
[gd_scene load_steps=28 format=2]
|
||||
|
||||
[ext_resource path="res://assets/environment/decor/platform-plants.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=2]
|
||||
@ -20,6 +20,46 @@
|
||||
[ext_resource path="res://src/UserInterface/TutorialComboThingy.tscn" type="PackedScene" id=18]
|
||||
[ext_resource path="res://assets/effects/noise.png" type="Texture" id=19]
|
||||
|
||||
[sub_resource type="Shader" id=17]
|
||||
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=18]
|
||||
shader = SubResource( 17 )
|
||||
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="AnimationNodeStateMachinePlayback" id=6]
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
@ -172,6 +212,18 @@ visible = false
|
||||
[node name="LevelState" parent="." instance=ExtResource( 8 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 18 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 7 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -187,9 +239,6 @@ unique_name_in_owner = true
|
||||
position = Vector2( -180, 113 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 10
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
|
||||
@ -288,6 +337,7 @@ material = SubResource( 16 )
|
||||
position = Vector2( 111, 76 )
|
||||
|
||||
[node name="Decor" type="Node2D" parent="."]
|
||||
z_index = 1
|
||||
|
||||
[node name="ShaderGrass" parent="Decor" instance=ExtResource( 3 )]
|
||||
position = Vector2( -61, 100 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=23 format=2]
|
||||
[gd_scene load_steps=25 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]
|
||||
@ -21,6 +21,46 @@
|
||||
[ext_resource path="res://src/Platforms/FlyingLaserCutter.tscn" type="PackedScene" id=19]
|
||||
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=21]
|
||||
|
||||
[sub_resource type="Shader" id=7]
|
||||
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=8]
|
||||
shader = SubResource( 7 )
|
||||
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="AnimationNodeStateMachinePlayback" id=6]
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
@ -61,6 +101,18 @@ visible = false
|
||||
[node name="LevelState" parent="." instance=ExtResource( 6 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 8 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 7 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -76,9 +128,6 @@ 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,10 +201,10 @@ position = Vector2( 368, 233 )
|
||||
position = Vector2( 216, 223 )
|
||||
|
||||
[node name="GateBlock" parent="." instance=ExtResource( 14 )]
|
||||
position = Vector2( 788, 372 )
|
||||
position = Vector2( 804, 376 )
|
||||
|
||||
[node name="GateBlock2" parent="." instance=ExtResource( 14 )]
|
||||
position = Vector2( 788, 348 )
|
||||
position = Vector2( 804, 360 )
|
||||
|
||||
[node name="FlyingLaserCutter" parent="." instance=ExtResource( 19 )]
|
||||
position = Vector2( 663, 256 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=20 format=2]
|
||||
[gd_scene load_steps=22 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]
|
||||
@ -17,6 +17,46 @@
|
||||
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=16]
|
||||
[ext_resource path="res://src/Contraptions/VendingMachine.tscn" type="PackedScene" id=19]
|
||||
|
||||
[sub_resource type="Shader" id=8]
|
||||
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=9]
|
||||
shader = SubResource( 8 )
|
||||
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="AnimationNodeStateMachinePlayback" id=7]
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
@ -59,6 +99,18 @@ visible = false
|
||||
[node name="LevelState" parent="." instance=ExtResource( 7 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 9 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 8 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -75,7 +127,7 @@ position = Vector2( -186, 113 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 7
|
||||
frame = 8
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 7 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=24 format=2]
|
||||
[gd_scene load_steps=26 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]
|
||||
@ -21,6 +21,46 @@
|
||||
[ext_resource path="res://src/Contraptions/Triggers/FrogFreeButton.tscn" type="PackedScene" id=21]
|
||||
[ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=22]
|
||||
|
||||
[sub_resource type="Shader" id=55]
|
||||
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=56]
|
||||
shader = SubResource( 55 )
|
||||
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="AnimationNodeStateMachinePlayback" id=53]
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
@ -63,6 +103,18 @@ visible = false
|
||||
[node name="LevelState" parent="." instance=ExtResource( 7 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 56 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 8 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -80,7 +132,7 @@ position = Vector2( -142, 17 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 7
|
||||
frame = 6
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 53 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=26 format=2]
|
||||
[gd_scene load_steps=28 format=2]
|
||||
|
||||
[ext_resource path="res://src/Actors/Enemies/DartingEnemy.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=2]
|
||||
@ -23,6 +23,46 @@
|
||||
[ext_resource path="res://src/Environment/Legacy/Greenhouse.tscn" type="PackedScene" id=21]
|
||||
[ext_resource path="res://assets/effects/noise.png" type="Texture" id=22]
|
||||
|
||||
[sub_resource type="Shader" id=17]
|
||||
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=18]
|
||||
shader = SubResource( 17 )
|
||||
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="AnimationNodeStateMachinePlayback" id=1]
|
||||
|
||||
[sub_resource type="Shader" id=15]
|
||||
@ -97,6 +137,18 @@ visible = false
|
||||
[node name="LevelState" parent="." instance=ExtResource( 11 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 18 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 13 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -112,7 +164,7 @@ position = Vector2( 251, -24 )
|
||||
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( 1 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=23 format=2]
|
||||
[gd_scene load_steps=25 format=2]
|
||||
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=2]
|
||||
@ -21,6 +21,46 @@
|
||||
[ext_resource path="res://src/Environment/Legacy/Greenhouse.tscn" type="PackedScene" id=20]
|
||||
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=21]
|
||||
|
||||
[sub_resource type="Shader" id=7]
|
||||
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=8]
|
||||
shader = SubResource( 7 )
|
||||
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="AnimationNodeStateMachinePlayback" id=6]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=5]
|
||||
@ -41,6 +81,18 @@ visible = false
|
||||
[node name="LevelState" parent="." instance=ExtResource( 3 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 8 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 4 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -56,6 +108,9 @@ unique_name_in_owner = true
|
||||
position = Vector2( 3.8147e-06, 144 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 8
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=22 format=2]
|
||||
[gd_scene load_steps=24 format=2]
|
||||
|
||||
[ext_resource path="res://src/BenefitialObjects/Coin.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/Actors/BlobbyCam.tscn" type="PackedScene" id=2]
|
||||
@ -21,6 +21,46 @@
|
||||
[ext_resource path="res://src/Environment/Legacy/Greenhouse.tscn" type="PackedScene" id=20]
|
||||
[ext_resource path="res://src/Platforms/FlyingPlatformSmol.tscn" type="PackedScene" id=21]
|
||||
|
||||
[sub_resource type="Shader" id=10]
|
||||
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=11]
|
||||
shader = SubResource( 10 )
|
||||
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="AnimationNodeStateMachinePlayback" id=9]
|
||||
|
||||
[node name="Actual Level 3" type="Node2D"]
|
||||
@ -39,6 +79,18 @@ visible = false
|
||||
[node name="LevelState" parent="." instance=ExtResource( 4 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 11 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 6 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -56,7 +108,7 @@ position = Vector2( -168, 95 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 7
|
||||
frame = 8
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 9 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=23 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]
|
||||
@ -21,6 +21,46 @@
|
||||
[ext_resource path="res://src/Contraptions/Triggers/GateButton.tscn" type="PackedScene" id=19]
|
||||
[ext_resource path="res://src/Actors/Enemies/DartingEnemy.tscn" type="PackedScene" id=20]
|
||||
|
||||
[sub_resource type="Shader" id=7]
|
||||
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=8]
|
||||
shader = SubResource( 7 )
|
||||
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="AnimationNodeStateMachinePlayback" id=6]
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
@ -60,6 +100,18 @@ __meta__ = {
|
||||
[node name="LevelState" parent="." instance=ExtResource( 8 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 8 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 3 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -80,7 +132,7 @@ position = Vector2( -70, -1.90735e-06 )
|
||||
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 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=24 format=2]
|
||||
[gd_scene load_steps=26 format=2]
|
||||
|
||||
[ext_resource path="res://src/Environment/DropThroughPlatforms.tres" type="TileSet" id=1]
|
||||
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=2]
|
||||
@ -21,6 +21,46 @@
|
||||
[ext_resource path="res://src/Platforms/Spring/Spring.tscn" type="PackedScene" id=19]
|
||||
[ext_resource path="res://src/ObstacleObjects/Spikes.tscn" type="PackedScene" id=20]
|
||||
|
||||
[sub_resource type="Shader" id=8]
|
||||
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=9]
|
||||
shader = SubResource( 8 )
|
||||
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="AnimationNodeStateMachinePlayback" id=6]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=7]
|
||||
@ -62,6 +102,18 @@ __meta__ = {
|
||||
[node name="LevelState" parent="." instance=ExtResource( 12 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 9 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 8 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -81,7 +133,7 @@ position = Vector2( -70, -1.90735e-06 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 6
|
||||
frame = 8
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 6 )
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=27 format=2]
|
||||
[gd_scene load_steps=29 format=2]
|
||||
|
||||
[ext_resource path="res://src/Environment/Legacy/AlienShipTileSet.tres" type="TileSet" id=1]
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=2]
|
||||
@ -16,6 +16,46 @@
|
||||
[ext_resource path="res://src/Contraptions/GateBlock.tscn" type="PackedScene" id=15]
|
||||
[ext_resource path="res://src/Contraptions/Triggers/GateButton.tscn" type="PackedScene" id=16]
|
||||
|
||||
[sub_resource type="Shader" id=16]
|
||||
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=17]
|
||||
shader = SubResource( 16 )
|
||||
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="AnimationNodeStateMachinePlayback" id=15]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachinePlayback" id=5]
|
||||
@ -200,6 +240,18 @@ __meta__ = {
|
||||
[node name="LevelState" parent="." instance=ExtResource( 3 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TransitionLayer" type="CanvasLayer" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SceneTransition" type="ColorRect" parent="TransitionLayer"]
|
||||
material = SubResource( 17 )
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="UserInterface" parent="." instance=ExtResource( 9 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -219,7 +271,7 @@ position = Vector2( 21, -9 )
|
||||
visible = true
|
||||
|
||||
[node name="BlobbySprite" parent="Blobby" index="5"]
|
||||
frame = 7
|
||||
frame = 9
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
parameters/playback = SubResource( 15 )
|
||||
@ -275,7 +327,7 @@ position = Vector2( 1266, -537 )
|
||||
[node name="WhatAreFrog" parent="BoundFrog2" index="0"]
|
||||
frog_number = 1
|
||||
|
||||
[node name="Digit" parent="BoundFrog2/WhatAreFrog" index="2"]
|
||||
[node name="Digit" parent="BoundFrog2/WhatAreFrog" index="3"]
|
||||
frame = 1
|
||||
|
||||
[node name="AnimationTree" parent="BoundFrog2/WhatAreFrog/FrogSprite" index="1"]
|
||||
|
||||
@ -11,6 +11,13 @@ onready var level_state := $"%LevelState"
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
$TransitionLayer.visible = true
|
||||
var transition_tween = Tween.new()
|
||||
add_child(transition_tween)
|
||||
var property = "shader_param/position"
|
||||
var node = $TransitionLayer/SceneTransition
|
||||
transition_tween.interpolate_property(node.material, property,-1.5, 1.0, 0.94, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT)
|
||||
transition_tween.start()
|
||||
# should spawn the tutorial thingies which are still remembered in the progress dictionary
|
||||
signal_manager.connect("terminal_activated", self, "stop_level_music")
|
||||
signal_manager.emit_signal("level_loaded")
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=15 format=2]
|
||||
[gd_scene load_steps=17 format=2]
|
||||
|
||||
[ext_resource path="res://src/Environment/GreenHouseTiles.tres" type="TileSet" id=1]
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=2]
|
||||
@ -13,6 +13,46 @@
|
||||
[ext_resource path="res://src/Contraptions/Triggers/ElevatorButton.tscn" type="PackedScene" id=11]
|
||||
[ext_resource path="res://src/Utilities/SceneAudio.tscn" type="PackedScene" id=13]
|
||||
|
||||
[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="AnimationNodeStateMachinePlayback" id=6]
|
||||
|
||||
[sub_resource type="TileSet" id=5]
|
||||
@ -52,6 +92,18 @@ __meta__ = {
|
||||
[node name="LevelState" parent="." instance=ExtResource( 3 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[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="UserInterface" parent="." instance=ExtResource( 8 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ resource_name = "LowPassFilter"
|
||||
cutoff_hz = 3000.0
|
||||
|
||||
[resource]
|
||||
bus/0/volume_db = -7.9588
|
||||
bus/0/volume_db = -9.897
|
||||
bus/1/name = "Music"
|
||||
bus/1/solo = false
|
||||
bus/1/mute = false
|
||||
|
||||
@ -7,26 +7,26 @@ var focus_player
|
||||
var press_player
|
||||
|
||||
func _ready() -> void:
|
||||
focus_player = AudioStreamPlayer.new()
|
||||
focus_player.bus = "UI"
|
||||
var asrp = AudioStreamRandomPitch.new()
|
||||
asrp.audio_stream = GlobalState.sound_library[focus_sound]
|
||||
focus_player.stream = asrp
|
||||
add_child(focus_player)
|
||||
connect("focus_exited", self, "focus_play")
|
||||
focus_player = AudioStreamPlayer.new()
|
||||
focus_player.bus = "UI"
|
||||
var asrp = AudioStreamRandomPitch.new()
|
||||
asrp.audio_stream = GlobalState.sound_library[focus_sound]
|
||||
focus_player.stream = asrp
|
||||
add_child(focus_player)
|
||||
connect("focus_exited", self, "focus_play")
|
||||
|
||||
press_player = AudioStreamPlayer.new()
|
||||
press_player.bus = "UI"
|
||||
var asrp2 = AudioStreamRandomPitch.new()
|
||||
asrp2.audio_stream = GlobalState.sound_library[press_sound]
|
||||
press_player.stream = asrp2
|
||||
add_child(press_player)
|
||||
connect("button_down", self, "press_play")
|
||||
press_player = AudioStreamPlayer.new()
|
||||
press_player.bus = "UI"
|
||||
var asrp2 = AudioStreamRandomPitch.new()
|
||||
asrp2.audio_stream = GlobalState.sound_library[press_sound]
|
||||
press_player.stream = asrp2
|
||||
add_child(press_player)
|
||||
connect("button_down", self, "press_play")
|
||||
|
||||
func focus_play():
|
||||
if visible:
|
||||
focus_player.play()
|
||||
if visible:
|
||||
focus_player.play()
|
||||
|
||||
func press_play():
|
||||
if visible:
|
||||
press_player.play()
|
||||
if visible:
|
||||
press_player.play()
|
||||
|
||||
@ -25,6 +25,7 @@ func _input(event: InputEvent) -> void:
|
||||
func rebuild(input_profile):
|
||||
_action_list.clear()
|
||||
var first = true
|
||||
var prev_line
|
||||
for input_action in input_profile.keys():
|
||||
if(input_action.ends_with("_old") || input_action.begins_with(("ui_"))):
|
||||
continue
|
||||
@ -35,8 +36,12 @@ func rebuild(input_profile):
|
||||
$"%Save".focus_neighbour_top = line.get_child(2).get_path()
|
||||
$"%Reset".focus_neighbour_top = line.get_child(2).get_path()
|
||||
first = false
|
||||
else:
|
||||
line.get_child(2).focus_neighbour_top = prev_line.get_path()
|
||||
prev_line.focus_neighbour_bottom = line.get_child(2).get_path()
|
||||
line.get_child(2).focus_neighbour_left = $"%Back".get_path()
|
||||
line.get_child(2).focus_neighbour_right = $"%Save".get_path()
|
||||
prev_line = line.get_child(2)
|
||||
line.connect('change_button_pressed', self, '_on_InputLine_change_button_pressed', [input_action, line])
|
||||
|
||||
func close():
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/AudioSlider.gd" type="Script" id=1]
|
||||
[ext_resource path="res://src/UserInterface/Buttons/MenuNavigationButton.gd" type="Script" id=2]
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/AudioMenu.gd" type="Script" id=3]
|
||||
[ext_resource path="res://assets/environment/background/Spaceship-Wall.png" type="Texture" id=9]
|
||||
[ext_resource path="res://assets/environment/background/Spaceship-Wall-Menu.png" type="Texture" id=4]
|
||||
[ext_resource path="res://assets/environment/background/starry-space.png" type="Texture" id=10]
|
||||
[ext_resource path="res://assets/meta/montserrat_extrabold.otf" type="DynamicFontData" id=18]
|
||||
[ext_resource path="res://assets/ui/sci-fi-godot-theme/sci-fi-theme.tres" type="Theme" id=20]
|
||||
@ -49,7 +49,7 @@ stretch_mode = 1
|
||||
[node name="background2" type="TextureRect" parent="."]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
texture = ExtResource( 9 )
|
||||
texture = ExtResource( 4 )
|
||||
expand = true
|
||||
stretch_mode = 1
|
||||
|
||||
|
||||
@ -4,14 +4,14 @@ const InputLine = preload("res://src/UserInterface/Screens/MainMenu/ControlsMenu
|
||||
var prev_line = null
|
||||
|
||||
func clear():
|
||||
for child in get_children():
|
||||
child.free()
|
||||
for child in get_children():
|
||||
child.free()
|
||||
|
||||
func add_input_line(action_name, event) -> Control:
|
||||
var line = InputLine.instance()
|
||||
add_child(line)
|
||||
line.initialize(action_name, event)
|
||||
#!if prev_line != null:
|
||||
# line.get_child(2).focus_neighbour_top = prev_line.get_child(2).get_path()
|
||||
prev_line = line
|
||||
return line
|
||||
var line = InputLine.instance()
|
||||
add_child(line)
|
||||
line.initialize(action_name, event)
|
||||
#!if prev_line != null:
|
||||
# line.get_child(2).focus_neighbour_top = prev_line.get_child(2).get_path()
|
||||
prev_line = line
|
||||
return line
|
||||
|
||||
@ -27,18 +27,24 @@ func _input(event: InputEvent) -> void:
|
||||
func rebuild(input_profile) -> void:
|
||||
_action_list.clear()
|
||||
var first = true
|
||||
var prev_line
|
||||
for input_action in input_profile.keys():
|
||||
if(input_action.ends_with("_old") || input_action.begins_with(("ui_"))):
|
||||
continue
|
||||
var line = _action_list.add_input_line(input_action, input_profile[input_action])
|
||||
# child(2) is the actual button inside the inputline
|
||||
if first:
|
||||
$ProfilesMenu.focus_neighbour_bottom = line.get_child(2).get_path()
|
||||
$"%Back".focus_neighbour_top = line.get_child(2).get_path()
|
||||
$"%Save".focus_neighbour_top = line.get_child(2).get_path()
|
||||
$"%Reset".focus_neighbour_top = line.get_child(2).get_path()
|
||||
first = false
|
||||
else:
|
||||
line.get_child(2).focus_neighbour_top = prev_line.get_path()
|
||||
prev_line.focus_neighbour_bottom = line.get_child(2).get_path()
|
||||
line.get_child(2).focus_neighbour_left = $"%Back".get_path()
|
||||
line.get_child(2).focus_neighbour_right = $"%Save".get_path()
|
||||
prev_line = line.get_child(2)
|
||||
line.connect('change_button_pressed', self, '_on_InputLine_change_button_pressed', [input_action, line])
|
||||
|
||||
func _on_InputLine_change_button_pressed(action_name, line):
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/ControlsMenu/ReallyQuitMenu.gd" type="Script" id=6]
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=7]
|
||||
[ext_resource path="res://src/UserInterface/Buttons/AudibleButton.gd" type="Script" id=8]
|
||||
[ext_resource path="res://assets/environment/background/Spaceship-Wall.png" type="Texture" id=9]
|
||||
[ext_resource path="res://assets/environment/background/Spaceship-Wall-Menu.png" type="Texture" id=9]
|
||||
[ext_resource path="res://assets/environment/background/starry-space.png" type="Texture" id=10]
|
||||
[ext_resource path="res://assets/ui/Screenshot 2023-05-23 160521.png" type="Texture" id=12]
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/ControlsMenu/ProfilesMenu.gd" type="Script" id=13]
|
||||
|
||||
@ -2,31 +2,35 @@ extends HBoxContainer
|
||||
|
||||
signal change_button_pressed
|
||||
|
||||
export var button_size: Vector2 = Vector2(30,30)
|
||||
export var button_size: Vector2 = Vector2(30, 30)
|
||||
export var interactable: bool = false
|
||||
|
||||
|
||||
func initialize(action_name, event):
|
||||
$Action.text = action_name.capitalize()
|
||||
$Key.add_child(create_controller_button(event))
|
||||
$Action.text = action_name.capitalize()
|
||||
$Key.add_child(create_controller_button(event))
|
||||
|
||||
|
||||
func update_key(event):
|
||||
$Key.remove_child($Key.get_child(0))
|
||||
$Key.add_child(create_controller_button(event))
|
||||
$Key.remove_child($Key.get_child(0))
|
||||
$Key.add_child(create_controller_button(event))
|
||||
|
||||
|
||||
func create_controller_button(event) -> ControllerButton:
|
||||
var event_path = ControllerIcons._convert_event_to_path(event)
|
||||
var controller_button: ControllerButton = ControllerButton.new()
|
||||
controller_button.path = event_path
|
||||
if(!interactable):
|
||||
controller_button.focus_mode = FOCUS_NONE
|
||||
controller_button.enabled_focus_mode = FOCUS_NONE
|
||||
controller_button.mouse_filter = MOUSE_FILTER_IGNORE
|
||||
controller_button.rect_size = button_size
|
||||
controller_button.expand_icon = true
|
||||
controller_button.grow_horizontal = Control.GROW_DIRECTION_BOTH
|
||||
controller_button.grow_vertical = Control.GROW_DIRECTION_BOTH
|
||||
controller_button.size_flags_horizontal
|
||||
return controller_button
|
||||
var event_path = ControllerIcons._convert_event_to_path(event)
|
||||
var controller_button: ControllerButton = ControllerButton.new()
|
||||
controller_button.path = event_path
|
||||
if !interactable:
|
||||
controller_button.focus_mode = FOCUS_NONE
|
||||
controller_button.enabled_focus_mode = FOCUS_NONE
|
||||
controller_button.mouse_filter = MOUSE_FILTER_IGNORE
|
||||
controller_button.rect_size = button_size
|
||||
controller_button.expand_icon = true
|
||||
controller_button.grow_horizontal = Control.GROW_DIRECTION_BOTH
|
||||
controller_button.grow_vertical = Control.GROW_DIRECTION_BOTH
|
||||
controller_button.size_flags_horizontal
|
||||
return controller_button
|
||||
|
||||
|
||||
func _on_ChangeButton_pressed():
|
||||
emit_signal('change_button_pressed')
|
||||
emit_signal("change_button_pressed")
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
extends VBoxContainer
|
||||
|
||||
func initialize_with_progress(levelFullName: String) -> void:
|
||||
if !GlobalState.get_progress().has(levelFullName):
|
||||
return
|
||||
if !GlobalState.get_progress()[levelFullName].has("froggies"):
|
||||
return
|
||||
var froggies : Dictionary = GlobalState.get_progress()[levelFullName]["froggies"]
|
||||
for key in froggies.keys():
|
||||
register_froggy(int(key), froggies[key])
|
||||
|
||||
if !GlobalState.get_progress().has(levelFullName):
|
||||
return
|
||||
if !GlobalState.get_progress()[levelFullName].has("froggies"):
|
||||
return
|
||||
var froggies : Dictionary = GlobalState.get_progress()[levelFullName]["froggies"]
|
||||
for key in froggies.keys():
|
||||
register_froggy(int(key), froggies[key])
|
||||
|
||||
|
||||
func register_froggy(var count : int = 0, var freed: bool = false) -> void:
|
||||
var frogo: String = "%FreedFroggy" + str(count + 1)
|
||||
var test = self.get_children()
|
||||
get_node(frogo).visible = true
|
||||
get_node(frogo + "/ImprisionedFroggy").visible = !freed
|
||||
var frogo: String = "%FreedFroggy" + str(count + 1)
|
||||
var test = self.get_children()
|
||||
get_node(frogo).visible = true
|
||||
get_node(frogo + "/ImprisionedFroggy").visible = !freed
|
||||
|
||||
@ -150,3 +150,4 @@ margin_right = 119.0
|
||||
margin_bottom = 32.0
|
||||
|
||||
[connection signal="focus_entered" from="." to="." method="_on_LevelCheckBox_focus_entered"]
|
||||
[connection signal="pressed" from="CheckBox" to="." method="_on_CheckBox_pressed"]
|
||||
|
||||
@ -6,11 +6,20 @@ onready var LEVEL_CHECK_BOX = load("res://src/UserInterface/Screens/MainMenu/Lev
|
||||
onready var vbox: VBoxContainer = $VBoxContainer
|
||||
|
||||
var prev_checkbox
|
||||
var selected_button
|
||||
|
||||
func _ready() -> void:
|
||||
BUTTON_GROUP.connect("pressed", $"%PlayButton", "_level_selection_changed")
|
||||
BUTTON_GROUP.connect("pressed", self, "_level_selection_changed")
|
||||
_fill_level_list()
|
||||
|
||||
func _level_selection_changed(button) -> void:
|
||||
selected_button = button
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if(event.is_action("ui_accept") && selected_button != null && selected_button.has_focus()):
|
||||
$"%PlayButton"._on_button_up()
|
||||
|
||||
func _fill_level_list():
|
||||
var levels = []
|
||||
var dir = Directory.new()
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
[ext_resource path="res://src/UserInterface/Buttons/ChangeSceneButton.tscn" type="PackedScene" id=3]
|
||||
[ext_resource path="res://src/Utilities/SignalManager.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://assets/meta/ui_theme.tres" type="Theme" id=5]
|
||||
[ext_resource path="res://assets/environment/background/Spaceship-Wall.png" type="Texture" id=6]
|
||||
[ext_resource path="res://assets/environment/background/Spaceship-Wall-Menu.png" type="Texture" id=6]
|
||||
[ext_resource path="res://assets/environment/background/starry-space.png" type="Texture" id=7]
|
||||
[ext_resource path="res://src/UserInterface/Buttons/PlayButton.gd" type="Script" id=8]
|
||||
[ext_resource path="res://src/UserInterface/Screens/MainMenu/LevelSelectButtonGroup.tres" type="ButtonGroup" id=9]
|
||||
|
||||