From 28f0a04995e0f7223ae474ee52f940e086516aae Mon Sep 17 00:00:00 2001 From: Adrian Schmid Date: Mon, 17 Jul 2023 19:00:17 +0200 Subject: [PATCH 1/5] accessibility menu: added function for screenreader toggle --- src/logic-scenes/startup/startup.tscn | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/logic-scenes/startup/startup.tscn b/src/logic-scenes/startup/startup.tscn index 5228fed..91c77b0 100644 --- a/src/logic-scenes/startup/startup.tscn +++ b/src/logic-scenes/startup/startup.tscn @@ -50,6 +50,10 @@ func previous(): focus_list[current_tab].grab_focus() else: current_tab -= 1 + +func _on_screenreader_toggled(button_pressed): + State.screen_reader = button_pressed # this is how you reach the global state + print_debug(State.screen_reader) " [sub_resource type="GDScript" id="GDScript_v567h"] @@ -524,6 +528,7 @@ grow_horizontal = 2 grow_vertical = 2 text = "I stream this game, please show content notes." +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/Screenreader" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="_on_screenreader_toggled"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] From 0d64f4adf648f80e5a00b4659da01388a48e2f81 Mon Sep 17 00:00:00 2001 From: Adrian Schmid Date: Tue, 18 Jul 2023 20:59:00 +0200 Subject: [PATCH 2/5] some notes for me + debug function for printing settings --- src/singletons/global_state.gd | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/src/singletons/global_state.gd b/src/singletons/global_state.gd index 298009f..29c4248 100644 --- a/src/singletons/global_state.gd +++ b/src/singletons/global_state.gd @@ -1,11 +1,11 @@ extends Node - -var screen_reader:bool = false -var disable_rendering: bool = false -var simplified_navigation:bool = false -var show_navigation_buttons: bool = false -var enable_subtitles: bool = false -var enable_closed_caption: bool = false + # For Startup Scene: +var screen_reader:bool = false # Screenreader +var disable_rendering: bool = false # show nav button +var simplified_navigation:bool = false # simplified controls +var show_navigation_buttons: bool = false # show nav ui +var enable_subtitles: bool = false # ItemList2 +var enable_closed_caption: bool = false # ItemList2 var reduce_motion: bool = false var streaming_content_notes: bool = false var show_content_notes: bool = false @@ -87,3 +87,17 @@ func transition_stage_to(thief: Object): func queue_for_stage(target: Object, index: int = 1): stage_list.insert(index, target) + +func print_settings(): + print_debug("Screenreader: ", screen_reader, " / ", + "Disable rendering: ", disable_rendering, " / ", + "Simplified controls: ", simplified_navigation, " / ", + "Show navigation buttons: ", show_navigation_buttons, " / ", + "Enable subtitles: ", enable_subtitles, " / ", + "Enable CC: ", enable_closed_caption, " / ") + + + + + + From 81dc81005632fffccb963d1f65695e4cf34ffab3 Mon Sep 17 00:00:00 2001 From: Adrian Schmid Date: Tue, 18 Jul 2023 21:00:21 +0200 Subject: [PATCH 3/5] 1st page accessibility settings (almost working except for fonts and ui scale) --- src/logic-scenes/startup/startup.tscn | 82 +++++++++++++++++++++++++-- 1 file changed, 78 insertions(+), 4 deletions(-) diff --git a/src/logic-scenes/startup/startup.tscn b/src/logic-scenes/startup/startup.tscn index 56d7b30..b6b7300 100644 --- a/src/logic-scenes/startup/startup.tscn +++ b/src/logic-scenes/startup/startup.tscn @@ -8,9 +8,61 @@ [sub_resource type="GDScript" id="GDScript_a78qq"] script/source = "extends Panel +@onready var show_navigation_buttons = $\"CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin/show nav ui\" func starting(): $\"CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/Next\".grab_focus() + +# toggle for disable rendering +func _on_disable_rendering_toggled(button_pressed): + State.disable_rendering = button_pressed + +# toggle for simplified controls +func _on_simplified_controls_toggled(button_pressed): + State.simplified_navigation = button_pressed # this is how you reach the global state + show_navigation_buttons.disabled = not button_pressed # if simpl. controls was toggled - disabled = false + +# toggle for show nav buttons +func _on_show_nav_ui_toggled(button_pressed): + State.show_navigation_buttons = button_pressed + +# select font +# still needs handling to change the style +func _on_font_style_selected(index): + match index: + 0: + print_debug(\"messy handwriting selected\") + #self.theme.set_font(\"NanumBrushScript.ttf\") + return + 1: + print_debug(\"easy handwriting selected\") + #owner.theme.set_font(\"NanumPenScript.ttf\") + return + 2: + print_debug(\"legible serif selected\") + #owner.theme.set_font(\"Eczar-VariableFont_wght.ttf\") + return + 3: + print_debug(\"hyperlegible sans selected\") + #owner.theme.set_font(\"AtkinsonHyperlegible.ttf\") + return + 4: + print_debug(\"system front selected\") + #owner.theme.set_font(SystemFont.fallbacks[0]) + return + +func _on_subtitle_option_selected(index): + match index: + 0: + State.enable_subtitles = false + State.enable_closed_caption = false + 1: + State.enable_subtitles = true + State.enable_closed_caption = false + 2: + State.enable_subtitles = true + State.enable_closed_caption = true + print_debug(State.print_settings()) " [sub_resource type="GDScript" id="GDScript_ia432"] @@ -18,6 +70,9 @@ script/source = "extends TabContainer var focus_list: Array +@onready var disable_rendering = $\"physical Accessibility/Container2/margin2/show nav buttons\" +@onready var simplified_controls = $\"physical Accessibility/Container2/simplified controls\" + func _ready(): for child in get_children(): focus_list.append(_find_selectable_in(child)) @@ -61,7 +116,11 @@ func previous(): func _on_screenreader_toggled(button_pressed): State.screen_reader = button_pressed # this is how you reach the global state - print_debug(State.screen_reader) + disable_rendering.disabled = not button_pressed # if screenreader was toggled - disabled = false + simplified_controls.button_pressed = button_pressed + State.simplified_navigation = button_pressed + + " [sub_resource type="GDScript" id="GDScript_v567h"] @@ -152,7 +211,6 @@ layout_mode = 2 [node name="Screenreader" type="CheckBox" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2"] layout_mode = 2 -button_pressed = true text = "activate Screenreader" script = SubResource("GDScript_v567h") @@ -174,7 +232,6 @@ layout_mode = 2 [node name="show nav ui" type="CheckBox" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin"] layout_mode = 2 disabled = true -button_pressed = true text = "show Navigation Buttons" [node name="GridContainer" type="GridContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2"] @@ -210,7 +267,7 @@ layout_mode = 2 text = "Subtitles:" [node name="VSeparator2" type="VSeparator" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] -custom_minimum_size = Vector2(30, 0) +custom_minimum_size = Vector2(30, 60) layout_mode = 2 [node name="ItemList2" type="OptionButton" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] @@ -225,6 +282,18 @@ popup/item_1/id = 1 popup/item_2/text = "text and audio" popup/item_2/id = 2 +[node name="Label3" type="Label" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] +layout_mode = 2 +text = "UI scale:" + +[node name="VSeparator3" type="VSeparator" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] +custom_minimum_size = Vector2(30, 60) +layout_mode = 2 + +[node name="HSlider" type="HSlider" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer"] +custom_minimum_size = Vector2(0, 60) +layout_mode = 2 + [node name="navbuttons" type="VSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility"] layout_mode = 2 size_flags_horizontal = 4 @@ -538,6 +607,11 @@ grow_vertical = 2 text = "I stream this game, please show content notes." [connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/Screenreader" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="_on_screenreader_toggled"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin2/show nav buttons" to="." method="_on_disable_rendering_toggled"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/simplified controls" to="." method="_on_simplified_controls_toggled"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/margin/show nav ui" to="." method="_on_show_nav_ui_toggled"] +[connection signal="item_selected" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer/ItemList" to="." method="_on_font_style_selected"] +[connection signal="item_selected" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer/ItemList2" to="." method="_on_subtitle_option_selected"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] From 5f8a7d5fdbdca6fb01e2ed21c564f3ea81c76de1 Mon Sep 17 00:00:00 2001 From: Adrian Schmid Date: Tue, 18 Jul 2023 21:37:04 +0200 Subject: [PATCH 4/5] added code for audio settings --- src/logic-scenes/startup/startup.tscn | 57 ++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 6 deletions(-) diff --git a/src/logic-scenes/startup/startup.tscn b/src/logic-scenes/startup/startup.tscn index b6b7300..f6048de 100644 --- a/src/logic-scenes/startup/startup.tscn +++ b/src/logic-scenes/startup/startup.tscn @@ -62,7 +62,33 @@ func _on_subtitle_option_selected(index): 2: State.enable_subtitles = true State.enable_closed_caption = true + print_debug(State.print_settings()) + + +func _on_mute_soundtrack_toggled(button_pressed): + AudioServer.set_bus_mute(AudioServer.get_bus_index(\"music\"),button_pressed) + + +func _on_mute_sfx_toggled(button_pressed): + AudioServer.set_bus_mute(AudioServer.get_bus_index(\"sfx\"),button_pressed) + + +func _on_music_volume_changed(value): + AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"music\"), linear_to_db(value)) + + +func _on_sfx_volume_changed(value): + AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"sfx\"), linear_to_db(value)) + + +func _on_text_volume_changed(value): + AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"text\"), linear_to_db(value)) + + +func _on_master_volume_changed(value): + AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"Master\"), linear_to_db(value)) + " [sub_resource type="GDScript" id="GDScript_ia432"] @@ -343,9 +369,9 @@ text = "Music" layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 4 -max_value = 2.0 +max_value = 1.0 step = 0.05 -value = 1.0 +value = 0.5 ticks_on_borders = true script = ExtResource("3_q2gbh") @@ -357,9 +383,9 @@ text = "Sounds" layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 4 -max_value = 2.0 +max_value = 1.0 step = 0.05 -value = 1.0 +value = 0.5 [node name="Label4" type="Label" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer/GridContainer"] layout_mode = 2 @@ -370,9 +396,22 @@ text = "Speech layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 4 -max_value = 2.0 +max_value = 1.0 step = 0.05 -value = 1.0 +value = 0.5 + +[node name="Label5" type="Label" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "Sum +" + +[node name="Sum" type="HSlider" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer/GridContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +max_value = 1.0 +step = 0.05 +value = 0.5 [node name="Audio Sliders" type="HBoxContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer"] layout_mode = 2 @@ -614,6 +653,12 @@ text = "I stream this game, please show content notes." [connection signal="item_selected" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/Container2/GridContainer/ItemList2" to="." method="_on_subtitle_option_selected"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/physical Accessibility/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer/CheckBox" to="." method="_on_mute_soundtrack_toggled"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer/CheckBox2" to="." method="_on_mute_sfx_toggled"] +[connection signal="value_changed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer/GridContainer/Music" to="." method="_on_music_volume_changed"] +[connection signal="value_changed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer/GridContainer/Sounds" to="." method="_on_sfx_volume_changed"] +[connection signal="value_changed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer/GridContainer/Speech" to="." method="_on_text_volume_changed"] +[connection signal="value_changed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/VBoxContainer/GridContainer/Sum" to="." method="_on_master_volume_changed"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/show content Notes" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/ScrollContainer/Content Notes" method="show"] From 522080d52e14899d1d18e41489f45e86f9a6bf4e Mon Sep 17 00:00:00 2001 From: Adrian Schmid Date: Tue, 18 Jul 2023 22:02:35 +0200 Subject: [PATCH 5/5] Added settings for final page (+ some notes on the global state) --- src/logic-scenes/startup/startup.tscn | 30 ++++++++++++++++++++++++++- src/singletons/global_state.gd | 8 +++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/logic-scenes/startup/startup.tscn b/src/logic-scenes/startup/startup.tscn index f6048de..863f283 100644 --- a/src/logic-scenes/startup/startup.tscn +++ b/src/logic-scenes/startup/startup.tscn @@ -26,6 +26,11 @@ func _on_simplified_controls_toggled(button_pressed): func _on_show_nav_ui_toggled(button_pressed): State.show_navigation_buttons = button_pressed +# toggle streaming notes +func _on_streaming_notes_toggled(button_pressed): + State.streaming_content_notes = button_pressed + + # select font # still needs handling to change the style func _on_font_style_selected(index): @@ -66,6 +71,8 @@ func _on_subtitle_option_selected(index): print_debug(State.print_settings()) +# Volume Settings + func _on_mute_soundtrack_toggled(button_pressed): AudioServer.set_bus_mute(AudioServer.get_bus_index(\"music\"),button_pressed) @@ -89,6 +96,19 @@ func _on_text_volume_changed(value): func _on_master_volume_changed(value): AudioServer.set_bus_volume_db(AudioServer.get_bus_index(\"Master\"), linear_to_db(value)) + +# Final Page + +func _on_content_notes_toggled(button_pressed): + State.show_content_notes = button_pressed + + +func _on_provide_summaries_toggled(button_pressed): + State.provide_summaries = button_pressed + + +func _on_allow_skipping_toggled(button_pressed): + State.allow_skipping = button_pressed " [sub_resource type="GDScript" id="GDScript_ia432"] @@ -371,7 +391,7 @@ size_flags_horizontal = 3 size_flags_vertical = 4 max_value = 1.0 step = 0.05 -value = 0.5 +value = 1.0 ticks_on_borders = true script = ExtResource("3_q2gbh") @@ -561,6 +581,10 @@ text = "show content notes relevant to the current context" layout_mode = 2 text = "prompt me with content notes before playing a scene" +[node name="CheckBox3" type="CheckBox" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/ScrollContainer/Content Notes/VBoxContainer5/VBoxContainer"] +layout_mode = 2 +text = "I would like to be able to skip scenes and get a summary." + [node name="navbuttons" type="VSplitContainer" parent="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes"] layout_mode = 2 size_flags_horizontal = 4 @@ -663,7 +687,11 @@ text = "I stream this game, please show content notes." [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Audio Settings/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/show content Notes" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/ScrollContainer/Content Notes" method="show"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/show content Notes" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/show content Notes" method="set_disabled" binds= [true]] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/ScrollContainer/Content Notes/VBoxContainer5/VBoxContainer/CheckBox" to="." method="_on_content_notes_toggled"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/ScrollContainer/Content Notes/VBoxContainer5/VBoxContainer/CheckBox2" to="." method="_on_provide_summaries_toggled"] +[connection signal="toggled" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/ScrollContainer/Content Notes/VBoxContainer5/VBoxContainer/CheckBox3" to="." method="_on_allow_skipping_toggled"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Content Notes/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations/navbuttons/Next" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="next"] [connection signal="pressed" from="CenterContainer/PanelContainer/VBoxContainer/TabContainer/Managing Expectations/navbuttons/previous" to="CenterContainer/PanelContainer/VBoxContainer/TabContainer" method="previous"] +[connection signal="toggled" from="continue/CheckBox" to="." method="_on_streaming_notes_toggled"] diff --git a/src/singletons/global_state.gd b/src/singletons/global_state.gd index 29c4248..b1c8a23 100644 --- a/src/singletons/global_state.gd +++ b/src/singletons/global_state.gd @@ -6,10 +6,10 @@ var simplified_navigation:bool = false # simplified controls var show_navigation_buttons: bool = false # show nav ui var enable_subtitles: bool = false # ItemList2 var enable_closed_caption: bool = false # ItemList2 -var reduce_motion: bool = false -var streaming_content_notes: bool = false -var show_content_notes: bool = false -var provide_summaries: bool = false +var reduce_motion: bool = false # ? +var streaming_content_notes: bool = false # continue/CheckBox +var show_content_notes: bool = false # ContentNotes/.../Checkbox +var provide_summaries: bool = false # ContentNotes/.../Checkbox2 var allow_skipping: bool = false var stage_list:Array = []