generated from krampus/template-godot4
	Compare commits
	
		
			No commits in common. "d4effd0f96d9d8861a0662b11f08a423c2400528" and "37257dc3fd9023b9effe65bc0692202d2949f080" have entirely different histories.
		
	
	
		
			d4effd0f96
			...
			37257dc3fd
		
	
		
| @ -1,573 +0,0 @@ | |||||||
| [gd_scene load_steps=17 format=3 uid="uid://g8yw4bersece"] |  | ||||||
| 
 |  | ||||||
| [ext_resource type="Texture2D" uid="uid://b5812y3pmmgg5" path="res://assets/ui/gauge_patch.png" id="1_cbh2e"] |  | ||||||
| [ext_resource type="FontFile" uid="uid://dsa0oh7c0h4pu" path="res://assets/fonts/Racing_Sans_One/RacingSansOne-Regular.ttf" id="2_m4bhi"] |  | ||||||
| [ext_resource type="FontFile" uid="uid://dyog4ex5nqfat" path="res://assets/fonts/promptfont/promptfont.otf" id="2_u36vl"] |  | ||||||
| [ext_resource type="Texture2D" uid="uid://du3vk5nnksohs" path="res://assets/sprites/particles/sparkle.png" id="2_x2leq"] |  | ||||||
| [ext_resource type="Script" path="res://src/ui/decorations/text_effects/typewriter/typewriter_label.gd" id="2_yjmn6"] |  | ||||||
| [ext_resource type="Script" path="res://src/ui/decorations/rumbler.gd" id="3_ql2sm"] |  | ||||||
| [ext_resource type="AudioStream" uid="uid://c8bxu5lusqevv" path="res://assets/sound/sfx/ui/ecofuture3.wav" id="5_a1v30"] |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Gradient" id="Gradient_hi2t5"] |  | ||||||
| colors = PackedColorArray(0.389287, 0.389287, 0.389287, 1, 1, 1, 1, 1) |  | ||||||
| 
 |  | ||||||
| [sub_resource type="GradientTexture1D" id="GradientTexture1D_o3771"] |  | ||||||
| gradient = SubResource("Gradient_hi2t5") |  | ||||||
| 
 |  | ||||||
| [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_qsf88"] |  | ||||||
| particle_flag_disable_z = true |  | ||||||
| emission_shape = 3 |  | ||||||
| emission_box_extents = Vector3(0, 150, 1) |  | ||||||
| spread = 0.0 |  | ||||||
| initial_velocity_min = 200.0 |  | ||||||
| initial_velocity_max = 400.0 |  | ||||||
| angular_velocity_min = -453.84 |  | ||||||
| angular_velocity_max = -28.01 |  | ||||||
| gravity = Vector3(0, 0, 0) |  | ||||||
| scale_min = 0.3 |  | ||||||
| scale_max = 0.9 |  | ||||||
| color_initial_ramp = SubResource("GradientTexture1D_o3771") |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Curve" id="Curve_54bet"] |  | ||||||
| _data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.658363, 0.936358), -2.76095, -2.76095, 0, 0, Vector2(1, 1), -0.829222, 0.0, 0, 0] |  | ||||||
| point_count = 3 |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Gradient" id="Gradient_6pgg4"] |  | ||||||
| offsets = PackedFloat32Array(0.389734, 0.431559, 0.538023, 0.595057) |  | ||||||
| colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0) |  | ||||||
| 
 |  | ||||||
