diff --git a/assets/audio/full/eine-kleine-bass-full.wav b/assets/audio/eine-kleine-bass.wav similarity index 100% rename from assets/audio/full/eine-kleine-bass-full.wav rename to assets/audio/eine-kleine-bass.wav diff --git a/assets/audio/eine-kleine-bass.wav.import b/assets/audio/eine-kleine-bass.wav.import new file mode 100644 index 0000000..5933bce --- /dev/null +++ b/assets/audio/eine-kleine-bass.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cc6smyxkrrvfr" +path="res://.godot/imported/eine-kleine-bass.wav-da431b42043512cb79f0259aece1a574.sample" + +[deps] + +source_file="res://assets/audio/eine-kleine-bass.wav" +dest_files=["res://.godot/imported/eine-kleine-bass.wav-da431b42043512cb79f0259aece1a574.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/assets/audio/full/eine-kleine-cello-full.wav b/assets/audio/eine-kleine-cello.wav similarity index 99% rename from assets/audio/full/eine-kleine-cello-full.wav rename to assets/audio/eine-kleine-cello.wav index 656d499..6e615fc 100644 Binary files a/assets/audio/full/eine-kleine-cello-full.wav and b/assets/audio/eine-kleine-cello.wav differ diff --git a/assets/audio/eine-kleine-cello.wav.import b/assets/audio/eine-kleine-cello.wav.import new file mode 100644 index 0000000..9efa565 --- /dev/null +++ b/assets/audio/eine-kleine-cello.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://duovjdbif7wkw" +path="res://.godot/imported/eine-kleine-cello.wav-8d75694fa69be2507bcfea5d53533bbb.sample" + +[deps] + +source_file="res://assets/audio/eine-kleine-cello.wav" +dest_files=["res://.godot/imported/eine-kleine-cello.wav-8d75694fa69be2507bcfea5d53533bbb.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/assets/audio/full/eine-kleine-click.wav b/assets/audio/eine-kleine-click.wav similarity index 100% rename from assets/audio/full/eine-kleine-click.wav rename to assets/audio/eine-kleine-click.wav diff --git a/assets/audio/full/eine-kleine-click.wav.import b/assets/audio/eine-kleine-click.wav.import similarity index 52% rename from assets/audio/full/eine-kleine-click.wav.import rename to assets/audio/eine-kleine-click.wav.import index acb89b6..5929223 100644 --- a/assets/audio/full/eine-kleine-click.wav.import +++ b/assets/audio/eine-kleine-click.wav.import @@ -3,12 +3,12 @@ importer="wav" type="AudioStreamWAV" uid="uid://b8n6p428csquv" -path="res://.godot/imported/eine-kleine-click.wav-852262f48711240ef2bf8fbdd1754627.sample" +path="res://.godot/imported/eine-kleine-click.wav-fbba7e96ff9c246f0f527ee8aa6b0a58.sample" [deps] -source_file="res://assets/audio/full/eine-kleine-click.wav" -dest_files=["res://.godot/imported/eine-kleine-click.wav-852262f48711240ef2bf8fbdd1754627.sample"] +source_file="res://assets/audio/eine-kleine-click.wav" +dest_files=["res://.godot/imported/eine-kleine-click.wav-fbba7e96ff9c246f0f527ee8aa6b0a58.sample"] [params] diff --git a/assets/audio/new/eine-kleine-viol-new.wav b/assets/audio/eine-kleine-viol.wav similarity index 56% rename from assets/audio/new/eine-kleine-viol-new.wav rename to assets/audio/eine-kleine-viol.wav index a3b6381..32668ec 100644 Binary files a/assets/audio/new/eine-kleine-viol-new.wav and b/assets/audio/eine-kleine-viol.wav differ diff --git a/assets/audio/eine-kleine-viol.wav.import b/assets/audio/eine-kleine-viol.wav.import new file mode 100644 index 0000000..61d3676 --- /dev/null +++ b/assets/audio/eine-kleine-viol.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bd01iv6fpqbdh" +path="res://.godot/imported/eine-kleine-viol.wav-2fdf00e5db288bd2a59340ea589a6e73.sample" + +[deps] + +source_file="res://assets/audio/eine-kleine-viol.wav" +dest_files=["res://.godot/imported/eine-kleine-viol.wav-2fdf00e5db288bd2a59340ea589a6e73.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/assets/audio/full/eine-kleine-bass-full.wav.import b/assets/audio/full/eine-kleine-bass-full.wav.import deleted file mode 100644 index de9f5a0..0000000 --- a/assets/audio/full/eine-kleine-bass-full.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://bnypuodp8swg3" -path="res://.godot/imported/eine-kleine-bass-full.wav-6119ade6cad53a9417fc710d71a1e659.sample" - -[deps] - -source_file="res://assets/audio/full/eine-kleine-bass-full.wav" -dest_files=["res://.godot/imported/eine-kleine-bass-full.wav-6119ade6cad53a9417fc710d71a1e659.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=2 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=2 diff --git a/assets/audio/full/eine-kleine-cello-full.wav.import b/assets/audio/full/eine-kleine-cello-full.wav.import deleted file mode 100644 index 57c50ff..0000000 --- a/assets/audio/full/eine-kleine-cello-full.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://d3qyd08xk7d3h" -path="res://.godot/imported/eine-kleine-cello-full.wav-f99802a2b6c877194ef67d280ba2c41e.sample" - -[deps] - -source_file="res://assets/audio/full/eine-kleine-cello-full.wav" -dest_files=["res://.godot/imported/eine-kleine-cello-full.wav-f99802a2b6c877194ef67d280ba2c41e.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=2 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=2 diff --git a/assets/audio/full/eine-kleine-full.wav b/assets/audio/full/eine-kleine-full.wav deleted file mode 100644 index c0ebf27..0000000 Binary files a/assets/audio/full/eine-kleine-full.wav and /dev/null differ diff --git a/assets/audio/full/eine-kleine-full.wav.import b/assets/audio/full/eine-kleine-full.wav.import deleted file mode 100644 index 259aa37..0000000 --- a/assets/audio/full/eine-kleine-full.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://bflw7me3q03gf" -path="res://.godot/imported/eine-kleine-full.wav-1595b51d9b7f7cfa295f7b9a1475aabc.sample" - -[deps] - -source_file="res://assets/audio/full/eine-kleine-full.wav" -dest_files=["res://.godot/imported/eine-kleine-full.wav-1595b51d9b7f7cfa295f7b9a1475aabc.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=2 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=2 diff --git a/assets/audio/full/eine-kleine-viol-full.wav b/assets/audio/full/eine-kleine-viol-full.wav deleted file mode 100644 index 5d69e66..0000000 Binary files a/assets/audio/full/eine-kleine-viol-full.wav and /dev/null differ diff --git a/assets/audio/full/eine-kleine-viol-full.wav.import b/assets/audio/full/eine-kleine-viol-full.wav.import deleted file mode 100644 index 0efc27a..0000000 --- a/assets/audio/full/eine-kleine-viol-full.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://rn5a5gjgvn4k" -path="res://.godot/imported/eine-kleine-viol-full.wav-4818df65fd6b6c137b8c92ab505d7dd5.sample" - -[deps] - -source_file="res://assets/audio/full/eine-kleine-viol-full.wav" -dest_files=["res://.godot/imported/eine-kleine-viol-full.wav-4818df65fd6b6c137b8c92ab505d7dd5.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=2 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=2 diff --git a/assets/audio/new/eine-kleine-bass-new.wav b/assets/audio/new/eine-kleine-bass-new.wav deleted file mode 100644 index b7c12f0..0000000 Binary files a/assets/audio/new/eine-kleine-bass-new.wav and /dev/null differ diff --git a/assets/audio/new/eine-kleine-bass-new.wav.import b/assets/audio/new/eine-kleine-bass-new.wav.import deleted file mode 100644 index 6ee3728..0000000 --- a/assets/audio/new/eine-kleine-bass-new.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://c7xjmhkvyyebo" -path="res://.godot/imported/eine-kleine-bass-new.wav-77254fb7b0aeb514aba05a68fc85905f.sample" - -[deps] - -source_file="res://assets/audio/new/eine-kleine-bass-new.wav" -dest_files=["res://.godot/imported/eine-kleine-bass-new.wav-77254fb7b0aeb514aba05a68fc85905f.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=0 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=2 diff --git a/assets/audio/new/eine-kleine-cello-new.wav b/assets/audio/new/eine-kleine-cello-new.wav deleted file mode 100644 index 2f3e2f3..0000000 Binary files a/assets/audio/new/eine-kleine-cello-new.wav and /dev/null differ diff --git a/assets/audio/new/eine-kleine-cello-new.wav.import b/assets/audio/new/eine-kleine-cello-new.wav.import deleted file mode 100644 index 058a4d3..0000000 --- a/assets/audio/new/eine-kleine-cello-new.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://qm64ksqu4rjo" -path="res://.godot/imported/eine-kleine-cello-new.wav-3d5772878dfe0290618a80d2ccfbbabd.sample" - -[deps] - -source_file="res://assets/audio/new/eine-kleine-cello-new.wav" -dest_files=["res://.godot/imported/eine-kleine-cello-new.wav-3d5772878dfe0290618a80d2ccfbbabd.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=0 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=2 diff --git a/assets/audio/new/eine-kleine-viol-new.wav.import b/assets/audio/new/eine-kleine-viol-new.wav.import deleted file mode 100644 index 3e251b0..0000000 --- a/assets/audio/new/eine-kleine-viol-new.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://mjgarsewuf48" -path="res://.godot/imported/eine-kleine-viol-new.wav-5bd685fcc212089ad96db26c51ce191f.sample" - -[deps] - -source_file="res://assets/audio/new/eine-kleine-viol-new.wav" -dest_files=["res://.godot/imported/eine-kleine-viol-new.wav-5bd685fcc212089ad96db26c51ce191f.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=0 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=2 diff --git a/assets/tiles/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png b/assets/tiles/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png new file mode 100644 index 0000000..9a48211 Binary files /dev/null and b/assets/tiles/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png differ diff --git a/assets/tiles/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png.import b/assets/tiles/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png.import new file mode 100644 index 0000000..632dbed --- /dev/null +++ b/assets/tiles/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt1tsd8ahetqy" +path="res://.godot/imported/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png-216912e1461e3a9b7e7fd134f2f45534.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/tiles/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png" +dest_files=["res://.godot/imported/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png-216912e1461e3a9b7e7fd134f2f45534.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/main.gd b/main.gd deleted file mode 100644 index e5fd77b..0000000 --- a/main.gd +++ /dev/null @@ -1,63 +0,0 @@ -#@tool -#@icon(icon_path: String) -#class_name MyNode -extends Node -## Documentation comments - -## signal -## enum -## const -## @export var -var musicians: Array[Node] -var musician_lights: Array[Node] - -@onready var rhythm_manager: RhythmManager = %RhythmManager -@onready var conductor: AnimatedSprite2D = $Conductor -@onready var conductor_light: PointLight2D = %ConductorLight -@onready var click_track: AudioStreamPlayer2D = %ClickTrack - -## OVERRIDES - -func _ready() -> void: - musicians = get_tree().get_nodes_in_group("musicians") - print("Musicians: " + str(musicians)) - musician_lights = get_tree().get_nodes_in_group("musician_lights") - rhythm_manager.connect("song_started", on_song_started) -#func _process(delta: float) -> void: - #pass -# -#func _physics_process(delta: float) -> void: - #pass - -func _unhandled_input(event: InputEvent) -> void: - if event.is_action_pressed("ready"): - conductor.play("default") - conductor_light.visible = true - click_track.play() - if event.is_action_pressed("viol"): - enter_instrument(musicians[0]) - if event.is_action_pressed("cello"): - enter_instrument(musicians[1]) - if event.is_action_pressed("bass"): - enter_instrument(musicians[2]) -## CORE - -func enter_instrument(instrument: Node) -> void: - print("Now playing " + instrument.name) - var instrument_audio: AudioStreamPlayer2D = instrument.get_child(0) - var instrument_light: PointLight2D = instrument.get_child(1) - instrument.play("default") - instrument_audio.play() - instrument_light.visible = true - -## PRIVATE/HELPER - -## RECEIVERS - -func on_song_started() -> void: - for musician in musicians: - musician.play("default") - for light in musician_lights: - light.visible = true - -## SETTERS/GETTERS diff --git a/main.tscn b/main.tscn deleted file mode 100644 index 5de3b93..0000000 --- a/main.tscn +++ /dev/null @@ -1,413 +0,0 @@ -[gd_scene format=4 uid="uid://irgt7rn5kfap"] - -[ext_resource type="Script" uid="uid://bjv7i1kmivfai" path="res://main.gd" id="1_5vw27"] -[ext_resource type="Texture2D" uid="uid://42h7vrqekyma" path="res://assets/symphonyguys.png" id="1_ig7tw"] -[ext_resource type="Texture2D" uid="uid://cs47f2rurekyx" path="res://assets/tiles/floor_wood_01-32x16.png" id="2_0xm2m"] -[ext_resource type="AudioStream" uid="uid://bflw7me3q03gf" path="res://assets/audio/full/eine-kleine-full.wav" id="2_7mycd"] -[ext_resource type="AudioStream" uid="uid://mjgarsewuf48" path="res://assets/audio/new/eine-kleine-viol-new.wav" id="4_efxa6"] -[ext_resource type="Texture2D" uid="uid://d1li1mlxutaym" path="res://resources/point_light_texture.tres" id="5_kek77"] -[ext_resource type="AudioStream" uid="uid://qm64ksqu4rjo" path="res://assets/audio/new/eine-kleine-cello-new.wav" id="6_dg77c"] -[ext_resource type="PackedScene" uid="uid://ojisu2jrshsp" path="res://rhythm_manager.tscn" id="7_272bh"] -[ext_resource type="AudioStream" uid="uid://c7xjmhkvyyebo" path="res://assets/audio/new/eine-kleine-bass-new.wav" id="7_ycdy4"] -[ext_resource type="Texture2D" uid="uid://du5d58gs5hbv1" path="res://assets/tiles/Flat_Wood_01-SE-64x96-scaled-down.png" id="10_dg77c"] -[ext_resource type="PackedScene" uid="uid://dduyumwk5v1ge" path="res://click_track.tscn" id="11_efxa6"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_lquwl"] -atlas = ExtResource("1_ig7tw") -region = Rect2(96, 0, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0xm2m"] -atlas = ExtResource("1_ig7tw") -region = Rect2(0, 0, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_h2yge"] -atlas = ExtResource("1_ig7tw") -region = Rect2(32, 0, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1bvp3"] -atlas = ExtResource("1_ig7tw") -region = Rect2(64, 0, 32, 32) - -[sub_resource type="SpriteFrames" id="SpriteFrames_7mycd"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_lquwl") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_0xm2m") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_h2yge") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_1bvp3") -}], -"loop": true, -"name": &"default", -"speed": 4.0 -}] - -[sub_resource type="Gradient" id="Gradient_lquwl"] -interpolation_mode = 2 -offsets = PackedFloat32Array(0.5, 0.8) -colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0) - -[sub_resource type="GradientTexture2D" id="GradientTexture2D_4c57u"] -gradient = SubResource("Gradient_lquwl") -width = 96 -height = 48 -fill = 1 -fill_from = Vector2(0.5, 0.5) -fill_to = Vector2(0.85, 0.85) - -[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_4c57u"] -polygon = PackedVector2Array(0, 14, -2, 15, -4, 14) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ycdy4"] -atlas = ExtResource("1_ig7tw") -region = Rect2(0, 160, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_w48qg"] -atlas = ExtResource("1_ig7tw") -region = Rect2(32, 160, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_vivmo"] -atlas = ExtResource("1_ig7tw") -region = Rect2(64, 160, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_2cqfq"] -atlas = ExtResource("1_ig7tw") -region = Rect2(96, 160, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_yaehf"] -atlas = ExtResource("1_ig7tw") -region = Rect2(128, 160, 32, 32) - -[sub_resource type="SpriteFrames" id="SpriteFrames_074og"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_ycdy4") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_w48qg") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_vivmo") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_2cqfq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_yaehf") -}], -"loop": true, -"name": &"default", -"speed": 10.0 -}] - -[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_ycdy4"] -polygon = PackedVector2Array(0, 13, 3, 13, -1, 14) - -[sub_resource type="AtlasTexture" id="AtlasTexture_5vw27"] -atlas = ExtResource("1_ig7tw") -region = Rect2(192, 32, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_kek77"] -atlas = ExtResource("1_ig7tw") -region = Rect2(224, 32, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_4c57u"] -atlas = ExtResource("1_ig7tw") -region = Rect2(256, 32, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_efxa6"] -atlas = ExtResource("1_ig7tw") -region = Rect2(288, 32, 32, 32) - -[sub_resource type="SpriteFrames" id="SpriteFrames_dg77c"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_5vw27") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_kek77") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_4c57u") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_efxa6") -}], -"loop": true, -"name": &"default", -"speed": 8.0 -}] - -[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_dg77c"] -polygon = PackedVector2Array(-1, 13, 2, 14, -2, 15) - -[sub_resource type="AtlasTexture" id="AtlasTexture_0odxb"] -atlas = ExtResource("1_ig7tw") -region = Rect2(0, 32, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_lswn8"] -atlas = ExtResource("1_ig7tw") -region = Rect2(32, 32, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_a6jrf"] -atlas = ExtResource("1_ig7tw") -region = Rect2(64, 32, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_xuqvo"] -atlas = ExtResource("1_ig7tw") -region = Rect2(96, 32, 32, 32) - -[sub_resource type="AtlasTexture" id="AtlasTexture_qsp4k"] -atlas = ExtResource("1_ig7tw") -region = Rect2(128, 32, 32, 32) - -[sub_resource type="SpriteFrames" id="SpriteFrames_kq58d"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_0odxb") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_lswn8") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_a6jrf") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_xuqvo") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_qsp4k") -}], -"loop": true, -"name": &"default", -"speed": 10.0 -}] - -[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_efxa6"] -polygon = PackedVector2Array(-2, 14, 4, 15, -4, 14) - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_h2yge"] -texture = ExtResource("2_0xm2m") -texture_region_size = Vector2i(32, 16) -0:0/0 = 0 -1:0/0 = 0 -2:0/0 = 0 -0:1/0 = 0 -1:1/0 = 0 -2:1/0 = 0 -0:2/0 = 0 -1:2/0 = 0 -2:2/0 = 0 -0:3/0 = 0 -1:3/0 = 0 -2:3/0 = 0 -0:4/0 = 0 -1:4/0 = 0 -2:4/0 = 0 -0:5/0 = 0 -1:5/0 = 0 -2:5/0 = 0 - -[sub_resource type="TileSet" id="TileSet_272bh"] -tile_shape = 1 -tile_size = Vector2i(32, 16) -sources/5 = SubResource("TileSetAtlasSource_h2yge") - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_dg77c"] -texture = ExtResource("10_dg77c") -texture_region_size = Vector2i(16, 24) -0:0/0 = 0 -1:0/0 = 0 -2:0/0 = 0 -3:0/0 = 0 -4:0/0 = 0 -5:0/0 = 0 -0:1/0 = 0 -1:1/0 = 0 -2:1/0 = 0 -3:1/0 = 0 -4:1/0 = 0 -5:1/0 = 0 -0:2/0 = 0 -1:2/0 = 0 -2:2/0 = 0 -3:2/0 = 0 -4:2/0 = 0 -5:2/0 = 0 -0:3/0 = 0 -1:3/0 = 0 -2:3/0 = 0 -3:3/0 = 0 -4:3/0 = 0 -5:3/0 = 0 - -[sub_resource type="TileSet" id="TileSet_ycdy4"] -tile_shape = 1 -tile_size = Vector2i(32, 16) -sources/0 = SubResource("TileSetAtlasSource_dg77c") - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ycdy4"] -texture = ExtResource("10_dg77c") -texture_region_size = Vector2i(16, 24) -0:0/0 = 0 -1:0/0 = 0 -2:0/0 = 0 -3:0/0 = 0 -4:0/0 = 0 -5:0/0 = 0 -0:1/0 = 0 -1:1/0 = 0 -2:1/0 = 0 -3:1/0 = 0 -4:1/0 = 0 -5:1/0 = 0 -0:2/0 = 0 -1:2/0 = 0 -2:2/0 = 0 -3:2/0 = 0 -4:2/0 = 0 -5:2/0 = 0 -0:3/0 = 0 -1:3/0 = 0 -2:3/0 = 0 -3:3/0 = 0 -4:3/0 = 0 -5:3/0 = 0 - -[sub_resource type="TileSet" id="TileSet_w48qg"] -tile_shape = 1 -tile_size = Vector2i(32, 16) -sources/0 = SubResource("TileSetAtlasSource_ycdy4") - -[node name="Main" type="Node2D" unique_id=1319338792] -script = ExtResource("1_5vw27") - -[node name="Camera2D" type="Camera2D" parent="." unique_id=1314238347] -zoom = Vector2(6, 6) - -[node name="Conductor" type="AnimatedSprite2D" parent="." unique_id=880231478] -position = Vector2(26, 31) -sprite_frames = SubResource("SpriteFrames_7mycd") -frame_progress = 0.51704574 - -[node name="FullAudio" type="AudioStreamPlayer2D" parent="Conductor" unique_id=1320626273] -stream = ExtResource("2_7mycd") - -[node name="ConductorLight" type="PointLight2D" parent="Conductor" unique_id=339554188] -unique_name_in_owner = true -visible = false -position = Vector2(5, 9) -energy = 0.8 -shadow_enabled = true -shadow_filter = 2 -shadow_filter_smooth = 7.6 -texture = SubResource("GradientTexture2D_4c57u") - -[node name="ConductorOccluder" type="LightOccluder2D" parent="Conductor" unique_id=122003117] -occluder = SubResource("OccluderPolygon2D_4c57u") - -[node name="Musicians" type="Node2D" parent="." unique_id=237973745] - -[node name="Viol" type="AnimatedSprite2D" parent="Musicians" unique_id=932682158 groups=["musicians"]] -position = Vector2(14, 6) -sprite_frames = SubResource("SpriteFrames_074og") -frame_progress = 0.6208535 - -[node name="ViolAudio" type="AudioStreamPlayer2D" parent="Musicians/Viol" unique_id=800067327] -stream = ExtResource("4_efxa6") - -[node name="ViolLight" type="PointLight2D" parent="Musicians/Viol" unique_id=953248893 groups=["musician_lights"]] -visible = false -z_index = 100 -position = Vector2(7, 8) -energy = 0.8 -shadow_enabled = true -shadow_filter = 2 -shadow_filter_smooth = 7.6 -texture = ExtResource("5_kek77") - -[node name="ViolOccluder" type="LightOccluder2D" parent="Musicians/Viol" unique_id=781715626] -position = Vector2(1, 0) -occluder = SubResource("OccluderPolygon2D_ycdy4") - -[node name="Cello" type="AnimatedSprite2D" parent="Musicians" unique_id=504793709 groups=["musicians"]] -position = Vector2(-35, 20) -sprite_frames = SubResource("SpriteFrames_dg77c") -frame_progress = 0.5045058 - -[node name="CelloAudio" type="AudioStreamPlayer2D" parent="Musicians/Cello" unique_id=526745522] -stream = ExtResource("6_dg77c") - -[node name="CelloLight" type="PointLight2D" parent="Musicians/Cello" unique_id=576926503 groups=["musician_lights"]] -visible = false -position = Vector2(10, 9) -energy = 0.8 -shadow_enabled = true -shadow_filter = 2 -shadow_filter_smooth = 7.6 -texture = ExtResource("5_kek77") - -[node name="CelloOccluder" type="LightOccluder2D" parent="Musicians/Cello" unique_id=1913557474] -position = Vector2(1, 0) -occluder = SubResource("OccluderPolygon2D_dg77c") - -[node name="Bass" type="AnimatedSprite2D" parent="Musicians" unique_id=1099071968 groups=["musicians"]] -z_index = 10 -position = Vector2(-32, -8) -sprite_frames = SubResource("SpriteFrames_kq58d") -frame_progress = 0.30279997 - -[node name="BassAudio" type="AudioStreamPlayer2D" parent="Musicians/Bass" unique_id=1653394620] -stream = ExtResource("7_ycdy4") - -[node name="BassLight" type="PointLight2D" parent="Musicians/Bass" unique_id=1562439646 groups=["musician_lights"]] -visible = false -position = Vector2(9, 9) -energy = 0.8 -shadow_enabled = true -shadow_filter = 2 -shadow_filter_smooth = 7.6 -texture = ExtResource("5_kek77") - -[node name="BassOccluder" type="LightOccluder2D" parent="Musicians/Bass" unique_id=2068886055] -position = Vector2(1, 0) -occluder = SubResource("OccluderPolygon2D_efxa6") - -[node name="Tilemaps" type="Node2D" parent="." unique_id=1115514972] - -[node name="Stage" type="TileMapLayer" parent="Tilemaps" unique_id=15466516] -z_index = -10 -tile_map_data = PackedByteArray("AAD8//L/BQABAAQAAAD8//P/BQABAAQAAAD8//T/BQABAAQAAAD8//X/BQABAAQAAAD8//b/BQABAAQAAAD8//f/BQABAAQAAAD8//j/BQABAAQAAAD8//n/BQABAAQAAAD8//r/BQABAAQAAAD8//v/BQABAAQAAAD8//z/BQABAAQAAAD8//3/BQABAAQAAAD8//7/BQABAAQAAAD8////BQABAAQAAAD8/wAABQABAAQAAAD8/wEABQABAAQAAAD8/wIABQABAAQAAAD8/wMABQABAAQAAAD8/wQABQABAAQAAAD8/wUABQABAAQAAAD8/wYABQABAAQAAAD8/wcABQABAAQAAAD8/wgABQABAAQAAAD9//L/BQABAAQAAAD9//P/BQABAAQAAAD9//T/BQABAAQAAAD9//X/BQABAAQAAAD9//b/BQABAAQAAAD9//f/BQABAAQAAAD9//j/BQABAAQAAAD9//n/BQABAAQAAAD9//r/BQABAAQAAAD9//v/BQABAAQAAAD9//z/BQABAAQAAAD9//3/BQABAAQAAAD9//7/BQABAAQAAAD9////BQABAAQAAAD9/wAABQABAAQAAAD9/wEABQABAAQAAAD9/wIABQABAAQAAAD9/wMABQABAAQAAAD9/wQABQABAAQAAAD9/wUABQABAAQAAAD9/wYABQABAAQAAAD9/wcABQABAAQAAAD9/wgABQABAAQAAAD+//L/BQABAAQAAAD+//P/BQABAAQAAAD+//T/BQABAAQAAAD+//X/BQABAAQAAAD+//b/BQABAAQAAAD+//f/BQABAAQAAAD+//j/BQABAAQAAAD+//n/BQABAAQAAAD+//r/BQABAAQAAAD+//v/BQABAAQAAAD+//z/BQABAAQAAAD+//3/BQABAAQAAAD+//7/BQABAAQAAAD+////BQABAAQAAAD+/wAABQABAAQAAAD+/wEABQABAAQAAAD+/wIABQABAAQAAAD+/wMABQABAAQAAAD+/wQABQABAAQAAAD+/wUABQABAAQAAAD+/wYABQABAAQAAAD+/wcABQABAAQAAAD+/wgABQABAAQAAAD///L/BQABAAQAAAD///P/BQABAAQAAAD///T/BQABAAQAAAD///X/BQABAAQAAAD///b/BQABAAQAAAD///f/BQABAAQAAAD///j/BQABAAQAAAD///n/BQABAAQAAAD///r/BQABAAQAAAD///v/BQABAAQAAAD///z/BQABAAQAAAD///3/BQABAAQAAAD///7/BQABAAQAAAD/////BQABAAQAAAD//wAABQABAAQAAAD//wEABQABAAQAAAD//wIABQABAAQAAAD//wMABQABAAQAAAD//wQABQABAAQAAAD//wUABQABAAQAAAD//wYABQABAAQAAAD//wcABQABAAQAAAD//wgABQABAAQAAAAAAPL/BQABAAQAAAAAAPP/BQABAAQAAAAAAPT/BQABAAQAAAAAAPX/BQABAAQAAAAAAPb/BQABAAQAAAAAAPf/BQABAAQAAAAAAPj/BQABAAQAAAAAAPn/BQABAAQAAAAAAPr/BQABAAQAAAAAAPv/BQABAAQAAAAAAPz/BQABAAQAAAAAAP3/BQABAAQAAAAAAP7/BQABAAQAAAAAAP//BQABAAQAAAAAAAAABQABAAQAAAAAAAEABQABAAQAAAAAAAIABQABAAQAAAAAAAMABQABAAQAAAAAAAQABQABAAQAAAAAAAUABQABAAQAAAAAAAYABQABAAQAAAAAAAcABQABAAQAAAAAAAgABQABAAQAAAABAPL/BQABAAQAAAABAPP/BQABAAQAAAABAPT/BQABAAQAAAABAPX/BQABAAQAAAABAPb/BQABAAQAAAABAPf/BQABAAQAAAABAPj/BQABAAQAAAABAPn/BQABAAQAAAABAPr/BQABAAQAAAABAPv/BQABAAQAAAABAPz/BQABAAQAAAABAP3/BQABAAQAAAABAP7/BQABAAQAAAABAP//BQABAAQAAAABAAAABQABAAQAAAABAAEABQABAAQAAAABAAIABQABAAQAAAABAAMABQABAAQAAAABAAQABQABAAQAAAABAAUABQABAAQAAAABAAYABQABAAQAAAABAAcABQABAAQAAAABAAgABQABAAQAAAACAPL/BQABAAQAAAACAPP/BQABAAQAAAACAPT/BQABAAQAAAACAPX/BQABAAQAAAACAPb/BQABAAQAAAACAPf/BQABAAQAAAACAPj/BQABAAQAAAACAPn/BQABAAQAAAACAPr/BQABAAQAAAACAPv/BQABAAQAAAACAPz/BQABAAQAAAACAP3/BQABAAQAAAACAP7/BQABAAQAAAACAP//BQABAAQAAAACAAAABQABAAQAAAACAAEABQABAAQAAAACAAIABQABAAQAAAACAAMABQABAAQAAAACAAQABQABAAQAAAACAAUABQABAAQAAAACAAYABQABAAQAAAACAAcABQABAAQAAAACAAgABQABAAQAAAADAPL/BQABAAQAAAADAPP/BQABAAQAAAADAPT/BQABAAQAAAADAPX/BQABAAQAAAADAPb/BQABAAQAAAADAPf/BQABAAQAAAADAPj/BQABAAQAAAADAPn/BQABAAQAAAADAPr/BQABAAQAAAADAPv/BQABAAQAAAADAPz/BQABAAQAAAADAP3/BQABAAQAAAADAP7/BQABAAQAAAADAP//BQABAAQAAAADAAAABQABAAQAAAADAAEABQABAAQAAAADAAIABQABAAQAAAADAAMABQABAAQAAAADAAQABQABAAQAAAADAAUABQABAAQAAAADAAYABQABAAQAAAADAAcABQABAAQAAAADAAgABQABAAQAAAA=") -tile_set = SubResource("TileSet_272bh") - -[node name="BackLeftWalls" type="TileMapLayer" parent="Tilemaps" unique_id=1380589034] -z_index = 1 -tile_map_data = PackedByteArray("AAD9//n/AAAEAAIAAAD9//r/AAAEAAIAAAD8//v/AAAEAAIAAAD8//z/AAAEAAIAAAD7//3/AAAEAAEAAAD7/wAAAAAEAAEAAAD7////AAAEAAEAAAD8//7/AAAEAAIAAAD8//3/AAAEAAIAAAD9//z/AAAEAAIAAAD9//v/AAAEAAIAAAD+//r/AAAEAAIAAAD+//n/AAAEAAIAAAD///j/AAAEAAIAAAD+//j/AAAEAAIAAAD7//7/AAAEAAEAAAD///r/AAAEAAIAAAD+//v/AAAEAAIAAAD+//z/AAAEAAIAAAD9//3/AAAEAAIAAAD9//7/AAAEAAIAAAD8////AAAEAAIAAAD+//f/AAAEAAIAAAD8//n/AAAEAAIAAAD9//j/AAAEAAIAAAD9//f/AAAEAAIAAAD+//b/AAAEAAIAAAD+//X/AAAEAAIAAAD///T/AAAEAAIAAAD///b/AAAEAAIAAAD8//r/AAAEAAIAAAD8/wAAAAAEAAIAAAD///L/AAAEAAIAAAD+//P/AAAEAAIAAAD+//T/AAAEAAIAAAD9//X/AAAEAAIAAAD9//b/AAAEAAIAAAD8//f/AAAEAAIAAAD8//j/AAAEAAIAAAA=") -tile_set = SubResource("TileSet_ycdy4") - -[node name="BackRightWalls" type="TileMapLayer" parent="Tilemaps" unique_id=1757009184] -position = Vector2(0, -8) -tile_map_data = PackedByteArray("AAABAPn/AAAFAAIAAAACAPr/AAAFAAIAAAAAAPn/AAAFAAIAAAABAPr/AAAFAAIAAAABAPv/AAAFAAIAAAACAPz/AAAFAAIAAAACAP3/AAAFAAIAAAAAAPr/AAAFAAIAAAAAAPv/AAAFAAIAAAABAPz/AAAFAAIAAAABAP3/AAAFAAIAAAACAP7/AAAFAAIAAAAAAPj/AAAFAAIAAAABAPj/AAAFAAIAAAACAPv/AAAFAAIAAAADAPz/AAAFAAIAAAAAAPf/AAAFAAIAAAAAAPb/AAAFAAIAAAD///v/AAAFAAIAAAAAAPz/AAAFAAIAAAAAAP3/AAAFAAIAAAABAP7/AAAFAAIAAAABAP//AAAFAAIAAAACAAAAAAAFAAIAAAACAAEAAAAFAAIAAAD///f/AAAFAAIAAAD///X/AAAFAAIAAAD///n/AAAFAAIAAAADAPr/AAAFAAIAAAADAP7/AAAFAAIAAAACAP//AAAFAAIAAAADAAAAAAAFAAIAAAADAAIAAAAFAAIAAAACAPn/AAAFAAIAAAACAPj/AAAFAAIAAAABAPf/AAAFAAIAAAABAPb/AAAFAAIAAAAAAPX/AAAFAAIAAAAAAPT/AAAFAAIAAAD///P/AAAFAAIAAAADAPj/AAAFAAIAAAACAPf/AAAFAAIAAAACAPb/AAAFAAIAAAABAPX/AAAFAAIAAAABAPT/AAAFAAIAAAAAAPP/AAAFAAIAAAAAAPL/AAAFAAIAAAD///H/AAAFAAIAAAA=") -tile_set = SubResource("TileSet_w48qg") - -[node name="CanvasModulate" type="CanvasModulate" parent="." unique_id=1681660400] -color = Color(0.3478174, 0.34781674, 0.3478171, 1) - -[node name="UI" type="CanvasLayer" parent="." unique_id=701919079] -visible = false - -[node name="RhythmManager" parent="UI" unique_id=2036637300 node_paths=PackedStringArray("target_audio") instance=ExtResource("7_272bh")] -unique_name_in_owner = true -target_audio = NodePath("../../Conductor/FullAudio") - -[node name="ClickTrack" parent="." unique_id=1931221522 instance=ExtResource("11_efxa6")] -unique_name_in_owner = true diff --git a/shadow.gdshader b/resources/shadow.gdshader similarity index 100% rename from shadow.gdshader rename to resources/shadow.gdshader diff --git a/shadow.gdshader.uid b/resources/shadow.gdshader.uid similarity index 100% rename from shadow.gdshader.uid rename to resources/shadow.gdshader.uid diff --git a/click_track.tscn b/scenes/click_track.tscn similarity index 77% rename from click_track.tscn rename to scenes/click_track.tscn index ba69ead..f23bf15 100644 --- a/click_track.tscn +++ b/scenes/click_track.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://dduyumwk5v1ge"] -[ext_resource type="AudioStream" uid="uid://b8n6p428csquv" path="res://assets/audio/full/eine-kleine-click.wav" id="1_048mw"] +[ext_resource type="AudioStream" uid="uid://b8n6p428csquv" path="res://assets/audio/eine-kleine-click.wav" id="1_048mw"] [node name="ClickTrack" type="AudioStreamPlayer2D" unique_id=1931221522] stream = ExtResource("1_048mw") diff --git a/scenes/conductor.tscn b/scenes/conductor.tscn new file mode 100644 index 0000000..f1720a3 --- /dev/null +++ b/scenes/conductor.tscn @@ -0,0 +1,84 @@ +[gd_scene format=3 uid="uid://cj48n8wtq70ea"] + +[ext_resource type="Texture2D" uid="uid://42h7vrqekyma" path="res://assets/symphonyguys.png" id="1_lxg7y"] +[ext_resource type="Script" uid="uid://dppf0pasfnksi" path="res://scripts/conductor.gd" id="2_x67ht"] +[ext_resource type="AudioStream" uid="uid://b8n6p428csquv" path="res://assets/audio/eine-kleine-click.wav" id="3_q7w51"] +[ext_resource type="PackedScene" uid="uid://cwdkw1p371bks" path="res://scenes/musicians/input_prompt.tscn" id="4_0iywx"] +[ext_resource type="Texture2D" uid="uid://do6jqp2l6nmwm" path="res://assets/input/keyboard_r_outline.png" id="5_r54h3"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_lquwl"] +atlas = ExtResource("1_lxg7y") +region = Rect2(96, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0xm2m"] +atlas = ExtResource("1_lxg7y") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_h2yge"] +atlas = ExtResource("1_lxg7y") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1bvp3"] +atlas = ExtResource("1_lxg7y") +region = Rect2(64, 0, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_7mycd"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_lquwl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0xm2m") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_h2yge") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1bvp3") +}], +"loop": true, +"name": &"default", +"speed": 4.0 +}] + +[sub_resource type="Gradient" id="Gradient_lquwl"] +interpolation_mode = 2 +offsets = PackedFloat32Array(0.5, 0.8) +colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_4c57u"] +gradient = SubResource("Gradient_lquwl") +width = 96 +height = 48 +fill = 1 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(0.85, 0.85) + +[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_4c57u"] +polygon = PackedVector2Array(0, 14, -2, 15, -4, 14) + +[node name="Conductor" type="AnimatedSprite2D" unique_id=607493736] +position = Vector2(2, 0) +sprite_frames = SubResource("SpriteFrames_7mycd") +frame_progress = 0.51704574 +script = ExtResource("2_x67ht") + +[node name="Audio" type="AudioStreamPlayer2D" parent="." unique_id=1922730130] +stream = ExtResource("3_q7w51") + +[node name="Light" type="PointLight2D" parent="." unique_id=1770033681] +unique_name_in_owner = true +position = Vector2(5, 9) +energy = 0.8 +shadow_enabled = true +shadow_filter = 2 +shadow_filter_smooth = 7.6 +texture = SubResource("GradientTexture2D_4c57u") + +[node name="Occluder" type="LightOccluder2D" parent="." unique_id=978661388] +occluder = SubResource("OccluderPolygon2D_4c57u") + +[node name="InputPrompt" parent="." unique_id=590379112 instance=ExtResource("4_0iywx")] +position = Vector2(-2, 24) +texture = ExtResource("5_r54h3") diff --git a/scenes/main.tscn b/scenes/main.tscn new file mode 100644 index 0000000..ce93134 --- /dev/null +++ b/scenes/main.tscn @@ -0,0 +1,213 @@ +[gd_scene format=4 uid="uid://irgt7rn5kfap"] + +[ext_resource type="Script" uid="uid://bjv7i1kmivfai" path="res://scripts/main.gd" id="1_5vw27"] +[ext_resource type="Texture2D" uid="uid://cs47f2rurekyx" path="res://assets/tiles/floor_wood_01-32x16.png" id="2_0xm2m"] +[ext_resource type="PackedScene" uid="uid://cj48n8wtq70ea" path="res://scenes/conductor.tscn" id="2_4c57u"] +[ext_resource type="PackedScene" uid="uid://c5mms8bhjkplb" path="res://scenes/musicians/viol.tscn" id="3_efxa6"] +[ext_resource type="PackedScene" uid="uid://ekd4tkk01nug" path="res://scenes/musicians/cello.tscn" id="4_dg77c"] +[ext_resource type="PackedScene" uid="uid://b3ytvnucd8hod" path="res://scenes/musicians/bass.tscn" id="5_ycdy4"] +[ext_resource type="Texture2D" uid="uid://du5d58gs5hbv1" path="res://assets/tiles/Flat_Wood_01-SE-64x96-scaled-down.png" id="10_dg77c"] +[ext_resource type="Texture2D" uid="uid://bt1tsd8ahetqy" path="res://assets/tiles/Flat_Wood_01_WindowA-SE-64x96-scaled-down.png" id="10_ycdy4"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_h2yge"] +texture = ExtResource("2_0xm2m") +texture_region_size = Vector2i(32, 16) +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +0:3/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +0:4/0 = 0 +1:4/0 = 0 +2:4/0 = 0 +0:5/0 = 0 +1:5/0 = 0 +2:5/0 = 0 + +[sub_resource type="TileSet" id="TileSet_272bh"] +tile_shape = 1 +tile_size = Vector2i(32, 16) +sources/5 = SubResource("TileSetAtlasSource_h2yge") + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_dg77c"] +texture = ExtResource("10_dg77c") +texture_region_size = Vector2i(16, 24) +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +3:0/0 = 0 +4:0/0 = 0 +5:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +3:1/0 = 0 +4:1/0 = 0 +5:1/0 = 0 +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +3:2/0 = 0 +4:2/0 = 0 +5:2/0 = 0 +0:3/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +3:3/0 = 0 +4:3/0 = 0 +5:3/0 = 0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_w48qg"] +texture = ExtResource("10_ycdy4") +texture_region_size = Vector2i(16, 24) +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +0:3/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +3:0/0 = 0 +4:0/0 = 0 +5:0/0 = 0 +3:1/0 = 0 +4:1/0 = 0 +5:1/0 = 0 +3:2/0 = 0 +4:2/0 = 0 +5:2/0 = 0 +3:3/0 = 0 +4:3/0 = 0 +5:3/0 = 0 + +[sub_resource type="TileSet" id="TileSet_ycdy4"] +tile_shape = 1 +tile_size = Vector2i(32, 16) +sources/0 = SubResource("TileSetAtlasSource_dg77c") +sources/1 = SubResource("TileSetAtlasSource_w48qg") + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ycdy4"] +texture = ExtResource("10_dg77c") +texture_region_size = Vector2i(16, 24) +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +3:0/0 = 0 +4:0/0 = 0 +5:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +3:1/0 = 0 +4:1/0 = 0 +5:1/0 = 0 +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +3:2/0 = 0 +4:2/0 = 0 +5:2/0 = 0 +0:3/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +3:3/0 = 0 +4:3/0 = 0 +5:3/0 = 0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_vivmo"] +texture = ExtResource("10_ycdy4") +texture_region_size = Vector2i(16, 24) +0:0/0 = 0 +1:0/0 = 0 +2:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +2:1/0 = 0 +0:2/0 = 0 +1:2/0 = 0 +2:2/0 = 0 +0:3/0 = 0 +1:3/0 = 0 +2:3/0 = 0 +3:0/0 = 0 +4:0/0 = 0 +5:0/0 = 0 +3:1/0 = 0 +4:1/0 = 0 +5:1/0 = 0 +3:2/0 = 0 +4:2/0 = 0 +5:2/0 = 0 +3:3/0 = 0 +4:3/0 = 0 +5:3/0 = 0 + +[sub_resource type="TileSet" id="TileSet_w48qg"] +tile_shape = 1 +tile_size = Vector2i(32, 16) +sources/0 = SubResource("TileSetAtlasSource_ycdy4") +sources/1 = SubResource("TileSetAtlasSource_vivmo") + +[node name="Main" type="Node2D" unique_id=1319338792] +y_sort_enabled = true +script = ExtResource("1_5vw27") + +[node name="Camera2D" type="Camera2D" parent="." unique_id=1314238347] +position = Vector2(-4, 13) +zoom = Vector2(8, 8) + +[node name="Conductor" parent="." unique_id=607493736 instance=ExtResource("2_4c57u")] +unique_name_in_owner = true +y_sort_enabled = true +position = Vector2(8, 25) + +[node name="Musicians" type="Node2D" parent="." unique_id=237973745] +y_sort_enabled = true + +[node name="Viol" parent="Musicians" unique_id=173609985 instance=ExtResource("3_efxa6")] +unique_name_in_owner = true +y_sort_enabled = true +position = Vector2(-47, 19) + +[node name="Cello" parent="Musicians" unique_id=1539517068 instance=ExtResource("4_dg77c")] +unique_name_in_owner = true +y_sort_enabled = true +position = Vector2(28, 1) +frame_progress = 0.0 + +[node name="Bass" parent="Musicians" unique_id=1326988360 instance=ExtResource("5_ycdy4")] +unique_name_in_owner = true +y_sort_enabled = true +position = Vector2(-25, -6) + +[node name="Tilemaps" type="Node2D" parent="." unique_id=1115514972] + +[node name="Stage" type="TileMapLayer" parent="Tilemaps" unique_id=15466516] +z_index = -10 +tile_map_data = PackedByteArray("AAD8//L/BQABAAQAAAD8//P/BQABAAQAAAD8//T/BQABAAQAAAD8//X/BQABAAQAAAD8//b/BQABAAQAAAD8//f/BQABAAQAAAD8//j/BQABAAQAAAD8//n/BQABAAQAAAD8//r/BQABAAQAAAD8//v/BQABAAQAAAD8//z/BQABAAQAAAD8//3/BQABAAQAAAD8//7/BQABAAQAAAD8////BQABAAQAAAD8/wAABQABAAQAAAD8/wEABQABAAQAAAD8/wIABQABAAQAAAD8/wMABQABAAQAAAD8/wQABQABAAQAAAD8/wUABQABAAQAAAD8/wYABQABAAQAAAD8/wcABQABAAQAAAD8/wgABQABAAQAAAD9//L/BQABAAQAAAD9//P/BQABAAQAAAD9//T/BQABAAQAAAD9//X/BQABAAQAAAD9//b/BQABAAQAAAD9//f/BQABAAQAAAD9//j/BQABAAQAAAD9//n/BQABAAQAAAD9//r/BQABAAQAAAD9//v/BQABAAQAAAD9//z/BQABAAQAAAD9//3/BQABAAQAAAD9//7/BQABAAQAAAD9////BQABAAQAAAD9/wAABQABAAQAAAD9/wEABQABAAQAAAD9/wIABQABAAQAAAD9/wMABQABAAQAAAD9/wQABQABAAQAAAD9/wUABQABAAQAAAD9/wYABQABAAQAAAD9/wcABQABAAQAAAD9/wgABQABAAQAAAD+//L/BQABAAQAAAD+//P/BQABAAQAAAD+//T/BQABAAQAAAD+//X/BQABAAQAAAD+//b/BQABAAQAAAD+//f/BQABAAQAAAD+//j/BQABAAQAAAD+//n/BQABAAQAAAD+//r/BQABAAQAAAD+//v/BQABAAQAAAD+//z/BQABAAQAAAD+//3/BQABAAQAAAD+//7/BQABAAQAAAD+////BQABAAQAAAD+/wAABQABAAQAAAD+/wEABQABAAQAAAD+/wIABQABAAQAAAD+/wMABQABAAQAAAD+/wQABQABAAQAAAD+/wUABQABAAQAAAD+/wYABQABAAQAAAD+/wcABQABAAQAAAD+/wgABQABAAQAAAD///L/BQABAAQAAAD///P/BQABAAQAAAD///T/BQABAAQAAAD///X/BQABAAQAAAD///b/BQABAAQAAAD///f/BQABAAQAAAD///j/BQABAAQAAAD///n/BQABAAQAAAD///r/BQABAAQAAAD///v/BQABAAQAAAD///z/BQABAAQAAAD///3/BQABAAQAAAD///7/BQABAAQAAAD/////BQABAAQAAAD//wAABQABAAQAAAD//wEABQABAAQAAAD//wIABQABAAQAAAD//wMABQABAAQAAAD//wQABQABAAQAAAD//wUABQABAAQAAAD//wYABQABAAQAAAD//wcABQABAAQAAAD//wgABQABAAQAAAAAAPL/BQABAAQAAAAAAPP/BQABAAQAAAAAAPT/BQABAAQAAAAAAPX/BQABAAQAAAAAAPb/BQABAAQAAAAAAPf/BQABAAQAAAAAAPj/BQABAAQAAAAAAPn/BQABAAQAAAAAAPr/BQABAAQAAAAAAPv/BQABAAQAAAAAAPz/BQABAAQAAAAAAP3/BQABAAQAAAAAAP7/BQABAAQAAAAAAP//BQABAAQAAAAAAAAABQABAAQAAAAAAAEABQABAAQAAAAAAAIABQABAAQAAAAAAAMABQABAAQAAAAAAAQABQABAAQAAAAAAAUABQABAAQAAAAAAAYABQABAAQAAAAAAAcABQABAAQAAAAAAAgABQABAAQAAAABAPL/BQABAAQAAAABAPP/BQABAAQAAAABAPT/BQABAAQAAAABAPX/BQABAAQAAAABAPb/BQABAAQAAAABAPf/BQABAAQAAAABAPj/BQABAAQAAAABAPn/BQABAAQAAAABAPr/BQABAAQAAAABAPv/BQABAAQAAAABAPz/BQABAAQAAAABAP3/BQABAAQAAAABAP7/BQABAAQAAAABAP//BQABAAQAAAABAAAABQABAAQAAAABAAEABQABAAQAAAABAAIABQABAAQAAAABAAMABQABAAQAAAABAAQABQABAAQAAAABAAUABQABAAQAAAABAAYABQABAAQAAAABAAcABQABAAQAAAABAAgABQABAAQAAAACAPL/BQABAAQAAAACAPP/BQABAAQAAAACAPT/BQABAAQAAAACAPX/BQABAAQAAAACAPb/BQABAAQAAAACAPf/BQABAAQAAAACAPj/BQABAAQAAAACAPn/BQABAAQAAAACAPr/BQABAAQAAAACAPv/BQABAAQAAAACAPz/BQABAAQAAAACAP3/BQABAAQAAAACAP7/BQABAAQAAAACAP//BQABAAQAAAACAAAABQABAAQAAAACAAEABQABAAQAAAACAAIABQABAAQAAAACAAMABQABAAQAAAACAAQABQABAAQAAAACAAUABQABAAQAAAACAAYABQABAAQAAAACAAcABQABAAQAAAACAAgABQABAAQAAAADAPL/BQABAAQAAAADAPP/BQABAAQAAAADAPT/BQABAAQAAAADAPX/BQABAAQAAAADAPb/BQABAAQAAAADAPf/BQABAAQAAAADAPj/BQABAAQAAAADAPn/BQABAAQAAAADAPr/BQABAAQAAAADAPv/BQABAAQAAAADAPz/BQABAAQAAAADAP3/BQABAAQAAAADAP7/BQABAAQAAAADAP//BQABAAQAAAADAAAABQABAAQAAAADAAEABQABAAQAAAADAAIABQABAAQAAAADAAMABQABAAQAAAADAAQABQABAAQAAAADAAUABQABAAQAAAADAAYABQABAAQAAAADAAcABQABAAQAAAADAAgABQABAAQAAAA=") +tile_set = SubResource("TileSet_272bh") + +[node name="BackLeftWalls" type="TileMapLayer" parent="Tilemaps" unique_id=1380589034] +z_index = 1 +tile_map_data = PackedByteArray("AAD9//n/AQAEAAIAAAD9//r/AAAEAAIAAAD8//v/AQAEAAIAAAD8//z/AAAEAAIAAAD7//3/AAAEAAEAAAD7/wAAAAAEAAEAAAD7////AAAEAAEAAAD8//7/AQAEAAIAAAD8//3/AAAEAAIAAAD9//z/AQAEAAIAAAD9//v/AAAEAAIAAAD+//r/AQAEAAIAAAD+//n/AAAEAAIAAAD///j/AQAEAAIAAAD+//j/AAAEAAIAAAD7//7/AAAEAAEAAAD///r/AAAEAAIAAAD+//v/AQAEAAIAAAD+//z/AAAEAAIAAAD9//3/AQAEAAIAAAD9//7/AAAEAAIAAAD8////AQAEAAIAAAD+//f/AQAEAAIAAAD8//n/AAAEAAIAAAD9//j/AQAEAAIAAAD9//f/AAAEAAIAAAD+//b/AQAEAAIAAAD+//X/AAAEAAIAAAD///T/AQAEAAIAAAD///b/AAAEAAIAAAD8//r/AQAEAAIAAAD8/wAAAAAEAAIAAAD///L/AAAEAAIAAAD+//P/AQAEAAIAAAD+//T/AAAEAAIAAAD9//X/AQAEAAIAAAD9//b/AAAEAAIAAAD8//f/AQAEAAIAAAD8//j/AAAEAAIAAAA=") +tile_set = SubResource("TileSet_ycdy4") + +[node name="BackRightWalls" type="TileMapLayer" parent="Tilemaps" unique_id=1757009184] +position = Vector2(0, -8) +tile_map_data = PackedByteArray("AAABAPn/AQAFAAIAAAACAPr/AAAFAAIAAAAAAPn/AAAFAAIAAAABAPr/AQAFAAIAAAABAPv/AAAFAAIAAAACAPz/AQAFAAIAAAACAP3/AAAFAAIAAAAAAPr/AAAFAAIAAAAAAPv/AQAFAAIAAAABAPz/AAAFAAIAAAABAP3/AQAFAAIAAAACAP7/AAAFAAIAAAAAAPj/AQAFAAIAAAABAPj/AAAFAAIAAAACAPv/AQAFAAIAAAADAPz/AAAFAAIAAAAAAPf/AQAFAAIAAAAAAPb/AAAFAAIAAAD///v/AAAFAAIAAAAAAPz/AQAFAAIAAAAAAP3/AAAFAAIAAAABAP7/AQAFAAIAAAABAP//AAAFAAIAAAACAAAAAQAFAAIAAAACAAEAAAAFAAIAAAD///f/AAAFAAIAAAD///X/AQAFAAIAAAD///n/AQAFAAIAAAADAPr/AAAFAAIAAAADAP7/AQAFAAIAAAACAP//AQAFAAIAAAADAAAAAAAFAAIAAAADAAIAAQAFAAIAAAACAPn/AAAFAAIAAAACAPj/AAAFAAIAAAABAPf/AAAFAAIAAAABAPb/AAAFAAIAAAAAAPX/AAAFAAIAAAAAAPT/AAAFAAIAAAD///P/AAAFAAIAAAADAPj/AAAFAAIAAAACAPf/AAAFAAIAAAACAPb/AAAFAAIAAAABAPX/AAAFAAIAAAABAPT/AAAFAAIAAAAAAPP/AAAFAAIAAAAAAPL/AAAFAAIAAAD///H/AAAFAAIAAAA=") +tile_set = SubResource("TileSet_w48qg") + +[node name="CanvasModulate" type="CanvasModulate" parent="." unique_id=1681660400] +color = Color(0.3478174, 0.34781674, 0.3478171, 1) diff --git a/scenes/musicians/bass.tscn b/scenes/musicians/bass.tscn new file mode 100644 index 0000000..3097da6 --- /dev/null +++ b/scenes/musicians/bass.tscn @@ -0,0 +1,85 @@ +[gd_scene format=3 uid="uid://b3ytvnucd8hod"] + +[ext_resource type="Texture2D" uid="uid://42h7vrqekyma" path="res://assets/symphonyguys.png" id="1_vbktj"] +[ext_resource type="Script" uid="uid://djmn4qgj45j2p" path="res://scenes/musicians/musician.gd" id="2_fcial"] +[ext_resource type="AudioStream" uid="uid://cc6smyxkrrvfr" path="res://assets/audio/eine-kleine-bass.wav" id="3_7duo6"] +[ext_resource type="Texture2D" uid="uid://d1li1mlxutaym" path="res://resources/point_light_texture.tres" id="3_fcial"] +[ext_resource type="PackedScene" uid="uid://cwdkw1p371bks" path="res://scenes/musicians/input_prompt.tscn" id="5_k304j"] +[ext_resource type="Texture2D" uid="uid://bmc2ijkmfndv7" path="res://assets/input/keyboard_b_outline.png" id="6_5834n"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_lswn8"] +atlas = ExtResource("1_vbktj") +region = Rect2(32, 32, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_a6jrf"] +atlas = ExtResource("1_vbktj") +region = Rect2(64, 32, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_xuqvo"] +atlas = ExtResource("1_vbktj") +region = Rect2(96, 32, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_qsp4k"] +atlas = ExtResource("1_vbktj") +region = Rect2(128, 32, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0odxb"] +atlas = ExtResource("1_vbktj") +region = Rect2(0, 32, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_kq58d"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_lswn8") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_a6jrf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_xuqvo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_qsp4k") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_lswn8") +}], +"loop": true, +"name": &"default", +"speed": 10.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_0odxb") +}], +"loop": true, +"name": &"idle", +"speed": 12.0 +}] + +[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_efxa6"] +polygon = PackedVector2Array(-2, 14, 4, 15, -4, 14) + +[node name="Bass" type="AnimatedSprite2D" unique_id=1326988360] +z_index = 10 +sprite_frames = SubResource("SpriteFrames_kq58d") +script = ExtResource("2_fcial") + +[node name="Audio" type="AudioStreamPlayer2D" parent="." unique_id=1607169101] +stream = ExtResource("3_7duo6") + +[node name="Light" type="PointLight2D" parent="." unique_id=1266087927] +position = Vector2(9, 9) +energy = 0.8 +shadow_enabled = true +shadow_filter = 2 +shadow_filter_smooth = 7.6 +texture = ExtResource("3_fcial") + +[node name="Occluder" type="LightOccluder2D" parent="." unique_id=968506542] +position = Vector2(1, 0) +occluder = SubResource("OccluderPolygon2D_efxa6") + +[node name="InputPrompt" parent="." unique_id=590379112 instance=ExtResource("5_k304j")] +texture = ExtResource("6_5834n") diff --git a/scenes/musicians/cello.tscn b/scenes/musicians/cello.tscn new file mode 100644 index 0000000..54469d4 --- /dev/null +++ b/scenes/musicians/cello.tscn @@ -0,0 +1,79 @@ +[gd_scene format=3 uid="uid://ekd4tkk01nug"] + +[ext_resource type="Texture2D" uid="uid://42h7vrqekyma" path="res://assets/symphonyguys.png" id="1_cwrgh"] +[ext_resource type="Script" uid="uid://djmn4qgj45j2p" path="res://scenes/musicians/musician.gd" id="2_dthcw"] +[ext_resource type="Texture2D" uid="uid://d1li1mlxutaym" path="res://resources/point_light_texture.tres" id="3_dthcw"] +[ext_resource type="AudioStream" uid="uid://duovjdbif7wkw" path="res://assets/audio/eine-kleine-cello.wav" id="3_pmcee"] +[ext_resource type="PackedScene" uid="uid://cwdkw1p371bks" path="res://scenes/musicians/input_prompt.tscn" id="5_ef0rn"] +[ext_resource type="Texture2D" uid="uid://d1onhhk6xorit" path="res://assets/input/keyboard_c_outline.png" id="6_4j1rk"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_kek77"] +atlas = ExtResource("1_cwrgh") +region = Rect2(224, 32, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_4c57u"] +atlas = ExtResource("1_cwrgh") +region = Rect2(256, 32, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_efxa6"] +atlas = ExtResource("1_cwrgh") +region = Rect2(288, 32, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_5vw27"] +atlas = ExtResource("1_cwrgh") +region = Rect2(192, 32, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_dg77c"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_kek77") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_4c57u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_efxa6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_kek77") +}], +"loop": true, +"name": &"default", +"speed": 8.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_5vw27") +}], +"loop": true, +"name": &"idle", +"speed": 10.0 +}] + +[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_dg77c"] +polygon = PackedVector2Array(-1, 13, 2, 14, -2, 15) + +[node name="Cello" type="AnimatedSprite2D" unique_id=1539517068] +sprite_frames = SubResource("SpriteFrames_dg77c") +autoplay = "idle" +flip_h = true +script = ExtResource("2_dthcw") + +[node name="Audio" type="AudioStreamPlayer2D" parent="." unique_id=1212448009] +stream = ExtResource("3_pmcee") + +[node name="Light" type="PointLight2D" parent="." unique_id=822750253] +position = Vector2(6, 9) +energy = 0.8 +shadow_enabled = true +shadow_filter = 2 +shadow_filter_smooth = 7.6 +texture = ExtResource("3_dthcw") + +[node name="Occluder" type="LightOccluder2D" parent="." unique_id=1218678921] +position = Vector2(1, 0) +occluder = SubResource("OccluderPolygon2D_dg77c") + +[node name="InputPrompt" parent="." unique_id=590379112 instance=ExtResource("5_ef0rn")] +texture = ExtResource("6_4j1rk") diff --git a/scenes/musicians/input_prompt.tscn b/scenes/musicians/input_prompt.tscn new file mode 100644 index 0000000..93e6be3 --- /dev/null +++ b/scenes/musicians/input_prompt.tscn @@ -0,0 +1,8 @@ +[gd_scene format=3 uid="uid://cwdkw1p371bks"] + +[ext_resource type="Texture2D" uid="uid://cctoyonq28i8q" path="res://assets/input/keyboard_v_outline.png" id="1_tpl0e"] + +[node name="InputPrompt" type="Sprite2D" unique_id=590379112] +position = Vector2(0, 24) +scale = Vector2(0.25, 0.25) +texture = ExtResource("1_tpl0e") diff --git a/scenes/musicians/musician.gd b/scenes/musicians/musician.gd new file mode 100644 index 0000000..abcc0d1 --- /dev/null +++ b/scenes/musicians/musician.gd @@ -0,0 +1,46 @@ +#@tool +#@icon(icon_path: String) +class_name Musician +extends AnimatedSprite2D +## Documentation comments + +# signal +# enum +# const +# @export var +var is_active: bool = false + +@onready var audio: AudioStreamPlayer2D = $Audio +@onready var light: PointLight2D = $Light +@onready var occluder: LightOccluder2D = $Occluder + +## OVERRIDES + +func _ready() -> void: + light.visible = false + audio.connect("finished", enter_exit) + +func _process(_delta: float) -> void: + pass + +func _physics_process(_delta: float) -> void: + pass + +## CORE +func enter_exit() -> void: + if is_active: + play("idle") + audio.stop() + light.visible = false + is_active = false + else: + play("default") + audio.play() + light.visible = true + is_active = true + +## PRIVATE/HELPER + +## RECEIVERS + +## SETTERS/GETTERS diff --git a/scenes/musicians/musician.gd.uid b/scenes/musicians/musician.gd.uid new file mode 100644 index 0000000..2de876c --- /dev/null +++ b/scenes/musicians/musician.gd.uid @@ -0,0 +1 @@ +uid://djmn4qgj45j2p diff --git a/scenes/musicians/viol.tscn b/scenes/musicians/viol.tscn new file mode 100644 index 0000000..8bc85a5 --- /dev/null +++ b/scenes/musicians/viol.tscn @@ -0,0 +1,84 @@ +[gd_scene format=3 uid="uid://c5mms8bhjkplb"] + +[ext_resource type="Texture2D" uid="uid://42h7vrqekyma" path="res://assets/symphonyguys.png" id="1_j3j2n"] +[ext_resource type="Script" uid="uid://djmn4qgj45j2p" path="res://scenes/musicians/musician.gd" id="2_ijwrm"] +[ext_resource type="AudioStream" uid="uid://bd01iv6fpqbdh" path="res://assets/audio/eine-kleine-viol.wav" id="3_atj5b"] +[ext_resource type="Texture2D" uid="uid://d1li1mlxutaym" path="res://resources/point_light_texture.tres" id="3_ijwrm"] +[ext_resource type="PackedScene" uid="uid://cwdkw1p371bks" path="res://scenes/musicians/input_prompt.tscn" id="5_u4mvl"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_w48qg"] +atlas = ExtResource("1_j3j2n") +region = Rect2(32, 160, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_vivmo"] +atlas = ExtResource("1_j3j2n") +region = Rect2(64, 160, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_2cqfq"] +atlas = ExtResource("1_j3j2n") +region = Rect2(96, 160, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yaehf"] +atlas = ExtResource("1_j3j2n") +region = Rect2(128, 160, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ycdy4"] +atlas = ExtResource("1_j3j2n") +region = Rect2(0, 160, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_074og"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_w48qg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_vivmo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_2cqfq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yaehf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w48qg") +}], +"loop": true, +"name": &"default", +"speed": 15.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_ycdy4") +}], +"loop": true, +"name": &"idle", +"speed": 12.0 +}] + +[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_ycdy4"] +polygon = PackedVector2Array(0, 13, 3, 13, -1, 14) + +[node name="Viol" type="AnimatedSprite2D" unique_id=173609985] +sprite_frames = SubResource("SpriteFrames_074og") +autoplay = "idle" +script = ExtResource("2_ijwrm") + +[node name="Audio" type="AudioStreamPlayer2D" parent="." unique_id=734284253] +stream = ExtResource("3_atj5b") + +[node name="Light" type="PointLight2D" parent="." unique_id=2065896281] +z_index = 100 +position = Vector2(7, 8) +energy = 0.8 +shadow_enabled = true +shadow_filter = 2 +shadow_filter_smooth = 7.6 +texture = ExtResource("3_ijwrm") + +[node name="Occluder" type="LightOccluder2D" parent="." unique_id=1033753770] +position = Vector2(1, 0) +occluder = SubResource("OccluderPolygon2D_ycdy4") + +[node name="InputPrompt" parent="." unique_id=590379112 instance=ExtResource("5_u4mvl")] diff --git a/rhythm_manager.tscn b/scenes/rhythm_manager.tscn similarity index 97% rename from rhythm_manager.tscn rename to scenes/rhythm_manager.tscn index 6b8775a..c83f28b 100644 --- a/rhythm_manager.tscn +++ b/scenes/rhythm_manager.tscn @@ -1,7 +1,7 @@ [gd_scene format=3 uid="uid://ojisu2jrshsp"] -[ext_resource type="Script" uid="uid://bhbfogebu1di5" path="res://rhythm_manager.gd" id="1_0wx20"] -[ext_resource type="PackedScene" uid="uid://dduyumwk5v1ge" path="res://click_track.tscn" id="2_6v8l0"] +[ext_resource type="Script" uid="uid://bhbfogebu1di5" path="res://scripts/rhythm_manager.gd" id="1_0wx20"] +[ext_resource type="PackedScene" uid="uid://dduyumwk5v1ge" path="res://scenes/click_track.tscn" id="2_6v8l0"] [node name="RhythmManager" type="Node2D" unique_id=2036637300 node_paths=PackedStringArray("target_audio")] script = ExtResource("1_0wx20") diff --git a/scripts/conductor.gd b/scripts/conductor.gd new file mode 100644 index 0000000..281c725 --- /dev/null +++ b/scripts/conductor.gd @@ -0,0 +1,23 @@ +#@tool +#@icon(icon_path: String) +class_name Conductor +extends Musician +## Documentation comments + +## signal +## enum +## const +## @export var +## var +## @onready var + +## OVERRIDES + + +## CORE + +## PRIVATE/HELPER + +## RECEIVERS + +## SETTERS/GETTERS diff --git a/scripts/conductor.gd.uid b/scripts/conductor.gd.uid new file mode 100644 index 0000000..440832b --- /dev/null +++ b/scripts/conductor.gd.uid @@ -0,0 +1 @@ +uid://dppf0pasfnksi diff --git a/scripts/main.gd b/scripts/main.gd new file mode 100644 index 0000000..e3c2f7f --- /dev/null +++ b/scripts/main.gd @@ -0,0 +1,53 @@ +#@tool +#@icon(icon_path: String) +#class_name MyNode +extends Node2D +## Documentation comments + +## signal +## enum +## const + +@onready var conductor: Conductor = %Conductor +@onready var violinist: Musician = %Viol +@onready var cellist: Musician = %Cello +@onready var bassist: Musician = %Bass +#@onready var rhythm_manager: RhythmManager = %RhythmManager +#@onready var click_track: AudioStreamPlayer2D = %ClickTrack +@onready var canvas_modulate: CanvasModulate = $CanvasModulate + +## OVERRIDES + +func _ready() -> void: + canvas_modulate.visible = true + +func _process(_delta: float) -> void: + pass + +func _physics_process(_delta: float) -> void: + pass + +func _unhandled_input(event: InputEvent) -> void: + if event.is_action_pressed("ready"): + conductor.enter_exit() + if event.is_action_pressed("viol"): + violinist.enter_exit() + if event.is_action_pressed("cello"): + cellist.enter_exit() + if event.is_action_pressed("bass"): + bassist.enter_exit() +## CORE +# +#func enter_instrument(instrument: Node) -> void: + #print("Now playing " + instrument.name) + #var instrument_audio: AudioStreamPlayer2D = instrument.get_child(0) + #var instrument_light: PointLight2D = instrument.get_child(1) + #instrument.play("default") + #instrument_audio.play() + #instrument_light.visible = true + +## PRIVATE/HELPER + +## RECEIVERS + +## SETTERS/GETTERS diff --git a/main.gd.uid b/scripts/main.gd.uid similarity index 100% rename from main.gd.uid rename to scripts/main.gd.uid diff --git a/rhythm_manager.gd b/scripts/rhythm_manager.gd similarity index 100% rename from rhythm_manager.gd rename to scripts/rhythm_manager.gd diff --git a/rhythm_manager.gd.uid b/scripts/rhythm_manager.gd.uid similarity index 100% rename from rhythm_manager.gd.uid rename to scripts/rhythm_manager.gd.uid