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:
@@ -13,7 +13,7 @@ bus/2/mute = false
|
|||||||
bus/2/bypass_fx = false
|
bus/2/bypass_fx = false
|
||||||
bus/2/volume_db = 0.0
|
bus/2/volume_db = 0.0
|
||||||
bus/2/send = "Master"
|
bus/2/send = "Master"
|
||||||
bus/3/name = "Dialogs"
|
bus/3/name = "Speech"
|
||||||
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
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# `play_snd file [player]`
|
# `play_snd file [player]`
|
||||||
#
|
#
|
||||||
# Plays the sound specificed with the "file" parameter on the sound 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
|
# @ESC
|
||||||
extends ESCBaseCommand
|
extends ESCBaseCommand
|
||||||
@@ -13,7 +13,7 @@ func configure() -> ESCCommandArgumentDescriptor:
|
|||||||
return ESCCommandArgumentDescriptor.new(
|
return ESCCommandArgumentDescriptor.new(
|
||||||
2,
|
2,
|
||||||
[TYPE_STRING, TYPE_STRING],
|
[TYPE_STRING, TYPE_STRING],
|
||||||
[null, "bg_sound"]
|
[null, "_sound"]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -72,14 +72,10 @@ func run(command_params: Array) -> int:
|
|||||||
)
|
)
|
||||||
return ESCExecution.RC_ERROR
|
return ESCExecution.RC_ERROR
|
||||||
|
|
||||||
var _line = command_params[1]
|
|
||||||
if ":" in _line:
|
|
||||||
_line = tr(_line.split(":")[0])
|
|
||||||
|
|
||||||
escoria.dialog_player.say(
|
escoria.dialog_player.say(
|
||||||
command_params[0],
|
command_params[0],
|
||||||
dialog_scene_name,
|
dialog_scene_name,
|
||||||
_line
|
command_params[1]
|
||||||
)
|
)
|
||||||
yield(escoria.dialog_player, "dialog_line_finished")
|
yield(escoria.dialog_player, "dialog_line_finished")
|
||||||
return ESCExecution.RC_OK
|
return ESCExecution.RC_OK
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Change the sound playing on `player` to `sound` with optional looping if
|
# Change the sound playing on `player` to `sound` with optional looping if
|
||||||
# `loop` is true.
|
# `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*.
|
# Aside from paths to sound or music files, the values *off* and *default*.
|
||||||
# *default* is the default value.
|
# *default* is the default value.
|
||||||
# are also valid for `sound`
|
# are also valid for `sound`
|
||||||
@@ -23,7 +23,7 @@ func configure() -> ESCCommandArgumentDescriptor:
|
|||||||
|
|
||||||
# Validate wether the given arguments match the command descriptor
|
# Validate wether the given arguments match the command descriptor
|
||||||
func validate(arguments: Array):
|
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(
|
escoria.logger.report_errors(
|
||||||
"SetSoundStateCommand.validate: invalid player",
|
"SetSoundStateCommand.validate: invalid player",
|
||||||
[
|
[
|
||||||
@@ -45,6 +45,6 @@ func validate(arguments: Array):
|
|||||||
|
|
||||||
# Run the command
|
# Run the command
|
||||||
func run(command_params: Array) -> int:
|
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])
|
.set_state(command_params[1], command_params[2])
|
||||||
return ESCExecution.RC_OK
|
return ESCExecution.RC_OK
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ class_name ESCObjectManager
|
|||||||
|
|
||||||
|
|
||||||
const RESERVED_OBJECTS = [
|
const RESERVED_OBJECTS = [
|
||||||
"bg_music",
|
"_music",
|
||||||
"bg_sound"
|
"_sound",
|
||||||
|
"_speech"
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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_deg"] = wrapi(self.node._movable._get_angle() + 1, 0, 360)
|
||||||
save_data["last_dir"] = self.node._movable.last_dir
|
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"):
|
and self.node.get("state"):
|
||||||
save_data["state"] = self.node.get("state")
|
save_data["state"] = self.node.get("state")
|
||||||
|
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ func load_game(id: int):
|
|||||||
save_game.objects[object_global_id]["last_deg"]])
|
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" \
|
load_statements.append(ESCCommand.new("set_sound_state %s %s true" \
|
||||||
% [object_global_id,
|
% [object_global_id,
|
||||||
save_game.objects[object_global_id]["state"]])
|
save_game.objects[object_global_id]["state"]])
|
||||||
@@ -185,7 +185,7 @@ func save_settings():
|
|||||||
settings_res.master_volume = escoria.settings.master_volume
|
settings_res.master_volume = escoria.settings.master_volume
|
||||||
settings_res.music_volume = escoria.settings.music_volume
|
settings_res.music_volume = escoria.settings.music_volume
|
||||||
settings_res.sfx_volume = escoria.settings.sfx_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.fullscreen = escoria.settings.fullscreen
|
||||||
settings_res.skip_dialog = escoria.settings.skip_dialog
|
settings_res.skip_dialog = escoria.settings.skip_dialog
|
||||||
|
|
||||||
|
|||||||
@@ -6,10 +6,14 @@ class_name ESCSaveSettings
|
|||||||
export var escoria_version: String
|
export var escoria_version: String
|
||||||
|
|
||||||
# Language of displayed text
|
# 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
|
# 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
|
# Whether speech is enabled
|
||||||
export var speech_enabled: bool = ProjectSettings.get_setting(
|
export var speech_enabled: bool = ProjectSettings.get_setting(
|
||||||
@@ -24,10 +28,12 @@ export var music_volume: float = ProjectSettings.get_setting(
|
|||||||
"escoria/sound/music_volume")
|
"escoria/sound/music_volume")
|
||||||
|
|
||||||
# Volume of SFX only
|
# 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
|
# Speech volume only
|
||||||
export var voice_volume: float = ProjectSettings.get_setting(
|
export var speech_volume: float = ProjectSettings.get_setting(
|
||||||
"escoria/sound/speech_volume")
|
"escoria/sound/speech_volume")
|
||||||
|
|
||||||
# True if game has to be fullscreen
|
# True if game has to be fullscreen
|
||||||
|
|||||||
@@ -267,6 +267,10 @@ func _on_settings_loaded(p_settings: ESCSaveSettings) -> void:
|
|||||||
AudioServer.set_bus_volume_db(
|
AudioServer.set_bus_volume_db(
|
||||||
AudioServer.get_bus_index("Music"),
|
AudioServer.get_bus_index("Music"),
|
||||||
linear2db(settings.music_volume)
|
linear2db(settings.music_volume)
|
||||||
|
)
|
||||||
|
AudioServer.set_bus_volume_db(
|
||||||
|
AudioServer.get_bus_index("Speech"),
|
||||||
|
linear2db(settings.speech_volume)
|
||||||
)
|
)
|
||||||
TranslationServer.set_locale(settings.text_lang)
|
TranslationServer.set_locale(settings.text_lang)
|
||||||
|
|
||||||
|
|||||||
@@ -17,10 +17,6 @@ var current_scene: Node
|
|||||||
# The Escoria context currently in wait state
|
# The Escoria context currently in wait state
|
||||||
var wait_level
|
var wait_level
|
||||||
|
|
||||||
|
|
||||||
# Reference to the ESCBackgroundMusic node
|
|
||||||
onready var bg_music = $bg_music
|
|
||||||
|
|
||||||
# Reference to the scene transition node
|
# Reference to the scene transition node
|
||||||
onready var scene_transition = $layers/curtain/scene_transition
|
onready var scene_transition = $layers/curtain/scene_transition
|
||||||
|
|
||||||
|
|||||||
@@ -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/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/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/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"]
|
[node name="main" type="Node"]
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
@@ -27,3 +28,5 @@ layer = 20
|
|||||||
[node name="bg_music" parent="." instance=ExtResource( 3 )]
|
[node name="bg_music" parent="." instance=ExtResource( 3 )]
|
||||||
|
|
||||||
[node name="bg_sound" parent="." instance=ExtResource( 5 )]
|
[node name="bg_sound" parent="." instance=ExtResource( 5 )]
|
||||||
|
|
||||||
|
[node name="speech" parent="." instance=ExtResource( 6 )]
|
||||||
|
|||||||
@@ -50,6 +50,31 @@ func _input(event):
|
|||||||
if event is InputEventMouseButton and \
|
if event is InputEventMouseButton and \
|
||||||
event.pressed:
|
event.pressed:
|
||||||
finish_fast()
|
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
|
# A short one line dialog
|
||||||
@@ -63,7 +88,15 @@ func say(character: String, ui: String, line: String) -> void:
|
|||||||
is_speaking = true
|
is_speaking = true
|
||||||
_dialog_ui = get_resource(ui).instance()
|
_dialog_ui = get_resource(ui).instance()
|
||||||
get_parent().add_child(_dialog_ui)
|
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")
|
yield(_dialog_ui, "dialog_line_finished")
|
||||||
is_speaking = false
|
is_speaking = false
|
||||||
emit_signal("dialog_line_finished")
|
emit_signal("dialog_line_finished")
|
||||||
@@ -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/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://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]
|
[ext_resource path="res://game/ui/commons/dialogs/dialog_box_inset.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
[node name="dialog_player" type="ResourcePreloader"]
|
[node name="dialog_player" type="ResourcePreloader"]
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# Background music player
|
# Background music player
|
||||||
extends Control
|
extends Control
|
||||||
class_name ESCBackgroundMusic
|
class_name ESCMusicPlayer
|
||||||
|
|
||||||
|
|
||||||
# Global id of the background music player
|
# 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
|
# The state of the music player. "default" or "off" disable music
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=2 format=2]
|
[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"]
|
[node name="bg_music" type="Control"]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# Background sound player
|
# Background sound player
|
||||||
extends Control
|
extends Control
|
||||||
class_name ESCBackgroundSound
|
class_name ESCSoundPlayer
|
||||||
|
|
||||||
|
|
||||||
# Global id of the background sound player
|
# 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
|
# The state of the sound player. "default" or "off" disable sound
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=2 format=2]
|
[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"]
|
[node name="bg_sound" type="Control"]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
44
addons/escoria-core/game/scenes/sound/esc_speech_player.gd
Normal file
44
addons/escoria-core/game/scenes/sound/esc_speech_player.gd
Normal 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")
|
||||||
17
addons/escoria-core/game/scenes/sound/esc_speech_player.tscn
Normal file
17
addons/escoria-core/game/scenes/sound/esc_speech_player.tscn
Normal 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"]
|
||||||
@@ -23,6 +23,10 @@ func _enter_tree():
|
|||||||
|
|
||||||
# Prepare the settings in the Escoria UI category
|
# Prepare the settings in the Escoria UI category
|
||||||
func set_escoria_ui_settings():
|
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"):
|
if !ProjectSettings.has_setting("escoria/ui/tooltip_follows_mouse"):
|
||||||
ProjectSettings.set_setting("escoria/ui/tooltip_follows_mouse", true)
|
ProjectSettings.set_setting("escoria/ui/tooltip_follows_mouse", true)
|
||||||
|
|
||||||
@@ -245,6 +249,25 @@ func set_escoria_sound_settings():
|
|||||||
"type": TYPE_BOOL
|
"type": TYPE_BOOL
|
||||||
}
|
}
|
||||||
ProjectSettings.add_property_info(speech_enabled_property_info)
|
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
|
# Prepare the settings in the Escoria platform category and may need special
|
||||||
|
|||||||
@@ -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/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/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-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-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://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]
|
[ext_resource path="res://game/ui/commons/room_select.tscn" type="PackedScene" id=7]
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[gd_scene load_steps=9 format=2]
|
[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-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-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/verbs_mouseicons.tscn" type="PackedScene" id=4]
|
||||||
[ext_resource path="res://addons/escoria-ui-simplemouse/game.gd" type="Script" id=5]
|
[ext_resource path="res://addons/escoria-ui-simplemouse/game.gd" type="Script" id=5]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<!-- Auto-generated from JSON by GDScript docs maker. Do not edit this document directly. -->
|
<!-- Auto-generated from JSON by GDScript docs maker. Do not edit this document directly. -->
|
||||||
|
|
||||||
# ESCBackgroundMusic
|
# ESCMusicPlayer
|
||||||
|
|
||||||
**Extends:** [Control](../Control)
|
**Extends:** [Control](../Control)
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ Background music player
|
|||||||
### global\_id
|
### global\_id
|
||||||
|
|
||||||
```gdscript
|
```gdscript
|
||||||
export var global_id: String = "bg_music"
|
export var global_id: String = "_music"
|
||||||
```
|
```
|
||||||
|
|
||||||
Global id of the background music player
|
Global id of the background music player
|
||||||
@@ -13,7 +13,7 @@ A manager for ESC objects
|
|||||||
### RESERVED\_OBJECTS
|
### RESERVED\_OBJECTS
|
||||||
|
|
||||||
```gdscript
|
```gdscript
|
||||||
const RESERVED_OBJECTS: Array = ["bg_music","bg_sound"]
|
const RESERVED_OBJECTS: Array = ["_music","_sound","_speech"]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Property Descriptions
|
## Property Descriptions
|
||||||
|
|||||||
@@ -66,13 +66,13 @@ export var sfx_volume: float = 0
|
|||||||
|
|
||||||
Volume of SFX only
|
Volume of SFX only
|
||||||
|
|
||||||
### voice\_volume
|
### speech\_volume
|
||||||
|
|
||||||
```gdscript
|
```gdscript
|
||||||
export var voice_volume: float = 0
|
export var speech_volume: float = 0
|
||||||
```
|
```
|
||||||
|
|
||||||
Voice volume only
|
Speech volume only
|
||||||
|
|
||||||
### fullscreen
|
### fullscreen
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<!-- Auto-generated from JSON by GDScript docs maker. Do not edit this document directly. -->
|
<!-- Auto-generated from JSON by GDScript docs maker. Do not edit this document directly. -->
|
||||||
|
|
||||||
# ESCBackgroundSound
|
# ESCSoundPlayer
|
||||||
|
|
||||||
**Extends:** [Control](../Control)
|
**Extends:** [Control](../Control)
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ Background sound player
|
|||||||
### global\_id
|
### global\_id
|
||||||
|
|
||||||
```gdscript
|
```gdscript
|
||||||
export var global_id: String = "bg_sound"
|
export var global_id: String = "_sound"
|
||||||
```
|
```
|
||||||
|
|
||||||
Global id of the background sound player
|
Global id of the background sound player
|
||||||
34
docs/api/ESCSpeechPlayer.md
Normal file
34
docs/api/ESCSpeechPlayer.md
Normal 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
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
`play_snd file [player]`
|
`play_snd file [player]`
|
||||||
|
|
||||||
Plays the sound specificed with the "file" parameter on the sound 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
|
@ESC
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
Change the sound playing on `player` to `sound` with optional looping if
|
Change the sound playing on `player` to `sound` with optional looping if
|
||||||
`loop` is true.
|
`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*.
|
Aside from paths to sound or music files, the values *off* and *default*.
|
||||||
*default* is the default value.
|
*default* is the default value.
|
||||||
are also valid for `sound`
|
are also valid for `sound`
|
||||||
|
|||||||
@@ -34,14 +34,6 @@ var wait_level
|
|||||||
|
|
||||||
The Escoria context currently in wait state
|
The Escoria context currently in wait state
|
||||||
|
|
||||||
### bg\_music
|
|
||||||
|
|
||||||
```gdscript
|
|
||||||
var bg_music
|
|
||||||
```
|
|
||||||
|
|
||||||
Reference to the ESCBackgroundMusic node
|
|
||||||
|
|
||||||
### scene\_transition
|
### scene\_transition
|
||||||
|
|
||||||
```gdscript
|
```gdscript
|
||||||
|
|||||||
@@ -233,7 +233,7 @@ Remove an item from the inventory.
|
|||||||
#### <a name="PlaySndCommand.md"></a>`play_snd file [player]` [API-Doc](api/PlaySndCommand.md)
|
#### <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
|
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)
|
#### <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
|
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
|
Change the sound playing on `player` to `sound` with optional looping if
|
||||||
`loop` is true.
|
`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*.
|
Aside from paths to sound or music files, the values *off* and *default*.
|
||||||
*default* is the default value.
|
*default* is the default value.
|
||||||
are also valid for `sound`
|
are also valid for `sound`
|
||||||
|
|||||||
2
game/rooms/room01/esc/right_exit.esc
Executable file → Normal file
2
game/rooms/room01/esc/right_exit.esc
Executable file → Normal file
@@ -1,3 +1,3 @@
|
|||||||
:exit_scene
|
: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"
|
change_scene "res://game/rooms/room02/room02.tscn"
|
||||||
|
|||||||
2
game/rooms/room01/esc/room01.esc
Executable file → Normal file
2
game/rooms/room01/esc/room01.esc
Executable file → Normal file
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
|
|
||||||
:ready
|
:ready
|
||||||
set_sound_state bg_music res://game/sfx/contemplation.ogg true
|
set_sound_state _music res://game/sfx/contemplation.ogg true
|
||||||
|
|
||||||
> [!room1_visited]
|
> [!room1_visited]
|
||||||
set_global room1_visited true
|
set_global room1_visited true
|
||||||
|
|||||||
2
game/rooms/room02/esc/left_exit.esc
Executable file → Normal file
2
game/rooms/room02/esc/left_exit.esc
Executable file → Normal file
@@ -1,3 +1,3 @@
|
|||||||
:exit_scene
|
: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"
|
change_scene "res://game/rooms/room01/room01.tscn"
|
||||||
|
|||||||
2
game/rooms/room02/esc/right_exit.esc
Executable file → Normal file
2
game/rooms/room02/esc/right_exit.esc
Executable file → Normal file
@@ -1,3 +1,3 @@
|
|||||||
:exit_scene
|
: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"
|
change_scene "res://game/rooms/room03/room03.tscn"
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
:use
|
:use
|
||||||
set_sound_state bg_music res://game/sfx/contemplation.ogg true
|
set_sound_state _music res://game/sfx/contemplation.ogg true
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
:use
|
: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
2
game/rooms/room10/esc/left_exit.esc
Executable file → Normal file
@@ -1,5 +1,5 @@
|
|||||||
:exit_scene
|
: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"
|
change_scene "res://game/rooms/room09/room09.tscn"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
BIN
game/speech/room01/ROOM1_look_wall_item_1.ogg
Normal file
BIN
game/speech/room01/ROOM1_look_wall_item_1.ogg
Normal file
Binary file not shown.
BIN
game/speech/room01/ROOM1_look_wall_item_1_de.ogg
Normal file
BIN
game/speech/room01/ROOM1_look_wall_item_1_de.ogg
Normal file
Binary file not shown.
BIN
game/speech/room01/ROOM1_look_wall_item_2.ogg
Normal file
BIN
game/speech/room01/ROOM1_look_wall_item_2.ogg
Normal file
Binary file not shown.
BIN
game/speech/room01/ROOM1_look_wall_item_2_de.ogg
Normal file
BIN
game/speech/room01/ROOM1_look_wall_item_2_de.ogg
Normal file
Binary file not shown.
BIN
game/speech/room01/ROOM1_look_wall_item_3.ogg
Normal file
BIN
game/speech/room01/ROOM1_look_wall_item_3.ogg
Normal file
Binary file not shown.
BIN
game/speech/room01/ROOM1_look_wall_item_3_de.ogg
Normal file
BIN
game/speech/room01/ROOM1_look_wall_item_3_de.ogg
Normal file
Binary file not shown.
BIN
game/speech/room01/ROOM1_look_wall_item_4.ogg
Normal file
BIN
game/speech/room01/ROOM1_look_wall_item_4.ogg
Normal file
Binary file not shown.
BIN
game/speech/room01/ROOM1_look_wall_item_4_de.ogg
Normal file
BIN
game/speech/room01/ROOM1_look_wall_item_4_de.ogg
Normal file
Binary file not shown.
@@ -10,6 +10,7 @@ OPTIONS_LANGUAGE,Language,Langue,Sprache
|
|||||||
GENERAL_VOLUME,General,Général,Allgemein
|
GENERAL_VOLUME,General,Général,Allgemein
|
||||||
MUSIC_VOLUME,Music,Musique,Musik
|
MUSIC_VOLUME,Music,Musique,Musik
|
||||||
SOUND_VOLUME,Sound effects,Effets sonores,Soundeffekte
|
SOUND_VOLUME,Sound effects,Effets sonores,Soundeffekte
|
||||||
|
SPEECH_VOLUME,Speech,Voix,Sprachausgabe
|
||||||
CANCEL,Cancel,Annuler,Abbrechen
|
CANCEL,Cancel,Annuler,Abbrechen
|
||||||
OK,OK,Ok,Ok
|
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:
|
ENTER_SAVE_NAME,Enter the save name:,Entrez un nom de sauvegarde,Bitte gib einen Namen für das Spiel ein:
|
||||||
|
|||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -5,7 +5,7 @@ func _ready():
|
|||||||
var event = ESCEvent.new(":music")
|
var event = ESCEvent.new(":music")
|
||||||
event.statements.append(
|
event.statements.append(
|
||||||
ESCCommand.new(
|
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)
|
escoria.event_manager.queue_event(event)
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ func initialize_options(p_settings):
|
|||||||
_options.get_node("general_volume").value = p_settings["master_volume"]
|
_options.get_node("general_volume").value = p_settings["master_volume"]
|
||||||
_options.get_node("sound_volume").value = p_settings["sfx_volume"]
|
_options.get_node("sound_volume").value = p_settings["sfx_volume"]
|
||||||
_options.get_node("music_volume").value = p_settings["music_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):
|
func _on_language_input(event: InputEvent, language: String):
|
||||||
@@ -77,3 +78,9 @@ func _on_back_pressed():
|
|||||||
escoria.settings = backup_settings
|
escoria.settings = backup_settings
|
||||||
escoria._on_settings_loaded(escoria.settings)
|
escoria._on_settings_loaded(escoria.settings)
|
||||||
emit_signal("back_button_pressed")
|
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
|
||||||
|
|||||||
@@ -19,16 +19,16 @@ size_flags_vertical = 3
|
|||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer"]
|
||||||
margin_left = 482.0
|
margin_left = 482.0
|
||||||
margin_top = 366.0
|
margin_top = 354.0
|
||||||
margin_right = 798.0
|
margin_right = 798.0
|
||||||
margin_bottom = 533.0
|
margin_bottom = 546.0
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="CenterContainer/VBoxContainer"]
|
[node name="MarginContainer" type="MarginContainer" parent="CenterContainer/VBoxContainer"]
|
||||||
margin_right = 316.0
|
margin_right = 316.0
|
||||||
margin_bottom = 136.0
|
margin_bottom = 161.0
|
||||||
size_flags_vertical = 6
|
size_flags_vertical = 6
|
||||||
custom_constants/margin_right = 20
|
custom_constants/margin_right = 20
|
||||||
custom_constants/margin_top = 20
|
custom_constants/margin_top = 20
|
||||||
@@ -39,7 +39,7 @@ custom_constants/margin_bottom = 20
|
|||||||
margin_left = 20.0
|
margin_left = 20.0
|
||||||
margin_top = 20.0
|
margin_top = 20.0
|
||||||
margin_right = 296.0
|
margin_right = 296.0
|
||||||
margin_bottom = 116.0
|
margin_bottom = 141.0
|
||||||
size_flags_vertical = 6
|
size_flags_vertical = 6
|
||||||
custom_constants/hseparation = 40
|
custom_constants/hseparation = 40
|
||||||
columns = 2
|
columns = 2
|
||||||
@@ -115,10 +115,28 @@ max_value = 1.0
|
|||||||
step = 0.001
|
step = 0.001
|
||||||
value = 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"]
|
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/VBoxContainer"]
|
||||||
margin_top = 140.0
|
margin_top = 165.0
|
||||||
margin_right = 316.0
|
margin_right = 316.0
|
||||||
margin_bottom = 167.0
|
margin_bottom = 192.0
|
||||||
custom_constants/separation = 20
|
custom_constants/separation = 20
|
||||||
alignment = 1
|
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/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/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/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/back" to="." method="_on_back_pressed"]
|
||||||
[connection signal="pressed" from="CenterContainer/VBoxContainer/HBoxContainer/apply" to="." method="_on_apply_pressed"]
|
[connection signal="pressed" from="CenterContainer/VBoxContainer/HBoxContainer/apply" to="." method="_on_apply_pressed"]
|
||||||
|
|||||||
@@ -104,16 +104,6 @@ _global_script_classes=[ {
|
|||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://addons/escoria-core/game/core-scripts/esc_background.gd"
|
"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",
|
"base": "Node",
|
||||||
"class": "ESCBaseCommand",
|
"class": "ESCBaseCommand",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
@@ -177,7 +167,7 @@ _global_script_classes=[ {
|
|||||||
"base": "ResourcePreloader",
|
"base": "ResourcePreloader",
|
||||||
"class": "ESCDialogsPlayer",
|
"class": "ESCDialogsPlayer",
|
||||||
"language": "GDScript",
|
"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",
|
"base": "Resource",
|
||||||
"class": "ESCDirectionAngle",
|
"class": "ESCDirectionAngle",
|
||||||
@@ -254,6 +244,11 @@ _global_script_classes=[ {
|
|||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://addons/escoria-core/game/core-scripts/behaviors/esc_movable.gd"
|
"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",
|
"base": "Node",
|
||||||
"class": "ESCObject",
|
"class": "ESCObject",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
@@ -304,6 +299,16 @@ _global_script_classes=[ {
|
|||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://addons/escoria-core/game/core-scripts/esc/types/esc_script.gd"
|
"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",
|
"base": "Object",
|
||||||
"class": "ESCStatement",
|
"class": "ESCStatement",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
@@ -504,8 +509,6 @@ _global_script_class_icons={
|
|||||||
"ESCAnimationPlayer": "",
|
"ESCAnimationPlayer": "",
|
||||||
"ESCAnimationResource": "",
|
"ESCAnimationResource": "",
|
||||||
"ESCBackground": "res://addons/escoria-core/design/esc_background.svg",
|
"ESCBackground": "res://addons/escoria-core/design/esc_background.svg",
|
||||||
"ESCBackgroundMusic": "",
|
|
||||||
"ESCBackgroundSound": "",
|
|
||||||
"ESCBaseCommand": "",
|
"ESCBaseCommand": "",
|
||||||
"ESCCamera": "",
|
"ESCCamera": "",
|
||||||
"ESCCameraLimits": "",
|
"ESCCameraLimits": "",
|
||||||
@@ -534,6 +537,7 @@ _global_script_class_icons={
|
|||||||
"ESCLocation": "res://addons/escoria-core/design/esc_location.svg",
|
"ESCLocation": "res://addons/escoria-core/design/esc_location.svg",
|
||||||
"ESCLogger": "",
|
"ESCLogger": "",
|
||||||
"ESCMovable": "",
|
"ESCMovable": "",
|
||||||
|
"ESCMusicPlayer": "",
|
||||||
"ESCObject": "",
|
"ESCObject": "",
|
||||||
"ESCObjectManager": "",
|
"ESCObjectManager": "",
|
||||||
"ESCPlayer": "res://addons/escoria-core/design/esc_player.svg",
|
"ESCPlayer": "res://addons/escoria-core/design/esc_player.svg",
|
||||||
@@ -544,6 +548,8 @@ _global_script_class_icons={
|
|||||||
"ESCSaveSettings": "",
|
"ESCSaveSettings": "",
|
||||||
"ESCScheduledEvent": "",
|
"ESCScheduledEvent": "",
|
||||||
"ESCScript": "",
|
"ESCScript": "",
|
||||||
|
"ESCSoundPlayer": "",
|
||||||
|
"ESCSpeechPlayer": "",
|
||||||
"ESCStatement": "",
|
"ESCStatement": "",
|
||||||
"ESCTerrain": "res://addons/escoria-core/design/esc_terrain.svg",
|
"ESCTerrain": "res://addons/escoria-core/design/esc_terrain.svg",
|
||||||
"ESCTooltip": "",
|
"ESCTooltip": "",
|
||||||
@@ -592,6 +598,10 @@ boot_splash/use_filter=false
|
|||||||
boot_splash/bg_color=Color( 0.960784, 0.384314, 0, 1 )
|
boot_splash/bg_color=Color( 0.960784, 0.384314, 0, 1 )
|
||||||
config/icon="res://icon.png"
|
config/icon="res://icon.png"
|
||||||
|
|
||||||
|
[audio]
|
||||||
|
|
||||||
|
default_bus_layout="res://addons/escoria-core/default_bus_layout.tres"
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
escoria="*res://addons/escoria-core/game/escoria.tscn"
|
escoria="*res://addons/escoria-core/game/escoria.tscn"
|
||||||
@@ -642,6 +652,8 @@ main/escoria_version=""
|
|||||||
sound/speech_enabled=1
|
sound/speech_enabled=1
|
||||||
ui/game_scene="res://addons/escoria-ui-9verbs/game.tscn"
|
ui/game_scene="res://addons/escoria-ui-9verbs/game.tscn"
|
||||||
ui/dialogs_chooser="res://game/ui/commons/dialogs/text_dialog_choice.tscn"
|
ui/dialogs_chooser="res://game/ui/commons/dialogs/text_dialog_choice.tscn"
|
||||||
|
sound/speech_folder="res://game/speech"
|
||||||
|
sound/speech_extension="ogg"
|
||||||
|
|
||||||
[input]
|
[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" )
|
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, [ ] ]
|
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]
|
[network]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user