Issue 377 (#383)

* feat: Implements speech fixes #377

* docs: Automatic update of API docs

* chore: Updated speech translation.

Co-authored-by: Dennis Ploeger <develop@dieploegers.de>
Co-authored-by: dploeger <dploeger@users.noreply.github.com>
This commit is contained in:
Dennis Ploeger
2021-09-06 08:52:16 +02:00
committed by GitHub
parent 3dc779311c
commit c8958e7454
54 changed files with 279 additions and 85 deletions

View File

@@ -13,7 +13,7 @@ bus/2/mute = false
bus/2/bypass_fx = false
bus/2/volume_db = 0.0
bus/2/send = "Master"
bus/3/name = "Dialogs"
bus/3/name = "Speech"
bus/3/solo = false
bus/3/mute = false
bus/3/bypass_fx = false

View File

@@ -1,7 +1,7 @@
# `play_snd file [player]`
#
# Plays the sound specificed with the "file" parameter on the sound player
# `player`, without blocking. (player defaults to bg_sound)
# `player`, without blocking. (player defaults to _sound)
#
# @ESC
extends ESCBaseCommand
@@ -13,7 +13,7 @@ func configure() -> ESCCommandArgumentDescriptor:
return ESCCommandArgumentDescriptor.new(
2,
[TYPE_STRING, TYPE_STRING],
[null, "bg_sound"]
[null, "_sound"]
)

View File

@@ -72,14 +72,10 @@ func run(command_params: Array) -> int:
)
return ESCExecution.RC_ERROR
var _line = command_params[1]
if ":" in _line:
_line = tr(_line.split(":")[0])
escoria.dialog_player.say(
command_params[0],
dialog_scene_name,
_line
command_params[1]
)
yield(escoria.dialog_player, "dialog_line_finished")
return ESCExecution.RC_OK

View File

