@@ -0,0 +1,3 @@ | |||
source_md5="05fa9547678759c188fd54056bbae5d1" | |||
dest_md5="c69b0a25c58faddccac66bc0fee28939" | |||
@@ -0,0 +1,3 @@ | |||
source_md5="7dca0d73f2612d088326ffc420d70d33" | |||
dest_md5="4441e90ddb4675a44bc124eeb8d327f5" | |||
@@ -0,0 +1,3 @@ | |||
source_md5="33750fa6ceaeaabc7549f50cc86fb035" | |||
dest_md5="6ee517ae6255a5dc98c9f4522cecb413" | |||
@@ -0,0 +1,3 @@ | |||
source_md5="03c06a605a230f1217d49def7b7f778a" | |||
dest_md5="8345423a2494a1562001f0efac0f399f" | |||
@@ -0,0 +1,34 @@ | |||
[remap] | |||
importer="texture" | |||
type="StreamTexture" | |||
path="res://.import/GodotWildJam.png-6aadb0f65791a68e8f9cd08d3c7d0ed5.stex" | |||
metadata={ | |||
"vram_texture": false | |||
} | |||
[deps] | |||
source_file="res://Data/Graphics/Logos/GodotWildJam.png" | |||
dest_files=[ "res://.import/GodotWildJam.png-6aadb0f65791a68e8f9cd08d3c7d0ed5.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/head_bg_less.png-3a58bfe4f8141f8d0fe42658ca12d6a5.stex" | |||
metadata={ | |||
"vram_texture": false | |||
} | |||
[deps] | |||
source_file="res://Data/Graphics/Logos/head_bg_less.png" | |||
dest_files=[ "res://.import/head_bg_less.png-3a58bfe4f8141f8d0fe42658ca12d6a5.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/www.png-4f52fd650d53c7242efef7a9e53df725.stex" | |||
metadata={ | |||
"vram_texture": false | |||
} | |||
[deps] | |||
source_file="res://Data/Graphics/Logos/www.png" | |||
dest_files=[ "res://.import/www.png-4f52fd650d53c7242efef7a9e53df725.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/vortex.png-e1395b58a0be719c5615518db2edd2f5.stex" | |||
metadata={ | |||
"vram_texture": false | |||
} | |||
[deps] | |||
source_file="res://Data/Graphics/vortex.png" | |||
dest_files=[ "res://.import/vortex.png-e1395b58a0be719c5615518db2edd2f5.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,50 @@ | |||
[gd_scene load_steps=8 format=2] | |||
[ext_resource path="res://Data/Graphics/vortex.png" type="Texture" id=1] | |||
[ext_resource path="res://Data/Scripts/ExitVortex.gd" type="Script" id=2] | |||
[ext_resource path="res://Data/Shaders/rotation_shader.shader" type="Shader" id=3] | |||
[sub_resource type="ShaderMaterial" id=9] | |||
resource_local_to_scene = true | |||
shader = ExtResource( 3 ) | |||
shader_param/rot_speed = 0.356 | |||
[sub_resource type="ShaderMaterial" id=7] | |||
shader = ExtResource( 3 ) | |||
shader_param/rot_speed = 1.0 | |||
[sub_resource type="ShaderMaterial" id=8] | |||
resource_local_to_scene = true | |||
shader = ExtResource( 3 ) | |||
shader_param/rot_speed = -3.5 | |||
[sub_resource type="CircleShape2D" id=10] | |||
radius = 64.0 | |||
[node name="ExitVortex" type="Node2D"] | |||
script = ExtResource( 2 ) | |||
[node name="BlueSwirl" type="Sprite" parent="."] | |||
modulate = Color( 0.552941, 0.54902, 0.996078, 0.784314 ) | |||
material = SubResource( 9 ) | |||
scale = Vector2( 0.5, -0.5 ) | |||
texture = ExtResource( 1 ) | |||
[node name="GreenSwirl" type="Sprite" parent="."] | |||
modulate = Color( 0.443137, 0.941176, 0.623529, 0.784314 ) | |||
material = SubResource( 7 ) | |||
scale = Vector2( 0.5, 0.5 ) | |||
texture = ExtResource( 1 ) | |||
[node name="RedSwirl" type="Sprite" parent="."] | |||
modulate = Color( 0.996078, 0.54902, 0.54902, 0.784314 ) | |||
material = SubResource( 8 ) | |||
scale = Vector2( -0.5, 0.5 ) | |||
texture = ExtResource( 1 ) | |||
[node name="Area2D" type="Area2D" parent="."] | |||
visible = false | |||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] | |||
shape = SubResource( 10 ) | |||
[connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"] |
@@ -1,4 +1,4 @@ | |||
[gd_scene load_steps=14 format=2] | |||
[gd_scene load_steps=15 format=2] | |||
[ext_resource path="res://Data/Objects/BladeSaw.tscn" type="PackedScene" id=1] | |||
[ext_resource path="res://Data/Graphics/placeholder.png" type="Texture" id=2] | |||
@@ -8,6 +8,7 @@ | |||
[ext_resource path="res://Data/Objects/Doorway.tscn" type="PackedScene" id=6] | |||
[ext_resource path="res://Data/Objects/Pusher.tscn" type="PackedScene" id=7] | |||
[ext_resource path="res://Data/Scripts/Levels/Level_001.gd" type="Script" id=8] | |||
[ext_resource path="res://Data/Objects/ExitVortex.tscn" type="PackedScene" id=9] | |||
[sub_resource type="Shader" id=3] | |||
code = "shader_type canvas_item; | |||
@@ -89,7 +90,7 @@ void fragment(){ | |||
[sub_resource type="ShaderMaterial" id=1] | |||
resource_local_to_scene = true | |||
shader = SubResource( 3 ) | |||
shader_param/sprite_scale = Vector2( 1.76, 1 ) | |||
shader_param/sprite_scale = Vector2( 2.8, 1 ) | |||
shader_param/distortion = 16.265 | |||
shader_param/liquid_color_main = Color( 0.207843, 0.164706, 0.921569, 1 ) | |||
shader_param/liquid_color_surface = Color( 0.360784, 0.352941, 0.972549, 1 ) | |||
@@ -113,7 +114,7 @@ shader_param/wave_scale = 1.0 | |||
[sub_resource type="ShaderMaterial" id=5] | |||
resource_local_to_scene = true | |||
shader = ExtResource( 3 ) | |||
shader_param/sprite_scale = Vector2( 1, 1 ) | |||
shader_param/sprite_scale = Vector2( 1.72663, 1.16549 ) | |||
shader_param/distortion = 16.265 | |||
shader_param/liquid_color_main = Color( 0.670588, 0.105882, 0.105882, 1 ) | |||
shader_param/liquid_color_surface = Color( 0.94902, 0.541176, 0.827451, 1 ) | |||
@@ -1039,3 +1040,8 @@ tile_data = PoolIntArray( -262147, 1, 196611, -262146, 1, 196612, -262145, 1, 32 | |||
[node name="Player_Start" type="Position2D" parent="."] | |||
position = Vector2( 128.421, 407.368 ) | |||
[node name="Exit" parent="." instance=ExtResource( 9 )] | |||
position = Vector2( 1602.84, 4034.27 ) | |||
next_level = "Level_002.tscn" | |||
[connection signal="exit_level" from="Exit" to="." method="_on_Exit_exit_level"] |
@@ -0,0 +1,20 @@ | |||
[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 ) |
@@ -24,6 +24,8 @@ bus = "Music" | |||
[node name="Player" parent="." instance=ExtResource( 2 )] | |||
visible = false | |||
[node name="ExitTween" type="Tween" parent="."] | |||
[node name="GUI" type="CanvasLayer" parent="."] | |||
pause_mode = 2 | |||
script = ExtResource( 10 ) | |||
@@ -325,6 +327,7 @@ valign = 1 | |||
__meta__ = { | |||
"_edit_use_anchors_": false | |||
} | |||
[connection signal="tween_all_completed" from="ExitTween" to="." method="_on_ExitTween_tween_all_completed"] | |||
[connection signal="pressed" from="GUI/Menus/PauseMenu/Box/Resume Button/PM_Resume" to="GUI" method="_on_PM_Resume_pressed"] | |||
[connection signal="pressed" from="GUI/Menus/PauseMenu/Box/Quit Button/PM_Quit" to="GUI" method="_on_PM_Resume_pressed"] | |||
[connection signal="pressed" from="GUI/Menus/PauseMenu/Box/Quit Button/PM_Quit" to="." method="_on_PM_Quit_pressed"] |
@@ -0,0 +1,9 @@ | |||
extends Node2D | |||
export var next_level:String = "" | |||
signal exit_level; | |||
func _on_Area2D_body_entered(body): | |||
if body.is_in_group("Player"): | |||
emit_signal("exit_level", self, body, next_level) |
@@ -1,7 +1,13 @@ | |||
extends Node2D | |||
signal exit_level | |||
func get_starting_position(): | |||
return get_node("Player_Start").position | |||
func get_level_music(): | |||
return "Fly.ogg" | |||
func _on_Exit_exit_level(exit, body, next_level): | |||
emit_signal("exit_level", exit, body, next_level) |
@@ -0,0 +1,13 @@ | |||
extends Node2D | |||
signal exit_level | |||
func get_starting_position(): | |||
return get_node("Player_Start").position | |||
func get_level_music(): | |||
return "Industria.ogg" | |||
func _on_ExitVortex_exit_level(exit, body, next_level): | |||
emit_signal("exit_level", exit, body, next_level) |
@@ -2,6 +2,7 @@ extends Node2D | |||
var _timer = 0.0 | |||
var _level_running = true | |||
var _next_level = "" | |||
var _level_node = null | |||
@@ -26,6 +27,7 @@ func load_level(src): | |||
get_node("Player").hide() | |||
var lvl = get_node("lvl") | |||
if _level_node != null: | |||
lvl.disconnect("exit_level", self, "_on_exit_level") | |||
lvl.remove_child(_level_node) | |||
_level_node.call_deferred("free") | |||
_level_node = null | |||
@@ -33,8 +35,10 @@ func load_level(src): | |||
if lvlres: | |||
_level_node = lvlres.instance() | |||
lvl.add_child(_level_node) | |||
_level_node.connect("exit_level", self, "_on_exit_level") | |||
load_and_play_music(_level_node.get_level_music()) | |||
reset() | |||
_level_running = true | |||
func reset(): | |||
@@ -58,10 +62,12 @@ func pause(enable = true): | |||
func _ready(): | |||
set_physics_process(true) | |||
load_level("Level_001.tscn") | |||
#var ps = get_node("Level_00/Player_Start") | |||
#get_node("Player").position = get_node("Level_TestSite").get_starting_position() | |||
#get_node("Player").show() | |||
load_level("Level_002.tscn") | |||
func _animate_level_exit(exit): | |||
$Player.mode = RigidBody2D.MODE_KINEMATIC | |||
$ExitTween.interpolate_property($Player, "position", $Player.position, exit.position, 2.0, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT) | |||
$ExitTween.start() | |||
func _physics_process(delta): | |||
if _level_running: | |||
@@ -70,3 +76,14 @@ func _physics_process(delta): | |||
func _on_PM_Quit_pressed(): | |||
get_tree().quit() | |||
func _on_exit_level(exit, body, next_level): | |||
if next_level != "": | |||
_next_level = next_level | |||
_animate_level_exit(exit) | |||
func _on_ExitTween_tween_all_completed(): | |||
$Player.mode = RigidBody2D.MODE_RIGID | |||
if _next_level != "": | |||
load_level(_next_level) |
@@ -0,0 +1,16 @@ | |||
shader_type canvas_item; | |||
uniform float rot_speed:hint_range(-6.0, 6.0) = 1.0; | |||
void fragment(){ | |||
float ri = TIME * rot_speed; | |||
mat2 rm = mat2( | |||
vec2(sin(ri), -cos(ri)), | |||
vec2(cos(ri), sin(ri)) | |||
); | |||
vec2 pos = rm * (UV - vec2(0.5, 0.5)); | |||
pos = pos + vec2(0.5, 0.5); | |||
COLOR = texture(TEXTURE, pos); | |||
} |