| [sub_resource type="GradientTexture2D" id="GradientTexture2D_nrcya"] |  | ||||||
| gradient = SubResource("Gradient_6pgg4") |  | ||||||
| fill_from = Vector2(0, 0.5) |  | ||||||
| fill_to = Vector2(1, 0.52) |  | ||||||
| metadata/_snap_enabled = true |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Animation" id="Animation_i4x7e"] |  | ||||||
| length = 0.001 |  | ||||||
| tracks/0/type = "value" |  | ||||||
| tracks/0/imported = false |  | ||||||
| tracks/0/enabled = true |  | ||||||
| tracks/0/path = NodePath(".:custom_minimum_size") |  | ||||||
| tracks/0/interp = 1 |  | ||||||
| tracks/0/loop_wrap = true |  | ||||||
| tracks/0/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector2(0, 300)] |  | ||||||
| } |  | ||||||
| tracks/1/type = "value" |  | ||||||
| tracks/1/imported = false |  | ||||||
| tracks/1/enabled = true |  | ||||||
| tracks/1/path = NodePath(".:anchor_right") |  | ||||||
| tracks/1/interp = 1 |  | ||||||
| tracks/1/loop_wrap = true |  | ||||||
| tracks/1/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [1.0] |  | ||||||
| } |  | ||||||
| tracks/2/type = "value" |  | ||||||
| tracks/2/imported = false |  | ||||||
| tracks/2/enabled = true |  | ||||||
| tracks/2/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler/TypewriterLabel/Glint:anchor_left") |  | ||||||
| tracks/2/interp = 1 |  | ||||||
| tracks/2/loop_wrap = true |  | ||||||
| tracks/2/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [-1.0] |  | ||||||
| } |  | ||||||
| tracks/3/type = "value" |  | ||||||
| tracks/3/imported = false |  | ||||||
| tracks/3/enabled = true |  | ||||||
| tracks/3/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler/TypewriterLabel/Glint:anchor_right") |  | ||||||
| tracks/3/interp = 1 |  | ||||||
| tracks/3/loop_wrap = true |  | ||||||
| tracks/3/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [0.0] |  | ||||||
| } |  | ||||||
| tracks/4/type = "value" |  | ||||||
| tracks/4/imported = false |  | ||||||
| tracks/4/enabled = true |  | ||||||
| tracks/4/path = NodePath("AudioStreamPlayer:playing") |  | ||||||
| tracks/4/interp = 1 |  | ||||||
| tracks/4/loop_wrap = true |  | ||||||
| tracks/4/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 1, |  | ||||||
| "values": [false] |  | ||||||
| } |  | ||||||
| tracks/5/type = "value" |  | ||||||
| tracks/5/imported = false |  | ||||||
| tracks/5/enabled = true |  | ||||||
| tracks/5/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler/AnimatedStar:scale") |  | ||||||
| tracks/5/interp = 1 |  | ||||||
| tracks/5/loop_wrap = true |  | ||||||
| tracks/5/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector2(1, 1)] |  | ||||||
| } |  | ||||||
| tracks/6/type = "value" |  | ||||||
| tracks/6/imported = false |  | ||||||
| tracks/6/enabled = true |  | ||||||
| tracks/6/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler/AnimatedStar:rotation") |  | ||||||
| tracks/6/interp = 1 |  | ||||||
| tracks/6/loop_wrap = true |  | ||||||
| tracks/6/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [0.0] |  | ||||||
| } |  | ||||||
| tracks/7/type = "value" |  | ||||||
| tracks/7/imported = false |  | ||||||
| tracks/7/enabled = true |  | ||||||
| tracks/7/path = NodePath("NinePatchRect/InnerWindow/TextContainer:rotation") |  | ||||||
| tracks/7/interp = 4 |  | ||||||
| tracks/7/loop_wrap = true |  | ||||||
| tracks/7/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [0.0] |  | ||||||
| } |  | ||||||
| tracks/8/type = "value" |  | ||||||
| tracks/8/imported = false |  | ||||||
| tracks/8/enabled = true |  | ||||||
| tracks/8/path = NodePath("NinePatchRect/InnerWindow/TextContainer:scale") |  | ||||||
| tracks/8/interp = 1 |  | ||||||
| tracks/8/loop_wrap = true |  | ||||||
| tracks/8/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector2(1, 1)] |  | ||||||
| } |  | ||||||
| tracks/9/type = "value" |  | ||||||
| tracks/9/imported = false |  | ||||||
| tracks/9/enabled = true |  | ||||||
| tracks/9/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler:intensity") |  | ||||||
| tracks/9/interp = 1 |  | ||||||
| tracks/9/loop_wrap = true |  | ||||||
| tracks/9/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [0.0] |  | ||||||
| } |  | ||||||
| tracks/10/type = "value" |  | ||||||
| tracks/10/imported = false |  | ||||||
| tracks/10/enabled = true |  | ||||||
| tracks/10/path = NodePath("NinePatchRect/Marquee/MarqueeTop:offset_left") |  | ||||||
| tracks/10/interp = 1 |  | ||||||
| tracks/10/loop_wrap = true |  | ||||||
| tracks/10/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 1, |  | ||||||
| "values": [0.0] |  | ||||||
| } |  | ||||||
| tracks/11/type = "value" |  | ||||||
| tracks/11/imported = false |  | ||||||
| tracks/11/enabled = true |  | ||||||
| tracks/11/path = NodePath("NinePatchRect/Marquee/MarqueeBottom:offset_left") |  | ||||||
| tracks/11/interp = 1 |  | ||||||
| tracks/11/loop_wrap = true |  | ||||||
| tracks/11/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 1, |  | ||||||
| "values": [-4096] |  | ||||||
| } |  | ||||||
| tracks/12/type = "value" |  | ||||||
| tracks/12/imported = false |  | ||||||
| tracks/12/enabled = true |  | ||||||
| tracks/12/path = NodePath("NinePatchRect/Marquee:modulate") |  | ||||||
| tracks/12/interp = 1 |  | ||||||
| tracks/12/loop_wrap = true |  | ||||||
| tracks/12/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Color(1, 1, 1, 1)] |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [sub_resource type="Animation" id="Animation_80e5e"] |  | ||||||
| resource_name = "display" |  | ||||||
| length = 5.0 |  | ||||||
| loop_mode = 1 |  | ||||||
| tracks/0/type = "value" |  | ||||||
| tracks/0/imported = false |  | ||||||
| tracks/0/enabled = true |  | ||||||
| tracks/0/path = NodePath(".:custom_minimum_size") |  | ||||||
| tracks/0/interp = 1 |  | ||||||
| tracks/0/loop_wrap = false |  | ||||||
| tracks/0/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 0.266667, 0.533334, 1.7, 2), |  | ||||||
| "transitions": PackedFloat32Array(1, 0.381924, 1, 4.43828, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector2(0, 8), Vector2(0, 8), Vector2(0, 300), Vector2(0, 300), Vector2(0, 0)] |  | ||||||
| } |  | ||||||
| tracks/1/type = "value" |  | ||||||
| tracks/1/imported = false |  | ||||||
| tracks/1/enabled = true |  | ||||||
| tracks/1/path = NodePath(".:anchor_right") |  | ||||||
| tracks/1/interp = 1 |  | ||||||
| tracks/1/loop_wrap = false |  | ||||||
| tracks/1/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 0.266667), |  | ||||||
| "transitions": PackedFloat32Array(6.22646, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [0.0, 1.0] |  | ||||||
| } |  | ||||||
| tracks/2/type = "method" |  | ||||||
| tracks/2/imported = false |  | ||||||
| tracks/2/enabled = true |  | ||||||
| tracks/2/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler/TypewriterLabel") |  | ||||||
| tracks/2/interp = 1 |  | ||||||
| tracks/2/loop_wrap = true |  | ||||||
| tracks/2/keys = { |  | ||||||
| "times": PackedFloat32Array(0), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "values": [{ |  | ||||||
| "args": [], |  | ||||||
| "method": &"restart" |  | ||||||
| }] |  | ||||||
| } |  | ||||||
| tracks/3/type = "value" |  | ||||||
| tracks/3/imported = false |  | ||||||
| tracks/3/enabled = true |  | ||||||
| tracks/3/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler/TypewriterLabel/Glint:anchor_left") |  | ||||||
| tracks/3/interp = 2 |  | ||||||
| tracks/3/loop_wrap = false |  | ||||||
| tracks/3/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 0.933333, 1.63334), |  | ||||||
| "transitions": PackedFloat32Array(1, 0.618, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [-1.0, -1.0, 1.0] |  | ||||||
| } |  | ||||||
| tracks/4/type = "value" |  | ||||||
| tracks/4/imported = false |  | ||||||
| tracks/4/enabled = true |  | ||||||
| tracks/4/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler/TypewriterLabel/Glint:anchor_right") |  | ||||||
| tracks/4/interp = 2 |  | ||||||
| tracks/4/loop_wrap = false |  | ||||||
| tracks/4/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 0.666666, 1.36667), |  | ||||||
| "transitions": PackedFloat32Array(1, 0.618, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [0.0, 0.0, 2.0] |  | ||||||
| } |  | ||||||
| tracks/5/type = "value" |  | ||||||
| tracks/5/imported = false |  | ||||||
| tracks/5/enabled = true |  | ||||||
| tracks/5/path = NodePath("AudioStreamPlayer:playing") |  | ||||||
| tracks/5/interp = 1 |  | ||||||
| tracks/5/loop_wrap = false |  | ||||||
| tracks/5/keys = { |  | ||||||
| "times": PackedFloat32Array(0.6), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "update": 1, |  | ||||||
| "values": [true] |  | ||||||
| } |  | ||||||
| tracks/6/type = "method" |  | ||||||
| tracks/6/imported = false |  | ||||||
| tracks/6/enabled = true |  | ||||||
| tracks/6/path = NodePath(".") |  | ||||||
| tracks/6/interp = 1 |  | ||||||
| tracks/6/loop_wrap = true |  | ||||||
| tracks/6/keys = { |  | ||||||
| "times": PackedFloat32Array(5), |  | ||||||
| "transitions": PackedFloat32Array(1), |  | ||||||
| "values": [{ |  | ||||||
| "args": [], |  | ||||||
| "method": &"queue_free" |  | ||||||
| }] |  | ||||||
| } |  | ||||||
| tracks/7/type = "value" |  | ||||||
| tracks/7/imported = false |  | ||||||
| tracks/7/enabled = true |  | ||||||
| tracks/7/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler/AnimatedStar:scale") |  | ||||||
| tracks/7/interp = 1 |  | ||||||
| tracks/7/loop_wrap = false |  | ||||||
| tracks/7/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 1.1, 1.26667, 1.43333, 1.7), |  | ||||||
| "transitions": PackedFloat32Array(1, 1, 1, 1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector2(1e-05, 1e-05), Vector2(1e-05, 1e-05), Vector2(1, 1), Vector2(1, 1), Vector2(1e-05, 1e-05)] |  | ||||||
| } |  | ||||||
| tracks/8/type = "value" |  | ||||||
| tracks/8/imported = false |  | ||||||
| tracks/8/enabled = true |  | ||||||
| tracks/8/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler/AnimatedStar:rotation") |  | ||||||
| tracks/8/interp = 1 |  | ||||||
| tracks/8/loop_wrap = false |  | ||||||
| tracks/8/keys = { |  | ||||||
| "times": PackedFloat32Array(1.1, 1.3, 1.5, 1.7), |  | ||||||
| "transitions": PackedFloat32Array(1, 1, 1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [0.0, 3.14159, 6.28319, 9.42478] |  | ||||||
| } |  | ||||||
| tracks/9/type = "value" |  | ||||||
| tracks/9/imported = false |  | ||||||
| tracks/9/enabled = true |  | ||||||
| tracks/9/path = NodePath("NinePatchRect/InnerWindow/TextContainer:rotation") |  | ||||||
| tracks/9/interp = 4 |  | ||||||
| tracks/9/loop_wrap = false |  | ||||||
| tracks/9/keys = { |  | ||||||
| "times": PackedFloat32Array(0.233333, 0.9, 1.56667, 2.23333), |  | ||||||
| "transitions": PackedFloat32Array(1, 1, 1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [-0.0174533, 0.0174533, -0.0174533, 0.0174533] |  | ||||||
| } |  | ||||||
| tracks/10/type = "value" |  | ||||||
| tracks/10/imported = false |  | ||||||
| tracks/10/enabled = true |  | ||||||
| tracks/10/path = NodePath("NinePatchRect/InnerWindow/TextContainer:scale") |  | ||||||
| tracks/10/interp = 2 |  | ||||||
| tracks/10/loop_wrap = false |  | ||||||
| tracks/10/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 0.666667, 1.33333, 2, 2.66667), |  | ||||||
| "transitions": PackedFloat32Array(1, 1, 1, 1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Vector2(1, 1), Vector2(1.05, 1.05), Vector2(1, 1), Vector2(1.05, 1.05), Vector2(1, 1)] |  | ||||||
| } |  | ||||||
| tracks/11/type = "value" |  | ||||||
| tracks/11/imported = false |  | ||||||
| tracks/11/enabled = true |  | ||||||
| tracks/11/path = NodePath("NinePatchRect/InnerWindow/TextContainer/Rumbler:intensity") |  | ||||||
| tracks/11/interp = 1 |  | ||||||
| tracks/11/loop_wrap = false |  | ||||||
| tracks/11/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 0.466667, 0.566667, 1.33333), |  | ||||||
| "transitions": PackedFloat32Array(1, 1, 1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [0.0, 0.0, 10.0, 0.0] |  | ||||||
| } |  | ||||||
| tracks/12/type = "value" |  | ||||||
| tracks/12/imported = false |  | ||||||
| tracks/12/enabled = true |  | ||||||
| tracks/12/path = NodePath("NinePatchRect/Marquee/MarqueeTop:offset_left") |  | ||||||
| tracks/12/interp = 1 |  | ||||||
| tracks/12/loop_wrap = false |  | ||||||
| tracks/12/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 5), |  | ||||||
| "transitions": PackedFloat32Array(1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [0, -2048] |  | ||||||
| } |  | ||||||
| tracks/13/type = "value" |  | ||||||
| tracks/13/imported = false |  | ||||||
| tracks/13/enabled = true |  | ||||||
| tracks/13/path = NodePath("NinePatchRect/Marquee/MarqueeBottom:offset_left") |  | ||||||
| tracks/13/interp = 1 |  | ||||||
| tracks/13/loop_wrap = false |  | ||||||
| tracks/13/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 5), |  | ||||||
| "transitions": PackedFloat32Array(1, 1), |  | ||||||
| "update": 0, |  | ||||||
| "values": [-5249.0, -2048] |  | ||||||
| } |  | ||||||
| tracks/14/type = "value" |  | ||||||
| tracks/14/imported = false |  | ||||||
| tracks/14/enabled = true |  | ||||||
| tracks/14/path = NodePath("NinePatchRect/Marquee:modulate") |  | ||||||
| tracks/14/interp = 2 |  | ||||||
| tracks/14/loop_wrap = false |  | ||||||
| tracks/14/keys = { |  | ||||||
| "times": PackedFloat32Array(0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1), |  | ||||||
| "transitions": PackedFloat32Array(1.618, 0.618, 1.618, 0.618, 1.618, 0.618, 1.618, 0.618), |  | ||||||
| "update": 0, |  | ||||||
| "values": [Color(1, 1, 1, 0.8), Color(1, 1, 1, 0.2), Color(1, 1, 1, 0.8), Color(1, 1, 1, 0.2), Color(1, 1, 1, 0.8), Color(1, 1, 1, 0.2), Color(1, 1, 1, 0.8), Color(1, 1, 1, 0.2)] |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [sub_resource type="AnimationLibrary" id="AnimationLibrary_pgwgo"] |  | ||||||
| _data = { |  | ||||||
| "RESET": SubResource("Animation_i4x7e"), |  | ||||||
| "display": SubResource("Animation_80e5e") |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| [node name="NiceAlert" type="Control"] |  | ||||||
| clip_contents = true |  | ||||||
| custom_minimum_size = Vector2(0, 300) |  | ||||||
| layout_mode = 3 |  | ||||||
| anchor_top = 0.5 |  | ||||||
| anchor_right = 1.0 |  | ||||||
| anchor_bottom = 0.5 |  | ||||||
| offset_left = -16.0 |  | ||||||
| offset_right = 16.0 |  | ||||||
| grow_horizontal = 2 |  | ||||||
| grow_vertical = 2 |  | ||||||
| 
 |  | ||||||
| [node name="NinePatchRect" type="NinePatchRect" parent="."] |  | ||||||
| self_modulate = Color(0.3444, 0.372827, 0.41, 1) |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = 15 |  | ||||||
| anchor_right = 1.0 |  | ||||||
| anchor_bottom = 1.0 |  | ||||||
| grow_horizontal = 2 |  | ||||||
| grow_vertical = 2 |  | ||||||
| texture = ExtResource("1_cbh2e") |  | ||||||
| patch_margin_left = 16 |  | ||||||
| patch_margin_top = 16 |  | ||||||
| patch_margin_right = 16 |  | ||||||
| patch_margin_bottom = 16 |  | ||||||
| 
 |  | ||||||
| [node name="Marquee" type="Control" parent="NinePatchRect"] |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = 15 |  | ||||||
| anchor_right = 1.0 |  | ||||||
| anchor_bottom = 1.0 |  | ||||||
| grow_horizontal = 2 |  | ||||||
| grow_vertical = 2 |  | ||||||
| 
 |  | ||||||
| [node name="MarqueeTop" type="Label" parent="NinePatchRect/Marquee"] |  | ||||||
| texture_filter = 5 |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = -1 |  | ||||||
| offset_right = 5249.0 |  | ||||||
| offset_bottom = 19.0 |  | ||||||
| theme_override_colors/font_color = Color(0.966667, 1, 0, 1) |  | ||||||
| theme_override_colors/font_outline_color = Color(0.19, 0.19, 0.19, 1) |  | ||||||
| theme_override_constants/outline_size = 4 |  | ||||||
| theme_override_fonts/font = ExtResource("2_u36vl") |  | ||||||
| theme_override_font_sizes/font_size = 13 |  | ||||||
| text = "❗ When it comes to the shows that I rock ❗ and the flows that I drop ❗ y'all know Run killed the mic ❗ Can't forget about the O's that I got ❗ and the Rolls in the spot ❗ y'all know I'm still here right ❓ How you gonna take a old song ❗ been around so long ❗ So So Def, but made it tight ❗ Then went from a DJ ❗ to an emcee ❗ to the are-E-V like overnight ❗ Everybody lookin ❗ players get shook when ❗ Rev. Run walk up in the spot ❗ Even all the crooks ❗ that been livin outta Brooklyn ❗ Just can't help but point a lot ❗ Everywhere I go now ❗ people say \"Oh wow!\" ❗ cause they know how I get it ❗ It don't matter if it's Notown ❗ all the way to yo' town ❗ you can't slow down my hit ❗" |  | ||||||
| uppercase = true |  | ||||||
| 
 |  | ||||||
| [node name="MarqueeBottom" type="Label" parent="NinePatchRect/Marquee"] |  | ||||||
| texture_filter = 5 |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = -1 |  | ||||||
| anchor_left = 1.0 |  | ||||||
| anchor_top = 1.0 |  | ||||||
| anchor_right = 1.0 |  | ||||||
| anchor_bottom = 1.0 |  | ||||||
| offset_left = -4096.0 |  | ||||||
| offset_top = -16.0 |  | ||||||
| offset_right = 4096.0 |  | ||||||
| grow_horizontal = 0 |  | ||||||
| grow_vertical = 0 |  | ||||||
| theme_override_colors/font_color = Color(0.966667, 1, 0, 1) |  | ||||||
| theme_override_colors/font_outline_color = Color(0.19, 0.19, 0.19, 1) |  | ||||||
| theme_override_constants/outline_size = 4 |  | ||||||
| theme_override_fonts/font = ExtResource("2_u36vl") |  | ||||||
| theme_override_font_sizes/font_size = 13 |  | ||||||
| text = "❗ When it comes to the shows that I rock ❗ and the flows that I drop ❗ y'all know Run killed the mic ❗ Can't forget about the O's that I got ❗ and the Rolls in the spot ❗ y'all know I'm still here right ❓ How you gonna take a old song ❗ been around so long ❗ So So Def, but made it tight ❗ Then went from a DJ ❗ to an emcee ❗ to the are-E-V like overnight ❗ Everybody lookin ❗ players get shook when ❗ Rev. Run walk up in the spot ❗ Even all the crooks ❗ that been livin outta Brooklyn ❗ Just can't help but point a lot ❗ Everywhere I go now ❗ people say \"Oh wow!\" ❗ cause they know how I get it ❗ It don't matter if it's Notown ❗ all the way to yo' town ❗ you can't slow down my hit ❗" |  | ||||||
| uppercase = true |  | ||||||
| 
 |  | ||||||
| [node name="InnerWindow" type="Control" parent="NinePatchRect"] |  | ||||||
| clip_contents = true |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = 15 |  | ||||||
| anchor_right = 1.0 |  | ||||||
| anchor_bottom = 1.0 |  | ||||||
| offset_left = 16.0 |  | ||||||
| offset_top = 16.0 |  | ||||||
| offset_right = -16.0 |  | ||||||
| offset_bottom = -16.0 |  | ||||||
| grow_horizontal = 2 |  | ||||||
| grow_vertical = 2 |  | ||||||
| pivot_offset = Vector2(0, 150) |  | ||||||
| 
 |  | ||||||
| [node name="ParticleOrigin" type="Control" parent="NinePatchRect/InnerWindow"] |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = 4 |  | ||||||
| anchor_top = 0.5 |  | ||||||
| anchor_bottom = 0.5 |  | ||||||
| grow_vertical = 2 |  | ||||||
| 
 |  | ||||||
| [node name="GPUParticles2D" type="GPUParticles2D" parent="NinePatchRect/InnerWindow/ParticleOrigin"] |  | ||||||
| amount = 1024 |  | ||||||
| process_material = SubResource("ParticleProcessMaterial_qsf88") |  | ||||||
| texture = ExtResource("2_x2leq") |  | ||||||
| lifetime = 20.0 |  | ||||||
| preprocess = 20.0 |  | ||||||
| visibility_rect = Rect2(0, -150, 1920, 300) |  | ||||||
| 
 |  | ||||||
| [node name="TextContainer" type="Control" parent="NinePatchRect/InnerWindow"] |  | ||||||
| custom_minimum_size = Vector2(1700, 400) |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = 8 |  | ||||||
| anchor_left = 0.5 |  | ||||||
| anchor_top = 0.5 |  | ||||||
| anchor_right = 0.5 |  | ||||||
| anchor_bottom = 0.5 |  | ||||||
| offset_left = -850.0 |  | ||||||
| offset_top = -200.0 |  | ||||||
| offset_right = 850.0 |  | ||||||
| offset_bottom = 200.0 |  | ||||||
| grow_horizontal = 2 |  | ||||||
| grow_vertical = 2 |  | ||||||
| pivot_offset = Vector2(850, 200) |  | ||||||
| 
 |  | ||||||
| [node name="Rumbler" type="Control" parent="NinePatchRect/InnerWindow/TextContainer"] |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = 15 |  | ||||||
| anchor_right = 1.0 |  | ||||||
| anchor_bottom = 1.0 |  | ||||||
| grow_horizontal = 2 |  | ||||||
| grow_vertical = 2 |  | ||||||
| script = ExtResource("3_ql2sm") |  | ||||||
| 
 |  | ||||||
| [node name="TypewriterLabel" type="RichTextLabel" parent="NinePatchRect/InnerWindow/TextContainer/Rumbler"] |  | ||||||
| clip_children = 2 |  | ||||||
| texture_filter = 6 |  | ||||||
| custom_minimum_size = Vector2(1650, 380) |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = 15 |  | ||||||
| anchor_right = 1.0 |  | ||||||
| anchor_bottom = 1.0 |  | ||||||
| grow_horizontal = 2 |  | ||||||
| grow_vertical = 2 |  | ||||||
| scale = Vector2(1.05, 1.05) |  | ||||||
| theme_override_colors/font_outline_color = Color(0.21, 0.0882, 0.15925, 1) |  | ||||||
| theme_override_constants/outline_size = 9 |  | ||||||
| theme_override_fonts/normal_font = ExtResource("2_m4bhi") |  | ||||||
| theme_override_font_sizes/normal_font_size = 300 |  | ||||||
| bbcode_enabled = true |  | ||||||
| text = "[center][rainbow][type speed=50.0 delay=0.3 factor=20.0]WOAH NICE[/type][/rainbow][/center]" |  | ||||||
| script = ExtResource("2_yjmn6") |  | ||||||
| scale_curve = SubResource("Curve_54bet") |  | ||||||
| 
 |  | ||||||
| [node name="Glint" type="TextureRect" parent="NinePatchRect/InnerWindow/TextContainer/Rumbler/TypewriterLabel"] |  | ||||||
| clip_children = 1 |  | ||||||
| clip_contents = true |  | ||||||
| layout_mode = 1 |  | ||||||
| anchors_preset = -1 |  | ||||||
| anchor_left = -1.0 |  | ||||||
| anchor_bottom = 1.0 |  | ||||||
| grow_horizontal = 2 |  | ||||||
| grow_vertical = 2 |  | ||||||
| texture = SubResource("GradientTexture2D_nrcya") |  | ||||||
| expand_mode = 1 |  | ||||||
| 
 |  | ||||||
| [node name="AnimatedStar" type="TextureRect" parent="NinePatchRect/InnerWindow/TextContainer/Rumbler"] |  | ||||||
| texture_filter = 5 |  | ||||||
| layout_mode = 0 |  | ||||||
| offset_left = 1715.0 |  | ||||||
| offset_top = 80.0 |  | ||||||
| offset_right = 1755.0 |  | ||||||
| offset_bottom = 120.0 |  | ||||||
| pivot_offset = Vector2(20, 20) |  | ||||||
| texture = ExtResource("2_x2leq") |  | ||||||
| 
 |  | ||||||
| [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] |  | ||||||
| stream = ExtResource("5_a1v30") |  | ||||||
| volume_db = -16.0 |  | ||||||
| bus = &"SFX" |  | ||||||
| 
 |  | ||||||
| [node name="AnimationPlayer" type="AnimationPlayer" parent="."] |  | ||||||
| libraries = { |  | ||||||
| "": SubResource("AnimationLibrary_pgwgo") |  | ||||||
| } |  | ||||||
| autoplay = "display" |  | ||||||
| @ -5,20 +5,14 @@ extends RichTextEffect | |||||||
| ## Tag params: | ## Tag params: | ||||||
| ## - speed - Speed at which text is displayed, in characters per second. | ## - speed - Speed at which text is displayed, in characters per second. | ||||||
| ## - delay - Delay before displaying first character, in seconds. | ## - delay - Delay before displaying first character, in seconds. | ||||||
| ## - factor - Transition animation timescale factor. |  | ||||||
| 
 | 
 | ||||||
| signal typing | signal typing | ||||||
| 
 | signal on_frame_process_start | ||||||
| @export var scale_curve: Curve |  | ||||||
| @export var translation_curve: CurveXYZTexture |  | ||||||
| 
 |  | ||||||
| @export var glyph_size_factor: float = 0.0 |  | ||||||
| 
 | 
 | ||||||
| # To use this effect: | # To use this effect: | ||||||
| # - Enable BBCode on a RichTextLabel. | # - Enable BBCode on a RichTextLabel. | ||||||
| # - Instead of instantiating this effect directly, use a `TypewriterLabel` node. | # - Instead of instantiating this effect directly, use a `TypewriterLabel` node. | ||||||
| # - Animation curves are exported by `TypewriterLabel`. | # - Use [type speed=10.0 delay=0.0]hello[/type] in text. | ||||||
| # - Use [type speed=10.0 delay=0.0 factor=1.0]hello[/type] in text. |  | ||||||
| var bbcode: String = "type" | var bbcode: String = "type" | ||||||
| 
 | 
 | ||||||
| var _force_visible := false | var _force_visible := false | ||||||
| @ -33,39 +27,10 @@ func _process_custom_fx(char_fx: CharFXTransform) -> bool: | |||||||
| 	if not _force_visible: | 	if not _force_visible: | ||||||
| 		var speed: float = char_fx.env.get("speed", Game.settings.default_text_speed) | 		var speed: float = char_fx.env.get("speed", Game.settings.default_text_speed) | ||||||
| 		var delay: float = char_fx.env.get("delay", 0.0) | 		var delay: float = char_fx.env.get("delay", 0.0) | ||||||
| 		var factor: float = char_fx.env.get("factor", 1.0) |  | ||||||
| 
 | 
 | ||||||
| 		var server := TextServerManager.get_primary_interface() | 		char_fx.visible = (char_fx.elapsed_time - delay) * speed >= char_fx.relative_index | ||||||
| 		var glyph_size := server.font_get_glyph_size( |  | ||||||
| 			char_fx.font, 0.5 * glyph_size_factor * Vector2i.ONE, char_fx.glyph_index |  | ||||||
| 		) |  | ||||||
| 		var pivot := glyph_size * Vector2(-1, 1) |  | ||||||
| 
 | 
 | ||||||
| 		var rel_time := (speed * (char_fx.elapsed_time - delay) - char_fx.relative_index) / factor | 		if not char_fx.visible: | ||||||
| 
 |  | ||||||
| 		var scale := Vector2.ONE |  | ||||||
| 		if scale_curve: |  | ||||||
| 			scale *= scale_curve.sample_baked(rel_time) |  | ||||||
| 
 |  | ||||||
| 		var translation := Vector2.ZERO |  | ||||||
| 		if translation_curve: |  | ||||||
| 			if translation_curve.curve_x: |  | ||||||
| 				translation.x = translation_curve.curve_x.sample_baked(rel_time) |  | ||||||
| 			if translation_curve.curve_y: |  | ||||||
| 				translation.y = translation_curve.curve_y.sample_baked(rel_time) |  | ||||||
| 
 |  | ||||||
| 		char_fx.transform = ( |  | ||||||
| 			char_fx |  | ||||||
| 			. transform |  | ||||||
| 			. translated_local(-pivot) |  | ||||||
| 			. scaled_local(scale) |  | ||||||
| 			. translated_local(pivot) |  | ||||||
| 			. translated_local(translation) |  | ||||||
| 		) |  | ||||||
| 
 |  | ||||||
| 		char_fx.visible = rel_time > 0 |  | ||||||
| 
 |  | ||||||
| 		if rel_time < 1: |  | ||||||
| 			typing.emit() | 			typing.emit() | ||||||
| 
 | 
 | ||||||
| 	return true | 	return true | ||||||
|  | |||||||
| @ -11,29 +11,15 @@ signal typing_finished | |||||||
| ## Useful for advancing skippable dialogue boxes. | ## Useful for advancing skippable dialogue boxes. | ||||||
| signal force_visible | signal force_visible | ||||||
| 
 | 
 | ||||||
| ## Scale curve for animated typewriter character transition. |  | ||||||
| @export var scale_curve: Curve |  | ||||||
| 
 |  | ||||||
| ## Translation curve for animated typewriter character transition. |  | ||||||
| ## The Z curve will not be used. |  | ||||||
| @export var translation_curve: CurveXYZTexture |  | ||||||
| 
 |  | ||||||
| var _finished: bool = true | var _finished: bool = true | ||||||
| var _typing: bool = false | var _typing: bool = false | ||||||
| 
 | 
 | ||||||
| @onready var _current_text: String = text |  | ||||||
| 
 | 
 | ||||||
| 
 | func _init() -> void: | ||||||
| func _ready() -> void: |  | ||||||
| 	bbcode_enabled = true | 	bbcode_enabled = true | ||||||
| 	var effect := TypewriterEffect.new(force_visible) | 	var effect := TypewriterEffect.new(force_visible) | ||||||
| 	effect.scale_curve = scale_curve |  | ||||||
| 	effect.translation_curve = translation_curve |  | ||||||
| 	effect.typing.connect(_on_typing) | 	effect.typing.connect(_on_typing) | ||||||
| 	effect.glyph_size_factor = get_theme_font_size("normal_font_size") |  | ||||||
| 	install_effect(effect) | 	install_effect(effect) | ||||||
| 	if text: |  | ||||||
| 		_finished = false |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ## Is the typewriter effect finished? | ## Is the typewriter effect finished? | ||||||
| @ -47,17 +33,12 @@ func reset() -> void: | |||||||
| 	_finished = false | 	_finished = false | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ## Restart the existing typing effect. | ## Clear the text box and set a new line of text. | ||||||
| func restart() -> void: |  | ||||||
| 	display_text(_current_text) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ## The `finished` signal will be emitted when the text is done displaying. | ## The `finished` signal will be emitted when the text is done displaying. | ||||||
| func display_text(new_text: String) -> void: | func display_text(text: String) -> void: | ||||||
| 	reset() | 	reset() | ||||||
| 	clear() | 	clear() | ||||||
| 	append_text(new_text) | 	append_text(text) | ||||||
| 	_current_text = new_text |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func _process(_delta: float) -> void: | func _process(_delta: float) -> void: | ||||||
|  | |||||||
| @ -1,8 +1,6 @@ | |||||||
| class_name ShotHUD extends Control | class_name ShotHUD extends Control | ||||||
| ## HUD for main gameplay loop | ## HUD for main gameplay loop | ||||||
| 
 | 
 | ||||||
| const NICE_ALERT_SCENE := preload("res://src/ui/decorations/nice_alert.tscn") |  | ||||||
| 
 |  | ||||||
| ## Scale factor for the life bar rumble intensity on taking damage | ## Scale factor for the life bar rumble intensity on taking damage | ||||||
| const LIFE_BAR_DAMAGE_RUMBLE_SCALE := 0.2 | const LIFE_BAR_DAMAGE_RUMBLE_SCALE := 0.2 | ||||||
| ## Time it takes to dampen the life bar rumble on taking damage, in seconds | ## Time it takes to dampen the life bar rumble on taking damage, in seconds | ||||||
| @ -20,7 +18,7 @@ var player: WorldPlayer | |||||||
| @onready var _curve_animation: AnimationPlayer = %CurveAnimation | @onready var _curve_animation: AnimationPlayer = %CurveAnimation | ||||||
| @onready var _power_animation: AnimationPlayer = %PowerAnimation | @onready var _power_animation: AnimationPlayer = %PowerAnimation | ||||||
| 
 | 
 | ||||||
| @onready var _nice_container: Control = %NiceContainer | @onready var _nice_animation: AnimationPlayer = %NiceAnimation | ||||||
| @onready var _wasted_animation: AnimationPlayer = %WastedAnimation | @onready var _wasted_animation: AnimationPlayer = %WastedAnimation | ||||||
| 
 | 
 | ||||||
| @onready var _club_selector_animation: AnimationPlayer = %ClubSelectorAnimation | @onready var _club_selector_animation: AnimationPlayer = %ClubSelectorAnimation | ||||||
| @ -90,7 +88,7 @@ func gauge_flourish() -> void: | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func play_nice_animation() -> void: | func play_nice_animation() -> void: | ||||||
| 	_nice_container.add_child(NICE_ALERT_SCENE.instantiate()) | 	_nice_animation.play("display") | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| func play_wasted_animation() -> void: | func play_wasted_animation() -> void: | ||||||
| @ -104,7 +102,6 @@ func show_reset_prompt() -> void: | |||||||
| func hide_reset_prompt() -> void: | func hide_reset_prompt() -> void: | ||||||
| 	_reset_prompt_animation.play_backwards("show") | 	_reset_prompt_animation.play_backwards("show") | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| ## Set the value of the life bar, potentially playing some kind of effect in response. | ## Set the value of the life bar, potentially playing some kind of effect in response. | ||||||
| ## | ## | ||||||
| ## To set the life bar without triggering an effect, set it directly with `life_bar.value` | ## To set the life bar without triggering an effect, set it directly with `life_bar.value` | ||||||
|  | |||||||
| @ -1,8 +1,9 @@ | |||||||
| [gd_scene load_steps=41 format=3 uid="uid://c4ifdiohng830"] | [gd_scene load_steps=47 format=3 uid="uid://c4ifdiohng830"] | ||||||
| 
 | 
 | ||||||
| [ext_resource type="Script" path="res://src/ui/shot_hud/shot_hud.gd" id="1_x5b4c"] | [ext_resource type="Script" path="res://src/ui/shot_hud/shot_hud.gd" id="1_x5b4c"] | ||||||
| [ext_resource type="Shader" path="res://src/shaders/canvas_retro.gdshader" id="1_ybxxp"] | [ext_resource type="Shader" path="res://src/shaders/canvas_retro.gdshader" id="1_ybxxp"] | ||||||
| [ext_resource type="PackedScene" uid="uid://445qd7m4qe2j" path="res://src/ui/shot_hud/club_selector/club_selector.tscn" id="2_1hdub"] | [ext_resource type="PackedScene" uid="uid://445qd7m4qe2j" path="res://src/ui/shot_hud/club_selector/club_selector.tscn" id="2_1hdub"] | ||||||
|  | [ext_resource type="AudioStream" uid="uid://c8bxu5lusqevv" path="res://assets/sound/sfx/ui/ecofuture3.wav" id="2_5f3rs"] | ||||||
| [ext_resource type="Script" path="res://src/ui/decorations/rumbler.gd" id="3_6groq"] | [ext_resource type="Script" path="res://src/ui/decorations/rumbler.gd" id="3_6groq"] | ||||||
| [ext_resource type="Texture2D" uid="uid://b5812y3pmmgg5" path="res://assets/ui/gauge_patch.png" id="4_5kcpe"] | [ext_resource type="Texture2D" uid="uid://b5812y3pmmgg5" path="res://assets/ui/gauge_patch.png" id="4_5kcpe"] | ||||||
| [ext_resource type="Texture2D" uid="uid://76fjx2ukavqe" path="res://assets/ui/power_gauge_fill.png" id="5_3i1yq"] | [ext_resource type="Texture2D" uid="uid://76fjx2ukavqe" path="res://assets/ui/power_gauge_fill.png" id="5_3i1yq"] | ||||||
| @ -14,6 +15,219 @@ | |||||||
| [ext_resource type="PackedScene" uid="uid://dmciuk3pbjsae" path="res://src/ui/shot_hud/life_bar/life_bar.tscn" id="9_w1fiw"] | [ext_resource type="PackedScene" uid="uid://dmciuk3pbjsae" path="res://src/ui/shot_hud/life_bar/life_bar.tscn" id="9_w1fiw"] | ||||||
| [ext_resource type="PackedScene" uid="uid://b47goj32i6sdh" path="res://src/ui/elements/input_prompt/input_prompt.tscn" id="14_ik4gg"] | [ext_resource type="PackedScene" uid="uid://b47goj32i6sdh" path="res://src/ui/elements/input_prompt/input_prompt.tscn" id="14_ik4gg"] | ||||||
| 
 | 
 | ||||||
|  | [sub_resource type="Animation" id="Animation_3xds6"] | ||||||
|  | resource_name = "RESET" | ||||||
|  | length = 0.001 | ||||||
|  | tracks/0/type = "value" | ||||||
|  | tracks/0/imported = false | ||||||
|  | tracks/0/enabled = true | ||||||
|  | tracks/0/path = NodePath(".:visible") | ||||||
|  | tracks/0/interp = 1 | ||||||
|  | tracks/0/loop_wrap = true | ||||||
|  | tracks/0/keys = { | ||||||
|  | "times": PackedFloat32Array(0), | ||||||
|  | "transitions": PackedFloat32Array(1), | ||||||
|  | "update": 1, | ||||||
|  | "values": [false] | ||||||
|  | } | ||||||
|  | tracks/1/type = "value" | ||||||
|  | tracks/1/imported = false | ||||||
|  | tracks/1/enabled = true | ||||||
|  | tracks/1/path = NodePath(".:visible_ratio") | ||||||
|  | tracks/1/interp = 1 | ||||||
|  | tracks/1/loop_wrap = true | ||||||
|  | tracks/1/keys = { | ||||||
|  | "times": PackedFloat32Array(0), | ||||||
|  | "transitions": PackedFloat32Array(1), | ||||||
|  | "update": 0, | ||||||
|  | "values": [1.0] | ||||||
|  | } | ||||||
|  | tracks/2/type = "value" | ||||||
|  | tracks/2/imported = false | ||||||
|  | tracks/2/enabled = true | ||||||
|  | tracks/2/path = NodePath(".:rotation") | ||||||
|  | tracks/2/interp = 3 | ||||||
|  | tracks/2/loop_wrap = true | ||||||
|  | tracks/2/keys = { | ||||||
|  | "times": PackedFloat32Array(0), | ||||||
|  | "transitions": PackedFloat32Array(1), | ||||||
|  | "update": 0, | ||||||
|  | "values": [7.31612e-10] | ||||||
|  | } | ||||||
|  | tracks/3/type = "bezier" | ||||||
|  | tracks/3/imported = false | ||||||
|  | tracks/3/enabled = true | ||||||
|  | tracks/3/path = NodePath(".:anchor_top") | ||||||
|  | tracks/3/interp = 1 | ||||||
|  | tracks/3/loop_wrap = true | ||||||
|  | tracks/3/keys = { | ||||||
|  | "handle_modes": PackedInt32Array(0), | ||||||
|  | "points": PackedFloat32Array(0.5, -0.25, 0, 0.25, 0), | ||||||
|  | "times": PackedFloat32Array(0) | ||||||
|  | } | ||||||
|  | tracks/4/type = "bezier" | ||||||
|  | tracks/4/imported = false | ||||||
|  | tracks/4/enabled = true | ||||||
|  | tracks/4/path = NodePath(".:anchor_bottom") | ||||||
|  | tracks/4/interp = 1 | ||||||
|  | tracks/4/loop_wrap = true | ||||||
|  | tracks/4/keys = { | ||||||
|  | "handle_modes": PackedInt32Array(0), | ||||||
|  | "points": PackedFloat32Array(0.5, -0.25, 0, 0.25, 0), | ||||||
|  | "times": PackedFloat32Array(0) | ||||||
|  | } | ||||||
|  | tracks/5/type = "value" | ||||||
|  | tracks/5/imported = false | ||||||
|  | tracks/5/enabled = false | ||||||
|  | tracks/5/path = NodePath("AudioStreamPlayer:playing") | ||||||
|  | tracks/5/interp = 1 | ||||||
|  | tracks/5/loop_wrap = true | ||||||
|  | tracks/5/keys = { | ||||||
|  | "times": PackedFloat32Array(0), | ||||||
|  | "transitions": PackedFloat32Array(1), | ||||||
|  | "update": 1, | ||||||
|  | "values": [true] | ||||||
|  | } | ||||||
|  | tracks/6/type = "value" | ||||||
|  | tracks/6/imported = false | ||||||
|  | tracks/6/enabled = true | ||||||
|  | tracks/6/path = NodePath("Glint:anchor_left") | ||||||
|  | tracks/6/interp = 1 | ||||||
|  | tracks/6/loop_wrap = true | ||||||
|  | tracks/6/keys = { | ||||||
|  | "times": PackedFloat32Array(0), | ||||||
|  | "transitions": PackedFloat32Array(1), | ||||||
|  | "update": 0, | ||||||
|  | "values": [-1.0] | ||||||
|  | } | ||||||
|  | tracks/7/type = "value" | ||||||
|  | tracks/7/imported = false | ||||||
|  | tracks/7/enabled = true | ||||||
|  | tracks/7/path = NodePath("Glint:anchor_right") | ||||||
|  | tracks/7/interp = 1 | ||||||
|  | tracks/7/loop_wrap = true | ||||||
|  | tracks/7/keys = { | ||||||
|  | "times": PackedFloat32Array(0), | ||||||
|  | "transitions": PackedFloat32Array(1), | ||||||
|  | "update": 0, | ||||||
|  | "values": [0.0] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | [sub_resource type="Animation" id="Animation_cwotn"] | ||||||
|  | resource_name = "display" | ||||||
|  | length = 2.4 | ||||||
|  | step = 0.1 | ||||||
|  | tracks/0/type = "value" | ||||||
|  | tracks/0/imported = false | ||||||
|  | tracks/0/enabled = true | ||||||
|  | tracks/0/path = NodePath(".:visible") | ||||||
|  | tracks/0/interp = 1 | ||||||
|  | tracks/0/loop_wrap = true | ||||||
|  | tracks/0/keys = { | ||||||
|  | "times": PackedFloat32Array(0, 2.4), | ||||||
|  | "transitions": PackedFloat32Array(1, 1), | ||||||
|  | "update": 1, | ||||||
|  | "values": [true, false] | ||||||
|  | } | ||||||
|  | tracks/1/type = "value" | ||||||
|  | tracks/1/imported = false | ||||||
|  | tracks/1/enabled = true | ||||||
|  | tracks/1/path = NodePath(".:visible_ratio") | ||||||
|  | tracks/1/interp = 1 | ||||||
|  | tracks/1/loop_wrap = true | ||||||
|  | tracks/1/keys = { | ||||||
|  | "times": PackedFloat32Array(0, 0.2), | ||||||
|  | "transitions": PackedFloat32Array(1, 1), | ||||||
|  | "update": 0, | ||||||
|  | "values": [0.0, 1.0] | ||||||
|  | } | ||||||
|  | tracks/2/type = "value" | ||||||
|  | tracks/2/imported = false | ||||||
|  | tracks/2/enabled = true | ||||||
|  | tracks/2/path = NodePath(".:rotation") | ||||||
|  | tracks/2/interp = 3 | ||||||
|  | tracks/2/loop_wrap = true | ||||||
|  | tracks/2/keys = { | ||||||
|  | "times": PackedFloat32Array(0, 2, 2.4), | ||||||
|  | "transitions": PackedFloat32Array(1, 1, 1), | ||||||
|  | "update": 0, | ||||||
|  | "values": [7.31612e-10, 7.31612e-10, 0.174533] | ||||||
|  | } | ||||||
|  | tracks/3/type = "bezier" | ||||||
|  | tracks/3/imported = false | ||||||
|  | tracks/3/enabled = true | ||||||
|  | tracks/3/path = NodePath(".:anchor_top") | ||||||
|  | tracks/3/interp = 1 | ||||||
|  | tracks/3/loop_wrap = true | ||||||
|  | tracks/3/keys = { | ||||||
|  | "handle_modes": PackedInt32Array(0, 0, 0), | ||||||
|  | "points": PackedFloat32Array(0.5, -0.25, 0, 0.5, -0.0548477, 0.5, -0.4, 0.0593877, 0.233401, -0.456136, 1.25, -0.25, 0, 0.25, 0), | ||||||
|  | "times": PackedFloat32Array(0, 2, 2.4) | ||||||
|  | } | ||||||
|  | tracks/4/type = "bezier" | ||||||
|  | tracks/4/imported = false | ||||||
|  | tracks/4/enabled = true | ||||||
|  | tracks/4/path = NodePath(".:anchor_bottom") | ||||||
|  | tracks/4/interp = 1 | ||||||
|  | tracks/4/loop_wrap = true | ||||||
|  | tracks/4/keys = { | ||||||
|  | "handle_modes": PackedInt32Array(0, 0, 0), | ||||||
|  | "points": PackedFloat32Array(0.5, -0.25, 0, 0.5, -0.055, 0.5, -0.4, 0.059, 0.233, -0.456, 1.25, -0.25, 0, 0.25, 0), | ||||||
|  | "times": PackedFloat32Array(0, 2, 2.4) | ||||||
|  | } | ||||||
|  | tracks/5/type = "value" | ||||||
|  | tracks/5/imported = false | ||||||
|  | tracks/5/enabled = true | ||||||
|  | tracks/5/path = NodePath("AudioStreamPlayer:playing") | ||||||
|  | tracks/5/interp = 1 | ||||||
|  | tracks/5/loop_wrap = true | ||||||
|  | tracks/5/keys = { | ||||||
|  | "times": PackedFloat32Array(0.1), | ||||||
|  | "transitions": PackedFloat32Array(1), | ||||||
|  | "update": 1, | ||||||
|  | "values": [true] | ||||||
|  | } | ||||||
|  | tracks/6/type = "value" | ||||||
|  | tracks/6/imported = false | ||||||
|  | tracks/6/enabled = true | ||||||
|  | tracks/6/path = NodePath("Glint:anchor_left") | ||||||
|  | tracks/6/interp = 1 | ||||||
|  | tracks/6/loop_wrap = true | ||||||
|  | tracks/6/keys = { | ||||||
|  | "times": PackedFloat32Array(0.7, 1), | ||||||
|  | "transitions": PackedFloat32Array(1, 1), | ||||||
|  | "update": 0, | ||||||
|  | "values": [-1.0, 1.0] | ||||||
|  | } | ||||||
|  | tracks/7/type = "value" | ||||||
|  | tracks/7/imported = false | ||||||
|  | tracks/7/enabled = true | ||||||
|  | tracks/7/path = NodePath("Glint:anchor_right") | ||||||
|  | tracks/7/interp = 1 | ||||||
|  | tracks/7/loop_wrap = true | ||||||
|  | tracks/7/keys = { | ||||||
|  | "times": PackedFloat32Array(0.7, 1), | ||||||
|  | "transitions": PackedFloat32Array(1, 1), | ||||||
|  | "update": 0, | ||||||
|  | "values": [0.0, 2.0] | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | [sub_resource type="AnimationLibrary" id="AnimationLibrary_2a0gn"] | ||||||
|  | _data = { | ||||||
|  | "RESET": SubResource("Animation_3xds6"), | ||||||
|  | "display": SubResource("Animation_cwotn") | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | [sub_resource type="Gradient" id="Gradient_xp0wp"] | ||||||
|  | offsets = PackedFloat32Array(0, 0.482857, 1) | ||||||
|  | colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0) | ||||||
|  | 
 | ||||||
|  | [sub_resource type="GradientTexture2D" id="GradientTexture2D_knygn"] | ||||||
|  | gradient = SubResource("Gradient_xp0wp") | ||||||
|  | fill_from = Vector2(0, 0.4) | ||||||
|  | fill_to = Vector2(1, 0.6) | ||||||
|  | metadata/_snap_enabled = true | ||||||
|  | 
 | ||||||
| [sub_resource type="Animation" id="Animation_2gt87"] | [sub_resource type="Animation" id="Animation_2gt87"] | ||||||
| resource_name = "RESET" | resource_name = "RESET" | ||||||
| length = 0.001 | length = 0.001 | ||||||
| @ -547,14 +761,50 @@ grow_vertical = 2 | |||||||
| mouse_filter = 2 | mouse_filter = 2 | ||||||
| script = ExtResource("1_x5b4c") | script = ExtResource("1_x5b4c") | ||||||
| 
 | 
 | ||||||
| [node name="NiceContainer" type="Control" parent="."] | [node name="WoahNiceFeedback" type="RichTextLabel" parent="."] | ||||||
| unique_name_in_owner = true | visible = false | ||||||
|  | clip_children = 2 | ||||||
|  | custom_minimum_size = Vector2(1200, 0) | ||||||
| layout_mode = 1 | layout_mode = 1 | ||||||
| anchors_preset = 15 | anchors_preset = -1 | ||||||
| anchor_right = 1.0 | anchor_left = 0.5 | ||||||
|  | anchor_top = 0.5 | ||||||
|  | anchor_right = 0.5 | ||||||
|  | anchor_bottom = 0.5 | ||||||
|  | offset_left = -600.0 | ||||||
|  | offset_top = -136.5 | ||||||
|  | offset_right = 600.0 | ||||||
|  | offset_bottom = 136.5 | ||||||
|  | grow_horizontal = 2 | ||||||
|  | grow_vertical = 2 | ||||||
|  | mouse_filter = 2 | ||||||
|  | theme_type_variation = &"ShotFeedback" | ||||||
|  | bbcode_enabled = true | ||||||
|  | text = "[center][wave amp=64][rainbow]woah nice[/rainbow][/wave][/center]" | ||||||
|  | fit_content = true | ||||||
|  | autowrap_mode = 0 | ||||||
|  | visible_characters_behavior = 1 | ||||||
|  | 
 | ||||||
|  | [node name="NiceAnimation" type="AnimationPlayer" parent="WoahNiceFeedback"] | ||||||
|  | unique_name_in_owner = true | ||||||
|  | libraries = { | ||||||
|  | "": SubResource("AnimationLibrary_2a0gn") | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="WoahNiceFeedback"] | ||||||
|  | stream = ExtResource("2_5f3rs") | ||||||
|  | volume_db = -16.0 | ||||||
|  | bus = &"SFX" | ||||||
|  | 
 | ||||||
|  | [node name="Glint" type="TextureRect" parent="WoahNiceFeedback"] | ||||||
|  | clip_children = 2 | ||||||
|  | layout_mode = 1 | ||||||
|  | anchors_preset = -1 | ||||||
|  | anchor_left = -1.0 | ||||||
| anchor_bottom = 1.0 | anchor_bottom = 1.0 | ||||||
| grow_horizontal = 2 | grow_horizontal = 2 | ||||||
| grow_vertical = 2 | grow_vertical = 2 | ||||||
|  | texture = SubResource("GradientTexture2D_knygn") | ||||||
| 
 | 
 | ||||||
| [node name="WastedFeedback" type="RichTextLabel" parent="."] | [node name="WastedFeedback" type="RichTextLabel" parent="."] | ||||||
| visible = false | visible = false | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user