source_md5="cb7ce8d8a14a0a241c2a2610d8b62104" | |||||
dest_md5="5ad0353abe6e8049f74988c09b001d19" | |||||
source_md5="c52a22b38fd33f7dfde93d26589ccba1" | |||||
dest_md5="88508923a9027f8b27bfd05761bd4209" | |||||
source_md5="f75f30ba21df9e4254bdd731cd7b398c" | |||||
dest_md5="0f2fde94c88198f29c69671ce15f5396" | |||||
[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 |
[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 |
[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 |
orbit_velocity_random = 0.0 | orbit_velocity_random = 0.0 | ||||
scale = 2.0 | scale = 2.0 | ||||
scale_curve = SubResource( 4 ) | 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"] | [node name="Liquid" type="Sprite"] | ||||
material = SubResource( 1 ) | material = SubResource( 1 ) |
[sub_resource type="ShaderMaterial" id=5] | [sub_resource type="ShaderMaterial" id=5] | ||||
resource_local_to_scene = true | resource_local_to_scene = true | ||||
shader = ExtResource( 6 ) | 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/distortion = 16.265 | ||||
shader_param/liquid_color_main = Color( 0.741176, 0.741176, 0.741176, 1 ) | shader_param/liquid_color_main = Color( 0.741176, 0.741176, 0.741176, 1 ) | ||||
shader_param/liquid_color_surface = Color( 1, 1, 1, 1 ) | shader_param/liquid_color_surface = Color( 1, 1, 1, 1 ) | ||||
[sub_resource type="ShaderMaterial" id=3] | [sub_resource type="ShaderMaterial" id=3] | ||||
resource_local_to_scene = true | resource_local_to_scene = true | ||||
shader = ExtResource( 6 ) | 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/distortion = 16.265 | ||||
shader_param/liquid_color_main = Color( 0.305882, 0.129412, 0.745098, 1 ) | 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 ) | shader_param/liquid_color_surface = Color( 0.0156863, 0.658824, 0.745098, 1 ) | ||||
[node name="ExitVortex" parent="." instance=ExtResource( 3 )] | [node name="ExitVortex" parent="." instance=ExtResource( 3 )] | ||||
position = Vector2( 630.493, -32.7922 ) | 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"] | [connection signal="exit_level" from="ExitVortex" to="." method="_on_ExitVortex_exit_level"] |
[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/Objects/Liquid.tscn" type="PackedScene" id=1] | ||||
[ext_resource path="res://Data/Misc/Tileset.tres" type="TileSet" id=2] | [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/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/Pusher.tscn" type="PackedScene" id=9] | ||||
[ext_resource path="res://Data/Objects/BladeSaw.tscn" type="PackedScene" id=10] | [ext_resource path="res://Data/Objects/BladeSaw.tscn" type="PackedScene" id=10] | ||||
[node name="Player_Start" type="Position2D" parent="."] | [node name="Player_Start" type="Position2D" parent="."] | ||||
position = Vector2( -31.5133, -15.0267 ) | 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"] |
[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"] |
[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 ) |
signal exit_level | signal exit_level | ||||
func is_main_menu(): | |||||
return false | |||||
func get_starting_position(): | func get_starting_position(): | ||||
return get_node("Player_Start").position | return get_node("Player_Start").position | ||||
func _on_Exit_exit_level(exit, body, next_level): | func _on_Exit_exit_level(exit, body, next_level): | ||||
emit_signal("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) |
signal exit_level | signal exit_level | ||||
func is_main_menu(): | |||||
return false | |||||
func get_starting_position(): | func get_starting_position(): | ||||
return get_node("Player_Start").position | return get_node("Player_Start").position | ||||
extends Node2D | extends Node2D | ||||
signal exit_level | |||||
func is_main_menu(): | |||||
return false | |||||
func get_starting_position(): | func get_starting_position(): | ||||
return get_node("Player_Start").position | return get_node("Player_Start").position | ||||
func get_level_music(): | 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) |
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) |
onready var _nrg_bar = get_node("PlayerUI/NRG/Bar/Progress") | onready var _nrg_bar = get_node("PlayerUI/NRG/Bar/Progress") | ||||
onready var _nrg_bar_tween = get_node("PlayerUI/NRG/Bar/Progress/Tween") | onready var _nrg_bar_tween = get_node("PlayerUI/NRG/Bar/Progress/Tween") | ||||
# Called when the node enters the scene tree for the first time. | # Called when the node enters the scene tree for the first time. | ||||
func _ready(): | func _ready(): | ||||
set_process_input(true) | |||||
#set_process_input(true) | |||||
set_process(true) | set_process(true) | ||||
_agg_bar.max_value = 100.0 | _agg_bar.max_value = 100.0 | ||||
_agg_bar.value = 0.0 | _agg_bar.value = 0.0 | ||||
_nrg_bar.value = get_node("../Player").get_current_energy() | _nrg_bar.value = get_node("../Player").get_current_energy() | ||||
func _input(event): | func _input(event): | ||||
if not $Timer.visible: | |||||
return | |||||
if event.is_action_pressed("ui_cancel"): | if event.is_action_pressed("ui_cancel"): | ||||
get_parent().pause(true) | get_parent().pause(true) | ||||
$Menus/PauseMenu.show() | $Menus/PauseMenu.show() |
func load_and_play_music(src): | 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): | func load_level(src): | ||||
$Music.stop() | |||||
_level_running = false | _level_running = false | ||||
get_node("Player").hide() | get_node("Player").hide() | ||||
var lvl = get_node("lvl") | var lvl = get_node("lvl") | ||||
_level_node.connect("exit_level", self, "_on_exit_level") | _level_node.connect("exit_level", self, "_on_exit_level") | ||||
load_and_play_music(_level_node.get_level_music()) | load_and_play_music(_level_node.get_level_music()) | ||||
reset() | 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(): | func reset(): | ||||
else: | else: | ||||
p.position = Vector2.ZERO | p.position = Vector2.ZERO | ||||
p.reset() | 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 | _timer = 0.0 | ||||
get_tree().paused = false | get_tree().paused = false | ||||
func _ready(): | func _ready(): | ||||
set_physics_process(true) | set_physics_process(true) | ||||
load_level("Level_002.tscn") | |||||
load_level("MainMenuLogo.tscn") | |||||
func _animate_level_exit(exit): | func _animate_level_exit(exit): | ||||
$Player.mode = RigidBody2D.MODE_KINEMATIC | $Player.mode = RigidBody2D.MODE_KINEMATIC | ||||
func _on_exit_level(exit, body, next_level): | func _on_exit_level(exit, body, next_level): | ||||
if next_level != "": | if next_level != "": | ||||
_next_level = 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(): | func _on_ExitTween_tween_all_completed(): |