feat:ambiance
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 7s
Create tag and build when new code gets to main / Export (push) Successful in 2m42s

This commit is contained in:
2025-08-03 14:43:49 +02:00
parent 49ede4a46b
commit 8775e17258
15 changed files with 236 additions and 6 deletions

View File

@ -5,25 +5,25 @@ bus/1/name = &"SFX"
bus/1/solo = false bus/1/solo = false
bus/1/mute = false bus/1/mute = false
bus/1/bypass_fx = false bus/1/bypass_fx = false
bus/1/volume_db = -9.2092 bus/1/volume_db = -11.952
bus/1/send = &"Master" bus/1/send = &"Master"
bus/2/name = &"Ambiance" bus/2/name = &"Ambiance"
bus/2/solo = false bus/2/solo = false
bus/2/mute = false bus/2/mute = false
bus/2/bypass_fx = false bus/2/bypass_fx = false
bus/2/volume_db = -9.2092 bus/2/volume_db = -7.26851
bus/2/send = &"Master" bus/2/send = &"Master"
bus/3/name = &"Music" bus/3/name = &"Music"
bus/3/solo = false bus/3/solo = false
bus/3/mute = false bus/3/mute = false
bus/3/bypass_fx = false bus/3/bypass_fx = false
bus/3/volume_db = -4.003 bus/3/volume_db = -8.00903
bus/3/send = &"Master" bus/3/send = &"Master"
bus/4/name = &"Gearup" bus/4/name = &"Gearup"
bus/4/solo = false bus/4/solo = false
bus/4/mute = false bus/4/mute = false
bus/4/bypass_fx = false bus/4/bypass_fx = false
bus/4/volume_db = 0.0 bus/4/volume_db = -4.003
bus/4/send = &"Master" bus/4/send = &"Master"
bus/5/name = &"Steps" bus/5/name = &"Steps"
bus/5/solo = false bus/5/solo = false
@ -31,3 +31,9 @@ bus/5/mute = false
bus/5/bypass_fx = false bus/5/bypass_fx = false
bus/5/volume_db = -20.3684 bus/5/volume_db = -20.3684
bus/5/send = &"Master" bus/5/send = &"Master"
bus/6/name = &"Dialogue"
bus/6/solo = false
bus/6/mute = false
bus/6/bypass_fx = false
bus/6/volume_db = -15.1981
bus/6/send = &"Master"

View File

