Text Settings done

This commit is contained in:
2025-06-16 23:31:04 +02:00
parent 2515716591
commit 319d7ae1e8
8 changed files with 422 additions and 166 deletions
+2 -2
View File
@@ -64,8 +64,8 @@ var dialogue_line: DialogueLine:
if dialogue_line.responses.size() > 0:
balloon.focus_mode = Control.FOCUS_NONE
responses_menu.show()
elif dialogue_line.time != "":
var time = dialogue_line.text.length() * 0.02 if dialogue_line.time == "auto" else dialogue_line.time.to_float()
elif UI.is_auto:
var time = UI.auto_speed
await get_tree().create_timer(time).timeout
next(dialogue_line.next_id)
else:
-24
View File
@@ -5,27 +5,3 @@ var balloon: Node
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
self.hide()
func start_balloon(dialogue_resource: Resource, start_title: String):
#Freeing Previous Balloon and Disconnecting DialogueManager signals
clean_balloon()
#Instantiating a custom balloon
var balloon_path = "res://Dialogues/balloon_big.tscn"
var Balloon: Resource = load(balloon_path)
balloon = Balloon.instantiate()
get_tree().current_scene.add_child(balloon)
#Starting dialogue
balloon.start(dialogue_resource, start_title)
func clean_balloon():
#Freeing Previous Balloon
if is_instance_valid(balloon):
balloon.queue_free()
+68 -14
View File
@@ -43,6 +43,9 @@ func _ready() -> void:
UI.connect("main_menu_pressed", self._on_main_menu_pressed)
screening_desk.connect("recovery_pressed", self._on_recovery_pressed)
UI.connect("text_value_changed", self._on_text_value_changed)
UI.connect("auto_value_changed", self._on_auto_value_changed)
#Updating Save/Load Slots Information based on Existing Saves
update_slots()
@@ -73,7 +76,7 @@ func play_intro():
TransitionScreen.transition("big", [$TextScreens, $TextScreens/MarginContainer, text_container.get_child(4), UI, UI.get_node("UI/SkipContainer")], [$DialogueScreens])
await TransitionScreen.transition_finished
$DialogueScreens.start_balloon(Globals.dialogue_intro, "start")
start_balloon("big", Globals.dialogue_intro, "start")
await DialogueManager.dialogue_ended
#Starting the day
@@ -84,6 +87,9 @@ func play_intro():
#Starts the day
func start_day():
#Hiding Menu for cinematic impact
UI.get_node("UI/UpperContainer").hide()
#Transitioning to day screen
$TextScreens/Day.text = "[center]DAY " + str(Globals.day_count) + "[/center]"
@@ -91,10 +97,12 @@ func start_day():
var scenes_to_show: Array[Node] = [$TextScreens, $TextScreens/Day]
TransitionScreen.transition("big", scenes_to_hide, scenes_to_show)
await TransitionScreen.transition_finished
await get_tree().create_timer(3.0).timeout
await get_tree().create_timer(2.0).timeout
#Transitioning to the screening desk
TransitionScreen.transition("big", [$TextScreens, $TextScreens/Day], [$ScreeningDesk, $ScreeningDesk.alone_controls, UI, UI.get_node("UI/UpperContainer")])
scenes_to_hide = scenes_to_show
scenes_to_show = [$ScreeningDesk, $ScreeningDesk.alone_controls, UI, UI.get_node("UI/UpperContainer")]
TransitionScreen.transition("big", scenes_to_hide, scenes_to_show)
await TransitionScreen.transition_finished
#Setting up new patient
@@ -112,7 +120,7 @@ func _on_recovery_pressed():
await TransitionScreen.transition_finished
#End of day dialogue
$DialogueScreens.start_balloon(Globals.dialogue_recovery, "end_of_day_" + str(Globals.day_count))
start_balloon("big", Globals.dialogue_recovery, "end_of_day_" + str(Globals.day_count))
await DialogueManager.dialogue_ended
#Start of the next day
@@ -157,16 +165,14 @@ func save_game(save_slot_number:int):
#Loads save file from the selected load slot
func load_game(load_slot_number:int):
#CLeaning balloons
$DialogueScreens.clean_balloon()
$ScreeningDesk.clean_balloon()
#CLearing balloon
clear_balloon()
#Hiding loading menus and masks
TransitionScreen.mask.visible = false
UI.get_node("UI/Menu").hide()
UI.get_node("UI/UpperContainer").hide()
UI.get_node("UI/Load").hide()
UI.get_node("UI/LoadTitle").hide()
#Opening save file
var file = FileAccess.open("res://Saves/save_" + str(load_slot_number) + ".json", FileAccess.READ)
@@ -207,9 +213,8 @@ func _on_main_menu_pressed():
#Removing mask
TransitionScreen.mask.visible = false
#Cleaning balloons
$DialogueScreens.clean_balloon()
$ScreeningDesk.clean_balloon()
#Clearing balloon
clear_balloon()
#Hiding menus
UI.get_node("UI/Menu").hide()
@@ -232,10 +237,8 @@ func update_slots():
#Retrieves save and load slots
var save_slot_path = "UI/Save/MarginContainer/VBoxContainer/SaveSlot" + str(save_number)
var load_slot_path = "UI/Load/MarginContainer/VBoxContainer/LoadSlot" + str(save_number)
var load_title_slot_path = "UI/LoadTitle/MarginContainer/VBoxContainer/LoadSlot" + str(save_number)
var save_slot = UI.get_node(save_slot_path)
var load_slot = UI.get_node(load_slot_path)
var load_title_slot = UI.get_node(load_title_slot_path)
#Retrieves save path
var save_path = "res://Saves/save_" + str(save_number) + ".json"
@@ -251,6 +254,57 @@ func update_slots():
print(load_data)
save_slot.text = "DAY " + str(load_data["day_count"]) + ", PATIENT " + str(load_data["patient_count"]) + "\nSAVE DATE : " + str(load_data["save_date"])
load_slot.text = save_slot.text
load_title_slot.text = save_slot.text
else:
print("Failed to parse Loading Data.")
#Starts a balloon dialogue
func start_balloon(panel_size:String, dialogue_resource: Resource, start_title: String):
#Clearing previous balloon
clear_balloon()
#Instantiating a custom balloon
var Balloon: Resource = load("res://Dialogues/balloon_" + panel_size + ".tscn")
balloon = Balloon.instantiate()
get_tree().current_scene.add_child(balloon)
#Connects emotion signals if needed
if panel_size == "small":
DialogueManager.got_dialogue.connect($ScreeningDesk._change_emotion)
DialogueManager.got_dialogue.connect($ScreeningDesk._recording_text)
#Applies text settings to the balloon
balloon.dialogue_label.seconds_per_step = UI.text_speed
#balloon.dialogue_line.time = UI.auto_speed
#Starts dialogue
balloon.start(dialogue_resource, start_title)
#Clearing balloon
func clear_balloon():
#Clearing Previous Balloon
if is_instance_valid(balloon):
balloon.queue_free()
#Disconnecting emotion signals
if DialogueManager.is_connected("got_dialogue", $ScreeningDesk._change_emotion):
DialogueManager.disconnect("got_dialogue", $ScreeningDesk._change_emotion)
if DialogueManager.is_connected("got_dialogue", $ScreeningDesk._recording_text):
DialogueManager.disconnect("got_dialogue", $ScreeningDesk._recording_text)
#Changes text_speed value
func _on_text_value_changed():
if is_instance_valid(balloon):
balloon.dialogue_label.seconds_per_step = UI.text_speed
#Changes auto_speed value
func _on_auto_value_changed():
if is_instance_valid(balloon):
#balloon.dialogue_line.time = UI.auto_speed
pass
+1 -1
View File
@@ -16,8 +16,8 @@ config/features=PackedStringArray("4.3", "Forward Plus")
[autoload]
TransitionScreen="*res://transition_screen.tscn"
DialogueManager="*res://addons/dialogue_manager/dialogue_manager.gd"
TransitionScreen="*res://transition_screen.tscn"
UI="*res://ui.tscn"
Globals="*res://globals.gd"
CurrentPatient="*res://current_patient.gd"
+8 -36
View File
@@ -18,11 +18,14 @@ extends Control
signal recovery_pressed
var main: Node
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
#Referencing main node
main = get_parent()
#Connecting signals
alone_controls.get_node("PatientFile").pressed.connect(self._on_patient_file_pressed)
alone_controls.get_node("Guidebook").pressed.connect(self._on_guidebook_pressed)
@@ -125,7 +128,7 @@ func _on_call_next_patient_pressed():
await TransitionScreen.transition_finished
#Starting Dialogue
start_balloon(patient_dialogue_resource, "start")
main.start_balloon("small", patient_dialogue_resource, "start")
@@ -203,24 +206,6 @@ func _on_psych_ward_pressed():
#Starting dialogue
func start_balloon(dialogue_resource: Resource, start_title: String):
#Freeing Previous Balloon and Disconnecting DialogueManager signals
clean_balloon()
#Instantiating a custom balloon
var Balloon: Resource = load("res://Dialogues/balloon_small.tscn")
balloon = Balloon.instantiate()
get_tree().current_scene.add_child(balloon)
#Starting Dialogue and connecting DialogueManager signals
DialogueManager.got_dialogue.connect(_change_emotion)
DialogueManager.got_dialogue.connect(_recording_text)
balloon.start(dialogue_resource, start_title)
#Clears patient and transitions towards next patient or end of day
func clear_patient(choice:String):
@@ -229,7 +214,7 @@ func clear_patient(choice:String):
_on_examine_pressed()
#Final Patient Dialogue
start_balloon(patient_dialogue_resource, choice)
main.start_balloon("small", patient_dialogue_resource, choice)
await DialogueManager.dialogue_ended
#Transitioning
@@ -254,24 +239,11 @@ func clear_patient(choice:String):
#Starting End of Day Dialogue
var start_title = "end_of_day_" + str(Globals.day_count)
start_balloon(end_of_day_dialogue_resource, start_title)
main.start_balloon("small", end_of_day_dialogue_resource, start_title)
func _on_recovery_pressed():
clean_balloon()
main.clear_balloon()
recovery_pressed.emit()
#Cleaning balloon
func clean_balloon():
#Freeing Previous Balloon and Disconnecting DialogueManager signals
if is_instance_valid(balloon):
balloon.queue_free()
if DialogueManager.is_connected("got_dialogue", _change_emotion):
DialogueManager.disconnect("got_dialogue", _change_emotion)
if DialogueManager.is_connected("got_dialogue", _recording_text):
DialogueManager.disconnect("got_dialogue", _recording_text)
+7 -3
View File
@@ -1,7 +1,6 @@
extends CanvasLayer
signal new_game_pressed
signal settings_pressed
# Called when the node enters the scene tree for the first time.
@@ -24,13 +23,18 @@ func _on_new_game_pressed() -> void:
func _on_load_pressed():
UI.get_node("UI/LoadTitle").show()
UI.get_node("UI/Load").show()
UI.get_node("UI/Load/MarginContainer/VBoxContainer/Control/Back").hide()
UI.get_node("UI/Load/MarginContainer/VBoxContainer/Control/BackTitle").show()
TransitionScreen.mask.visible = true
func _on_settings_pressed() -> void:
settings_pressed.emit()
UI.get_node("UI/Settings").show()
UI.get_node("UI/Settings/MarginContainer/VBoxContainer/Control/Back").hide()
UI.get_node("UI/Settings/MarginContainer/VBoxContainer/Control/BackTitle").show()
TransitionScreen.mask.visible = true
+73 -13
View File
@@ -3,14 +3,37 @@ extends CanvasLayer
@onready var next = $UI/SkipContainer/NextButton
@onready var confirmation_mask = $ConfirmationMask
#Signals for progressing through slides
signal next_request
signal next_slide
#Signals for saving and loading
signal save_slot_pressed(save_slot_number: int)
signal load_slot_pressed(load_slot_number: int)
#Signal for going back to main menu
signal main_menu_pressed
#Preloading Confirmation dialog
var confirmation_dialog = preload("res://confirmation_dialog.tscn")
#Text settings sliders
@export var text_slider: Node
@export var auto_slider: Node
@export var text_counter: Node
@export var auto_counter: Node
@export var autoplay: Node
@export var auto_mask: ColorRect
#Vars and signals for handling text settings
var text_speed: float
var auto_speed: float
var is_auto = false
signal text_value_changed
signal auto_value_changed
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
@@ -29,9 +52,10 @@ func _ready() -> void:
$UI/Menu/MarginContainer/VBoxContainer/MainMenu.pressed.connect(_on_main_menu_pressed)
$UI/Menu/MarginContainer/VBoxContainer/Quit.pressed.connect(_on_quit_game_pressed)
$UI/Save/MarginContainer/VBoxContainer/Back.pressed.connect(_on_back_pressed)
$UI/Load/MarginContainer/VBoxContainer/Back.pressed.connect(_on_back_pressed)
$UI/LoadTitle/MarginContainer/VBoxContainer/Back.pressed.connect(_on_back_title_pressed)
$UI/Settings/MarginContainer/VBoxContainer/Back.pressed.connect(_on_back_pressed)
$UI/Load/MarginContainer/VBoxContainer/Control/Back.pressed.connect(_on_back_pressed)
$UI/Load/MarginContainer/VBoxContainer/Control/BackTitle.pressed.connect(_on_back_title_pressed)
$UI/Settings/MarginContainer/VBoxContainer/Control/Back.pressed.connect(_on_back_pressed)
$UI/Settings/MarginContainer/VBoxContainer/Control/BackTitle.pressed.connect(_on_back_title_pressed)
#Save Slots Signals
$UI/Save/MarginContainer/VBoxContainer/SaveSlot1.pressed.connect(func(): _on_save_slot_pressed(1))
@@ -45,20 +69,26 @@ func _ready() -> void:
$UI/Load/MarginContainer/VBoxContainer/LoadSlot3.pressed.connect(func(): _on_load_slot_pressed(3))
$UI/Load/MarginContainer/VBoxContainer/LoadSlot4.pressed.connect(func(): _on_load_slot_pressed(4))
#Load Title Slots Signals
$UI/LoadTitle/MarginContainer/VBoxContainer/LoadSlot1.pressed.connect(func(): _on_load_slot_pressed(1))
$UI/LoadTitle/MarginContainer/VBoxContainer/LoadSlot2.pressed.connect(func(): _on_load_slot_pressed(2))
$UI/LoadTitle/MarginContainer/VBoxContainer/LoadSlot3.pressed.connect(func(): _on_load_slot_pressed(3))
$UI/LoadTitle/MarginContainer/VBoxContainer/LoadSlot4.pressed.connect(func(): _on_load_slot_pressed(4))
#Text settings signals
text_slider.value_changed.connect(_on_text_value_changed)
auto_slider.value_changed.connect(_on_auto_value_changed)
autoplay.pressed.connect(_on_autoplay_pressed)
text_speed = 0.1 / text_slider.value
auto_speed = 0.4 * auto_slider.value
text_counter.text = "[center]" + str(snapped((text_speed * 1000), 1)) + " ms/letter[/center]"
auto_counter.text = "[center]" + str(snapped(auto_speed, 0.01)) + " s delay[/center]"
#Initializes the auto-advance to false
autoplay.button_pressed = false
auto_mask.visible = true
#Hiding everything at start
#self.hide()
self.get_node("UI/UpperContainer").hide()
self.get_node("UI/SkipContainer").hide()
for node in $UI.get_children():
node.hide()
confirmation_mask.visible = false
#Brings up a Confirmation Dialog
func ask_confirmation(function_yes: Callable, function_no: Callable, choice_text: String):
@@ -133,6 +163,8 @@ func _on_save_pressed():
func _on_load_pressed():
$UI/Menu.hide()
$UI/Load.show()
$UI/Load/MarginContainer/VBoxContainer/Control/BackTitle.hide()
$UI/Load/MarginContainer/VBoxContainer/Control/Back.show()
@@ -147,7 +179,8 @@ func _on_back_pressed():
#Goes back to title screen
func _on_back_title_pressed():
$UI/LoadTitle.hide()
$UI/Load.hide()
$UI/Settings.hide()
TransitionScreen.mask.visible = false
@@ -156,6 +189,8 @@ func _on_back_title_pressed():
func _on_settings_pressed():
$UI/Menu.hide()
$UI/Settings.show()
$UI/Settings/MarginContainer/VBoxContainer/Control/BackTitle.hide()
$UI/Settings/MarginContainer/VBoxContainer/Control/Back.show()
@@ -204,3 +239,28 @@ func _on_load_slot_pressed(load_slot_number: int):
ask_confirmation(lambda, Callable(), choice_text)
else:
pass
#Changes text_speed value
func _on_text_value_changed(new_value: float):
text_speed = 0.1 / new_value
text_counter.text = "[center]" + str(snapped((text_speed * 1000), 1)) + " ms/letter[/center]"
text_value_changed.emit()
#Changes auto_speed value
func _on_auto_value_changed(new_value: float):
auto_speed = 0.4 * new_value
auto_counter.text = "[center]" + str(snapped(auto_speed, 0.01)) + " s delay[/center]"
auto_value_changed.emit()
#Toggles auto-advance
func _on_autoplay_pressed():
if autoplay.button_pressed:
is_auto = true
auto_mask.visible = false
else:
is_auto = false
auto_mask.visible = true
+263 -73
View File
@@ -10,9 +10,15 @@ border_width_top = 2
border_width_right = 2
border_width_bottom = 2
[node name="UILayer" type="CanvasLayer"]
[node name="UILayer" type="CanvasLayer" node_paths=PackedStringArray("text_slider", "auto_slider", "text_counter", "auto_counter", "autoplay", "auto_mask")]
layer = 127
script = ExtResource("1_mg12k")
text_slider = NodePath("UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/TextSpeed/TextSlider")
auto_slider = NodePath("UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control/AutoSpeed/AutoSlider")
text_counter = NodePath("UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/TextSpeed/TextCounter")
auto_counter = NodePath("UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control/AutoSpeed/AutoCounter")
autoplay = NodePath("UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/AutoPlay/AutoPlayCheckBox")
auto_mask = NodePath("UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control/AutoMask")
[node name="UI" type="Control" parent="."]
z_index = 12
@@ -239,84 +245,45 @@ theme_override_fonts/font = ExtResource("2_cohu5")
theme_override_font_sizes/font_size = 27
text = "EMPTY"
[node name="Back" type="Button" parent="UI/Load/MarginContainer/VBoxContainer"]
custom_minimum_size = Vector2(80, 40)
[node name="Control" type="Control" parent="UI/Load/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
size_flags_stretch_ratio = 0.7
[node name="Back" type="Button" parent="UI/Load/MarginContainer/VBoxContainer/Control"]
custom_minimum_size = Vector2(80, 40)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -40.0
offset_top = -20.0
offset_right = 40.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 4
size_flags_vertical = 6
theme_override_fonts/font = ExtResource("2_cohu5")
theme_override_font_sizes/font_size = 20
text = "BACK"
[node name="LoadTitle" type="PanelContainer" parent="UI"]
visible = false
layout_mode = 2
[node name="BackTitle" type="Button" parent="UI/Load/MarginContainer/VBoxContainer/Control"]
custom_minimum_size = Vector2(80, 40)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -200.0
offset_top = -300.0
offset_right = 200.0
offset_bottom = 300.0
offset_left = -40.0
offset_top = -20.0
offset_right = 40.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_fo2i3")
[node name="Background" type="ColorRect" parent="UI/LoadTitle"]
layout_mode = 2
color = Color(0, 0, 0, 1)
[node name="MarginContainer" type="MarginContainer" parent="UI/LoadTitle"]
layout_mode = 2
theme_override_constants/margin_left = 25
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 25
theme_override_constants/margin_bottom = 0
[node name="VBoxContainer" type="VBoxContainer" parent="UI/LoadTitle/MarginContainer"]
layout_mode = 2
[node name="RichTextLabel" type="RichTextLabel" parent="UI/LoadTitle/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 30
bbcode_enabled = true
text = "
[center]LOAD GAME[/center]"
[node name="LoadSlot1" type="Button" parent="UI/LoadTitle/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_fonts/font = ExtResource("2_cohu5")
theme_override_font_sizes/font_size = 27
text = "EMPTY"
[node name="LoadSlot2" type="Button" parent="UI/LoadTitle/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_fonts/font = ExtResource("2_cohu5")
theme_override_font_sizes/font_size = 27
text = "EMPTY"
[node name="LoadSlot3" type="Button" parent="UI/LoadTitle/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_fonts/font = ExtResource("2_cohu5")
theme_override_font_sizes/font_size = 27
text = "EMPTY"
[node name="LoadSlot4" type="Button" parent="UI/LoadTitle/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_fonts/font = ExtResource("2_cohu5")
theme_override_font_sizes/font_size = 27
text = "EMPTY"
[node name="Back" type="Button" parent="UI/LoadTitle/MarginContainer/VBoxContainer"]
custom_minimum_size = Vector2(80, 40)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 6
theme_override_fonts/font = ExtResource("2_cohu5")
@@ -324,8 +291,7 @@ theme_override_font_sizes/font_size = 20
text = "BACK"
[node name="Settings" type="PanelContainer" parent="UI"]
visible = false
custom_minimum_size = Vector2(800, 800)
custom_minimum_size = Vector2(1600, 800)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@@ -354,18 +320,242 @@ theme_override_constants/margin_bottom = 0
[node name="VBoxContainer" type="VBoxContainer" parent="UI/Settings/MarginContainer"]
layout_mode = 2
[node name="RichTextLabel" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer"]
[node name="Settings" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 30
theme_override_font_sizes/normal_font_size = 35
bbcode_enabled = true
text = "
[center]SETTINGS[/center]"
[node name="Back" type="Button" parent="UI/Settings/MarginContainer/VBoxContainer"]
custom_minimum_size = Vector2(80, 40)
[node name="GridContainer" type="GridContainer" parent="UI/Settings/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
size_flags_stretch_ratio = 5.0
columns = 3
[node name="MarginContainer" type="MarginContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="VBoxContainer2" type="VBoxContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer"]
layout_mode = 2
[node name="DialogueOptions" type="MarginContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions"]
layout_mode = 2
[node name="RichTextLabel" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 25
bbcode_enabled = true
text = "[center]DIALOGUE OPTIONS[/center]"
[node name="TextSpeed" type="HBoxContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
[node name="RichTextLabel" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/TextSpeed"]
custom_minimum_size = Vector2(140, 28)
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "TYPING SPEED"
[node name="TextSlider" type="HSlider" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/TextSpeed"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
size_flags_stretch_ratio = 4.0
min_value = 1.0
max_value = 10.0
value = 5.0
tick_count = 10
ticks_on_borders = true
[node name="TextCounter" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/TextSpeed"]
custom_minimum_size = Vector2(150, 25)
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
[node name="Control" type="Control" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
[node name="AutoSpeed" type="HBoxContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="RichTextLabel" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control/AutoSpeed"]
custom_minimum_size = Vector2(140, 25)
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "ADVANCE DELAY"
[node name="AutoSlider" type="HSlider" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control/AutoSpeed"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
size_flags_stretch_ratio = 4.0
min_value = 1.0
max_value = 10.0
value = 5.0
tick_count = 10
ticks_on_borders = true
[node name="AutoCounter" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control/AutoSpeed"]
custom_minimum_size = Vector2(150, 25)
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
[node name="AutoMask" type="ColorRect" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 0.784314)
[node name="AutoPlay" type="HBoxContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
theme_override_constants/separation = 10
[node name="RichTextLabel" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/AutoPlay"]
custom_minimum_size = Vector2(140, 25)
layout_mode = 2
size_flags_vertical = 4
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "AUTOPLAY TEXT"
[node name="AutoPlayCheckBox" type="CheckBox" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer/VBoxContainer2/DialogueOptions/VBoxContainer/AutoPlay"]
layout_mode = 2
size_flags_vertical = 4
[node name="MarginContainer2" type="MarginContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="VBoxContainer2" type="VBoxContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2"]
layout_mode = 2
[node name="ScreenSettings" type="MarginContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2/VBoxContainer2"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2/VBoxContainer2/ScreenSettings"]
layout_mode = 2
[node name="RichTextLabel" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2/VBoxContainer2/ScreenSettings/VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 25
bbcode_enabled = true
text = "[center]SCREEN SETTINGS[/center]"
[node name="ScreenDisplay" type="HBoxContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2/VBoxContainer2/ScreenSettings/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 20
[node name="RichTextLabel" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2/VBoxContainer2/ScreenSettings/VBoxContainer/ScreenDisplay"]
custom_minimum_size = Vector2(120, 28)
layout_mode = 2
size_flags_vertical = 4
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "DISPLAY"
[node name="OptionButton" type="OptionButton" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2/VBoxContainer2/ScreenSettings/VBoxContainer/ScreenDisplay"]
custom_minimum_size = Vector2(250, 0)
layout_mode = 2
[node name="ScreenResolution" type="HBoxContainer" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2/VBoxContainer2/ScreenSettings/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 20
[node name="RichTextLabel" type="RichTextLabel" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2/VBoxContainer2/ScreenSettings/VBoxContainer/ScreenResolution"]
custom_minimum_size = Vector2(120, 28)
layout_mode = 2
size_flags_vertical = 4
theme_override_fonts/normal_font = ExtResource("2_cohu5")
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "RESOLUTION"
[node name="OptionButton" type="OptionButton" parent="UI/Settings/MarginContainer/VBoxContainer/GridContainer/MarginContainer2/VBoxContainer2/ScreenSettings/VBoxContainer/ScreenResolution"]
custom_minimum_size = Vector2(250, 0)
layout_mode = 2
[node name="Control" type="Control" parent="UI/Settings/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
size_flags_stretch_ratio = 0.7
[node name="Back" type="Button" parent="UI/Settings/MarginContainer/VBoxContainer/Control"]
custom_minimum_size = Vector2(80, 40)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -40.0
offset_top = -20.0
offset_right = 40.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 4
size_flags_vertical = 6
theme_override_fonts/font = ExtResource("2_cohu5")
theme_override_font_sizes/font_size = 20
text = "BACK"
[node name="BackTitle" type="Button" parent="UI/Settings/MarginContainer/VBoxContainer/Control"]
custom_minimum_size = Vector2(80, 40)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -40.0
offset_top = -20.0
offset_right = 40.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 4
size_flags_vertical = 6
theme_override_fonts/font = ExtResource("2_cohu5")
@@ -407,4 +597,4 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_force_pass_scroll_events = false
color = Color(0, 0, 0, 0.470588)
color = Color(0, 0, 0, 0.784314)