@@ -0,0 +1,3 @@ | |||
source_md5="cb7ce8d8a14a0a241c2a2610d8b62104" | |||
dest_md5="5ad0353abe6e8049f74988c09b001d19" | |||
@@ -0,0 +1,3 @@ | |||
source_md5="c52a22b38fd33f7dfde93d26589ccba1" | |||
dest_md5="88508923a9027f8b27bfd05761bd4209" | |||
@@ -0,0 +1,3 @@ | |||
source_md5="f75f30ba21df9e4254bdd731cd7b398c" | |||
dest_md5="0f2fde94c88198f29c69671ce15f5396" | |||
@@ -0,0 +1,34 @@ | |||
[remap] | |||
importer="texture" | |||
type="StreamTexture" | |||
path="res://.import/CreationDate.png-22fbe63cad0f066a0ae043ef18318186.stex" | |||
metadata={ | |||
"vram_texture": false | |||
} | |||
[deps] | |||
source_file="res://Data/Graphics/Logos/CreationDate.png" | |||
dest_files=[ "res://.import/CreationDate.png-22fbe63cad0f066a0ae043ef18318186.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=true | |||
flags/mipmaps=false | |||
flags/anisotropic=false | |||
flags/srgb=2 | |||
process/fix_alpha_border=true | |||
process/premult_alpha=false | |||
process/HDR_as_SRGB=false | |||
process/invert_color=false | |||
stream=false | |||
size_limit=0 | |||
detect_3d=true | |||
svg/scale=1.0 |
@@ -0,0 +1,34 @@ | |||
[remap] | |||
importer="texture" | |||
type="StreamTexture" | |||
path="res://.import/Creator.png-d1f9e7c8f53ac0bfdd40ef53c0593275.stex" | |||
metadata={ | |||
"vram_texture": false | |||
} | |||
[deps] | |||
source_file="res://Data/Graphics/Logos/Creator.png" | |||
dest_files=[ "res://.import/Creator.png-d1f9e7c8f53ac0bfdd40ef53c0593275.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=true | |||
flags/mipmaps=false | |||
flags/anisotropic=false | |||
flags/srgb=2 | |||
process/fix_alpha_border=true | |||
process/premult_alpha=false | |||
process/HDR_as_SRGB=false | |||
process/invert_color=false | |||
stream=false | |||
size_limit=0 | |||
detect_3d=true | |||
svg/scale=1.0 |
@@ -0,0 +1,34 @@ | |||
[remap] | |||
importer="texture" | |||
type="StreamTexture" | |||
path="res://.import/GameTitle.png-01b2e6251715664903ab98921fb0b733.stex" | |||
metadata={ | |||
"vram_texture": false | |||
} | |||
[deps] | |||
source_file="res://Data/Graphics/Logos/GameTitle.png" | |||
dest_files=[ "res://.import/GameTitle.png-01b2e6251715664903ab98921fb0b733.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=true | |||
flags/mipmaps=false | |||
flags/anisotropic=false | |||
flags/srgb=2 | |||
process/fix_alpha_border=true | |||
process/premult_alpha=false | |||
process/HDR_as_SRGB=false | |||
process/invert_color=false | |||
stream=false | |||
size_limit=0 | |||
detect_3d=true | |||
svg/scale=1.0 |
@@ -38,7 +38,7 @@ orbit_velocity = 0.0 | |||
orbit_velocity_random = 0.0 | |||
scale = 2.0 | |||
scale_curve = SubResource( 4 ) | |||
color = Color( 0.94902, 0.541176, 0.827451, 1 ) | |||
color = Color( 0.576471, 0.760784, 0.996078, 1 ) | |||
[node name="Liquid" type="Sprite"] | |||
material = SubResource( 1 ) |
@@ -13,7 +13,7 @@ | |||
[sub_resource type="ShaderMaterial" id=5] | |||
resource_local_to_scene = true | |||
shader = ExtResource( 6 ) | |||
shader_param/sprite_scale = Vector2( 1, 1 ) | |||
shader_param/sprite_scale = Vector2( 1.63999, 1 ) | |||
shader_param/distortion = 16.265 | |||
shader_param/liquid_color_main = Color( 0.741176, 0.741176, 0.741176, 1 ) | |||
shader_param/liquid_color_surface = Color( 1, 1, 1, 1 ) | |||
@@ -25,7 +25,7 @@ shader_param/wave_scale = 1.0 | |||
[sub_resource type="ShaderMaterial" id=3] | |||
resource_local_to_scene = true | |||
shader = ExtResource( 6 ) | |||
shader_param/sprite_scale = Vector2( 1, 1 ) | |||
shader_param/sprite_scale = Vector2( 1.56, 1 ) | |||
shader_param/distortion = 16.265 | |||
shader_param/liquid_color_main = Color( 0.305882, 0.129412, 0.745098, 1 ) | |||
shader_param/liquid_color_surface = Color( 0.0156863, 0.658824, 0.745098, 1 ) | |||
@@ -660,5 +660,5 @@ tile_data = PoolIntArray( -1048590, 1, 0, -1048589, 1, 65537, -1048588, 1, 32768 | |||
[node name="ExitVortex" parent="." instance=ExtResource( 3 )] | |||
position = Vector2( 630.493, -32.7922 ) | |||
next_level = "Level_TestSite.tscn" | |||
next_level = "MainMenuLogo.tscn" | |||
[connection signal="exit_level" from="ExitVortex" to="." method="_on_ExitVortex_exit_level"] |
@@ -1,7 +1,8 @@ | |||
[gd_scene load_steps=10 format=2] | |||
[gd_scene load_steps=11 format=2] | |||
[ext_resource path="res://Data/Objects/Liquid.tscn" type="PackedScene" id=1] | |||
[ext_resource path="res://Data/Misc/Tileset.tres" type="TileSet" id=2] | |||
[ext_resource path="res://Data/Objects/ExitVortex.tscn" type="PackedScene" id=3] | |||
[ext_resource path="res://Data/Shaders/Liquid.shader" type="Shader" id=7] | |||
[ext_resource path="res://Data/Objects/Pusher.tscn" type="PackedScene" id=9] | |||
[ext_resource path="res://Data/Objects/BladeSaw.tscn" type="PackedScene" id=10] | |||
@@ -93,3 +94,8 @@ tile_data = PoolIntArray( -393207, 1, 0, -393206, 1, 1, -393205, 1, 2, -262145, | |||
[node name="Player_Start" type="Position2D" parent="."] | |||
position = Vector2( -31.5133, -15.0267 ) | |||
[node name="ExitVortex" parent="." instance=ExtResource( 3 )] | |||
position = Vector2( 95.2261, 692.429 ) | |||
next_level = "Level_002.tscn" | |||
[connection signal="exit_level" from="ExitVortex" to="." method="_on_ExitVortex_exit_level"] |
@@ -0,0 +1,156 @@ | |||
[gd_scene load_steps=8 format=2] | |||
[ext_resource path="res://Data/Graphics/Logos/GodotWildJam.png" type="Texture" id=1] | |||
[ext_resource path="res://Data/Graphics/Logos/head_bg_less.png" type="Texture" id=2] | |||
[ext_resource path="res://Data/Graphics/Logos/GameTitle.png" type="Texture" id=3] | |||
[ext_resource path="res://Data/Graphics/Logos/Creator.png" type="Texture" id=4] | |||
[ext_resource path="res://Data/Graphics/Logos/CreationDate.png" type="Texture" id=5] | |||
[ext_resource path="res://Data/Scripts/Levels/MainMenuLogo.gd" type="Script" id=6] | |||
[sub_resource type="Animation" id=1] | |||
resource_name = "Title" | |||
length = 15.0 | |||
tracks/0/type = "value" | |||
tracks/0/path = NodePath("GodotJamTitle:position") | |||
tracks/0/interp = 1 | |||
tracks/0/loop_wrap = true | |||
tracks/0/imported = false | |||
tracks/0/enabled = true | |||
tracks/0/keys = { | |||
"times": PoolRealArray( 0, 4, 4.5 ), | |||
"transitions": PoolRealArray( 1, 1, 1 ), | |||
"update": 0, | |||
"values": [ Vector2( -192.752, 375.251 ), Vector2( 627.468, 375.251 ), Vector2( 554.762, 375.251 ) ] | |||
} | |||
tracks/1/type = "value" | |||
tracks/1/path = NodePath("GodotJamFace:position") | |||
tracks/1/interp = 1 | |||
tracks/1/loop_wrap = true | |||
tracks/1/imported = false | |||
tracks/1/enabled = true | |||
tracks/1/keys = { | |||
"times": PoolRealArray( 0, 1.5, 2, 3, 3.5, 4 ), | |||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), | |||
"update": 0, | |||
"values": [ Vector2( 174.297, 346.543 ), Vector2( 174.297, 346.543 ), Vector2( 477.778, 346.543 ), Vector2( 477.778, 346.543 ), Vector2( 477.778, 346.543 ), Vector2( 955.556, 346.543 ) ] | |||
} | |||
tracks/2/type = "value" | |||
tracks/2/path = NodePath("GameTitle:position") | |||
tracks/2/interp = 1 | |||
tracks/2/loop_wrap = true | |||
tracks/2/imported = false | |||
tracks/2/enabled = true | |||
tracks/2/keys = { | |||
"times": PoolRealArray( 0, 10, 11.5 ), | |||
"transitions": PoolRealArray( 1, 1, 1 ), | |||
"update": 0, | |||
"values": [ Vector2( 672.58, -129.185 ), Vector2( 672.58, -129.185 ), Vector2( 672.58, 352.496 ) ] | |||
} | |||
tracks/3/type = "value" | |||
tracks/3/path = NodePath("GodotJamTitle/Sprite:modulate") | |||
tracks/3/interp = 1 | |||
tracks/3/loop_wrap = true | |||
tracks/3/imported = false | |||
tracks/3/enabled = true | |||
tracks/3/keys = { | |||
"times": PoolRealArray( 0, 4.5, 5, 5.5, 6, 8, 9 ), | |||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), | |||
"update": 0, | |||
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0.501961 ), Color( 1, 1, 1, 0.25098 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ] | |||
} | |||
tracks/4/type = "value" | |||
tracks/4/path = NodePath("GodotJamFace/Sprite:modulate") | |||
tracks/4/interp = 1 | |||
tracks/4/loop_wrap = true | |||
tracks/4/imported = false | |||
tracks/4/enabled = true | |||
tracks/4/keys = { | |||
"times": PoolRealArray( 0, 1, 1.5, 2, 3, 3.5, 4, 4.5, 5, 5.5, 8, 9 ), | |||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), | |||
"update": 0, | |||
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0.0941176 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0.392157 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0.705882 ), Color( 1, 1, 1, 0.313726 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ] | |||
} | |||
tracks/5/type = "value" | |||
tracks/5/path = NodePath("GameTitle:visible") | |||
tracks/5/interp = 1 | |||
tracks/5/loop_wrap = true | |||
tracks/5/imported = false | |||
tracks/5/enabled = true | |||
tracks/5/keys = { | |||
"times": PoolRealArray( 0, 10 ), | |||
"transitions": PoolRealArray( 1, 1 ), | |||
"update": 1, | |||
"values": [ false, true ] | |||
} | |||
tracks/6/type = "value" | |||
tracks/6/path = NodePath("CreationDate/Sprite:modulate") | |||
tracks/6/interp = 1 | |||
tracks/6/loop_wrap = true | |||
tracks/6/imported = false | |||
tracks/6/enabled = true | |||
tracks/6/keys = { | |||
"times": PoolRealArray( 0, 13, 14 ), | |||
"transitions": PoolRealArray( 1, 1, 1 ), | |||
"update": 0, | |||
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] | |||
} | |||
tracks/7/type = "value" | |||
tracks/7/path = NodePath("Creator/Sprite:modulate") | |||
tracks/7/interp = 1 | |||
tracks/7/loop_wrap = true | |||
tracks/7/imported = false | |||
tracks/7/enabled = true | |||
tracks/7/keys = { | |||
"times": PoolRealArray( 0, 12, 13 ), | |||
"transitions": PoolRealArray( 1, 1, 1 ), | |||
"update": 0, | |||
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ] | |||
} | |||
[node name="MainMenuLogo" type="Node2D"] | |||
script = ExtResource( 6 ) | |||
[node name="GameTitle" type="Position2D" parent="."] | |||
visible = false | |||
position = Vector2( 672.58, -129.185 ) | |||
[node name="Sprite" type="Sprite" parent="GameTitle"] | |||
texture = ExtResource( 3 ) | |||
[node name="GodotJamFace" type="Position2D" parent="."] | |||
position = Vector2( 174.297, 346.543 ) | |||
[node name="Sprite" type="Sprite" parent="GodotJamFace"] | |||
modulate = Color( 1, 1, 1, 0 ) | |||
scale = Vector2( 0.5, 0.5 ) | |||
texture = ExtResource( 2 ) | |||
[node name="GodotJamTitle" type="Position2D" parent="."] | |||
position = Vector2( -192.752, 375.251 ) | |||
[node name="Sprite" type="Sprite" parent="GodotJamTitle"] | |||
modulate = Color( 1, 1, 1, 0 ) | |||
scale = Vector2( 0.5, 0.5 ) | |||
texture = ExtResource( 1 ) | |||
[node name="CreationDate" type="Position2D" parent="."] | |||
position = Vector2( 789.418, 451.433 ) | |||
[node name="Sprite" type="Sprite" parent="CreationDate"] | |||
modulate = Color( 1, 1, 1, 0 ) | |||
texture = ExtResource( 5 ) | |||
[node name="Creator" type="Position2D" parent="."] | |||
position = Vector2( 502.814, 239.1 ) | |||
[node name="Sprite" type="Sprite" parent="Creator"] | |||
modulate = Color( 1, 1, 1, 0 ) | |||
texture = ExtResource( 4 ) | |||
[node name="AnimPlayer" type="AnimationPlayer" parent="."] | |||
autoplay = "Title" | |||
anims/Title = SubResource( 1 ) | |||
[node name="Player_Start" type="Position2D" parent="."] | |||
position = Vector2( 683, 384 ) | |||
[connection signal="animation_finished" from="AnimPlayer" to="." method="_on_AnimPlayer_animation_finished"] |
@@ -1,20 +0,0 @@ | |||
[gd_scene load_steps=3 format=2] | |||
[ext_resource path="res://Data/Graphics/Logos/GodotWildJam.png" type="Texture" id=1] | |||
[ext_resource path="res://Data/Graphics/Logos/head_bg_less.png" type="Texture" id=2] | |||
[node name="MainMenuLogo" type="Node2D"] | |||
[node name="GodotFace" type="Node2D" parent="."] | |||
position = Vector2( 172.95, 351.479 ) | |||
[node name="Sprite" type="Sprite" parent="GodotFace"] | |||
scale = Vector2( 0.5, 0.5 ) | |||
texture = ExtResource( 2 ) | |||
[node name="GodotJamTitle" type="Node2D" parent="."] | |||
position = Vector2( -203.938, 372.715 ) | |||
[node name="Sprite" type="Sprite" parent="GodotJamTitle"] | |||
scale = Vector2( 0.5, 0.5 ) | |||
texture = ExtResource( 1 ) |
@@ -2,6 +2,9 @@ extends Node2D | |||
signal exit_level | |||
func is_main_menu(): | |||
return false | |||
func get_starting_position(): | |||
return get_node("Player_Start").position | |||
@@ -11,3 +14,8 @@ func get_level_music(): | |||
func _on_Exit_exit_level(exit, body, next_level): | |||
emit_signal("exit_level", exit, body, next_level) | |||
func _on_ExitVortex_exit_level(exit, body, next_level): | |||
# Different exit vortex than the signal handler above. | |||
emit_signal("exit_level", exit, body, next_level) |
@@ -2,6 +2,9 @@ extends Node2D | |||
signal exit_level | |||
func is_main_menu(): | |||
return false | |||
func get_starting_position(): | |||
return get_node("Player_Start").position | |||
@@ -1,7 +1,15 @@ | |||
extends Node2D | |||
signal exit_level | |||
func is_main_menu(): | |||
return false | |||
func get_starting_position(): | |||
return get_node("Player_Start").position | |||
func get_level_music(): | |||
return "Fly.ogg" | |||
return "Fly_1.ogg" | |||
func _on_ExitVortex_exit_level(exit, body, next_level): | |||
emit_signal("exit_level", exit, body, next_level) |
@@ -0,0 +1,23 @@ | |||
extends Node2D | |||
signal exit_level | |||
func _input(event): | |||
if event.is_action_pressed("ButtonA"): | |||
emit_signal("exit_level", null, null, "Level_001.tscn") | |||
if event.is_action_pressed("ui_cancel"): | |||
get_tree().quit() | |||
func is_main_menu(): | |||
return true | |||
func get_starting_position(): | |||
return get_node("Player_Start").position | |||
func get_level_music(): | |||
return "" | |||
func _on_AnimPlayer_animation_finished(anim_name): | |||
set_process_input(true) |
@@ -10,9 +10,10 @@ onready var _content_bar_tween = get_node("PlayerUI/MoodBars/Contentment/Bar/Pro | |||
onready var _nrg_bar = get_node("PlayerUI/NRG/Bar/Progress") | |||
onready var _nrg_bar_tween = get_node("PlayerUI/NRG/Bar/Progress/Tween") | |||
# Called when the node enters the scene tree for the first time. | |||
func _ready(): | |||
set_process_input(true) | |||
#set_process_input(true) | |||
set_process(true) | |||
_agg_bar.max_value = 100.0 | |||
_agg_bar.value = 0.0 | |||
@@ -25,6 +26,8 @@ func _ready(): | |||
_nrg_bar.value = get_node("../Player").get_current_energy() | |||
func _input(event): | |||
if not $Timer.visible: | |||
return | |||
if event.is_action_pressed("ui_cancel"): | |||
get_parent().pause(true) | |||
$Menus/PauseMenu.show() |
@@ -17,12 +17,14 @@ func get_seconds(): | |||
func load_and_play_music(src): | |||
var fn = "res://Data/Sound/Music/" + src | |||
if File.new().file_exists(fn): | |||
$Music.stream = load(fn) | |||
$Music.play() | |||
if src != "": | |||
var fn = "res://Data/Sound/Music/" + src | |||
if File.new().file_exists(fn): | |||
$Music.stream = load(fn) | |||
$Music.play() | |||
func load_level(src): | |||
$Music.stop() | |||
_level_running = false | |||
get_node("Player").hide() | |||
var lvl = get_node("lvl") | |||
@@ -38,7 +40,13 @@ func load_level(src): | |||
_level_node.connect("exit_level", self, "_on_exit_level") | |||
load_and_play_music(_level_node.get_level_music()) | |||
reset() | |||
_level_running = true | |||
if _level_node.is_main_menu(): | |||
$GUI/PlayerUI.hide() | |||
$GUI/Timer.hide() | |||
else: | |||
$GUI/PlayerUI.show() | |||
$GUI/Timer.show() | |||
_level_running = true | |||
func reset(): | |||
@@ -50,7 +58,11 @@ func reset(): | |||
else: | |||
p.position = Vector2.ZERO | |||
p.reset() | |||
p.show() | |||
if _level_node.is_main_menu(): | |||
p.mode = RigidBody2D.MODE_KINEMATIC | |||
else: | |||
p.mode = RigidBody2D.MODE_RIGID | |||
p.show() | |||
_timer = 0.0 | |||
get_tree().paused = false | |||
@@ -62,7 +74,7 @@ func pause(enable = true): | |||
func _ready(): | |||
set_physics_process(true) | |||
load_level("Level_002.tscn") | |||
load_level("MainMenuLogo.tscn") | |||
func _animate_level_exit(exit): | |||
$Player.mode = RigidBody2D.MODE_KINEMATIC | |||
@@ -80,7 +92,10 @@ func _on_PM_Quit_pressed(): | |||
func _on_exit_level(exit, body, next_level): | |||
if next_level != "": | |||
_next_level = next_level | |||
_animate_level_exit(exit) | |||
if exit != null: | |||
_animate_level_exit(exit) | |||
else: | |||
load_level(next_level) | |||
func _on_ExitTween_tween_all_completed(): |