source_md5="aa6613a60574ba16e3c57d0d38468fbf" | |||||
dest_md5="ef4be6197f867fce1ae832148d814786" | |||||
source_md5="0965d095ec6dc5f38b478078d7dc2184" | |||||
dest_md5="40e931f300ed189e4918619ee139c8d8" | |||||
source_md5="01869c3604b99aea38eb6b597f15f8d7" | |||||
dest_md5="b07fcc1de681e1e4fc0cc651a43f6d23" | |||||
source_md5="4fb5fa659e9c6e1ece480e0b8a6b18d5" | |||||
dest_md5="d93bef64b511746d542505099d164ec2" | |||||
[remap] | |||||
importer="texture" | |||||
type="StreamTexture" | |||||
path="res://.import/marm.png-129e7630465431c74aeee9f2cda65caa.stex" | |||||
metadata={ | |||||
"vram_texture": false | |||||
} | |||||
[deps] | |||||
source_file="res://Data/Graphics/marm.png" | |||||
dest_files=[ "res://.import/marm.png-129e7630465431c74aeee9f2cda65caa.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/nstar.png-279148b53e5add0a2272421ac913ac94.stex" | |||||
metadata={ | |||||
"vram_texture": false | |||||
} | |||||
[deps] | |||||
source_file="res://Data/Graphics/nstar.png" | |||||
dest_files=[ "res://.import/nstar.png-279148b53e5add0a2272421ac913ac94.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 |
[gd_scene load_steps=5 format=2] | |||||
[ext_resource path="res://Data/Graphics/placeholder.png" type="Texture" id=1] | |||||
[ext_resource path="res://Data/Scripts/Glowdot.gd" type="Script" id=2] | |||||
[ext_resource path="res://Data/Shaders/Glowdot.shader" type="Shader" id=3] | |||||
[sub_resource type="ShaderMaterial" id=2] | |||||
shader = ExtResource( 3 ) | |||||
shader_param/primary_color = Color( 1, 0.8, 0, 1 ) | |||||
shader_param/fade_offset = 0.15 | |||||
[node name="Glowdot" type="Sprite"] | |||||
material = SubResource( 2 ) | |||||
texture = ExtResource( 1 ) | |||||
script = ExtResource( 2 ) | |||||
[node name="Pulse" type="Tween" parent="."] | |||||
[node name="PulseIn" type="Timer" parent="."] | |||||
[node name="PulseOut" type="Timer" parent="."] | |||||
[connection signal="timeout" from="PulseIn" to="." method="_on_PulseIn_timeout"] | |||||
[connection signal="timeout" from="PulseOut" to="." method="_on_PulseOut_timeout"] |
[sub_resource type="ShaderMaterial" id=1] | [sub_resource type="ShaderMaterial" id=1] | ||||
shader = ExtResource( 3 ) | shader = ExtResource( 3 ) | ||||
shader_param/sprite_scale = Vector2( 1, 1 ) | |||||
shader_param/sprite_scale = Vector2( 2.96, 1 ) | |||||
shader_param/distortion = 16.265 | shader_param/distortion = 16.265 | ||||
shader_param/liquid_color_main = Color( 0, 0.0862745, 0.603922, 1 ) | |||||
shader_param/liquid_color_surface = Color( 0.517647, 0.572549, 1, 1 ) | |||||
shader_param/liquid_color_main = Color( 0.180908, 0.250748, 0.8125, 1 ) | |||||
shader_param/liquid_color_surface = Color( 0.576471, 0.760784, 0.996078, 1 ) | |||||
shader_param/liquid_surface_thickness = 0.12 | shader_param/liquid_surface_thickness = 0.12 | ||||
shader_param/wave_amp = 0.25 | shader_param/wave_amp = 0.25 | ||||
shader_param/wave_freq = 1.0 | shader_param/wave_freq = 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.576471, 0.760784, 0.996078, 1 ) | |||||
[node name="Liquid" type="Sprite"] | [node name="Liquid" type="Sprite"] | ||||
material = SubResource( 1 ) | material = SubResource( 1 ) |
[gd_scene load_steps=9 format=2] | |||||
[ext_resource path="res://Data/Scripts/PulseArrow.gd" type="Script" id=1] | |||||
[ext_resource path="res://Data/Objects/Glowdot.tscn" type="PackedScene" id=3] | |||||
[sub_resource type="Shader" id=1] | |||||
code = "shader_type canvas_item; | |||||
uniform vec4 primary_color:hint_color = vec4(1.0, 0.8, 0.0, 1.0); | |||||
uniform float fade_offset:hint_range(0.0, 0.5) = 0.1; | |||||
float ramp(float v, float f_min, float f_max){ | |||||
float res = (v - f_min) / (f_max - f_min); | |||||
return max(0.0, min(res, 1.0)); | |||||
} | |||||
void fragment(){ | |||||
float mask = length(vec2(0.5, 0.5) - (UV.xy)); | |||||
float fade = 1.0 - ramp(mask, fade_offset, 0.5); | |||||
if (mask > 0.5){ | |||||
mask = 0.0; | |||||
} else {mask = 1.0;} | |||||
if (mask == 1.0){ | |||||
COLOR = vec4(primary_color.rgb, fade); | |||||
} else { | |||||
COLOR = vec4(primary_color.rgb, mask); | |||||
} | |||||
}" | |||||
[sub_resource type="ShaderMaterial" id=2] | |||||
shader = SubResource( 1 ) | |||||
shader_param/primary_color = Color( 1, 0.8, 0, 1 ) | |||||
shader_param/fade_offset = 0.15 | |||||
[sub_resource type="ShaderMaterial" id=3] | |||||
shader = SubResource( 1 ) | |||||
shader_param/primary_color = Color( 1, 0.8, 0, 1 ) | |||||
shader_param/fade_offset = 0.15 | |||||
[sub_resource type="ShaderMaterial" id=4] | |||||
shader = SubResource( 1 ) | |||||
shader_param/primary_color = Color( 1, 0.8, 0, 1 ) | |||||
shader_param/fade_offset = 0.15 | |||||
[sub_resource type="ShaderMaterial" id=5] | |||||
shader = SubResource( 1 ) | |||||
shader_param/primary_color = Color( 1, 0.8, 0, 1 ) | |||||
shader_param/fade_offset = 0.15 | |||||
[sub_resource type="ShaderMaterial" id=6] | |||||
shader = SubResource( 1 ) | |||||
shader_param/primary_color = Color( 1, 0.8, 0, 1 ) | |||||
shader_param/fade_offset = 0.15 | |||||
[node name="PulseArrow" type="Node2D"] | |||||
script = ExtResource( 1 ) | |||||
[node name="Dot" parent="." instance=ExtResource( 3 )] | |||||
material = SubResource( 2 ) | |||||
position = Vector2( 0, -0.698334 ) | |||||
pulse_in_time = 0.5 | |||||
pulse_out_time = 0.5 | |||||
pulse_out = 0.75 | |||||
[node name="Dot21" parent="." instance=ExtResource( 3 )] | |||||
material = SubResource( 3 ) | |||||
position = Vector2( -53.772, 35.6152 ) | |||||
pulse_in_time = 0.5 | |||||
pulse_out_time = 0.5 | |||||
pulse_out = 0.75 | |||||
pulse_offset = 0.35 | |||||
[node name="Dot31" parent="." instance=ExtResource( 3 )] | |||||
material = SubResource( 4 ) | |||||
position = Vector2( -110.337, 66.3421 ) | |||||
pulse_in_time = 0.5 | |||||
pulse_out_time = 0.5 | |||||
pulse_out = 0.75 | |||||
pulse_offset = 0.6 | |||||
[node name="Dot22" parent="." instance=ExtResource( 3 )] | |||||
material = SubResource( 5 ) | |||||
position = Vector2( 52.3753, 35.6152 ) | |||||
pulse_in_time = 0.5 | |||||
pulse_out_time = 0.5 | |||||
pulse_out = 0.75 | |||||
pulse_offset = 0.35 | |||||
[node name="Dot32" parent="." instance=ExtResource( 3 )] | |||||
material = SubResource( 6 ) | |||||
position = Vector2( 106.147, 66.3421 ) | |||||
pulse_in_time = 0.5 | |||||
pulse_out_time = 0.5 | |||||
pulse_out = 0.75 | |||||
pulse_offset = 0.6 |
[gd_scene load_steps=5 format=2] | |||||
[gd_scene load_steps=8 format=2] | |||||
[ext_resource path="res://icon.png" type="Texture" id=1] | |||||
[ext_resource path="res://Data/Objects/PulseArrow.tscn" type="PackedScene" id=1] | |||||
[ext_resource path="res://Data/Objects/Player.tscn" type="PackedScene" id=2] | [ext_resource path="res://Data/Objects/Player.tscn" type="PackedScene" id=2] | ||||
[ext_resource path="res://Data/Objects/Liquid.tscn" type="PackedScene" id=3] | [ext_resource path="res://Data/Objects/Liquid.tscn" type="PackedScene" id=3] | ||||
[ext_resource path="res://Data/Graphics/placeholder.png" type="Texture" id=4] | |||||
[ext_resource path="res://Data/Scripts/BladeSaw.gd" type="Script" id=5] | |||||
[ext_resource path="res://Data/Graphics/nstar.png" type="Texture" id=6] | |||||
[sub_resource type="RectangleShape2D" id=1] | [sub_resource type="RectangleShape2D" id=1] | ||||
extents = Vector2( 32, 32 ) | extents = Vector2( 32, 32 ) | ||||
[node name="Sprite" type="Sprite" parent="Ground/StaticBody2D"] | [node name="Sprite" type="Sprite" parent="Ground/StaticBody2D"] | ||||
self_modulate = Color( 0, 0, 0, 1 ) | self_modulate = Color( 0, 0, 0, 1 ) | ||||
texture = ExtResource( 1 ) | |||||
texture = ExtResource( 4 ) | |||||
[node name="StaticBody2D2" type="StaticBody2D" parent="Ground"] | [node name="StaticBody2D2" type="StaticBody2D" parent="Ground"] | ||||
position = Vector2( 117.555, 225.357 ) | position = Vector2( 117.555, 225.357 ) | ||||
[node name="Sprite" type="Sprite" parent="Ground/StaticBody2D2"] | [node name="Sprite" type="Sprite" parent="Ground/StaticBody2D2"] | ||||
self_modulate = Color( 0, 0, 0, 1 ) | self_modulate = Color( 0, 0, 0, 1 ) | ||||
texture = ExtResource( 1 ) | |||||
texture = ExtResource( 4 ) | |||||
[node name="StaticBody2D3" type="StaticBody2D" parent="Ground"] | [node name="StaticBody2D3" type="StaticBody2D" parent="Ground"] | ||||
position = Vector2( 165.809, 209.444 ) | position = Vector2( 165.809, 209.444 ) | ||||
[node name="Sprite" type="Sprite" parent="Ground/StaticBody2D3"] | [node name="Sprite" type="Sprite" parent="Ground/StaticBody2D3"] | ||||
self_modulate = Color( 0, 0, 0, 1 ) | self_modulate = Color( 0, 0, 0, 1 ) | ||||
texture = ExtResource( 1 ) | |||||
texture = ExtResource( 4 ) | |||||
[node name="StaticBody2D4" type="StaticBody2D" parent="Ground"] | [node name="StaticBody2D4" type="StaticBody2D" parent="Ground"] | ||||
position = Vector2( 352.586, 167.485 ) | position = Vector2( 352.586, 167.485 ) | ||||
[node name="Sprite" type="Sprite" parent="Ground/StaticBody2D4"] | [node name="Sprite" type="Sprite" parent="Ground/StaticBody2D4"] | ||||
self_modulate = Color( 0, 0, 0, 1 ) | self_modulate = Color( 0, 0, 0, 1 ) | ||||
texture = ExtResource( 1 ) | |||||
texture = ExtResource( 4 ) | |||||
[node name="Blue Barrier" type="StaticBody2D" parent="Ground"] | [node name="Blue Barrier" type="StaticBody2D" parent="Ground"] | ||||
position = Vector2( 258.724, 168.376 ) | position = Vector2( 258.724, 168.376 ) | ||||
shape = SubResource( 1 ) | shape = SubResource( 1 ) | ||||
[node name="Sprite" type="Sprite" parent="Ground/Blue Barrier"] | [node name="Sprite" type="Sprite" parent="Ground/Blue Barrier"] | ||||
self_modulate = Color( 0, 0.180392, 1, 1 ) | |||||
texture = ExtResource( 1 ) | |||||
modulate = Color( 0.380392, 0.54902, 1, 1 ) | |||||
texture = ExtResource( 4 ) | |||||
[node name="Liquid" parent="." instance=ExtResource( 3 )] | [node name="Liquid" parent="." instance=ExtResource( 3 )] | ||||
position = Vector2( 109.92, 197.289 ) | position = Vector2( 109.92, 197.289 ) | ||||
scale = Vector2( 2.96, 1 ) | scale = Vector2( 2.96, 1 ) | ||||
liquid_body_color = Color( 0, 0.0901961, 0.815686, 1 ) | |||||
liquid_body_color = Color( 0.180908, 0.250748, 0.8125, 1 ) | |||||
liquid_surface_color = Color( 0.576471, 0.760784, 0.996078, 1 ) | liquid_surface_color = Color( 0.576471, 0.760784, 0.996078, 1 ) | ||||
[node name="PulseArrow" parent="." instance=ExtResource( 1 )] | |||||
position = Vector2( 250.511, 119.095 ) | |||||
scale = Vector2( 0.1, 0.1 ) | |||||
pulse_color = Color( 0.356863, 0.960784, 0.211765, 1 ) | |||||
[node name="BladeSaw" type="KinematicBody2D" parent="."] | |||||
position = Vector2( 252.7, 41.8 ) | |||||
collision_layer = 2 | |||||
script = ExtResource( 5 ) | |||||
degrees_per_second = 180.0 | |||||
active = false | |||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="BladeSaw"] | |||||
position = Vector2( 0.291977, -0.407814 ) | |||||
polygon = PoolVector2Array( -0.190857, -62.8828, 15.1022, -32.9085, 45.8921, -43.1038, 35.9007, -11.7022, 63.632, 2.77521, 33.6577, 17.4565, 43.2413, 46.2074, 13.4709, 37.2355, 0.0130463, 63.9473, -13.8526, 37.4394, -43.623, 46.6152, -34.0394, 17.8643, -64.0137, 2.5713, -36.0785, -11.4983, -47.0894, -43.3077, -15.4839, -32.9085 ) | |||||
[node name="Sprite" type="Sprite" parent="BladeSaw"] | |||||
texture = ExtResource( 6 ) |
extends KinematicBody2D | |||||
export var degrees_per_second:float = 180.0 | |||||
export var ease_in:float = 0.2 | |||||
export var ease_out:float = 0.4 | |||||
export var active:bool = true setget _set_active | |||||
var _easing_in = false | |||||
var _easing_out = false | |||||
var _easing = 0.0 | |||||
var _running = false | |||||
func _set_active(b): | |||||
if active != b: | |||||
if active: | |||||
_easing_out = true | |||||
_easing = ease_out | |||||
else: | |||||
_easing_in = true | |||||
_easing = ease_in | |||||
active = b | |||||
# Called when the node enters the scene tree for the first time. | |||||
func _ready(): | |||||
set_physics_process(true) | |||||
if active and _easing == 0.0: | |||||
_running = true | |||||
func _physics_process(delta): | |||||
if _easing_in or _easing_out: | |||||
_easing -= delta | |||||
if _easing <= 0.0: | |||||
_running = _easing_in | |||||
_easing_in = false | |||||
_easing_out = false | |||||
_easing = 0.0 | |||||
else: | |||||
var adj | |||||
if _easing_in: | |||||
adj = 1.0 - (_easing / ease_in) | |||||
else: | |||||
adj = 1.0 - (_easing / ease_out) | |||||
rotate(deg2rad(degrees_per_second * adj * delta)) | |||||
if _running: | |||||
rotate(deg2rad(degrees_per_second * delta)) | |||||
export var base_tangential_accel = 32 setget _set_base_tangential_accel | export var base_tangential_accel = 32 setget _set_base_tangential_accel | ||||
# The base force applied when being pushed. | # The base force applied when being pushed. | ||||
export var base_push_force = 128 setget _set_base_push_force | |||||
export var base_push_force = 64 setget _set_base_push_force | |||||
# Mood = r: <aggression>, g: <neediness>, b: <contentment> | # Mood = r: <aggression>, g: <neediness>, b: <contentment> |
extends Sprite | |||||
const TRANS = Tween.TRANS_LINEAR | |||||
const EASE = Tween.EASE_IN_OUT | |||||
export var pulse_color:Color setget _set_pulse_color, _get_pulse_color | |||||
export var pulse_in_time:float = 0.5 | |||||
export var pulse_out_time:float = 0.5 | |||||
export var pulse_in:float = 0.1 | |||||
export var pulse_out:float = 0.9 | |||||
export var pulse_offset:float = 0.1 setget _set_pulse_offset, _get_pulse_offset | |||||
var _running = false | |||||
func _camp(v, o_min, o_max): | |||||
# Reduces v (clamped to 0 and 1) to the values between o_min and o_max | |||||
return o_min + ((o_max - o_min) * clamp(v, 0.0, 1.0)) | |||||
func _ramp(v, f_min, f_max): | |||||
# Expands v, spreading the values between f_min and f_max to be between 0 and 1. | |||||
if f_min == f_max: | |||||
return f_min | |||||
return clamp((v - f_min) / (f_max - f_min), 0.0, 1.0) | |||||
func _set_pulse_offset(v): | |||||
material.set_shader_param("fade_offset", _camp(v, 0.1, 0.5)) | |||||
func _get_pulse_offset(): | |||||
if self.get_name() == "Dot21": | |||||
print("PING") | |||||
return _ramp(material.get_shader_param("fade_offset"), 0.1, 0.5) | |||||
func _set_pulse_color(c): | |||||
material.set_shader_param("primary_color", c) | |||||
func _get_pulse_color(): | |||||
return material.get_shader_param("primary_color") | |||||
func _ready(): | |||||
material.set_shader_param("primary_color", pulse_color) | |||||
func start(): | |||||
_running = true | |||||
_on_PulseOut_timeout() | |||||
func stop(): | |||||
$PulseOut.stop() | |||||
$PulseIn.stop() | |||||
_running = false | |||||
func _interpolate_to(v, t): | |||||
$Pulse.interpolate_property(self, "pulse_offset", self.pulse_offset, v, t, TRANS, EASE) | |||||
$Pulse.start() | |||||
func _on_PulseIn_timeout(): | |||||
if _running: | |||||
#print(self.get_name(), " Pulse Out Time: ", $PulseOut.wait_time) | |||||
$PulseIn.stop() | |||||
if _get_pulse_offset() == pulse_in: | |||||
$PulseOut.wait_time = pulse_out_time | |||||
else: | |||||
$PulseOut.wait_time = (1.0 - ((_get_pulse_offset() - pulse_in) / (pulse_out / pulse_in))) * pulse_out_time | |||||
_interpolate_to(pulse_out, $PulseOut.wait_time) | |||||
$PulseOut.start() | |||||
func _on_PulseOut_timeout(): | |||||
if _running: | |||||
#print(self.get_name(), " Pulse In Time: ", $PulseOut.wait_time) | |||||
$PulseOut.stop() | |||||
if _get_pulse_offset() == pulse_out: | |||||
$PulseIn.wait_time = pulse_in_time | |||||
else: | |||||
# Adjust time due to current offset. | |||||
$PulseIn.wait_time = (_get_pulse_offset() - pulse_in) / (pulse_out / pulse_in) * pulse_in_time | |||||
_interpolate_to(pulse_in, $PulseIn.wait_time) | |||||
$PulseIn.start() |
#tool | |||||
extends Sprite | extends Sprite | ||||
export var liquid_body_color:Color setget _set_liquid_body_color, _get_liquid_body_color | export var liquid_body_color:Color setget _set_liquid_body_color, _get_liquid_body_color |
extends Node2D | |||||
export var pulse_color:Color = Color(1.0, 0.8, 0.0, 1.0) | |||||
func _ready(): | |||||
$Dot.pulse_color = pulse_color | |||||
$Dot.start() | |||||
$Dot21.pulse_color = pulse_color | |||||
$Dot21.start() | |||||
$Dot22.pulse_color = pulse_color | |||||
$Dot22.start() | |||||
$Dot31.pulse_color = pulse_color | |||||
$Dot31.start() | |||||
$Dot32.pulse_color = pulse_color | |||||
$Dot32.start() | |||||
shader_type canvas_item; | |||||
uniform vec4 primary_color:hint_color = vec4(1.0, 0.8, 0.0, 1.0); | |||||
uniform float fade_offset:hint_range(0.0, 0.5) = 0.1; | |||||
float ramp(float v, float f_min, float f_max){ | |||||
float res = (v - f_min) / (f_max - f_min); | |||||
return max(0.0, min(res, 1.0)); | |||||
} | |||||
void fragment(){ | |||||
float mask = length(vec2(0.5, 0.5) - (UV.xy)); | |||||
float fade = 1.0 - ramp(mask, fade_offset, 0.5); | |||||
if (mask > 0.5){ | |||||
mask = 0.0; | |||||
} else {mask = 1.0;} | |||||
if (mask == 1.0){ | |||||
COLOR = vec4(primary_color.rgb, fade); | |||||
} else { | |||||
COLOR = vec4(primary_color.rgb, mask); | |||||
} | |||||
} |
window/size/width=1366 | window/size/width=1366 | ||||
window/size/height=768 | window/size/height=768 | ||||
window/stretch/mode="viewport" | |||||
window/stretch/mode="2d" | |||||
window/stretch/aspect="expand" | window/stretch/aspect="expand" | ||||
[input] | [input] | ||||
[rendering] | [rendering] | ||||
quality/intended_usage/framebuffer_allocation=0 | |||||
quality/intended_usage/framebuffer_allocation.mobile=1 | |||||
environment/default_clear_color=Color( 0.207843, 0.164706, 0.215686, 1 ) | environment/default_clear_color=Color( 0.207843, 0.164706, 0.215686, 1 ) | ||||
environment/default_environment="res://default_env.tres" | environment/default_environment="res://default_env.tres" |