@@ -2,7 +2,7 @@
#
# Change the sound playing on `player` to `sound` with optional looping if
# `loop` is true.
# Valid players are "bg_music" and "bg_sound".
# Valid players are "_music" and "_sound".
# Aside from paths to sound or music files, the values *off* and *default*.
# *default* is the default value.
# are also valid for `sound`
@@ -23,7 +23,7 @@ func configure() -> ESCCommandArgumentDescriptor:
# Validate wether the given arguments match the command descriptor
func validate(arguments: Array):
if not arguments[0] in ["bg_music", "bg_sound"]:
if not arguments[0] in ["_music", "_sound", "_speech"]:
escoria.logger.report_errors(
"SetSoundStateCommand.validate: invalid player",
[
@@ -45,6 +45,6 @@ func validate(arguments: Array):
# Run the command
func run(command_params: Array) -> int:
escoria.main.get_node(command_params[0])\
escoria.object_manager.get_object(command_params[0]).node\
.set_state(command_params[1], command_params[2])
return ESCExecution.RC_OK

View File

@@ -4,8 +4,9 @@ class_name ESCObjectManager
const RESERVED_OBJECTS = [
"bg_music",
"bg_sound"
"_music",
"_sound",
"_speech"
]

View File

@@ -75,7 +75,7 @@ func get_save_data() -> Dictionary:
save_data["last_deg"] = wrapi(self.node._movable._get_angle() + 1, 0, 360)
save_data["last_dir"] = self.node._movable.last_dir
if (self.global_id == "bg_music" or self.global_id == "bg_sound") \
if (self.global_id == "_music" or self.global_id == "_sound") \
and self.node.get("state"):
save_data["state"] = self.node.get("state")

View File

@@ -162,7 +162,7 @@ func load_game(id: int):
save_game.objects[object_global_id]["last_deg"]])
)
if object_global_id == "bg_music" or object_global_id == "bg_sound":
if object_global_id == "_music" or object_global_id == "_sound":
load_statements.append(ESCCommand.new("set_sound_state %s %s true" \
% [object_global_id,
save_game.objects[object_global_id]["state"]])
@@ -185,7 +185,7 @@ func save_settings():
settings_res.master_volume = escoria.settings.master_volume
settings_res.music_volume = escoria.settings.music_volume
settings_res.sfx_volume = escoria.settings.sfx_volume
settings_res.voice_volume = escoria.settings.voice_volume
settings_res.speech_volume = escoria.settings.speech_volume
settings_res.fullscreen = escoria.settings.fullscreen
settings_res.skip_dialog = escoria.settings.skip_dialog

View File

@@ -6,10 +6,14 @@ class_name ESCSaveSettings
export var escoria_version: String
# Language of displayed text
export var text_lang: String = ProjectSettings.get_setting("escoria/main/text_lang")
export var text_lang: String = ProjectSettings.get_setting(
"escoria/main/text_lang"
)
# Language of voice speech
export var voice_lang: String = ProjectSettings.get_setting("escoria/main/voice_lang")
export var voice_lang: String = ProjectSettings.get_setting(
"escoria/main/voice_lang"
)
# Whether speech is enabled
export var speech_enabled: bool = ProjectSettings.get_setting(
@@ -24,10 +28,12 @@ export var music_volume: float = ProjectSettings.get_setting(
"escoria/sound/music_volume")
# Volume of SFX only
export var sfx_volume: float = ProjectSettings.get_setting("escoria/sound/sfx_volume")
export var sfx_volume: float = ProjectSettings.get_setting(
"escoria/sound/sfx_volume"
)
# Voice volume only
export var voice_volume: float = ProjectSettings.get_setting(
# Speech volume only
export var speech_volume: float = ProjectSettings.get_setting(
"escoria/sound/speech_volume")
# True if game has to be fullscreen

View File

@@ -267,6 +267,10 @@ func _on_settings_loaded(p_settings: ESCSaveSettings) -> void:
AudioServer.set_bus_volume_db(
AudioServer.get_bus_index("Music"),
linear2db(settings.music_volume)
)
AudioServer.set_bus_volume_db(
AudioServer.get_bus_index("Speech"),
linear2db(settings.speech_volume)
)
TranslationServer.set_locale(settings.text_lang)

View File

@@ -17,10 +17,6 @@ var current_scene: Node
# The Escoria context currently in wait state
var wait_level
# Reference to the ESCBackgroundMusic node
onready var bg_music = $bg_music
# Reference to the scene transition node
onready var scene_transition = $layers/curtain/scene_transition

View File

@@ -1,10 +1,11 @@
[gd_scene load_steps=6 format=2]
[gd_scene load_steps=7 format=2]
[ext_resource path="res://addons/escoria-core/game/main.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/scenes/esc_prompt/esc_prompt_popup.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/bg_music.tscn" type="PackedScene" id=3]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/esc_music_player.tscn" type="PackedScene" id=3]
[ext_resource path="res://addons/escoria-core/game/scenes/transitions/transition.tscn" type="PackedScene" id=4]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/bg_sound.tscn" type="PackedScene" id=5]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/esc_sound_player.tscn" type="PackedScene" id=5]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/esc_speech_player.tscn" type="PackedScene" id=6]
[node name="main" type="Node"]
script = ExtResource( 1 )
@@ -27,3 +28,5 @@ layer = 20
[node name="bg_music" parent="." instance=ExtResource( 3 )]
[node name="bg_sound" parent="." instance=ExtResource( 5 )]
[node name="speech" parent="." instance=ExtResource( 6 )]

View File

@@ -50,6 +50,31 @@ func _input(event):
if event is InputEventMouseButton and \
event.pressed:
finish_fast()
func _get_voice_file(key: String, start: String = "") -> String:
if start == "":
start = ProjectSettings.get("escoria/sound/speech_folder")
var _dir = Directory.new()
if _dir.open(start) == OK:
_dir.list_dir_begin(true, true)
var file_name = _dir.get_next()
while file_name != "":
if _dir.current_is_dir():
var _voice_file = _get_voice_file(
key,
start.plus_file(file_name)
)
if _voice_file != "":
return _voice_file
else:
if file_name == "%s.%s" % [
key,
ProjectSettings.get("escoria/sound/speech_extension")
]:
return start.plus_file(file_name)
file_name = _dir.get_next()
return ""
# A short one line dialog
@@ -63,7 +88,15 @@ func say(character: String, ui: String, line: String) -> void:
is_speaking = true
_dialog_ui = get_resource(ui).instance()
get_parent().add_child(_dialog_ui)
_dialog_ui.say(character, line)
var _key_line = line.split(":")
if _key_line.size() == 2:
var _speech_resource = _get_voice_file(_key_line[0])
if _speech_resource != "":
(
escoria.object_manager.get_object("_speech").node\
as ESCSpeechPlayer
).set_state(_speech_resource)
_dialog_ui.say(character, _key_line[1])
yield(_dialog_ui, "dialog_line_finished")
is_speaking = false
emit_signal("dialog_line_finished")

View File

@@ -2,7 +2,7 @@
[ext_resource path="res://game/ui/commons/dialogs/dialog_label.tscn" type="PackedScene" id=1]
[ext_resource path="res://game/ui/commons/dialogs/text_dialog_choice.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/escoria-core/game/scenes/dialogs/dialog_player.gd" type="Script" id=3]
[ext_resource path="res://addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd" type="Script" id=3]
[ext_resource path="res://game/ui/commons/dialogs/dialog_box_inset.tscn" type="PackedScene" id=4]
[node name="dialog_player" type="ResourcePreloader"]

View File

@@ -1,10 +1,10 @@
# Background music player
extends Control
class_name ESCBackgroundMusic
class_name ESCMusicPlayer
# Global id of the background music player
export var global_id: String = "bg_music"
export var global_id: String = "_music"
# The state of the music player. "default" or "off" disable music

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/bg_music.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/esc_music_player.gd" type="Script" id=1]
[node name="bg_music" type="Control"]
anchor_right = 1.0

View File

@@ -1,10 +1,10 @@
# Background sound player
extends Control
class_name ESCBackgroundSound
class_name ESCSoundPlayer
# Global id of the background sound player
export var global_id: String = "bg_sound"
export var global_id: String = "_sound"
# The state of the sound player. "default" or "off" disable sound

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/bg_sound.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/esc_sound_player.gd" type="Script" id=1]
[node name="bg_sound" type="Control"]
anchor_right = 1.0

View File

@@ -0,0 +1,44 @@
# Speech player
extends Control
class_name ESCSpeechPlayer
# Global id of the background music player
export var global_id: String = "_speech"
# Set the state of this player
#
# #### Parameters
#
# - p_state: New state to use
# - p_force: Override the existing state even if the stream is still playing
func set_state(p_state: String, p_force: bool = false) -> void:
# If speech is disabled, return
if not escoria.settings.speech_enabled:
return
# If state is "off"/"default", turn off speech
if p_state in ["off", "default"]:
$AudioStreamPlayer.stream = null
return
var resource = load(p_state)
$AudioStreamPlayer.stream = resource
if $AudioStreamPlayer.stream:
resource.set_loop(false)
$AudioStreamPlayer.play()
# Register to the object registry
func _ready():
escoria.object_manager.register_object(
ESCObject.new(global_id, self),
true
)
func _on_AudioStreamPlayer_finished() -> void:
set_state("off")

View File

@@ -0,0 +1,17 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/esc_speech_player.gd" type="Script" id=1]
[node name="Control" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
mouse_filter = 2
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
bus = "Speech"
[connection signal="finished" from="AudioStreamPlayer" to="." method="_on_AudioStreamPlayer_finished"]

View File

@@ -23,6 +23,10 @@ func _enter_tree():
# Prepare the settings in the Escoria UI category
func set_escoria_ui_settings():
ProjectSettings.set_setting(
"audio/default_bus_layout",
"res://addons/escoria-core/default_bus_layout.tres"
)
if !ProjectSettings.has_setting("escoria/ui/tooltip_follows_mouse"):
ProjectSettings.set_setting("escoria/ui/tooltip_follows_mouse", true)
@@ -245,6 +249,25 @@ func set_escoria_sound_settings():
"type": TYPE_BOOL
}
ProjectSettings.add_property_info(speech_enabled_property_info)
if !ProjectSettings.has_setting("escoria/sound/speech_folder"):
ProjectSettings.set_setting(
"escoria/sound/speech_folder",
"res://speech"
)
ProjectSettings.add_property_info({
"name": "escoria/sound/speech_folder",
"type": TYPE_STRING,
"hint": PROPERTY_HINT_DIR
})
if !ProjectSettings.has_setting("escoria/sound/speech_extension"):
ProjectSettings.set_setting(
"escoria/sound/speech_extension",
"ogg"
)
ProjectSettings.add_property_info({
"name": "escoria/sound/speech_extension",
"type": TYPE_STRING
})
# Prepare the settings in the Escoria platform category and may need special

View File

@@ -3,7 +3,7 @@
[ext_resource path="res://addons/escoria-ui-9verbs/tooltip/action_target_tooltip.tscn" type="PackedScene" id=1]
[ext_resource path="res://addons/escoria-ui-9verbs/inventory/inventory_ui.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/escoria-ui-9verbs/verbs_menu.tscn" type="PackedScene" id=3]
[ext_resource path="res://addons/escoria-core/game/scenes/dialogs/dialog_player.tscn" type="PackedScene" id=4]
[ext_resource path="res://addons/escoria-core/game/scenes/dialogs/esc_dialog_player.tscn" type="PackedScene" id=4]
[ext_resource path="res://addons/escoria-ui-9verbs/game.gd" type="Script" id=5]
[ext_resource path="res://addons/escoria-core/game/scenes/camera_player/camera.tscn" type="PackedScene" id=6]
[ext_resource path="res://game/ui/commons/room_select.tscn" type="PackedScene" id=7]

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=9 format=2]
[ext_resource path="res://addons/escoria-ui-simplemouse/inventory/inventory_ui.tscn" type="PackedScene" id=1]
[ext_resource path="res://addons/escoria-core/game/scenes/dialogs/dialog_player.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/escoria-core/game/scenes/dialogs/esc_dialog_player.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/escoria-core/game/scenes/camera_player/camera.tscn" type="PackedScene" id=3]
[ext_resource path="res://addons/escoria-ui-simplemouse/verbs_mouseicons.tscn" type="PackedScene" id=4]
[ext_resource path="res://addons/escoria-ui-simplemouse/game.gd" type="Script" id=5]

View File

@@ -1,6 +1,6 @@
<!-- Auto-generated from JSON by GDScript docs maker. Do not edit this document directly. -->
# ESCBackgroundMusic
# ESCMusicPlayer
**Extends:** [Control](../Control)
@@ -13,7 +13,7 @@ Background music player
### global\_id
```gdscript
export var global_id: String = "bg_music"
export var global_id: String = "_music"
```
Global id of the background music player

View File

@@ -13,7 +13,7 @@ A manager for ESC objects
### RESERVED\_OBJECTS
```gdscript
const RESERVED_OBJECTS: Array = ["bg_music","bg_sound"]
const RESERVED_OBJECTS: Array = ["_music","_sound","_speech"]
```
## Property Descriptions

View File

@@ -66,13 +66,13 @@ export var sfx_volume: float = 0
 Volume of SFX only
### voice\_volume
### speech\_volume
```gdscript
export var voice_volume: float = 0
export var speech_volume: float = 0
```
Voice volume only
Speech volume only
### fullscreen

View File

@@ -1,6 +1,6 @@
<!-- Auto-generated from JSON by GDScript docs maker. Do not edit this document directly. -->
# ESCBackgroundSound
# ESCSoundPlayer
**Extends:** [Control](../Control)
@@ -13,7 +13,7 @@ Background sound player
### global\_id
```gdscript
export var global_id: String = "bg_sound"
export var global_id: String = "_sound"
```
Global id of the background sound player

View File

@@ -0,0 +1,34 @@
<!-- Auto-generated from JSON by GDScript docs maker. Do not edit this document directly. -->
# ESCSpeechPlayer
**Extends:** [Control](../Control)
## Description
Speech player
## Property Descriptions
### global\_id
```gdscript
export var global_id: String = "_speech"
```
Global id of the background music player
## Method Descriptions
### set\_state
```gdscript
func set_state(p_state: String, p_force: bool = false) -> void
```
Set the state of this player
#### Parameters
- p_state: New state to use
- p_force: Override the existing state even if the stream is still playing

View File

@@ -9,7 +9,7 @@
`play_snd file [player]`
Plays the sound specificed with the "file" parameter on the sound player
`player`, without blocking. (player defaults to bg_sound)
`player`, without blocking. (player defaults to _sound)
@ESC

View File

@@ -10,7 +10,7 @@
Change the sound playing on `player` to `sound` with optional looping if
`loop` is true.
Valid players are "bg_music" and "bg_sound".
Valid players are "_music" and "_sound".
Aside from paths to sound or music files, the values *off* and *default*.
*default* is the default value.
are also valid for `sound`

View File

@@ -34,14 +34,6 @@ var wait_level
The Escoria context currently in wait state
### bg\_music
```gdscript
var bg_music
```
Reference to the ESCBackgroundMusic node
### scene\_transition
```gdscript

View File

@@ -233,7 +233,7 @@ Remove an item from the inventory.
#### <a name="PlaySndCommand.md"></a>`play_snd file [player]` [API-Doc](api/PlaySndCommand.md)
Plays the sound specificed with the "file" parameter on the sound player
`player`, without blocking. (player defaults to bg_sound)
`player`, without blocking. (player defaults to _sound)
#### <a name="QueueResourceCommand.md"></a>`queue_resource path [front_of_queue]` [API-Doc](api/QueueResourceCommand.md)
Queues the load of a resource in a background thread. The `path` must be a
@@ -303,7 +303,7 @@ Sets whether or not an object should be interactive.
Change the sound playing on `player` to `sound` with optional looping if
`loop` is true.
Valid players are "bg_music" and "bg_sound".
Valid players are "_music" and "_sound".
Aside from paths to sound or music files, the values *off* and *default*.
*default* is the default value.
are also valid for `sound`

2
game/rooms/room01/esc/right_exit.esc Executable file → Normal file
View File

@@ -1,3 +1,3 @@
:exit_scene
set_sound_state bg_sound res://game/sfx/sounds/doorOpen_2.ogg false
set_sound_state _sound res://game/sfx/sounds/doorOpen_2.ogg false
change_scene "res://game/rooms/room02/room02.tscn"

2
game/rooms/room01/esc/room01.esc Executable file → Normal file
View File

@@ -11,7 +11,7 @@
:ready
set_sound_state bg_music res://game/sfx/contemplation.ogg true
set_sound_state _music res://game/sfx/contemplation.ogg true
> [!room1_visited]
set_global room1_visited true

2
game/rooms/room02/esc/left_exit.esc Executable file → Normal file
View File

@@ -1,3 +1,3 @@
:exit_scene
set_sound_state bg_sound res://game/sfx/sounds/doorOpen_2.ogg false
set_sound_state _sound res://game/sfx/sounds/doorOpen_2.ogg false
change_scene "res://game/rooms/room01/room01.tscn"

2
game/rooms/room02/esc/right_exit.esc Executable file → Normal file
View File

@@ -1,3 +1,3 @@
:exit_scene
set_sound_state bg_sound res://game/sfx/sounds/doorOpen_2.ogg false
set_sound_state _sound res://game/sfx/sounds/doorOpen_2.ogg false
change_scene "res://game/rooms/room03/room03.tscn"

View File

@@ -1,2 +1,2 @@
:use
set_sound_state bg_music res://game/sfx/contemplation.ogg true
set_sound_state _music res://game/sfx/contemplation.ogg true

View File

@@ -1,2 +1,2 @@
:use
set_sound_state bg_music off true
set_sound_state _music off true

2
game/rooms/room10/esc/left_exit.esc Executable file → Normal file
View File

@@ -1,5 +1,5 @@
:exit_scene
set_sound_state bg_sound res://game/sfx/sounds/doorOpen_2.ogg false
set_sound_state _sound res://game/sfx/sounds/doorOpen_2.ogg false
change_scene "res://game/rooms/room09/room09.tscn"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -10,6 +10,7 @@ OPTIONS_LANGUAGE,Language,Langue,Sprache
GENERAL_VOLUME,General,Général,Allgemein
MUSIC_VOLUME,Music,Musique,Musik
SOUND_VOLUME,Sound effects,Effets sonores,Soundeffekte
SPEECH_VOLUME,Speech,Voix,Sprachausgabe
CANCEL,Cancel,Annuler,Abbrechen
OK,OK,Ok,Ok
ENTER_SAVE_NAME,Enter the save name:,Entrez un nom de sauvegarde,Bitte gib einen Namen für das Spiel ein:
1 keys en fr de
10 GENERAL_VOLUME General Général Allgemein
11 MUSIC_VOLUME Music Musique Musik
12 SOUND_VOLUME Sound effects Effets sonores Soundeffekte
13 SPEECH_VOLUME Speech Voix Sprachausgabe
14 CANCEL Cancel Annuler Abbrechen
15 OK OK Ok Ok
16 ENTER_SAVE_NAME Enter the save name: Entrez un nom de sauvegarde Bitte gib einen Namen für das Spiel ein:

View File

@@ -5,7 +5,7 @@ func _ready():
var event = ESCEvent.new(":music")
event.statements.append(
ESCCommand.new(
"set_sound_state bg_music res://game/sfx/Game-Menu_Looping.mp3 true"
"set_sound_state _music res://game/sfx/Game-Menu_Looping.mp3 true"
)
)
escoria.event_manager.queue_event(event)

View File

@@ -40,6 +40,7 @@ func initialize_options(p_settings):
_options.get_node("general_volume").value = p_settings["master_volume"]
_options.get_node("sound_volume").value = p_settings["sfx_volume"]
_options.get_node("music_volume").value = p_settings["music_volume"]
_options.get_node("speech_volume").value = p_settings["speech_volume"]
func _on_language_input(event: InputEvent, language: String):
@@ -77,3 +78,9 @@ func _on_back_pressed():
escoria.settings = backup_settings
escoria._on_settings_loaded(escoria.settings)
emit_signal("back_button_pressed")
func _on_speech_volume_value_changed(value: float) -> void:
escoria.settings["speech_volume"] = value
escoria._on_settings_loaded(escoria.settings)
settings_changed = true

View File

@@ -19,16 +19,16 @@ size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
margin_left = 482.0
margin_top = 366.0
margin_top = 354.0
margin_right = 798.0
margin_bottom = 533.0
margin_bottom = 546.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="MarginContainer" type="MarginContainer" parent="CenterContainer/VBoxContainer"]
margin_right = 316.0
margin_bottom = 136.0
margin_bottom = 161.0
size_flags_vertical = 6
custom_constants/margin_right = 20
custom_constants/margin_top = 20
@@ -39,7 +39,7 @@ custom_constants/margin_bottom = 20
margin_left = 20.0
margin_top = 20.0
margin_right = 296.0
margin_bottom = 116.0
margin_bottom = 141.0
size_flags_vertical = 6
custom_constants/hseparation = 40
columns = 2
@@ -115,10 +115,28 @@ max_value = 1.0
step = 0.001
value = 0.001
[node name="label5" type="Label" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_top = 100.0
margin_right = 220.0
margin_bottom = 121.0
custom_fonts/font = ExtResource( 1 )
text = "SPEECH_VOLUME"
[node name="speech_volume" type="HSlider" parent="CenterContainer/VBoxContainer/MarginContainer/options"]
margin_left = 260.0
margin_top = 100.0
margin_right = 276.0
margin_bottom = 116.0
size_flags_horizontal = 3
min_value = 0.001
max_value = 1.0
step = 0.001
value = 0.001
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
margin_top = 140.0
margin_top = 165.0
margin_right = 316.0
margin_bottom = 167.0
margin_bottom = 192.0
custom_constants/separation = 20
alignment = 1
@@ -145,5 +163,6 @@ __meta__ = {
[connection signal="value_changed" from="CenterContainer/VBoxContainer/MarginContainer/options/general_volume" to="." method="_on_general_volume_changed"]
[connection signal="value_changed" from="CenterContainer/VBoxContainer/MarginContainer/options/sound_volume" to="." method="_on_sound_volume_changed"]
[connection signal="value_changed" from="CenterContainer/VBoxContainer/MarginContainer/options/music_volume" to="." method="_on_music_volume_changed"]
[connection signal="value_changed" from="CenterContainer/VBoxContainer/MarginContainer/options/speech_volume" to="." method="_on_speech_volume_value_changed"]
[connection signal="pressed" from="CenterContainer/VBoxContainer/HBoxContainer/back" to="." method="_on_back_pressed"]
[connection signal="pressed" from="CenterContainer/VBoxContainer/HBoxContainer/apply" to="." method="_on_apply_pressed"]

View File

@@ -104,16 +104,6 @@ _global_script_classes=[ {
"language": "GDScript",
"path": "res://addons/escoria-core/game/core-scripts/esc_background.gd"
}, {
"base": "Control",
"class": "ESCBackgroundMusic",
"language": "GDScript",
"path": "res://addons/escoria-core/game/scenes/sound/bg_music.gd"
}, {
"base": "Control",
"class": "ESCBackgroundSound",
"language": "GDScript",
"path": "res://addons/escoria-core/game/scenes/sound/bg_sound.gd"
}, {
"base": "Node",
"class": "ESCBaseCommand",
"language": "GDScript",
@@ -177,7 +167,7 @@ _global_script_classes=[ {
"base": "ResourcePreloader",
"class": "ESCDialogsPlayer",
"language": "GDScript",
"path": "res://addons/escoria-core/game/scenes/dialogs/dialog_player.gd"
"path": "res://addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd"
}, {
"base": "Resource",
"class": "ESCDirectionAngle",
@@ -254,6 +244,11 @@ _global_script_classes=[ {
"language": "GDScript",
"path": "res://addons/escoria-core/game/core-scripts/behaviors/esc_movable.gd"
}, {
"base": "Control",
"class": "ESCMusicPlayer",
"language": "GDScript",
"path": "res://addons/escoria-core/game/scenes/sound/esc_music_player.gd"
}, {
"base": "Node",
"class": "ESCObject",
"language": "GDScript",
@@ -304,6 +299,16 @@ _global_script_classes=[ {
"language": "GDScript",
"path": "res://addons/escoria-core/game/core-scripts/esc/types/esc_script.gd"
}, {
"base": "Control",
"class": "ESCSoundPlayer",
"language": "GDScript",
"path": "res://addons/escoria-core/game/scenes/sound/esc_sound_player.gd"
}, {
"base": "Control",
"class": "ESCSpeechPlayer",
"language": "GDScript",
"path": "res://addons/escoria-core/game/scenes/sound/esc_speech_player.gd"
}, {
"base": "Object",
"class": "ESCStatement",
"language": "GDScript",
@@ -504,8 +509,6 @@ _global_script_class_icons={
"ESCAnimationPlayer": "",
"ESCAnimationResource": "",
"ESCBackground": "res://addons/escoria-core/design/esc_background.svg",
"ESCBackgroundMusic": "",
"ESCBackgroundSound": "",
"ESCBaseCommand": "",
"ESCCamera": "",
"ESCCameraLimits": "",
@@ -534,6 +537,7 @@ _global_script_class_icons={
"ESCLocation": "res://addons/escoria-core/design/esc_location.svg",
"ESCLogger": "",
"ESCMovable": "",
"ESCMusicPlayer": "",
"ESCObject": "",
"ESCObjectManager": "",
"ESCPlayer": "res://addons/escoria-core/design/esc_player.svg",
@@ -544,6 +548,8 @@ _global_script_class_icons={
"ESCSaveSettings": "",
"ESCScheduledEvent": "",
"ESCScript": "",
"ESCSoundPlayer": "",
"ESCSpeechPlayer": "",
"ESCStatement": "",
"ESCTerrain": "res://addons/escoria-core/design/esc_terrain.svg",
"ESCTooltip": "",
@@ -592,6 +598,10 @@ boot_splash/use_filter=false
boot_splash/bg_color=Color( 0.960784, 0.384314, 0, 1 )
config/icon="res://icon.png"
[audio]
default_bus_layout="res://addons/escoria-core/default_bus_layout.tres"
[autoload]
escoria="*res://addons/escoria-core/game/escoria.tscn"
@@ -642,6 +652,8 @@ main/escoria_version=""
sound/speech_enabled=1
ui/game_scene="res://addons/escoria-ui-9verbs/game.tscn"
ui/dialogs_chooser="res://game/ui/commons/dialogs/text_dialog_choice.tscn"
sound/speech_folder="res://game/speech"
sound/speech_extension="ogg"
[input]
@@ -661,6 +673,12 @@ switch_action_verb={
translations=PoolStringArray( "res://game/translations/game.en.translation", "res://game/translations/game.fr.translation", "res://game/translations/main_menu.en.translation", "res://game/translations/main_menu.fr.translation", "res://game/translations/game.de.translation", "res://game/translations/main_menu.de.translation" )
locale_filter=[ 0, [ ] ]
translation_remaps={
"res://game/speech/room01/ROOM1_look_wall_item_1.ogg": PoolStringArray( "res://game/speech/room01/ROOM1_look_wall_item_1_de.ogg:de" ),
"res://game/speech/room01/ROOM1_look_wall_item_2.ogg": PoolStringArray( "res://game/speech/room01/ROOM1_look_wall_item_2_de.ogg:de" ),
"res://game/speech/room01/ROOM1_look_wall_item_3.ogg": PoolStringArray( "res://game/speech/room01/ROOM1_look_wall_item_3_de.ogg:de" ),
"res://game/speech/room01/ROOM1_look_wall_item_4.ogg": PoolStringArray( "res://game/speech/room01/ROOM1_look_wall_item_4_de.ogg:de" )
}
[network]