@ -1,6 +1,7 @@
[gd_scene load_steps=2 format=3 uid="uid://bmng6wjt0paof"] [gd_scene load_steps=3 format=3 uid="uid://bmng6wjt0paof"]
[ext_resource type="Script" uid="uid://k2r3aatbbyie" path="res://dialogues/dialogue_manager.gd" id="1_6nn6f"] [ext_resource type="Script" uid="uid://k2r3aatbbyie" path="res://dialogues/dialogue_manager.gd" id="1_6nn6f"]
[ext_resource type="AudioStream" uid="uid://cx7g00rpjodv3" path="res://world_assets/audio/speech.wav" id="2_8cgcf"]
[node name="DialogueManager" type="Node"] [node name="DialogueManager" type="Node"]
script = ExtResource("1_6nn6f") script = ExtResource("1_6nn6f")
@ -13,5 +14,9 @@ ignore_time_scale = true
wait_time = 0.05 wait_time = 0.05
ignore_time_scale = true ignore_time_scale = true
[node name="DialoguePlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("2_8cgcf")
bus = &"Dialogue"
[connection signal="timeout" from="UIFlickerTimer" to="." method="toggle_ui"] [connection signal="timeout" from="UIFlickerTimer" to="." method="toggle_ui"]
[connection signal="timeout" from="TimeBetweenLetters" to="." method="_on_next_letter"] [connection signal="timeout" from="TimeBetweenLetters" to="." method="_on_next_letter"]

15
main.gd
View File

@ -25,6 +25,8 @@ var active_camera: SuperCamera
@onready var red_hood_cutscene: AnimationPlayer = $RedHoodCutscene @onready var red_hood_cutscene: AnimationPlayer = $RedHoodCutscene
@onready var final_cutscene: AnimationPlayer = $FinalCutscene @onready var final_cutscene: AnimationPlayer = $FinalCutscene
@onready var ambiance: AudioStreamPlayer = $Ambiance
var ambiance_stream: AudioStreamInteractive
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready() -> void: func _ready() -> void:
@ -32,6 +34,7 @@ func _ready() -> void:
if is_instance_of(child, SuperCamera): if is_instance_of(child, SuperCamera):
child.became_active.connect(on_camera_became_active) child.became_active.connect(on_camera_became_active)
ambiance.get_stream_playback().switch_to_clip_by_name("Start")
#opening_cutscene.play("opening_cutscene") #opening_cutscene.play("opening_cutscene")
#opening_fade_to_black.visible = true #opening_fade_to_black.visible = true
@ -81,3 +84,15 @@ func _on_final_armor_dialogue_ended() -> void:
func _on_final_cinematic_body_entered(body: Node2D) -> void: func _on_final_cinematic_body_entered(body: Node2D) -> void:
final_cutscene.play("cutscene") final_cutscene.play("cutscene")
func _on_balade_ambiance_body_entered(body: Node2D) -> void:
ambiance.get_stream_playback().switch_to_clip_by_name("Forest")
func _on_squelettes_ambiance_body_entered(body: Node2D) -> void:
ambiance.get_stream_playback().switch_to_clip_by_name("Squelettes")
func _on_cave_ambiance_body_entered(body: Node2D) -> void:
ambiance.get_stream_playback().switch_to_clip_by_name("Cave")

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=122 format=4 uid="uid://s1cx1gvt4bed"] [gd_scene load_steps=128 format=4 uid="uid://s1cx1gvt4bed"]
[ext_resource type="Script" uid="uid://cvtt52wodbopm" path="res://main.gd" id="1_272bh"] [ext_resource type="Script" uid="uid://cvtt52wodbopm" path="res://main.gd" id="1_272bh"]
[ext_resource type="PackedScene" uid="uid://yvp44oauis4n" path="res://player/player.tscn" id="1_ig7tw"] [ext_resource type="PackedScene" uid="uid://yvp44oauis4n" path="res://player/player.tscn" id="1_ig7tw"]
@ -28,6 +28,10 @@
[ext_resource type="AudioStream" uid="uid://dfmfve4c3l4fb" path="res://world_assets/audio/564024__gertraut_hecher__harp-arpeggio-medieval-tune.wav" id="26_xuqvo"] [ext_resource type="AudioStream" uid="uid://dfmfve4c3l4fb" path="res://world_assets/audio/564024__gertraut_hecher__harp-arpeggio-medieval-tune.wav" id="26_xuqvo"]
[ext_resource type="AudioStream" uid="uid://cqqa1wa2qs8ib" path="res://world_assets/audio/575585_gertraut_hecher_medieval_life_minstrels_and_jugglers.wav" id="27_qsp4k"] [ext_resource type="AudioStream" uid="uid://cqqa1wa2qs8ib" path="res://world_assets/audio/575585_gertraut_hecher_medieval_life_minstrels_and_jugglers.wav" id="27_qsp4k"]
[ext_resource type="AudioStream" uid="uid://ohxncjlv12wy" path="res://world_assets/audio/787351__gertraut_hecher__medieval-dance-saltarello.wav" id="28_kq58d"] [ext_resource type="AudioStream" uid="uid://ohxncjlv12wy" path="res://world_assets/audio/787351__gertraut_hecher__medieval-dance-saltarello.wav" id="28_kq58d"]
[ext_resource type="AudioStream" uid="uid://d2vbc5xbu67no" path="res://world_assets/audio/ambiance/forestStart.wav" id="29_seu75"]
[ext_resource type="AudioStream" uid="uid://cp2acg3q53jia" path="res://world_assets/audio/ambiance/forestBalade.wav" id="30_htxhm"]
[ext_resource type="AudioStream" uid="uid://bsosrbr0tgg25" path="res://world_assets/audio/ambiance/squelettes.mp3" id="31_jq2sk"]
[ext_resource type="AudioStream" uid="uid://o8kcbs7gk61y" path="res://world_assets/audio/ambiance/cave.wav" id="32_htxhm"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ycdy4"] [sub_resource type="AtlasTexture" id="AtlasTexture_ycdy4"]
atlas = ExtResource("3_dg77c") atlas = ExtResource("3_dg77c")
@ -1265,6 +1269,44 @@ stream_0/stream = ExtResource("26_xuqvo")
stream_1/stream = ExtResource("27_qsp4k") stream_1/stream = ExtResource("27_qsp4k")
stream_2/stream = ExtResource("28_kq58d") stream_2/stream = ExtResource("28_kq58d")
[sub_resource type="RectangleShape2D" id="RectangleShape2D_htxhm"]
size = Vector2(14, 33)
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_4k2k6"]
clip_count = 4
clip_0/name = &"Start"
clip_0/stream = ExtResource("29_seu75")
clip_0/auto_advance = 0
clip_1/name = &"Forest"
clip_1/stream = ExtResource("30_htxhm")
clip_1/auto_advance = 0
clip_2/name = &"Squelettes"
clip_2/stream = ExtResource("31_jq2sk")
clip_2/auto_advance = 0
clip_3/name = &"Cave"
clip_3/stream = ExtResource("32_htxhm")
clip_3/auto_advance = 0
_transitions = {
Vector2i(0, 1): {
"fade_beats": 1.0,
"fade_mode": 3,
"from_time": 0,
"to_time": 1
},
Vector2i(1, 2): {
"fade_beats": 1.0,
"fade_mode": 3,
"from_time": 0,
"to_time": 1
},
Vector2i(2, 3): {
"fade_beats": 1.0,
"fade_mode": 3,
"from_time": 0,
"to_time": 1
}
}
[node name="Main" type="Node2D"] [node name="Main" type="Node2D"]
script = ExtResource("1_272bh") script = ExtResource("1_272bh")
@ -1700,6 +1742,35 @@ libraries = {
stream = SubResource("AudioStreamRandomizer_seu75") stream = SubResource("AudioStreamRandomizer_seu75")
bus = &"Music" bus = &"Music"
[node name="BaladeAmbiance" type="Area2D" parent="."]
position = Vector2(347, -13)
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="BaladeAmbiance"]
position = Vector2(-18, -5.5)
shape = SubResource("RectangleShape2D_htxhm")
[node name="SquelettesAmbiance" type="Area2D" parent="."]
position = Vector2(2397, -14)
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="SquelettesAmbiance"]
position = Vector2(-18, -5.5)
shape = SubResource("RectangleShape2D_htxhm")
[node name="CaveAmbiance" type="Area2D" parent="."]
position = Vector2(4364, -13)
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="CaveAmbiance"]
position = Vector2(-18, -5.5)
shape = SubResource("RectangleShape2D_htxhm")
[node name="Ambiance" type="AudioStreamPlayer" parent="."]
stream = SubResource("AudioStreamInteractive_4k2k6")
autoplay = true
bus = &"Ambiance"
[connection signal="dialogue_ended" from="OpeningDialogue" to="Player" method="_on_dialogue_manager_dialogue_ended"] [connection signal="dialogue_ended" from="OpeningDialogue" to="Player" method="_on_dialogue_manager_dialogue_ended"]
[connection signal="dialogue_ended" from="NPCFirstDialogue" to="ShieldChoice" method="start_choice"] [connection signal="dialogue_ended" from="NPCFirstDialogue" to="ShieldChoice" method="start_choice"]
[connection signal="accepted" from="ShieldChoice" to="NPCShieldDialogue" method="on_dialogue_started"] [connection signal="accepted" from="ShieldChoice" to="NPCShieldDialogue" method="on_dialogue_started"]
@ -1729,3 +1800,6 @@ bus = &"Music"
[connection signal="dialogue_ended" from="FinalArmor" to="." method="_on_final_armor_dialogue_ended"] [connection signal="dialogue_ended" from="FinalArmor" to="." method="_on_final_armor_dialogue_ended"]
[connection signal="dialogue_ended" from="FinalArmor" to="Player" method="_on_final_armor_dialogue_ended"] [connection signal="dialogue_ended" from="FinalArmor" to="Player" method="_on_final_armor_dialogue_ended"]
[connection signal="body_entered" from="FinalCinematic" to="." method="_on_final_cinematic_body_entered"] [connection signal="body_entered" from="FinalCinematic" to="." method="_on_final_cinematic_body_entered"]
[connection signal="body_entered" from="BaladeAmbiance" to="." method="_on_balade_ambiance_body_entered"]
[connection signal="body_entered" from="SquelettesAmbiance" to="." method="_on_squelettes_ambiance_body_entered"]
[connection signal="body_entered" from="CaveAmbiance" to="." method="_on_cave_ambiance_body_entered"]

