diff --git a/Dialogue/Characters/Cirno.dch b/Dialogue/Characters/Cirno.dch index b3720681..40440b16 100644 --- a/Dialogue/Characters/Cirno.dch +++ b/Dialogue/Characters/Cirno.dch @@ -4,8 +4,19 @@ &"_translation_id": "a8", &"color": Color(0.537255, 0.85098, 0.85098, 1), &"custom_info": { -"sound_mood_default": "", -"sound_moods": {}, +"sound_mood_default": "Mood 1", +"sound_moods": { +"Mood 1": { +"mode": 0, +"name": "Mood 1", +"pitch_base": 1.0, +"pitch_variance": 0.5, +"skip_characters": 4.0, +"sound_path": "res://SFX/Cirno_Speak.wav", +"volume_base": -2.0, +"volume_variance": -2.0 +} +}, "style": "" }, &"default_portrait": "Neutral", diff --git a/Dialogue/Characters/ICE.dch b/Dialogue/Characters/ICE.dch index 72de64a4..378adc47 100644 --- a/Dialogue/Characters/ICE.dch +++ b/Dialogue/Characters/ICE.dch @@ -4,8 +4,19 @@ &"_translation_id": "ac", &"color": Color(0.254902, 0.529412, 0.568627, 1), &"custom_info": { -"sound_mood_default": "", -"sound_moods": {}, +"sound_mood_default": "Mood 1", +"sound_moods": { +"Mood 1": { +"mode": 0, +"name": "Mood 1", +"pitch_base": 1.0, +"pitch_variance": -0.5, +"skip_characters": 4.0, +"sound_path": "res://SFX/JFXR/Blip_select 18.wav", +"volume_base": -4.0, +"volume_variance": -4.0 +} +}, "style": "" }, &"default_portrait": "Neutral", diff --git a/Dialogue/Characters/computer.dch b/Dialogue/Characters/computer.dch index a780ed6b..583dc9d1 100644 --- a/Dialogue/Characters/computer.dch +++ b/Dialogue/Characters/computer.dch @@ -4,8 +4,19 @@ &"_translation_id": "aa", &"color": Color(1, 1, 1, 1), &"custom_info": { -"sound_mood_default": "", -"sound_moods": {}, +"sound_mood_default": "Mood 1", +"sound_moods": { +"Mood 1": { +"mode": 0, +"name": "Mood 1", +"pitch_base": 1.0, +"pitch_variance": 0.0, +"skip_characters": 0.0, +"sound_path": "res://SFX/JFXR/Blip_select 18.wav", +"volume_base": 0.0, +"volume_variance": 0.0 +} +}, "style": "Terminal_Style" }, &"default_portrait": "", diff --git a/Dialogue/Styles/Terminal_Style.tres b/Dialogue/Styles/Terminal_Style.tres index a4de0ecb..59298512 100644 --- a/Dialogue/Styles/Terminal_Style.tres +++ b/Dialogue/Styles/Terminal_Style.tres @@ -79,4 +79,4 @@ layer_info = { } base_overrides = {} layers = Array[ExtResource("1_01ap4")]([]) -metadata/_latest_layer = "" +metadata/_latest_layer = "12" diff --git a/Dialogue/Timelines/Level2/computer_lab_1.dtl b/Dialogue/Timelines/Level2/computer_lab_1.dtl new file mode 100644 index 00000000..2971da17 --- /dev/null +++ b/Dialogue/Timelines/Level2/computer_lab_1.dtl @@ -0,0 +1,4 @@ +[style name="Terminal_Style"] +computer: From\: J.S.\ +Subject\: Pizza\ +Asdfg diff --git a/Dialogue/Timelines/Level2/computer_lab_1.dtl.uid b/Dialogue/Timelines/Level2/computer_lab_1.dtl.uid new file mode 100644 index 00000000..2ddb3b8c --- /dev/null +++ b/Dialogue/Timelines/Level2/computer_lab_1.dtl.uid @@ -0,0 +1 @@ +uid://bvitpqedi2ho8 diff --git a/Resources/Weapons/IcicleGun.tres b/Resources/Weapons/IcicleGun.tres index 6f5766b2..9b164786 100644 --- a/Resources/Weapons/IcicleGun.tres +++ b/Resources/Weapons/IcicleGun.tres @@ -2,8 +2,8 @@ [ext_resource type="Resource" uid="uid://jh2wkjcvm3yc" path="res://Resources/Bullets/icicle_gun_bullets.tres" id="1_sd6j2"] [ext_resource type="Script" uid="uid://b6fmrnipv88bk" path="res://Scripts/Resources/WeaponResource.cs" id="2_m8dps"] -[ext_resource type="AudioStream" uid="uid://cjg8r7bthkfsy" path="res://SFX/Laser_shoot 11.wav" id="2_r2tre"] [ext_resource type="AudioStream" uid="uid://jsv3yjluv1au" path="res://SFX/Weapons/Reload_01.wav" id="2_sd6j2"] +[ext_resource type="AudioStream" uid="uid://d16xfhll0fujt" path="res://SFX/Ice_Shot.wav" id="3_sd6j2"] [resource] script = ExtResource("2_m8dps") @@ -23,4 +23,4 @@ SpreadAngle = 5.0 RandomSpread = 2.5 _rotationOffset = 0.0 ReloadSound = ExtResource("2_sd6j2") -ShootSound = ExtResource("2_r2tre") +ShootSound = ExtResource("3_sd6j2") diff --git a/SFX/Cirno_Speak.wav b/SFX/Cirno_Speak.wav new file mode 100644 index 00000000..98606ba6 --- /dev/null +++ b/SFX/Cirno_Speak.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a2a6e832b7df2706c1a922ccea204a3a91c649ab1a641cbb7f3cb88e3a9f660 +size 1160 diff --git a/SFX/Cirno_Speak.wav.import b/SFX/Cirno_Speak.wav.import new file mode 100644 index 00000000..beeade56 --- /dev/null +++ b/SFX/Cirno_Speak.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://o84bl4vbjyji" +path="res://.godot/imported/Cirno_Speak.wav-d198e55c64c09da50d1267d070ffc47e.sample" + +[deps] + +source_file="res://SFX/Cirno_Speak.wav" +dest_files=["res://.godot/imported/Cirno_Speak.wav-d198e55c64c09da50d1267d070ffc47e.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/SFX/Ice_Shot.wav b/SFX/Ice_Shot.wav new file mode 100644 index 00000000..505f834e --- /dev/null +++ b/SFX/Ice_Shot.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:171920bb5638a437933ad4c8f1241ef146c41bfeff28ef01689e97cd0d47719a +size 3796 diff --git a/SFX/Ice_Shot.wav.import b/SFX/Ice_Shot.wav.import new file mode 100644 index 00000000..e35466f1 --- /dev/null +++ b/SFX/Ice_Shot.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://d16xfhll0fujt" +path="res://.godot/imported/Ice_Shot.wav-a4bb718f7446c4fdc69315e70b91c2da.sample" + +[deps] + +source_file="res://SFX/Ice_Shot.wav" +dest_files=["res://.godot/imported/Ice_Shot.wav-a4bb718f7446c4fdc69315e70b91c2da.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/SFX/JFXR/Blip_select 18.wav b/SFX/JFXR/Blip_select 18.wav new file mode 100644 index 00000000..8dbcd5a5 --- /dev/null +++ b/SFX/JFXR/Blip_select 18.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66da9d11192e30e8fdcc1df466b0cc1a1823bfad2f039a7d5b8d0ee35f8a2d8d +size 3572 diff --git a/SFX/JFXR/Blip_select 18.wav.import b/SFX/JFXR/Blip_select 18.wav.import new file mode 100644 index 00000000..b1a560f0 --- /dev/null +++ b/SFX/JFXR/Blip_select 18.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://hqfsa1ekpnvd" +path="res://.godot/imported/Blip_select 18.wav-953c550a69fcda58e2aa902dfdabccc1.sample" + +[deps] + +source_file="res://SFX/JFXR/Blip_select 18.wav" +dest_files=["res://.godot/imported/Blip_select 18.wav-953c550a69fcda58e2aa902dfdabccc1.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/Scenes/HUD/OptionsMenu.tscn b/Scenes/HUD/OptionsMenu.tscn index 7fb0bbb6..7ff9cd01 100644 --- a/Scenes/HUD/OptionsMenu.tscn +++ b/Scenes/HUD/OptionsMenu.tscn @@ -138,6 +138,17 @@ text = "Sound Effects Volume" layout_mode = 2 AudioBusName = &"Effects" +[node name="VBoxContainer4" type="VBoxContainer" parent="ScrollContainer/VBoxContainer/GeneralSettings/VolumeContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/GeneralSettings/VolumeContainer/VBoxContainer4"] +layout_mode = 2 +text = "Voices Volume" + +[node name="SoundSlider" parent="ScrollContainer/VBoxContainer/GeneralSettings/VolumeContainer/VBoxContainer4" instance=ExtResource("6_x23el")] +layout_mode = 2 +AudioBusName = &"Voice" + [node name="KeyRemapping" type="VBoxContainer" parent="ScrollContainer/VBoxContainer" node_paths=PackedStringArray("KeysContainer")] visible = false layout_mode = 2 diff --git a/Scenes/Maps/Level2.tscn b/Scenes/Maps/Level2.tscn index 84bfe620..6d06ba64 100644 --- a/Scenes/Maps/Level2.tscn +++ b/Scenes/Maps/Level2.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=93 format=4 uid="uid://6a6tjohypmmb"] +[gd_scene load_steps=96 format=4 uid="uid://6a6tjohypmmb"] [ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_t2k72"] [ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_2jsgm"] @@ -49,6 +49,8 @@ [ext_resource type="Script" uid="uid://ddv26x2qilprb" path="res://Scripts/Resources/Events/DialogueStartEvent.cs" id="44_1gtgk"] [ext_resource type="Script" uid="uid://upq0b4sx7nhw" path="res://Scripts/Misc/CameraTarget.cs" id="44_5t0ab"] [ext_resource type="LabelSettings" uid="uid://buk3e7bbwmnv1" path="res://Resources/Styles/Hud_Text_Style.tres" id="44_q1ysg"] +[ext_resource type="PackedScene" uid="uid://doqmmuuuprl3s" path="res://Scenes/Interactable/Computer.tscn" id="45_f2fbs"] +[ext_resource type="Script" uid="uid://d0a0o50j82eo6" path="res://Scripts/Activables/ScriptableBase.cs" id="46_dotto"] [ext_resource type="PackedScene" uid="uid://bmif3jo03yuol" path="res://Scenes/camera_controller.tscn" id="47_nq7r5"] [sub_resource type="LabelSettings" id="LabelSettings_5j8ks"] @@ -326,6 +328,13 @@ script = ExtResource("44_1gtgk") TimelineName = &"testbubble" WaitForCompletion = true +[sub_resource type="Resource" id="Resource_wv8f4"] +resource_local_to_scene = true +script = ExtResource("44_1gtgk") +TimelineName = &"computer_lab_1" +WaitForCompletion = true +metadata/_custom_type_script = "uid://ddv26x2qilprb" + [node name="GameScene" type="Node2D" node_paths=PackedStringArray("NavigationTilemap")] script = ExtResource("1_t2k72") MapResource = ExtResource("2_5t0ab") @@ -645,6 +654,16 @@ position = Vector2(400, 316) scale = Vector2(1.455, 1.455) Events = Array[ExtResource("13_5t0ab")]([SubResource("Resource_f2fbs")]) +[node name="Computer6" parent="Tilemaps/Actors" node_paths=PackedStringArray("Targets") instance=ExtResource("45_f2fbs")] +position = Vector2(184, 261) +Targets = [NodePath("Script2")] +metadata/_edit_group_ = true + +[node name="Script2" type="Node2D" parent="Tilemaps/Actors/Computer6"] +position = Vector2(0, 1) +script = ExtResource("46_dotto") +Events = Array[ExtResource("13_5t0ab")]([SubResource("Resource_wv8f4")]) + [node name="ReferenceRect" type="ReferenceRect" parent="."] visible = false offset_left = -38.0 diff --git a/Scripts/Activables/DialogueStarter.cs b/Scripts/Activables/DialogueStarter.cs index 6225ac20..fb9e360e 100644 --- a/Scripts/Activables/DialogueStarter.cs +++ b/Scripts/Activables/DialogueStarter.cs @@ -53,6 +53,9 @@ public partial class DialogueStarter : ChainActivable DialogueEndAction(); return true; } + + Hud.Instance?.HideHud(); + _dialogic.Connect("timeline_ended", Callable.From(OnTimelineEnded)); var dialogicNode = _dialogic.Call("start", _trackName); @@ -69,6 +72,7 @@ public partial class DialogueStarter : ChainActivable private void DialogueEndAction() { _dialogueActive = false; + Hud.Instance?.HideHud(); _gameManager.ChangeState(GameState.Playing); ActivateTargets(); // foreach (var activationTarget in _dialogueEndActivationTargets) diff --git a/Scripts/Hud.cs b/Scripts/Hud.cs index aa83371a..161b76b1 100644 --- a/Scripts/Hud.cs +++ b/Scripts/Hud.cs @@ -142,11 +142,13 @@ public partial class Hud : CanvasLayer public void ShowHud() { _hudInfoPanel.Show(); + WeaponContainer.Show(); } public void HideHud() { _hudInfoPanel.Hide(); + WeaponContainer.Hide(); } public void UpdateHealth(float newHealth, float maxHealth) diff --git a/Scripts/UI/OptionsMenu.cs b/Scripts/UI/OptionsMenu.cs index c44e124b..6450d332 100644 --- a/Scripts/UI/OptionsMenu.cs +++ b/Scripts/UI/OptionsMenu.cs @@ -95,6 +95,7 @@ public partial class OptionsMenu : MenuBase config.SetValue("Audio", "Master", AudioServer.GetBusVolumeLinear(AudioServer.GetBusIndex("Master"))); config.SetValue("Audio", "Music", AudioServer.GetBusVolumeLinear(AudioServer.GetBusIndex("Music"))); config.SetValue("Audio", "Effects", AudioServer.GetBusVolumeLinear(AudioServer.GetBusIndex("Effects"))); + config.SetValue("Audio", "Voice", AudioServer.GetBusVolumeLinear(AudioServer.GetBusIndex("Voice"))); config.SetValue("Language", "Language", TranslationServer.GetLocale()); @@ -123,6 +124,8 @@ public partial class OptionsMenu : MenuBase AudioServer.SetBusVolumeLinear(AudioServer.GetBusIndex("Music"), config.GetValue("Audio", "Music", AudioServer.GetBusVolumeLinear(AudioServer.GetBusIndex("Music"))).AsSingle()); + AudioServer.SetBusVolumeLinear(AudioServer.GetBusIndex("Voice"), config.GetValue("Audio", "Voice", AudioServer.GetBusVolumeLinear(AudioServer.GetBusIndex("Voice"))).AsSingle()); + TranslationServer.SetLocale(config.GetValue("Language", "Language", "en").ToString()); // Scale mouse diff --git a/project.godot b/project.godot index 7e92d7b0..784f657e 100644 --- a/project.godot +++ b/project.godot @@ -74,6 +74,7 @@ directories/dtl_directory={ "computer_control_1": "res://Dialogue/Timelines/computer_control_1.dtl", "computer_goon_cave": "res://Dialogue/Timelines/computer_goon_cave.dtl", "computer_keycard_room": "res://Dialogue/Timelines/computer_keycard_room.dtl", +"computer_lab_1": "res://Dialogue/Timelines/Level2/computer_lab_1.dtl", "intro_story": "res://Dialogue/Timelines/intro_story.dtl", "laser_tutorial": "res://Dialogue/Timelines/laser_tutorial.dtl", "rumia_defeat": "res://Dialogue/Timelines/rumia_defeat.dtl", @@ -133,6 +134,7 @@ translation/intern/file_mode=0 translation/intern/translation_folder="res://Dialogue/Translations" translation/id_counter=198 translation/locales=["en", "it"] +audio/type_sound_bus="Voice" [display]