diff --git a/audio/sounds/oi_sg.ogg b/audio/sounds/oi_sg.ogg new file mode 100644 index 0000000..76265fb Binary files /dev/null and b/audio/sounds/oi_sg.ogg differ diff --git a/audio/sounds/oi_sg.ogg.import b/audio/sounds/oi_sg.ogg.import new file mode 100644 index 0000000..0d0afe5 --- /dev/null +++ b/audio/sounds/oi_sg.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/oi_sg.ogg-ab72b502c36749cb6d98be5482c583fc.oggstr" + +[deps] + +source_file="res://audio/sounds/oi_sg.ogg" +dest_files=[ "res://.import/oi_sg.ogg-ab72b502c36749cb6d98be5482c583fc.oggstr" ] + +[params] + +loop=false +loop_offset=0 diff --git a/maps/test_room.tscn b/maps/test_room.tscn index cb1375e..48d9571 100644 --- a/maps/test_room.tscn +++ b/maps/test_room.tscn @@ -205,6 +205,5 @@ position = Vector2( 124, 96 ) [node name="speccy" parent="." groups=["speccy"] instance=ExtResource( 2 )] position = Vector2( 82, 72 ) -message = "" [editable path="RollingFiend"] diff --git a/objects/npc/speccy.tscn b/objects/npc/speccy.tscn index 2ac81b1..3b2f0b6 100644 --- a/objects/npc/speccy.tscn +++ b/objects/npc/speccy.tscn @@ -1,11 +1,13 @@ -[gd_scene load_steps=11 format=2] +[gd_scene load_steps=13 format=2] [ext_resource path="res://graphics/npc/speccy.png" type="Texture" id=1] [ext_resource path="res://shaders/beam_cycle.gdshader" type="Shader" id=2] [ext_resource path="res://graphics/enemy/boss/stg_2600/beam_gradient.png" type="Texture" id=3] +[ext_resource path="res://graphics/hud/speccy/over_here.png" type="Texture" id=4] [ext_resource path="res://graphics/npc/speccy_talk.png" type="Texture" id=5] [ext_resource path="res://graphics/npc/speccy_cool.png" type="Texture" id=6] [ext_resource path="res://objects/npc/speccy.gd" type="Script" id=7] +[ext_resource path="res://audio/sounds/oi_sg.ogg" type="AudioStream" id=8] [sub_resource type="ShaderMaterial" id=3] shader = ExtResource( 2 ) @@ -86,6 +88,30 @@ tracks/5/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } +tracks/6/type = "value" +tracks/6/path = NodePath("OiSG:playing") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} +tracks/7/type = "value" +tracks/7/path = NodePath("OiSG:stream_paused") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ true ] +} [sub_resource type="AtlasTexture" id=4] atlas = ExtResource( 6 ) @@ -93,7 +119,7 @@ region = Rect2( 72, 0, 24, 24 ) [sub_resource type="Animation" id=2] resource_name = "fun" -length = 3.0 +length = 4.0 step = 0.05 tracks/0/type = "value" tracks/0/path = NodePath("Flipper/Sprite:scale") @@ -102,7 +128,7 @@ tracks/0/loop_wrap = true tracks/0/imported = false tracks/0/enabled = true tracks/0/keys = { -"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.5, 0.6, 2.4, 2.5, 2.6, 2.65, 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3 ), +"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.5, 0.6, 3.3, 3.4, 3.5, 3.55, 3.6, 3.65, 3.7, 3.75, 3.8, 3.85, 3.9 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 0, "values": [ Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 1.25, 0.833 ), Vector2( 1, 1 ), Vector2( 1, 1 ), Vector2( 1.25, 0.833 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ) ] @@ -114,7 +140,7 @@ tracks/1/loop_wrap = true tracks/1/imported = false tracks/1/enabled = true tracks/1/keys = { -"times": PoolRealArray( 0, 0.5, 0.6, 2.4, 2.5, 3 ), +"times": PoolRealArray( 0, 0.5, 0.6, 3.3, 3.4, 3.9 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ), "update": 0, "values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ) ] @@ -126,7 +152,7 @@ tracks/2/loop_wrap = true tracks/2/imported = false tracks/2/enabled = true tracks/2/keys = { -"times": PoolRealArray( 0, 0.8, 0.9, 1, 1.65, 1.75, 1.85 ), +"times": PoolRealArray( 0, 0.8, 0.9, 1, 2.95, 3.05, 3.15 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ), "update": 0, "values": [ Vector2( 0, 0 ), Vector2( 1e-05, 1e-05 ), Vector2( 1.0418, 1 ), Vector2( 1, 0.96 ), Vector2( 1, 0.96 ), Vector2( 1.0418, 1 ), Vector2( 1e-05, 1e-05 ) ] @@ -138,7 +164,7 @@ tracks/3/loop_wrap = true tracks/3/imported = false tracks/3/enabled = true tracks/3/keys = { -"times": PoolRealArray( 0, 0.75, 0.85, 0.95, 1.05, 1.15, 1.25, 1.4, 2 ), +"times": PoolRealArray( 0, 0.75, 0.85, 1.4, 1.55, 1.75, 1.9, 2.05, 2.9 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "update": 1, "values": [ ExtResource( 1 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 6 ) ] @@ -150,7 +176,7 @@ tracks/4/loop_wrap = true tracks/4/imported = false tracks/4/enabled = true tracks/4/keys = { -"times": PoolRealArray( 0, 2 ), +"times": PoolRealArray( 0, 2.9 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ 1, 4 ] @@ -162,7 +188,7 @@ tracks/5/loop_wrap = true tracks/5/imported = false tracks/5/enabled = true tracks/5/keys = { -"times": PoolRealArray( 0, 2, 2.05, 2.1, 2.15 ), +"times": PoolRealArray( 0, 2.9, 2.95, 3, 3.05 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1 ), "update": 1, "values": [ 0, 0, 1, 2, 3 ] @@ -174,7 +200,7 @@ tracks/6/loop_wrap = true tracks/6/imported = false tracks/6/enabled = true tracks/6/keys = { -"times": PoolRealArray( 0, 2.4 ), +"times": PoolRealArray( 0, 3.3 ), "transitions": PoolRealArray( 1, 1 ), "update": 1, "values": [ ExtResource( 1 ), SubResource( 4 ) ] @@ -191,11 +217,23 @@ tracks/7/keys = { "update": 0, "values": [ Vector2( 1, 1 ) ] } +tracks/8/type = "value" +tracks/8/path = NodePath("OiSG:playing") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"times": PoolRealArray( 0, 0.85, 2.4 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 2, +"values": [ false, true, false ] +} [node name="Speccy" type="Node2D"] script = ExtResource( 7 ) messages_dir = "res://graphics/hud/speccy" -message = "" +message = "over_here" [node name="Flipper" type="Node2D" parent="."] @@ -211,9 +249,15 @@ texture = ExtResource( 1 ) offset = Vector2( 1, 0 ) region_rect = Rect2( 1.015, 0, 0, 0 ) +[node name="Message" type="Sprite" parent="."] +position = Vector2( 0, -24 ) +texture = ExtResource( 4 ) + +[node name="OiSG" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 8 ) +stream_paused = true +bus = "sound" + [node name="AnimationPlayer" type="AnimationPlayer" parent="."] anims/RESET = SubResource( 1 ) anims/fun = SubResource( 2 ) - -[node name="Message" type="Sprite" parent="."] -position = Vector2( 0, -24 )