Binary file not shown.

BIN
world_assets/audio/ambiance/cave.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://o8kcbs7gk61y"
path="res://.godot/imported/cave.wav-071e4e9db8b82e78f5761bb71d5d3a50.sample"
[deps]
source_file="res://world_assets/audio/ambiance/cave.wav"
dest_files=["res://.godot/imported/cave.wav-071e4e9db8b82e78f5761bb71d5d3a50.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

BIN
world_assets/audio/ambiance/forestBalade.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cp2acg3q53jia"
path="res://.godot/imported/forestBalade.wav-9617cba8117af19ba773ed0a8684bf46.sample"
[deps]
source_file="res://world_assets/audio/ambiance/forestBalade.wav"
dest_files=["res://.godot/imported/forestBalade.wav-9617cba8117af19ba773ed0a8684bf46.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

BIN
world_assets/audio/ambiance/forestStart.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://d2vbc5xbu67no"
path="res://.godot/imported/forestStart.wav-2520218bd0752b21dd94fed54c0e8eb5.sample"
[deps]
source_file="res://world_assets/audio/ambiance/forestStart.wav"
dest_files=["res://.godot/imported/forestStart.wav-2520218bd0752b21dd94fed54c0e8eb5.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

BIN
world_assets/audio/ambiance/squelettes.mp3 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://bsosrbr0tgg25"
path="res://.godot/imported/squelettes.mp3-9027dfbd5e5cfc4a67500f4d603f2764.mp3str"
[deps]
source_file="res://world_assets/audio/ambiance/squelettes.mp3"
dest_files=["res://.godot/imported/squelettes.mp3-9027dfbd5e5cfc4a67500f4d603f2764.mp3str"]
[params]
loop=true
loop_offset=0.0
bpm=0.0
beat_count=0
bar_beats=4

BIN
world_assets/audio/speech.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cx7g00rpjodv3"
path="res://.godot/imported/speech.wav-bc0a9d9ada1c2a9d6bbebfb9544b3b3b.sample"
[deps]
source_file="res://world_assets/audio/speech.wav"
dest_files=["res://.godot/imported/speech.wav-bc0a9d9ada1c2a9d6bbebfb9544b3b3b.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