From c33641d9de17bfd6a8aeae08085e26f8f0cf826c Mon Sep 17 00:00:00 2001 From: Rekku Date: Mon, 23 Sep 2024 21:57:11 +0100 Subject: [PATCH 1/7] More button fungit add .! --- tools/configurator/main.tscn | 203 +++++++++++------- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 ++++---- tools/configurator/scripts/TabAbout.gd | 9 +- tools/configurator/scripts/TabContainer.gd | 1 + .../scripts/{ToolsTab.gd => TabTools.gd} | 0 5 files changed, 175 insertions(+), 122 deletions(-) rename tools/configurator/scripts/{ToolsTab.gd => TabTools.gd} (100%) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index a3e02188..ff20fe43 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -81,7 +81,7 @@ [ext_resource type="Texture2D" uid="uid://3sw7gtoiuab3" path="res://assets/icons/pixelitos/128/help-browser.png" id="46_feagl"] [ext_resource type="Texture2D" uid="uid://b0awa8venu1h8" path="res://assets/icons/pixelitos/128/cs-network.png" id="50_5d2ui"] [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] -[ext_resource type="Script" path="res://scripts/ToolsTab.gd" id="50_wqa5h"] +[ext_resource type="Script" path="res://scripts/TabTools.gd" id="50_wqa5h"] [ext_resource type="Texture2D" uid="uid://33f5uahr5tqm" path="res://assets/icons/pixelitos/128/mate-system-log.png" id="52_1rasc"] [ext_resource type="Script" path="res://scripts/TabSettings.gd" id="54_bxhvn"] [ext_resource type="Texture2D" uid="uid://dk4567tpvqpr6" path="res://assets/icons/pixelitos/128/preferences-desktop-plasma-theme.png" id="54_dah1j"] @@ -253,7 +253,7 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 3 +current_tab = 1 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] @@ -284,20 +284,21 @@ layout_mode = 2 [node name="globals_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] layout_mode = 2 -theme_override_constants/h_separation = 25 -theme_override_constants/v_separation = 25 -columns = 3 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 4 [node name="ask_to_exit_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "ASK TO EXIT" icon = ExtResource("5_ahd1x") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "This function will prompt you to exit on quiting an emulator." [node name="ask_to_exit_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/ask_to_exit_button"] @@ -314,14 +315,15 @@ show_percentage = false [node name="border_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "BORDERS" icon = ExtResource("4_jldgc") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true [node name="border_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/border_button"] unique_name_in_owner = true @@ -337,15 +339,16 @@ show_percentage = false [node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "BUTTON SWAP " icon = ExtResource("4_caaxx") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true [node name="button_swap_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/button_swap_button"] unique_name_in_owner = true @@ -360,39 +363,42 @@ theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false [node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 disabled = true text = "MODS" icon = ExtResource("5_vehlp") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "This feature is planned for a future release." [node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "QUICK RESUME" icon = ExtResource("12_3jrmi") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "Testing 1,2,3 .." [node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "REWIND" icon = ExtResource("11_c3qcy") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true [node name="quick_rewind_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/quick_rewind_button"] unique_name_in_owner = true @@ -407,39 +413,42 @@ theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false [node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 disabled = true text = "TATE MODE" icon = ExtResource("10_jm3oh") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "This feature is planned for a future release." [node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 disabled = true text = "SHADERS" icon = ExtResource("4_q6hd2") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "This feature is planned for a future release." [node name="widescreen_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "WIDESCREEN" icon = ExtResource("4_jldgc") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true [node name="widescreen_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/widescreen_button"] unique_name_in_owner = true @@ -455,9 +464,12 @@ show_percentage = false [node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 -text = "RESET RETRODECK" +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET +RETRODECK" icon = ExtResource("11_g1uhn") icon_alignment = 1 vertical_icon_alignment = 0 @@ -477,9 +489,12 @@ show_percentage = false [node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 -text = "RESET ALL EMULATORS" +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET ALL +EMULATORS" icon = ExtResource("45_qxd26") icon_alignment = 1 vertical_icon_alignment = 0 @@ -498,7 +513,6 @@ theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("36_wv31h") metadata/_tab_index = 1 @@ -515,144 +529,174 @@ size_flags_vertical = 3 [node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 -theme_override_constants/h_separation = 25 -theme_override_constants/v_separation = 25 -columns = 4 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 5 [node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RETROARCH" icon = ExtResource("4_xcuib") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "MAME" icon = ExtResource("36_dj81i") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RUFFLE" icon = ExtResource("37_7hhbn") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "MELONDS" icon = ExtResource("7_4otos") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "PCSX2" icon = ExtResource("38_44je8") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "DUCKSTATION" icon = ExtResource("6_winpq") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "PPSSPP" icon = ExtResource("8_akxf7") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "VITA3K" icon = ExtResource("38_vsjf2") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RPCS3" icon = ExtResource("8_ec4gt") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RYUJINX" icon = ExtResource("40_7fdvq") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "DOLPHIN" icon = ExtResource("11_61sak") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "PRIMEHACK" icon = ExtResource("41_55e56") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "CEMU" icon = ExtResource("42_n3n7j") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "XEMU" icon = ExtResource("43_ifi6j") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "ES-DE" icon = ExtResource("44_7lpj5") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true @@ -752,7 +796,7 @@ theme_override_constants/separation = 64 [node name="troubleshoot_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 -theme_override_constants/separation = 25 +theme_override_constants/separation = 15 [node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] unique_name_in_owner = true @@ -920,6 +964,7 @@ disabled = true text = "TK_MULTIFILE" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -1218,8 +1263,8 @@ text = "ABOUT RETRODECK" [node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] unique_name_in_owner = true layout_mode = 2 -theme_override_constants/h_separation = 20 -theme_override_constants/v_separation = 20 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 columns = 4 [node name="WIP" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index ff37252d..d3bb1661 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_cx80n"] +[sub_resource type="Image" id="Image_juppf"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_cx80n") +image = SubResource("Image_juppf") -[sub_resource type="Image" id="Image_o7ypa"] +[sub_resource type="Image" id="Image_y6jpb"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_o7ypa") +image = SubResource("Image_y6jpb") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_1mjn7"] +[sub_resource type="Image" id="Image_ox6ec"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_1mjn7") +image = SubResource("Image_ox6ec") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_nx1w6"] +[sub_resource type="Image" id="Image_tu5uw"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_nx1w6") +image = SubResource("Image_tu5uw") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_645t5"] +[sub_resource type="Image" id="Image_ai62r"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_645t5") +image = SubResource("Image_ai62r") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_6cwok"] +[sub_resource type="Image" id="Image_533ak"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_6cwok") +image = SubResource("Image_533ak") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_yq8x5"] +[sub_resource type="Image" id="Image_2goip"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_yq8x5") +image = SubResource("Image_2goip") -[sub_resource type="Image" id="Image_osx3u"] +[sub_resource type="Image" id="Image_khwm8"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_osx3u") +image = SubResource("Image_khwm8") -[sub_resource type="Image" id="Image_e358d"] +[sub_resource type="Image" id="Image_4u1di"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_e358d") +image = SubResource("Image_4u1di") -[sub_resource type="Image" id="Image_sc2ny"] +[sub_resource type="Image" id="Image_n0unl"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_sc2ny") +image = SubResource("Image_n0unl") -[sub_resource type="Image" id="Image_f4p5c"] +[sub_resource type="Image" id="Image_iwmpw"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_f4p5c") +image = SubResource("Image_iwmpw") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_4no34"] +[sub_resource type="Image" id="Image_mox4h"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_4no34") +image = SubResource("Image_mox4h") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_81fer"] +[sub_resource type="Image" id="Image_cmokc"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_81fer") +image = SubResource("Image_cmokc") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_o4hso"] +[sub_resource type="Image" id="Image_grrt1"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_o4hso") +image = SubResource("Image_grrt1") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_1giar"] +[sub_resource type="Image" id="Image_x7lb8"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_1giar") +image = SubResource("Image_x7lb8") -[sub_resource type="Image" id="Image_shov6"] +[sub_resource type="Image" id="Image_xytok"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_shov6") +image = SubResource("Image_xytok") -[sub_resource type="Image" id="Image_txvms"] +[sub_resource type="Image" id="Image_v36r2"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_txvms") +image = SubResource("Image_v36r2") -[sub_resource type="Image" id="Image_nqxn3"] +[sub_resource type="Image" id="Image_wovt8"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_nqxn3") +image = SubResource("Image_wovt8") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_7ahc2"] +[sub_resource type="Image" id="Image_6gtxh"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_7ahc2") +image = SubResource("Image_6gtxh") -[sub_resource type="Image" id="Image_n6ur5"] +[sub_resource type="Image" id="Image_vj0ge"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_n6ur5") +image = SubResource("Image_vj0ge") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_iyjpi"] +[sub_resource type="Image" id="Image_uhd1i"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_iyjpi") +image = SubResource("Image_uhd1i") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabAbout.gd b/tools/configurator/scripts/TabAbout.gd index 7e036425..9caf11f6 100644 --- a/tools/configurator/scripts/TabAbout.gd +++ b/tools/configurator/scripts/TabAbout.gd @@ -41,11 +41,18 @@ func create_buttons() -> void: _setup_button(button, web_data) func _setup_button(button: Button, web_data: Link) -> void: + button.size_flags_horizontal = Control.SIZE_EXPAND_FILL + button.size_flags_vertical = Control.SIZE_EXPAND_FILL button.text = web_data.name + var vect2 = Vector2(200,100) + button.custom_minimum_size = vect2 #button.tooltip_text = web_data.description button.icon = ResourceLoader.load(web_data.icon) - #button.editor_description = web_data.url button.set_meta("url", web_data.url) button.set_meta("description", web_data.description) button.icon_alignment = HORIZONTAL_ALIGNMENT_LEFT button.vertical_icon_alignment = VERTICAL_ALIGNMENT_CENTER + button.add_theme_constant_override("icon_max_width", 64) + button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER + button.alignment = HORIZONTAL_ALIGNMENT_CENTER + button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index 45e548a8..3b150c15 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -44,6 +44,7 @@ func connect_focus_signals(node): connect_focus_signals(child) func _on_Button_focus_exited(): + print ("exit") %pop_rtl.visible = false func _on_Button_focus_entered(button: Button): diff --git a/tools/configurator/scripts/ToolsTab.gd b/tools/configurator/scripts/TabTools.gd similarity index 100% rename from tools/configurator/scripts/ToolsTab.gd rename to tools/configurator/scripts/TabTools.gd From dc7174e3d79258828045fa3484cd726a2a2028b2 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 10:04:20 +0100 Subject: [PATCH 2/7] Rekku says what about me! --- tools/configurator/main.tscn | 33 +++---- .../res/pixel_ui_theme/RetroDECKTheme.tres | 89 +++++++++---------- tools/configurator/scripts/Rekku.gd | 11 +++ tools/configurator/scripts/TabContainer.gd | 24 +++-- tools/configurator/scripts/helper_text.gd | 10 +-- 5 files changed, 80 insertions(+), 87 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index ff20fe43..e61cdab9 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -253,12 +253,11 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 1 +current_tab = 0 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 script = ExtResource("4_2jqfc") metadata/_tab_index = 0 @@ -272,16 +271,6 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="globals_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="systems_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_container"] -layout_mode = 2 -text = "GLOBAL CONFIGURATION" - -[node name="systems_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_container"] -layout_mode = 2 - [node name="globals_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_constants/h_separation = 15 @@ -299,7 +288,8 @@ icon = ExtResource("5_ahd1x") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -metadata/description = "This function will prompt you to exit on quiting an emulator." +metadata/description = "Enables or disables ask to exit prompts in all supported emulators and cores. Note: If you disable this, the emulators will directly exit." +metadata/rekku = "If this box is orange blame monkeyx he loves Blaclpool FC. Or long press to reset and turm them all on again. You can also edit individual options for systems in the System TAB. " [node name="ask_to_exit_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/ask_to_exit_button"] unique_name_in_owner = true @@ -513,6 +503,7 @@ theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("36_wv31h") metadata/_tab_index = 1 @@ -543,6 +534,7 @@ text = "RETROARCH" icon = ExtResource("4_xcuib") icon_alignment = 1 vertical_icon_alignment = 0 +metadata/rekku = "This is my favourite emulator!" [node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true @@ -1639,6 +1631,7 @@ script = ExtResource("4_nqqx3") [node name="speach_bubble" type="Panel" parent="Background/SplitContainer/side_logo/rekku"] unique_name_in_owner = true +visible = false layout_mode = 0 offset_left = 371.0 offset_top = -1120.0 @@ -1646,7 +1639,8 @@ offset_right = 644.0 offset_bottom = -786.0 theme_override_styles/panel = SubResource("StyleBoxTexture_rf0rc") -[node name="helper_text" type="RichTextLabel" parent="Background/SplitContainer/side_logo/rekku/speach_bubble"] +[node name="helper_text" type="Label" parent="Background/SplitContainer/side_logo/rekku/speach_bubble"] +visible = false layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -1659,16 +1653,10 @@ offset_right = 129.5 offset_bottom = 191.0 grow_horizontal = 2 grow_vertical = 2 -text = "Rekku: - -When \"Quick Resume\" is enabled, a savestate is created upon quit and it will be loaded once the game is started. -This is mot working on the following systems: Switch, WiiU." -fit_content = true -scroll_following = true script = ExtResource("5_cprkf") [node name="rekku_sprite" type="Sprite2D" parent="Background/SplitContainer/side_logo/rekku"] -position = Vector2(536, -513) +position = Vector2(511, -826) scale = Vector2(0.5, 0.5) texture = ExtResource("57_1n3u5") @@ -1709,7 +1697,8 @@ offset_top = 703.0 offset_right = 1271.0 offset_bottom = 797.0 theme_override_styles/normal = SubResource("StyleBoxFlat_4gcyr") -text = "TEST MESSAGE" +horizontal_alignment = 1 +autowrap_mode = 2 [node name="CanvasModulate" type="CanvasModulate" parent="."] visible = false diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index d3bb1661..c043db89 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_juppf"] +[sub_resource type="Image" id="Image_tqsvy"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_juppf") +image = SubResource("Image_tqsvy") -[sub_resource type="Image" id="Image_y6jpb"] +[sub_resource type="Image" id="Image_7jqkq"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_y6jpb") +image = SubResource("Image_7jqkq") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_ox6ec"] +[sub_resource type="Image" id="Image_t35s3"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_ox6ec") +image = SubResource("Image_t35s3") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_tu5uw"] +[sub_resource type="Image" id="Image_l4ovu"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_tu5uw") +image = SubResource("Image_l4ovu") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_ai62r"] +[sub_resource type="Image" id="Image_4qxng"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_ai62r") +image = SubResource("Image_4qxng") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_533ak"] +[sub_resource type="Image" id="Image_yrid1"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_533ak") +image = SubResource("Image_yrid1") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_2goip"] +[sub_resource type="Image" id="Image_dvad3"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_2goip") +image = SubResource("Image_dvad3") -[sub_resource type="Image" id="Image_khwm8"] +[sub_resource type="Image" id="Image_cdkbg"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_khwm8") +image = SubResource("Image_cdkbg") -[sub_resource type="Image" id="Image_4u1di"] +[sub_resource type="Image" id="Image_4x7uj"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_4u1di") +image = SubResource("Image_4x7uj") -[sub_resource type="Image" id="Image_n0unl"] +[sub_resource type="Image" id="Image_nvr8u"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_n0unl") +image = SubResource("Image_nvr8u") -[sub_resource type="Image" id="Image_iwmpw"] +[sub_resource type="Image" id="Image_s2x2e"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_iwmpw") +image = SubResource("Image_s2x2e") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_mox4h"] +[sub_resource type="Image" id="Image_1die0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_mox4h") +image = SubResource("Image_1die0") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_cmokc"] +[sub_resource type="Image" id="Image_hc0ng"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_cmokc") +image = SubResource("Image_hc0ng") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_grrt1"] +[sub_resource type="Image" id="Image_b58s8"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_grrt1") +image = SubResource("Image_b58s8") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_x7lb8"] +[sub_resource type="Image" id="Image_grieo"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_x7lb8") +image = SubResource("Image_grieo") -[sub_resource type="Image" id="Image_xytok"] +[sub_resource type="Image" id="Image_63mmi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_xytok") +image = SubResource("Image_63mmi") -[sub_resource type="Image" id="Image_v36r2"] +[sub_resource type="Image" id="Image_ytg3x"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_v36r2") +image = SubResource("Image_ytg3x") -[sub_resource type="Image" id="Image_wovt8"] +[sub_resource type="Image" id="Image_nffbk"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_wovt8") +image = SubResource("Image_nffbk") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_6gtxh"] +[sub_resource type="Image" id="Image_qd4uq"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_6gtxh") +image = SubResource("Image_qd4uq") -[sub_resource type="Image" id="Image_vj0ge"] +[sub_resource type="Image" id="Image_gwa6g"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_vj0ge") +image = SubResource("Image_gwa6g") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_uhd1i"] +[sub_resource type="Image" id="Image_4nked"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_uhd1i") +image = SubResource("Image_4nked") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 @@ -2791,12 +2791,7 @@ TabContainer/constants/label_valign_bg = 0 TabContainer/constants/label_valign_fg = 0 TabContainer/constants/side_margin = 0 TabContainer/constants/top_margin = 0 -TabContainer/icons/decrement = null -TabContainer/icons/decrement_highlight = null -TabContainer/icons/increment = null -TabContainer/icons/increment_highlight = null TabContainer/icons/menu = null -TabContainer/icons/menu_highlight = null TabContainer/styles/panel = SubResource("420") TabContainer/styles/tab_bg = SubResource("525") TabContainer/styles/tab_disabled = SubResource("422") diff --git a/tools/configurator/scripts/Rekku.gd b/tools/configurator/scripts/Rekku.gd index 2a0c0e04..63e6bac2 100644 --- a/tools/configurator/scripts/Rekku.gd +++ b/tools/configurator/scripts/Rekku.gd @@ -9,7 +9,18 @@ func _input(event): class_functions.rekku_state = true %SplitContainer.split_offset=925 %pop_rtl.visible = false + %TabContainer.set_tab_title(0, "GLOBALS") + %TabContainer.set_tab_title(1, "SYSTEM") + %TabContainer.set_tab_title(2, "TOOLS") + %TabContainer.set_tab_title(3, "SETTINGS") + %TabContainer.set_tab_title(4, "ABOUT") elif event.is_action_released("rekku_hide") and class_functions.rekku_state == true: + %TabContainer.set_tab_title(0, " GLOBALS ") + %TabContainer.set_tab_title(1, " SYSTEM ") + %TabContainer.set_tab_title(2, " TOOLS ") + %TabContainer.set_tab_title(3, " SETTINGS ") + %TabContainer.set_tab_title(4, " ABOUT ") class_functions.rekku_state = false + %pop_rtl.visible = false self.visible = false %SplitContainer.split_offset=1280 diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index 3b150c15..3d5af3ea 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -5,17 +5,16 @@ var icon_width: int = 32 func _ready(): focusFirstFocusableChild() #grab focus on first element to enable controller focusing - %TabContainer.add_theme_icon_override("decrement",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png")) - %TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) - %TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) - %TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) + #%TabContainer.add_theme_icon_override("decrement",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png")) + #%TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) + #%TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) + #%TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) if class_functions.font_select !=3: %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) elif class_functions.font_select == 3: %TabContainer.add_theme_font_size_override("font_size", 15) else: %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) - set_tab_title(0, " GLOBALS ") set_tab_title(1, " SYSTEM ") set_tab_title(2, " TOOLS ") @@ -38,23 +37,22 @@ func _ready(): func connect_focus_signals(node): for child in node.get_children(): if child is Button: - child.focus_entered.connect(_on_Button_focus_entered.bind(child)) - child.focus_exited.connect(_on_Button_focus_exited.bind()) + child.focus_entered.connect(_on_button_focus_entered.bind(child)) + child.focus_exited.connect(_on_button_focus_exited.bind()) elif child is Control: connect_focus_signals(child) -func _on_Button_focus_exited(): - print ("exit") +func _on_button_focus_exited() -> void: %pop_rtl.visible = false - -func _on_Button_focus_entered(button: Button): + +func _on_button_focus_entered(button: Button): if button and class_functions.sound_effects: %AudioStreamPlayer2D.volume_db = class_functions.volume_effects %AudioStreamPlayer2D.play() if button and class_functions.rekku_state == false and button.has_meta("description"): %pop_rtl.visible = true %pop_rtl.text = button.get_meta("description") - else: + elif class_functions.rekku_state == false: %pop_rtl.visible = true %pop_rtl.text = "Hey, there's no description" @@ -78,7 +76,7 @@ func focusFirstFocusableChild(): if (n.focus_mode == FOCUS_ALL): n.grab_focus.call_deferred() break - + func findElements(node: Node, className: String, result: Array = []) -> Array: if node.is_class(className): result.push_back(node) diff --git a/tools/configurator/scripts/helper_text.gd b/tools/configurator/scripts/helper_text.gd index d94060ef..0b60b35a 100644 --- a/tools/configurator/scripts/helper_text.gd +++ b/tools/configurator/scripts/helper_text.gd @@ -1,4 +1,4 @@ -extends RichTextLabel +extends Label @onready var helper_text_node = self @@ -7,7 +7,7 @@ func _ready(): get_viewport().connect("gui_focus_changed", _on_focus_changed) func _on_focus_changed(selected_element:Control) -> void: - if selected_element != null and selected_element.has_meta("description"): - helper_text_node.text = selected_element.get_meta("description") - else: - helper_text_node.text = "Hey, there's no description" + if selected_element != null and selected_element.has_meta("rekku"): + #helper_text_node.text = selected_element.get_meta("rekku") + %pop_rtl.visible = true + %pop_rtl.text = selected_element.get_meta("rekku") From 61d1aeb88b22a7853d531b5012cc0f49112cb2aa Mon Sep 17 00:00:00 2001 From: MonkeyX Date: Tue, 24 Sep 2024 10:10:40 +0100 Subject: [PATCH 3/7] Cooker merged with feat/godot (#948) * Log file refactor * Log full path? * Ooops! * Reftactored logging and threading * URL * Desktop Mode * Hide logo * Godot Configurator (#940) * Feat/godot (#929) * On branch cooker Changes to be committed: modified: ../config/retrodeck/reference_lists/features.json modified: configurator.sh modified: configurator/TabContainer.gd modified: configurator/assets/themes/accesible_theme.tres modified: configurator/assets/themes/modern_theme.tres modified: configurator/assets/themes/retro_theme.tres modified: configurator/main.tscn modified: configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Signal test * s * Oops Data Recovery On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Sliding Rekku On branch cooker Changes to be committed: modified: tools/configurator/Rekku.gd modified: tools/configurator/main.gd modified: tools/configurator/main.tscn * Using less tabs? On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Generic Save experiment On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Let it flow On branch feat/godot Changes to be committed: new file: .github/workflows/build-godot.yml modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * On branch feat/godot Changes to be committed: modified: .github/workflows/build-godot.yml * FLow 2.0 * Flow 2.1 * Flow 2.2 * Flow 2.3 * Flow 2.4 * Flow 2.5 * Flow 2.6 * Flow 2.7 * Flow 2.8 * Flow 2.9 * Flow 2.9 * Flow 2.91 * Flow 2.92 * Emualtor==System * FFS revert! * Progress on Cores at last! * Progress on Cores at lastgit add .! * Functions * Bios change * Removed need for BIOS tmp file for Godot * Rotten the core! * Push TEst * fixed duplicate * fixed duplicate * Tidied Bios reading * Rekku assistant * Icons and System Tab work * Generic buttons please * Generic buttons pleases * Generic buttons please2 * Rekku gets the saw * Dialogues * Fixed link to json file * Feat/godot (#927) * Tidied parameter code * Tricky bios dialogue! * Mini change * Tidying icons * And then there were 5! * Time to Cook * INITOOL: added * SET_SETTING_VALUE: edited to use initool * Revert "SET_SETTING_VALUE: edited to use initool" This reverts commit b56916c2b0bf16305b2b8f22d08871390884351c. * Revert "INITOOL: added" This reverts commit 127bcdb6cde4cca85f47efdfeebb2b22868ae0ab. * POST_UPDATE: update_rd_conf to include steam_sync * INJECT_FRAMEWORK: added force args [skip ci] * Progress buttons * Reset! --------- Co-authored-by: Rekku Co-authored-by: XargonWan --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Feedback changes and 16 bit icons * Launch button change * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * On branch feat/godot (#935) Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd Co-authored-by: Rekku * Log file refactor * Log full path? * Ooops! * Fix for functions wrapper (#937) * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * Log file refactor * Log full path? * Ooops! --------- Co-authored-by: Rekku * POST_UPDATE: even on PR [skip ci] * RETRODECK: You know? till now we never quit retrodeck in the end! [skip ci] * FRAMEWORK: added the possibility to run a game from cli * RUN_GAME: system name prettyfied * RUN_GAME: added retroarch cores * FEATURES: added more launch args * RUN_GAME: fixed retroarch * RUN_GAME: various fixes, time up * FEATURES: fixed libetro with libretro [skip ci] * RUN_GAME: emulator and system can now be passed as optional arguments * Reftactored logging and threading * URL * Desktop Mode * Hide logo --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Feat/godot (#942) * Feat/godot (#929) * On branch cooker Changes to be committed: modified: ../config/retrodeck/reference_lists/features.json modified: configurator.sh modified: configurator/TabContainer.gd modified: configurator/assets/themes/accesible_theme.tres modified: configurator/assets/themes/modern_theme.tres modified: configurator/assets/themes/retro_theme.tres modified: configurator/main.tscn modified: configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Signal test * s * Oops Data Recovery On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Sliding Rekku On branch cooker Changes to be committed: modified: tools/configurator/Rekku.gd modified: tools/configurator/main.gd modified: tools/configurator/main.tscn * Using less tabs? On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Generic Save experiment On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Let it flow On branch feat/godot Changes to be committed: new file: .github/workflows/build-godot.yml modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * On branch feat/godot Changes to be committed: modified: .github/workflows/build-godot.yml * FLow 2.0 * Flow 2.1 * Flow 2.2 * Flow 2.3 * Flow 2.4 * Flow 2.5 * Flow 2.6 * Flow 2.7 * Flow 2.8 * Flow 2.9 * Flow 2.9 * Flow 2.91 * Flow 2.92 * Emualtor==System * FFS revert! * Progress on Cores at last! * Progress on Cores at lastgit add .! * Functions * Bios change * Removed need for BIOS tmp file for Godot * Rotten the core! * Push TEst * fixed duplicate * fixed duplicate * Tidied Bios reading * Rekku assistant * Icons and System Tab work * Generic buttons please * Generic buttons pleases * Generic buttons please2 * Rekku gets the saw * Dialogues * Fixed link to json file * Feat/godot (#927) * Tidied parameter code * Tricky bios dialogue! * Mini change * Tidying icons * And then there were 5! * Time to Cook * INITOOL: added * SET_SETTING_VALUE: edited to use initool * Revert "SET_SETTING_VALUE: edited to use initool" This reverts commit b56916c2b0bf16305b2b8f22d08871390884351c. * Revert "INITOOL: added" This reverts commit 127bcdb6cde4cca85f47efdfeebb2b22868ae0ab. * POST_UPDATE: update_rd_conf to include steam_sync * INJECT_FRAMEWORK: added force args [skip ci] * Progress buttons * Reset! --------- Co-authored-by: Rekku Co-authored-by: XargonWan --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Feedback changes and 16 bit icons * Launch button change * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * On branch feat/godot (#935) Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd Co-authored-by: Rekku * Log file refactor * Log full path? * Ooops! * Fix for functions wrapper (#937) * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * Log file refactor * Log full path? * Ooops! --------- Co-authored-by: Rekku * POST_UPDATE: even on PR [skip ci] * RETRODECK: You know? till now we never quit retrodeck in the end! [skip ci] * FRAMEWORK: added the possibility to run a game from cli * RUN_GAME: system name prettyfied * RUN_GAME: added retroarch cores * FEATURES: added more launch args * RUN_GAME: fixed retroarch * RUN_GAME: various fixes, time up * FEATURES: fixed libetro with libretro [skip ci] * RUN_GAME: emulator and system can now be passed as optional arguments * Reftactored logging and threading * URL * Desktop Mode * Hide logo --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Custom Buttons and firmware * Gaming Mode? * Settings * Sounds * Backup with progress * Better buttons? * cfg parser * cfg parser update 1 * Beta Global setting * Tidying Up * What a state! * Configs * Font preferences * Generic mulitples * Reset Orange! * Rage against the machine! * What a state! * State <> null * State != null * New State? * Bored state * Wine state * Reset RD * Gloabls TAB * Pre merge * Change to layout * L and R chang. Fix faulty json * META Rekku * Dialogue or Dialog? * Signals * More Meta * Fonts in all areas! * More button fungit add .! * Rekku says what about me! --------- Co-authored-by: Rekku Co-authored-by: XargonWan --- config/retrodeck/retrodeck.cfg | 4 + tools/configurator/Rekku.gd | 15 - tools/configurator/TabContainer.gd | 71 - .../assets/themes/accesible_theme.tres | 16 - .../assets/themes/default_theme.tres | 63 +- .../assets/themes/modern_theme.tres | 16 - .../assets/themes/retro_theme.tres | 16 - .../components/bios_check/bios_check.gd | 10 +- .../logs_view/logs_popup_content.tscn | 21 - tools/configurator/components/popup.gd | 10 +- tools/configurator/components/popup.tscn | 7 +- .../configurator/components/popup_dialogue.gd | 2 +- tools/configurator/helper_text.gd | 14 - tools/configurator/locales/interface.csv | 81 - .../configurator/locales/interface.csv.import | 17 - tools/configurator/main.gd | 281 ---- tools/configurator/main.tscn | 1423 +++++++++-------- tools/configurator/project.godot | 15 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 199 +-- tools/configurator/scripts/Rekku.gd | 26 + tools/configurator/scripts/SystemTab.gd | 103 -- tools/configurator/scripts/TabAbout.gd | 58 + tools/configurator/scripts/TabContainer.gd | 85 + tools/configurator/scripts/TabGlobals.gd | 40 + tools/configurator/scripts/TabSettings.gd | 40 + tools/configurator/scripts/TabSystem.gd | 124 ++ tools/configurator/scripts/TabTools.gd | 51 + tools/configurator/scripts/class_functions.gd | 354 +++- .../{ => scripts}/controller_guide.gd | 2 +- tools/configurator/scripts/data_handler.gd | 106 +- tools/configurator/scripts/helper_text.gd | 13 + tools/configurator/scripts/main.gd | 253 +++ tools/configurator/scripts/retrodeck.gd | 17 + tools/configurator/tk_about.gd | 94 -- tools/configurator/tk_about.txt | 2 +- 35 files changed, 2091 insertions(+), 1558 deletions(-) delete mode 100644 tools/configurator/Rekku.gd delete mode 100644 tools/configurator/TabContainer.gd delete mode 100644 tools/configurator/assets/themes/accesible_theme.tres delete mode 100644 tools/configurator/assets/themes/modern_theme.tres delete mode 100644 tools/configurator/assets/themes/retro_theme.tres delete mode 100644 tools/configurator/components/logs_view/logs_popup_content.tscn delete mode 100644 tools/configurator/helper_text.gd delete mode 100644 tools/configurator/locales/interface.csv delete mode 100644 tools/configurator/locales/interface.csv.import delete mode 100644 tools/configurator/main.gd create mode 100644 tools/configurator/scripts/Rekku.gd delete mode 100644 tools/configurator/scripts/SystemTab.gd create mode 100644 tools/configurator/scripts/TabAbout.gd create mode 100644 tools/configurator/scripts/TabContainer.gd create mode 100644 tools/configurator/scripts/TabGlobals.gd create mode 100644 tools/configurator/scripts/TabSettings.gd create mode 100644 tools/configurator/scripts/TabSystem.gd create mode 100644 tools/configurator/scripts/TabTools.gd rename tools/configurator/{ => scripts}/controller_guide.gd (94%) create mode 100644 tools/configurator/scripts/helper_text.gd create mode 100644 tools/configurator/scripts/main.gd create mode 100644 tools/configurator/scripts/retrodeck.gd delete mode 100644 tools/configurator/tk_about.gd diff --git a/config/retrodeck/retrodeck.cfg b/config/retrodeck/retrodeck.cfg index 88a33896..d96f7d31 100644 --- a/config/retrodeck/retrodeck.cfg +++ b/config/retrodeck/retrodeck.cfg @@ -16,6 +16,7 @@ borders_folder=/home/deck/retrodeck/borders sdcard=/run/media/mmcblk0p1 [options] + power_user_warning=true desktop_mode_warning=true low_space_warning=true @@ -30,6 +31,9 @@ default_user= developer_options=false kiroi_ponzu=false akai_ponzu=false +sound_effects=true +volume_effects=10 +font=1 [cheevos] duckstation=false diff --git a/tools/configurator/Rekku.gd b/tools/configurator/Rekku.gd deleted file mode 100644 index d915a511..00000000 --- a/tools/configurator/Rekku.gd +++ /dev/null @@ -1,15 +0,0 @@ -extends Control - -var rekku_state = false - -func _input(event): - if event.is_action_released("rekku_hide"): - #self.visible = !self.visible - if rekku_state == false: - self.visible = true - rekku_state = true - %SplitContainer.split_offset=-300 - elif event.is_action_released("rekku_hide") and rekku_state == true: - rekku_state = false - self.visible = false - %SplitContainer.split_offset=0 diff --git a/tools/configurator/TabContainer.gd b/tools/configurator/TabContainer.gd deleted file mode 100644 index 06b734ac..00000000 --- a/tools/configurator/TabContainer.gd +++ /dev/null @@ -1,71 +0,0 @@ -extends TabContainer - -var icon_width: int = 32 -@onready var tcount: int = get_tab_count()-1 -var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png") -var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") - - -func _ready(): - focusFirstFocusableChild() #grab focus on first element to enable controller focusing - %TabContainer.add_theme_icon_override("decrement",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png")) - %TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) - %TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) - %TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) - set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) - set_tab_icon_max_width(0,icon_width) - set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) - set_tab_icon_max_width(1,icon_width) - set_tab_icon(2, ResourceLoader.load("res://assets/icons/pixelitos/128/utilities-system-monitor.png")) - set_tab_icon_max_width(2,icon_width) - set_tab_icon(3, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-session-services.png")) - set_tab_icon_max_width(3,icon_width) - set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) - set_tab_icon_max_width(4,icon_width) - #%TK_GRAPHICS.name="BOB" - connect_focus_signals(self) - -func connect_focus_signals(node): - for child in node.get_children(): - if child is Button: - child.focus_entered.connect(_on_Button_focus_entered.bind(child)) - elif child is Control: - connect_focus_signals(child) - -func _on_Button_focus_entered(button: Button): - if button: - %AudioStreamPlayer2D.play() - -func _input(event): - if (event.is_action_pressed("next_tab")): - %r1_button.texture_normal = %r1_button.texture_pressed - if current_tab == tcount: - current_tab = 0 - else: - self.select_next_available() - focusFirstFocusableChild() - else: - %r1_button.texture_normal = r1_button_texture - if (event.is_action_pressed("previous_tab")): - %l1_button.texture_normal = %l1_button.texture_pressed - if current_tab == 0: - current_tab = tcount - else: - self.select_previous_available() - focusFirstFocusableChild() - else: - %l1_button.texture_normal = l1_button_texture - -func focusFirstFocusableChild(): - var children = findElements(get_current_tab_control(), "Control") - for n: Control in children: - if (n.focus_mode == FOCUS_ALL): - n.grab_focus.call_deferred() - break - -func findElements(node: Node, className: String, result: Array = []) -> Array: - if node.is_class(className): - result.push_back(node) - for child in node.get_children(): - result = findElements(child, className, result) - return result diff --git a/tools/configurator/assets/themes/accesible_theme.tres b/tools/configurator/assets/themes/accesible_theme.tres deleted file mode 100644 index b0cacff0..00000000 --- a/tools/configurator/assets/themes/accesible_theme.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://co27jgr76wvcl"] - -[ext_resource type="FontFile" uid="uid://c8lbo5ljgtaaa" path="res://assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf" id="1_d8f12"] -[ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] -[ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) - -[resource] -default_font = ExtResource("1_d8f12") -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 -CheckBox/icons/checked = ExtResource("1_pvl23") -CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/assets/themes/default_theme.tres b/tools/configurator/assets/themes/default_theme.tres index 755ad376..a2d96385 100644 --- a/tools/configurator/assets/themes/default_theme.tres +++ b/tools/configurator/assets/themes/default_theme.tres @@ -1,14 +1,65 @@ -[gd_resource type="Theme" load_steps=4 format=3 uid="uid://hhc60cllcg47"] +[gd_resource type="Theme" load_steps=7 format=3 uid="uid://hhc60cllcg47"] [ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] [ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_md22p"] +bg_color = Color(0.580392, 0.419608, 0.921569, 1) +border_width_left = 15 +border_width_top = 15 +border_width_right = 15 +border_width_bottom = 15 +border_color = Color(0.843137, 0.137255, 0.909804, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kr58o"] +bg_color = Color(0.580392, 0.419608, 0.921569, 1) +border_width_left = 15 +border_width_top = 15 +border_width_right = 15 +border_width_bottom = 15 +border_color = Color(0.136826, 0.136826, 0.136826, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0ahfc"] +bg_color = Color(0.454524, 0.454524, 0.454524, 1) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.101961, 0.623529, 1, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 +corner_detail = 7 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_o8sf1"] +bg_color = Color(0.101961, 0.623529, 1, 1) +border_width_left = 15 +border_width_top = 14 +border_width_right = 15 +border_width_bottom = 15 +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 [resource] -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 +Button/constants/align_to_largest_stylebox = 1 +Button/styles/focus = SubResource("StyleBoxFlat_md22p") +Button/styles/hover = SubResource("StyleBoxFlat_kr58o") +Button/styles/normal = SubResource("StyleBoxFlat_0ahfc") +Button/styles/pressed = SubResource("StyleBoxFlat_o8sf1") CheckBox/icons/checked = ExtResource("1_pvl23") CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/assets/themes/modern_theme.tres b/tools/configurator/assets/themes/modern_theme.tres deleted file mode 100644 index e0294d5c..00000000 --- a/tools/configurator/assets/themes/modern_theme.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://dcyix4kssqal2"] - -[ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] -[ext_resource type="FontFile" uid="uid://1x3s2oon2g64" path="res://assets/fonts/akrobat/Akrobat-Regular.otf" id="1_qs1qb"] -[ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) - -[resource] -default_font = ExtResource("1_qs1qb") -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 -CheckBox/icons/checked = ExtResource("1_pvl23") -CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/assets/themes/retro_theme.tres b/tools/configurator/assets/themes/retro_theme.tres deleted file mode 100644 index a2b0b898..00000000 --- a/tools/configurator/assets/themes/retro_theme.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://3ljv5xgd4c1u"] - -[ext_resource type="FontFile" uid="uid://q405aelgnmvo" path="res://assets/fonts/munro/munro.ttf" id="1_kirwi"] -[ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] -[ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) - -[resource] -default_font = ExtResource("1_kirwi") -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 -CheckBox/icons/checked = ExtResource("1_pvl23") -CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index 83ff7877..a6c14f17 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -23,13 +23,10 @@ func _ready(): if bios_type == 1: #Basic BIOS button pressed var parameters = ["check_bios_files","basic"] - await run_thread_command(class_functions.wrapper_command, parameters, console) - class_functions.log_parameters[2] = class_functions.log_text + "Exit code: " + str(bios_result["exit_code"]) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) else: #Assume advanced BIOS button pressed var parameters = ["check_bios_files"] - class_functions.execute_command(class_functions.wrapper_command, parameters, false) - await run_thread_command(class_functions.wrapper_command, parameters, console) + bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) var bios_list = bios_result["output"] var bios_lines = bios_list.split("\n") for line in bios_lines: @@ -40,6 +37,3 @@ func _ready(): if table_line.get_index() % 2 == 1: table_line.set_custom_bg_color(i,Color(0.15, 0.15, 0.15, 1),false) table_line.set_custom_color(i,Color(1,1,1,1)) - -func run_thread_command(command: String, parameters: Array, console: bool) -> void: - bios_result = await class_functions.run_command_in_thread(command, parameters, console) diff --git a/tools/configurator/components/logs_view/logs_popup_content.tscn b/tools/configurator/components/logs_view/logs_popup_content.tscn deleted file mode 100644 index f2bcd71a..00000000 --- a/tools/configurator/components/logs_view/logs_popup_content.tscn +++ /dev/null @@ -1,21 +0,0 @@ -[gd_scene format=3 uid="uid://b0ts52bsu7cpb"] - -[node name="PopupContent" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="RichTextLabel" type="RichTextLabel" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -focus_mode = 2 -scroll_following = true -context_menu_enabled = true -selection_enabled = true diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index 4d75e012..4fc178b7 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -1,16 +1,16 @@ extends Control var content = null -@onready var custom_theme: Theme = get_tree().current_scene.custom_theme #@onready var button_off = get_node(current_scene.%l1_button)# .current_scene.l1_button -@onready var lbhide: TextureButton = get_tree().current_scene.get_node("%l1_button") -@onready var rbhide: TextureButton = get_tree().current_scene.get_node("%r1_button") +@onready var lbhide: Panel = get_tree().current_scene.get_node("%l1_box") +@onready var rbhide: Panel = get_tree().current_scene.get_node("%r1_box") @onready var bios_type:int = get_tree().current_scene.bios_type +@onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): + $".".theme = custom_theme lbhide.visible=false rbhide.visible=false - $".".theme = custom_theme # TODO this alowes copy and paste from RTB in logs? if (content != null and bios_type > 0): $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer.add_child(content) @@ -27,6 +27,6 @@ func set_content(new_content): func set_title(new_title): $Panel/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/Label.text = new_title func set_display_text(new_display_text): - $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer/RichTextLabel.text=new_display_text + $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer/LineEdit.text=new_display_text func _on_back_pressed(): queue_free() diff --git a/tools/configurator/components/popup.tscn b/tools/configurator/components/popup.tscn index be8915da..e1c06685 100644 --- a/tools/configurator/components/popup.tscn +++ b/tools/configurator/components/popup.tscn @@ -63,10 +63,7 @@ theme_override_constants/margin_top = 6 theme_override_constants/margin_right = 10 theme_override_constants/margin_bottom = 6 -[node name="RichTextLabel" type="RichTextLabel" parent="Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer"] +[node name="LineEdit" type="TextEdit" parent="Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer"] layout_mode = 2 -focus_mode = 2 -scroll_following = true -context_menu_enabled = true +editable = false shortcut_keys_enabled = false -selection_enabled = true diff --git a/tools/configurator/components/popup_dialogue.gd b/tools/configurator/components/popup_dialogue.gd index 3b9250d5..afdb8320 100644 --- a/tools/configurator/components/popup_dialogue.gd +++ b/tools/configurator/components/popup_dialogue.gd @@ -1,8 +1,8 @@ extends Control -@onready var custom_theme: Theme = get_tree().current_scene.custom_theme var command: String var parameters: Array +@onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): $".".theme = custom_theme diff --git a/tools/configurator/helper_text.gd b/tools/configurator/helper_text.gd deleted file mode 100644 index 1026e672..00000000 --- a/tools/configurator/helper_text.gd +++ /dev/null @@ -1,14 +0,0 @@ -extends RichTextLabel - -@onready var helper_text_node = self - -func _ready(): - # Connect the signal that gets fired on every focus change - get_viewport().connect("gui_focus_changed", _on_focus_changed) - -func _on_focus_changed(selected_element:Control) -> void: - if selected_element != null and selected_element.has_meta("description"): - helper_text_node.text = selected_element.get_meta("description") - else: - helper_text_node.text = "Hey, there's no description" - #helper_text_node.text = "That stupid Monkey almost deleted me.\n\n\nPlease save me!!!!!!!!" diff --git a/tools/configurator/locales/interface.csv b/tools/configurator/locales/interface.csv deleted file mode 100644 index 165749e5..00000000 --- a/tools/configurator/locales/interface.csv +++ /dev/null @@ -1,81 +0,0 @@ -keys,en,it,de,sv,ua,ja,zh -TK_SYSTEM,"System","Sistema","System","System","Cистема","システム","系统" -TK_GAME_SETTINGS,"Game Settings","Impostazioni di Gioco","Spieleinstellungen","Spelinställningar","Ігрові Налаштування","ゲーム設定","游戏设定" -TK_QRESUME,"Quick Resume","Quick Resume","Schnellfortsetzung","Snabb Återupptagning","Швидкий Запуск","クイックリジューム","快速恢复" -TK_ADVANCED,"Advanced","Avanzate","Erweitert","Avancerat","Розширені","アドバンスド","高级/进阶" -TK_REWIND,"Rewind","Riavvolgimento","Zurückspulen","Tillbakaspolning","Перемотка","巻き戻し","倒带" -TK_CONFIRMEXIT,"Quit Confirmation","Conferma per Uscire","Beenden Bestätigen","Avlutningsbekräftelse","Підтвердження Виходу","確認終了","退出确认" -TK_CHEATS,"Cheats","Trucchi","Cheats","Fusk","Чіти","チート","作弊" -TK_SOON,"(coming soon)","(in arrivo)","(bald verfügbar)","(kommer snart)","(незабаром)","(近日公開)","(即将到来)" -TK_GRAPHICS,"Graphics","Grafica","Grafik","Grafik","Графіка","グラフィック","画质" -TK_CONTROLS,"Controls","Controlli","Steuerung","Kontroller","Управління","コントロール","控制" -TK_TOOLS,"Tools","Strumenti","Werkzeuge","Verktyg","Інструменти","ツール","工具" -TK_NETWORK,"Network","Rete","Netzwerk","Nätverk","Мережа","ネットワーク","kai qi" -TK_TROUBLESHOOT,"Troubleshoot","Risoluzione Problemi","Fehlerbehebung","Felsökning","Несправності","トラブルシューティング","排错" -TK_TROUBLESHOOTLBL,"Troubleshoot","Risoluzione Problemi","Fehlerbehebung","Felsökning","Усунення Несправностей","トラブルシューティング","排错" -TK_CONFIGURATOR,"Configurator","Configurator","Configurator","Configurator","Конфігуратор","確認","设置" -TK_ABOUT,"About","Informazioni","Über","Om","Про Нас","アバウト","关于" -TK_DECORATIONS,"Decorations","Decorazioni","Dekorationen","Dekorationer","Декорації","装飾","装饰" -TK_BORDERS,"Borders","Bordi","Ränder","Ramar","Фони","ボーダー","边框" -TK_WSCREEN,"Widescreen","Widescreen","Breitbild","Bredbild","Широкий Екран","ワイドスクリーン","宽屏" -TK_SHADERS,"Shaders","Shader","Shaders","Shaders","Шейдери","シェーダ","着色器" -TK_EXTRA,"Extra","Extra","Extra","Extra","Додатково","エクストラ","额外" -TK_MODS,"Mods","Mod","Mods","Moddar","Модифікації","改造","游戏模组" -TK_TATE,"TATE Mode","TATE Mode","TATE-Mode","TATE Läge","Режим TATE","垂直スクリーンモード","垂屏模式" -TK_STEAMCONTEMP,"Steam: Controller Templates","Template dei Controller di Steam","Steam: Controller-Vorlagen","Steam: Kontroller Mallar","Steam: Шаблони Контролерів","Steam:コントローラーテンプレート","Steam:控制器模板" -TK_INSTALL,"Install","Installa","Installieren","Installera","Встановити","インストール","安装" -TK_BTNLAYOUT,"Button Layout","Layout Pulsanti","Tastenbelegung","Knapp Layout","Розташування Кнопок","ボタンのレイアウト","按键布局" -TK_BTNCLASSIC,"Classic","Classico","Klassik","Klassisk","Класичний","クラッシク","经典" -TK_BTNNINTENDO,"Nintendo","Nintendo","Nintendo","Nintendo","Nintendo","ニンテンドー","任天堂" -TK_HOTKEYSOUND,"Hotkey Activation Sound","Suono su Attivazione Hotkey","Hotkey Aktivierungssound","Hotkey Aktiveringsljud","Звук Гарячих Клавіш","ホットキー起動音","热键激活音效" -TK_SCAN,"Scan","Scansiona","Scan","Skanna","Сканувати","スキャン","扫描" -TK_PS3SCAN,"PlayStation 3 Games","Giochi PlayStation 3","PlayStation 3 Spiele","PlayStation 3 Spel","Ігри для PlayStation 3","プレステ3ゲーム","PlayStation3游戏" -TK_SCUMMVMSCAN,"ScummVM Games","Giochi ScummVM","ScummVM Spiele","ScummVM Spel","Ігри ScummVM","ScummVMゲーム","ScummVM游戏" -TK_MULTIFILE,"Multi-File Structure","Struttura Multi-File","Mehrfachdateistruktur","Flerfilsstruktur","Багатофайлова Структура","マルチファイル構造","多文件结构" -TK_3DSDECRYPT,"3DS Game Decrypter","Decrittatore Giochi 3DS","3DS Spielentcrypter","3DS Spelavkrypterare","Дешифратор Ігор 3DS","3DS ゲームデクリプタ","3DS游戏解密" -TK_BIOS,"BIOS","BIOS","BIOS","BIOS","BIOS","BIOS","BIOS" -TK_GENTOOLS,"General Tools","Strumenti Generali","Allgemeine Werkzeuge","Allmänt","Загальні Інструменти","一般的なツール","一般工具" -TK_EMUOPEN,"Open Emulator...","Apri Emulatore...","Öffne Emulator...","Öppna Emulator...","Відкрити Емулятор...","エミュレータを開く...","打开模拟器..." -TK_GRIDINSTALL,"Install RetroDECK Steam Grids","Installa le Steam Grids di RetroDECK","RetroDECK Steam Grids Installieren","Installera RetroDECK Steam Grids","Встановити RetroDECK Steam Grids","RetroDECK Steam Gridsをインストール","安装RetroDECK Steam Grids" -TK_PS3FWINSTALL,"Install PS3 Firmware","Installa il Firmware PS3","Installiere PS3 Firmware","Installera PS3 Firmware","Встановити Прошивку PS3","PS3ファームウェアをインストール","安装PS3固件" -TK_FAVSTEAM,"Show Favorites as Steam Games","Mostra Giochi Preferiti su Steam","Favoriten als Steam-Spiele anzeigen","Visa Favoriter som Spel i Steam","Показати Улюблені як Ігри в Steam","お気に入りを Steam ゲームとして表示","显示收藏夹为Steam游戏" -TK_FILETOOLS,"File Maniuplation","Manipolazione File","Datei Werkzeuge","Filhantering","Маніпуляції з Файлами","ファイル操作","文件操作" -TK_USBTOOL,"USB Transfer Tool","Strumento di Trasferimento USB","USB Transfer Tool","USB Överföringsverktyg","Інструмент для Передачі Даних USB","USB転送ツール","USB传输工具" -TK_BACKUPBTN,"Backup User Data","Backup Dati Utente","Benutzerdaten Sichern","Backup av Användardata","Резервне Копіювання Даних Користувача","ユーザデータバックアップ","备份用户数据" -TK_COMPRESSGAMES,"Compress Games","Comprimi Giochi","Spiele Komprimieren","Komprimera Spel","Стиснути Ігри","ゲームを圧縮","压缩游戏" -TK_MOVEFILES,"Move User Files","Sposta File Utente","Benutzerdateien Verschieben","Flytta Användarfiler","Перемістити Файли Користувача","ユーザーファイルを移動","移动用户文件" -TK_CHEEVOS,"Retro Achievements","Retro Achievements","Retro Achievements","Retro Achievements","Retro Achievements","レトロ実績","Retro成就" -TK_CHEEVOSUNAME,"Username:","Nome Utente:","Benutzername:","Användarnamn:","Ім'я користувача:","ユーザー名:","用户名:" -TK_CHEEVOSPWD,"Password:","Password:","Passwort:","Lösenord:","Пароль:","パスワード:","密码:" -TK_CHEEVOSHARDCORE,"Hardcore Mode","Modalità Hardcore","Hardcore Modus","Hardcore Läge","Хардкорний Режим","ハードコアモード","硬核模式" -TK_CHEEVOSTROPHYBTN,"Show Throphies","Mostra Trofei","Trophäen Anzeigen","Visa Troféer","Показати Трофеї","トロフィーを表示","显示奖杯" -TK_LOGIN,"Login","Login","Login","Logga In","Увійти","ログイン","登录" -TK_NETPLAY,"Netplay","Netplay","Netplay","Netplay","Netplay","ネットプレイ","网战" -TK_NETPLAYID,"Netplay ID:","ID Netplay:","Netplay ID:","Netplay ID:","Netplay ID:","ネットプレイID:","网战ID:" -TK_NETPLAYADDRESS,"Address:","Indirizzo:","Adresse:","Address:","Адреса:","アドレス:","地址:" -TK_NETPLAYCONNECT,"Connect","Connetti","Verbinden","Anslut","Підключитися","接続","连接" -TK_DATAMNG,"Data Management","Gestione Dati","Datenverwaltung","Datahantering","Управління Даними","データ管理","数据管理" -TK_SAVESSYNC,"Synchronize Saves","Sincronizzazione Salvataggi","Spielstände Synchronisieren","Synkronisera Sparfiler","Синхронізувати Збереження","保存データを同期","同步存档" -TK_FTPBTN,"Start sFTP Server","Avvia Server sFTP","Starte sFTP Server","Starta sFTP Server","Запустити Сервер sFTP","sFTPサーバーを起動","开启sFTP服务器" -TK_CHECKCONN,"Check Connection","Controllo Connessione","Verbindung Überprüfen","Kontrollera Anslutning","Перевірити Підключення","接続を確認","检查连接" -TK_LOGSBTN,"Show Logs","Mostra Log","Logs Anzeigen","Visa Loggar","Показати Логи","ログを表示","显示日志" -TK_RESET,"Reset","Reset","Reset","Återställ","Скинути","リセット","重置" -TK_RESETSINGLE,"Single Emulator...","Emulatore Singolo...","Einzelner Emulator...","En Emulator...","Один Емулятор...","単一エミュレータ...","单独模拟器..." -TK_RESETALL,"All Emulators","Tutti gli Emulatori","Alle Emulatoren","Alla Emulatorer","Всі Емулятори","全エミュレータ","所有模拟器" -TK_RESETFULL,"Full RetroDECK Reset","Reset RetroDECK Completo","Vollständiges Zurücksetzen von RetroDECK","Återställ Hela RetroDECK","Повне Скидання RetroDECK","RetroDECKを完全リセット","完全重置RetroDECK" -TK_UPDATENOTIF,"Update Notification","Notifica gli Aggiornamenti","Update-Benachrichtigung","Uppdaterings-notifikation","Сповіщення про Оновлення","アップデート通知","更新通知" -TK_EASTEREGGS,"Show Easter Eggs","Mostra Easter Eggs","Easter Eggs anzeigen","Visa Easter Eggs","Показувати Пасхальні Яйця","イースターエッグを表示","显示彩蛋" -TK_MULTIUSR,"Multi-User Mode","Modalità Multi-Utente","Multi-User Mode","Flerspelarläge","Багатокористувацький Режим","マルチユーザーモード","多用户模式" -TK_OFF,"Off","Off","Aus","Av","Вимк","オフ","关闭" -TK_STEAMUSR,"Steam Users","Utenti Steam","Steam Benutzer","Steam Användare","Користувачі Steam","Steamユーザー","Steam用户" -TK_CUSTOMUSR,"Custom Users","Utenti Personalizzati","Benutzerdefinierte Benutzer","Anpassade Användare","Кастомні Користувачі","カスタムユーザー","自定义用户" -TK_MUSIC,"Menu Music","Musica del Menu","Menu Hintergrundmusik","Meny Musik","Музика Меню","メニュー音楽","菜单音乐" -TK_ABOUTHEADER,"About RetroDECK","A Proposito di RetroDECK","Über RetroDECK","Om RetroDECK","Про RetroDECK","RetroDECKについて","关于RetroDECK" -TK_WEBSITE,"Website","Sito Web","Website","Hemsida","Веб-сайт","公式サイト","网站" -TK_CHANGELOG,"Version History","Storico Versioni","Versions History","Versionshistorik","Історія Версій","バージョン履歴","版本历史" -TK_WIKI,"Wiki","Wiki","Wiki","Wiki","Wiki","Wiki","维基" -TK_CREDITS,"Credits","Crediti","Credits","Tillskrivningar","Автори","クレジット","鸣谢" -TK_DONATE,"Donate","Donazione","Spenden","Donera","Пожертвувати","寄付","捐赠" -TK_CONTACTUS,"Reach Us","Contattaci","Kontakiere Uns","Kontakta Oss","Зв'язатися з Нами","連絡","联系我们" -TK_LICENSES,"Licenses","Licenze","Lizenzen","Licenser","Ліцензії","ライセンス","许可" -TK_ON,"On","On","An","På","Увімк","オン","开启" \ No newline at end of file diff --git a/tools/configurator/locales/interface.csv.import b/tools/configurator/locales/interface.csv.import deleted file mode 100644 index c24bb904..00000000 --- a/tools/configurator/locales/interface.csv.import +++ /dev/null @@ -1,17 +0,0 @@ -[remap] - -importer="csv_translation" -type="Translation" -uid="uid://cwb782o5jh5lx" - -[deps] - -files=["res://locales/interface.en.translation", "res://locales/interface.it.translation", "res://locales/interface.de.translation", "res://locales/interface.sv.translation", "res://locales/interface.ua.translation", "res://locales/interface.ja.translation", "res://locales/interface.zh.translation"] - -source_file="res://locales/interface.csv" -dest_files=["res://locales/interface.en.translation", "res://locales/interface.it.translation", "res://locales/interface.de.translation", "res://locales/interface.sv.translation", "res://locales/interface.ua.translation", "res://locales/interface.ja.translation", "res://locales/interface.zh.translation"] - -[params] - -compress=true -delimiter=0 diff --git a/tools/configurator/main.gd b/tools/configurator/main.gd deleted file mode 100644 index 722444aa..00000000 --- a/tools/configurator/main.gd +++ /dev/null @@ -1,281 +0,0 @@ -#todo -# add cores as class/ Like eumlator but one level lower - -extends Control - -@onready var bios_type:int -var log_results: Dictionary -var theme_option: OptionButton -#signal signal_theme_changed -var custom_theme: Theme = $".".theme -var log_option: OptionButton -var tab_container: TabContainer -var anim_logo: AnimatedSprite2D -var a_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0042.png") -var b_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png") -var app_data := AppData.new() - -func _ready(): - _get_nodes() - _connect_signals() - _play_main_animations() - #%locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) - - #class_functions.logger() - %rd_title.text += class_functions.read_cfg() - class_functions.log_parameters[2] = class_functions.log_text + "started configurator" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - print (class_functions.rd_log) - #var log_file = class_functions.import_text_file(rd_logs +"/retrodeck.log") - #for id in config.paths: - # var path_data = config.paths[id] - # print (id) - - # set current startup tab to match IDE - tab_container.current_tab = 0 - #add_child(class_functions) # Needed for threaded results Not need autoload? - var children = findElements(self, "Control") - for n: Control in children: #iterate the children - if (n.focus_mode == FOCUS_ALL): - n.mouse_entered.connect(_on_control_mouse_entered.bind(n)) #grab focus on mouse hover - if (n.is_class("BaseButton") and n.disabled == true): #if button-like control and disabled - n.self_modulate.a = 0.5 #make it half transparent - combine_tkeys() - -func _input(event): - if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): - _exit() - if Input.is_action_pressed("back_button"): - %b_button.texture_normal = %b_button.texture_pressed - elif Input.is_action_pressed("action_button"): - %a_button.texture_normal = %a_button.texture_pressed - else: - %a_button.texture_normal = a_button_texture - %b_button.texture_normal = b_button_texture - if event.is_action_pressed("quit"): - _exit() - -func _exit(): - class_functions.log_parameters[2] = class_functions.log_text + "exited configurator" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) - get_tree().quit() - -func _get_nodes() -> void: - theme_option = get_node("%theme_optionbutton") - tab_container = get_node("%TabContainer") - anim_logo = get_node("%logo_animated") - log_option = get_node("%logs_button") - -func _connect_signals() -> void: - #signal_theme_changed.connect(_conf_theme) - theme_option.item_selected.connect(_conf_theme) - #signal_theme_changed.emit(theme_option.item_selected) - log_option.item_selected.connect(_load_log) - %borders_button.pressed.connect(_hide_show_buttons.bind(%borders_button,%borders_gridcontainer,%decorations_gridcontainer)) - %button_layout.pressed.connect(_hide_show_buttons.bind(%button_layout,%borders_gridcontainer,%decorations_gridcontainer)) - %decorations_save.pressed.connect(_hide_show_buttons.bind(%decorations_save,%decorations_save.get_parent(),null)) - %decorations_button.pressed.connect(_hide_show_containers.bind(%decorations_button, %decorations_gridcontainer)) - %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) - %save_resume_button.pressed.connect(_hide_show_containers.bind(%decorations_button,%systems_gridcontainer)) - -func _load_log(index: int) -> void: - var log_content:String - match index: - 1: - class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroDeck log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retrodeck.log") - load_popup("RetroDeck Log", "res://components/logs_view/logs_popup_content.tscn", log_content) - 2: - class_functions.log_parameters[2] = class_functions.log_text + "Loading ES-DE log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/ES-DE/es_log.txt") - load_popup("ES-DE Log", "res://components/logs_view/logs_popup_content.tscn",log_content) - 3: - class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroArch log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retroarch/logs/log.txt") - load_popup("Retroarch Log", "res://components/logs_view/logs_popup_content.tscn",log_content) - -func _play_main_animations() -> void: - anim_logo.play() - -func _hide_show_containers(button: Button, grid_container: GridContainer) -> void: - match button.name: - "decorations_button", "systems_button": - grid_container.visible = true - if button.toggle_mode: - button.toggle_mode=false - grid_container.visible = false - else: - button.toggle_mode=true - -# TODO Pass GridContainer(might need 2?) as above -# TODO load existing settings or default to enable all -func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: - match button.name: - "borders_button", "button_layout": - buttons_gridcontainer.visible = true - if button.toggle_mode == false: - for i in range(buttons_gridcontainer.get_child_count()): - var child = buttons_gridcontainer.get_child(i) - child.button_pressed=true - for i in range(hidden_gridcontainer.get_child_count()): - var child = hidden_gridcontainer.get_child(i) - if child is Button and child != button: - child.visible=false - elif button.toggle_mode == true and %borders_gridcontainer.visible == true: - print (button.name, "SAVE NOW? TODO") # TODO SHOW ALL AGAIN? - buttons_gridcontainer.visible = false - #button.toggle_mode = false - for i in range(hidden_gridcontainer.get_child_count()): - var child = hidden_gridcontainer.get_child(i) - if child is Button: - child.visible=true - child.toggle_mode = false - button.toggle_mode = true - -func _conf_theme(index: int) -> void: - match index: - 1: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - custom_theme = preload("res://res/pixel_ui_theme/RetroDECKTheme.tres") - 2: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - custom_theme = preload("res://assets/themes/retro_theme.tres") - 3: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - custom_theme = preload("res://assets/themes/modern_theme.tres") - 4: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - custom_theme = preload("res://assets/themes/accesible_theme.tres") - $".".theme = custom_theme - _play_main_animations() - -func findElements(node: Node, className: String, result: Array = []) -> Array: - if node.is_class(className): - result.push_back(node) - for child in node.get_children(): - result = findElements(child, className, result) - return result - -func _on_control_mouse_entered(control: Node): - control.grab_focus() - -func load_popup(title:String, content_path:String, display_text: String): - var popup = load("res://components/popup.tscn").instantiate() as Control - popup.set_title(title) - popup.set_content(content_path) - popup.set_display_text(display_text) - $Background.add_child(popup) - -func _on_quickresume_advanced_pressed(): - load_popup("Quick Resume Advanced", "res://components/popups_content/popup_content_test.tscn","") - -func _on_bios_button_pressed(): - _play_main_animations() - bios_type = 1 - class_functions.log_parameters[2] = class_functions.log_text + "Bios_Check" - log_results = class_functions.execute_command(class_functions.wrapper_command, class_functions.log_parameters, false) - load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") - bios_type = 0 - -func _on_bios_button_expert_pressed(): - _play_main_animations() - bios_type = 2 - class_functions.log_parameters[2] = class_functions.log_text + "Advanced_Bios_Check" - log_results = class_functions.execute_command(class_functions.wrapper_command, class_functions.log_parameters, false) - class_functions.log_parameters[2] = class_functions.log_text + "Exit code: " + str(log_results["exit_code"]) - load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") - bios_type = 0 - -func _on_exit_button_pressed(): - _play_main_animations() - _exit() - -func _on_locale_selected(index): - match index: - 0: - TranslationServer.set_locale("en") - _: - TranslationServer.set_locale("en") - combine_tkeys() - -""" - 1: - TranslationServer.set_locale("it") - 2: - TranslationServer.set_locale("de") - 3: - TranslationServer.set_locale("sv") - 4: - TranslationServer.set_locale("ua") - 5: - TranslationServer.set_locale("ja") - 6: - TranslationServer.set_locale("zh") -""" - - -func combine_tkeys(): #More as a test - pass - #%cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") # switched to access as a unique name as easier to refactor - #$Background/MarginContainer/TabContainer/TK_SYSTEM/ScrollContainer/VBoxContainer/HBoxContainer/GridContainer/cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") - #%tate_mode.text = tr("TK_TATE") + " " + tr("TK_SOON") - #%hotkey_sound.text = tr("TK_HOTKEYSOUND") + " " + tr("TK_SOON") - #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_hardcore.text = tr("TK_CHEEVOSHARDCORE") + " " + tr("TK_SOON") - #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container/saves_sync.text = tr("TK_SAVESSYNC") + " " + tr("TK_SOON") - #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") - -func display_json_data() -> void: - app_data = data_handler.app_data - #data_handler.add_emulator() - #data_handler.modify_emulator_test() - if app_data: - var website_data: Link = app_data.about_links["rd_web"] - print (website_data.name,"-",website_data.url,"-",website_data.description,"-",website_data.url) - #print (app_data.about_links["rd_web"]["name"]) - var core_data: Core = app_data.cores["gambatte_libetro"] - print (core_data.name) - for property: CoreProperty in core_data.properties: - print("Cheevos: ", property.cheevos) - print("Cheevos Hardcore: ", property.cheevos_hardcore) - print("Quick Resume: ", property.quick_resume) - print("Rewind: ", property.rewind) - print("Borders: ", property.borders) - print("Widescreen: ", property.widescreen) - print("ABXY_button:", property.abxy_button) - for key in app_data.emulators.keys(): - var emulator = app_data.emulators[key] - # Display the properties of each emulator - print("System Name: ", emulator.name) - print("Description: ", emulator.description) - #print("System: ", emulator.systen) - print("Help URL: ", emulator.url) - print("Properties:") - for property: EmulatorProperty in emulator.properties: - print("Cheevos: ", property.cheevos) - print("Borders: ", property.borders) - print("ABXY_button:", property.abxy_button) - print("multi_user_config_dir: ", property.multi_user_config_dir) - - for key in app_data.cores.keys(): - var core = app_data.cores[key] - print("Core Name: ", core.name) - print("Description: ", core.description) - print("Properties:") - for property: CoreProperty in core.properties: - print("Cheevos: ", property.cheevos) - print("Cheevos Hardcore: ", property.cheevos_hardcore) - print("Quick Resume: ", property.quick_resume) - print("Rewind: ", property.rewind) - print("Borders: ", property.borders) - print("Widescreen: ", property.widescreen) - print("ABXY_button:", property.abxy_button) - else: - print ("No emulators") diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 7cd11420..e61cdab9 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,21 +1,23 @@ -[gd_scene load_steps=99 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=123 format=3 uid="uid://61f6m4r1mpan"] [ext_resource type="Texture2D" uid="uid://bv6vh33cnfaw4" path="res://icon.svg" id="1_axfei"] [ext_resource type="Theme" uid="uid://hhc60cllcg47" path="res://assets/themes/default_theme.tres" id="1_if8nh"] -[ext_resource type="Script" path="res://main.gd" id="1_obpq7"] -[ext_resource type="Script" path="res://TabContainer.gd" id="3_id6l4"] +[ext_resource type="Script" path="res://scripts/main.gd" id="1_obpq7"] +[ext_resource type="Script" path="res://scripts/TabContainer.gd" id="3_id6l4"] [ext_resource type="AudioStream" uid="uid://dig4pco500pyt" path="res://res/configurator.mp3" id="3_xivj6"] +[ext_resource type="Script" path="res://scripts/TabGlobals.gd" id="4_2jqfc"] [ext_resource type="Texture2D" uid="uid://dx0u5hiwxfgu5" path="res://res/pixel_ui_theme/8x8_ui_elements.png" id="4_2tuu4"] [ext_resource type="Texture2D" uid="uid://qu88ngewoj4w" path="res://assets/icons/pixelitos/128/applications-games.png" id="4_caaxx"] [ext_resource type="Texture2D" uid="uid://bdj8vt3vhucq4" path="res://assets/icons/pixelitos/128/cs-display.png" id="4_jldgc"] -[ext_resource type="Script" path="res://tk_about.gd" id="4_m4rto"] -[ext_resource type="Script" path="res://Rekku.gd" id="4_nqqx3"] +[ext_resource type="Script" path="res://scripts/TabAbout.gd" id="4_m4rto"] +[ext_resource type="Script" path="res://scripts/Rekku.gd" id="4_nqqx3"] [ext_resource type="Texture2D" uid="uid://suusabsjin6e" path="res://assets/icons/pixelitos/128/applications-graphics.png" id="4_q6hd2"] [ext_resource type="Texture2D" uid="uid://dk856hwnwsuab" path="res://assets/icons/pixelitos/128/retroarch.png" id="4_xcuib"] [ext_resource type="Texture2D" uid="uid://cvr1eijddf6nv" path="res://assets/icons/banner/gamegear.png" id="5_4d7s7"] [ext_resource type="Texture2D" uid="uid://d2lm4mfx1gt86" path="res://assets/graphics/retrodeck_base_shake0.png" id="5_7rjbt"] +[ext_resource type="Texture2D" uid="uid://bns3nmvku2qhe" path="res://assets/icons/pixelitos/128/system-shutdown.png" id="5_ahd1x"] [ext_resource type="Texture2D" uid="uid://dv42c6hpi6tde" path="res://assets/icons/pixelitos/128/cs-tiling.png" id="5_box56"] -[ext_resource type="Script" path="res://helper_text.gd" id="5_cprkf"] +[ext_resource type="Script" path="res://scripts/helper_text.gd" id="5_cprkf"] [ext_resource type="Texture2D" uid="uid://dxdhjp18rgmr4" path="res://res/flags/united_kingdom_32.png" id="5_exkn2"] [ext_resource type="Texture2D" uid="uid://du8go5dyabmsl" path="res://assets/icons/banner/gb.png" id="5_ja8to"] [ext_resource type="StyleBox" uid="uid://ba3l3ja1jbqpx" path="res://assets/themes/emulators.tres" id="5_rjtkn"] @@ -57,13 +59,12 @@ [ext_resource type="Texture2D" uid="uid://dyw0ondpk6ned" path="res://assets/icons/pixelitos/128/search.png" id="14_oe3l4"] [ext_resource type="Texture2D" uid="uid://b164ihk8riiwh" path="res://assets/graphics/space_bground.png" id="15_qdvxo"] [ext_resource type="Texture2D" uid="uid://cgh3df7ajg2c4" path="res://assets/icons/pixelitos/128/computer.png" id="17_0kr64"] -[ext_resource type="Texture2D" uid="uid://cvt2jky3bbjun" path="res://assets/icons/pixelitos/128/drive-removable-media.png" id="18_h2o3e"] [ext_resource type="Texture2D" uid="uid://dyumvh0ixwrbl" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0042.png" id="30_glnve"] [ext_resource type="Texture2D" uid="uid://cn11vcrybtor4" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0047.png" id="31_j5ri1"] [ext_resource type="Texture2D" uid="uid://cc7ohmfxafe78" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png" id="33_1ghye"] [ext_resource type="Texture2D" uid="uid://cs8lh31kh7jv1" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0048.png" id="34_fum2b"] [ext_resource type="Texture2D" uid="uid://chd6d8tx081hm" path="res://assets/icons/pixelitos/128/org.mamedev.MAME.png" id="36_dj81i"] -[ext_resource type="Script" path="res://scripts/SystemTab.gd" id="36_wv31h"] +[ext_resource type="Script" path="res://scripts/TabSystem.gd" id="36_wv31h"] [ext_resource type="Texture2D" uid="uid://10pyy05xqpr4" path="res://assets/icons/pixelitos/128/ruffle.png" id="37_7hhbn"] [ext_resource type="Texture2D" uid="uid://fhxlwf7in0ke" path="res://assets/icons/pixelitos/128/net.pcsx2.PCSX2.png" id="38_44je8"] [ext_resource type="Texture2D" uid="uid://dpi351mmxu7x6" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png" id="38_prt7u"] @@ -79,9 +80,20 @@ [ext_resource type="Texture2D" uid="uid://b6vndtbu4qduo" path="res://assets/icons/pixelitos/128/preferences-desktop-launch-feedback.png" id="45_qxd26"] [ext_resource type="Texture2D" uid="uid://3sw7gtoiuab3" path="res://assets/icons/pixelitos/128/help-browser.png" id="46_feagl"] [ext_resource type="Texture2D" uid="uid://b0awa8venu1h8" path="res://assets/icons/pixelitos/128/cs-network.png" id="50_5d2ui"] -[ext_resource type="Texture2D" uid="uid://bafdexg6aq8tn" path="res://assets/icons/pixelitos/128/applications-accessories.png" id="50_h3jx2"] [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] +[ext_resource type="Script" path="res://scripts/TabTools.gd" id="50_wqa5h"] +[ext_resource type="Texture2D" uid="uid://33f5uahr5tqm" path="res://assets/icons/pixelitos/128/mate-system-log.png" id="52_1rasc"] +[ext_resource type="Script" path="res://scripts/TabSettings.gd" id="54_bxhvn"] +[ext_resource type="Texture2D" uid="uid://dk4567tpvqpr6" path="res://assets/icons/pixelitos/128/preferences-desktop-plasma-theme.png" id="54_dah1j"] +[ext_resource type="Texture2D" uid="uid://c5ik1giuv1ar5" path="res://assets/icons/pixelitos/128/system-lock-screen.png" id="54_f245y"] +[ext_resource type="Texture2D" uid="uid://d4ee8j2kh1tmy" path="res://assets/icons/pixelitos/128/cs-themes.png" id="55_wv2p5"] +[ext_resource type="Texture2D" uid="uid://cfcgi6owxt3uu" path="res://assets/icons/pixelitos/128/preferences-system-notifications.png" id="55_x32s4"] +[ext_resource type="Texture2D" uid="uid://dw3tdbhmpkst7" path="res://assets/icons/pixelitos/128/preferences-desktop-theme-applications.png" id="56_ubqc2"] +[ext_resource type="Texture2D" uid="uid://d4suyd0iag1k" path="res://assets/icons/pixelitos/128/system-suspend.png" id="56_witym"] [ext_resource type="Texture2D" uid="uid://l3bredurb11m" path="res://assets/graphics/rekku2/rekku_base.png" id="57_1n3u5"] +[ext_resource type="Texture2D" uid="uid://dxtd2lvewb4qa" path="res://assets/icons/pixelitos/128/system-switch-user.png" id="57_7b0kp"] +[ext_resource type="Texture2D" uid="uid://diu1akug7xul8" path="res://assets/icons/pixelitos/128/cs-user.png" id="58_mntxv"] +[ext_resource type="Texture2D" uid="uid://bby02mc8j6rxt" path="res://assets/icons/pixelitos/128/youtube-music.png" id="58_oismn"] [ext_resource type="Texture2D" uid="uid://cvlncuql8igrm" path="res://assets/graphics/rekku2/rekku_eye_1.png" id="59_7lcu5"] [ext_resource type="Texture2D" uid="uid://bdrdu4nddkqjn" path="res://assets/graphics/rekku2/rekku_eye_2.png" id="60_mbhg6"] [ext_resource type="Texture2D" uid="uid://cb2hwhaq036mu" path="res://assets/graphics/rekku2/rekku_mouth_a.png" id="61_5vyvy"] @@ -89,16 +101,36 @@ [ext_resource type="Texture2D" uid="uid://3ktnkmuecxea" path="res://assets/graphics/rekku2/rekku_mouth_m.png" id="63_52v81"] [ext_resource type="Texture2D" uid="uid://d08ngewjvxkmn" path="res://assets/graphics/rekku2/rekku_mouth_o.png" id="64_s8u0e"] [ext_resource type="Texture2D" uid="uid://dieva7tuxjrvy" path="res://assets/graphics/rekku2/rekku_nomouth.png" id="65_kk8ba"] -[ext_resource type="Script" path="res://controller_guide.gd" id="68_ahvw4"] +[ext_resource type="Script" path="res://scripts/controller_guide.gd" id="68_ahvw4"] [ext_resource type="AudioStream" uid="uid://dhejvg02t5o35" path="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav" id="71_ghxvk"] [ext_resource type="Texture2D" uid="uid://dllymmym0335n" path="res://assets/icons/pixelitos/16/system-shutdown.png" id="87_1yqbe"] +[ext_resource type="Texture2D" uid="uid://26piw1lylfai" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0650.png" id="90_xkj8e"] +[ext_resource type="Texture2D" uid="uid://cj5p6oa4tbh3l" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0044.png" id="92_xpwgw"] +[ext_resource type="Texture2D" uid="uid://brf74puvpnwsd" path="res://assets/graphics/retrodeck.png" id="93_f7ex4"] +[ext_resource type="Texture2D" uid="uid://ewsr5bqe7gcr" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0049.png" id="93_rdk5c"] +[ext_resource type="Script" path="res://scripts/retrodeck.gd" id="94_8nlr1"] +[ext_resource type="Texture2D" uid="uid://bjw5uccsiprpo" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0045.png" id="94_ybo5b"] +[ext_resource type="Texture2D" uid="uid://da6e8m0kx265j" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0050.png" id="95_act8q"] +[ext_resource type="Texture2D" uid="uid://bfmu7t0xf5kdf" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0651.png" id="99_km4fg"] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] -bg_color = Color(0.712505, 0, 0.175592, 1) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_co0k7"] +bg_color = Color(0.580392, 0.419608, 0.921569, 1) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.101961, 0.623529, 1, 1) +border_blend = true [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1161k"] bg_color = Color(0.101961, 0.623529, 1, 0.376471) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8lrwm"] +bg_color = Color(0.352941, 0.858824, 0.129412, 0.556863) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] +bg_color = Color(0.712505, 0, 0.175592, 1) + [sub_resource type="SpriteFrames" id="SpriteFrames_lhf2y"] animations = [{ "frames": [{ @@ -168,6 +200,23 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4gcyr"] +bg_color = Color(0.455, 0.455, 0.455, 1) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.580392, 0.419608, 0.921569, 1) +border_blend = true +corner_radius_top_left = 20 +corner_radius_top_right = 20 +corner_radius_bottom_right = 20 +corner_radius_bottom_left = 20 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gie3e"] +bg_color = Color(0.0509804, 0.0509804, 0.0509804, 1) +border_color = Color(0.298039, 0.298039, 0.298039, 1) + [node name="Control" type="Control"] layout_mode = 3 anchors_preset = 15 @@ -191,26 +240,26 @@ grow_vertical = 2 [node name="SplitContainer" type="SplitContainer" parent="Background"] unique_name_in_owner = true layout_mode = 0 -offset_left = 1.0 -offset_top = 5.0 -offset_right = 1253.0 -offset_bottom = 724.0 +offset_top = 1.0 +offset_right = 1287.0 +offset_bottom = 725.0 +split_offset = 1280 [node name="MarginContainer" type="MarginContainer" parent="Background/SplitContainer"] layout_mode = 2 -size_flags_horizontal = 3 [node name="TabContainer" type="TabContainer" parent="Background/SplitContainer/MarginContainer"] unique_name_in_owner = true layout_mode = 2 +theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 4 +current_tab = 0 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 +script = ExtResource("4_2jqfc") metadata/_tab_index = 0 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS"] @@ -222,363 +271,236 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] +[node name="globals_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] layout_mode = 2 -columns = 3 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 4 -[node name="Widescreen6" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="ask_to_exit_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true layout_mode = 2 -tooltip_text = "Change to Nintendo style button mappings." +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "ASK TO EXIT" +icon = ExtResource("5_ahd1x") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "Enables or disables ask to exit prompts in all supported emulators and cores. Note: If you disable this, the emulators will directly exit." +metadata/rekku = "If this box is orange blame monkeyx he loves Blaclpool FC. Or long press to reset and turm them all on again. You can also edit individual options for systems in the System TAB. " + +[node name="ask_to_exit_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/ask_to_exit_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="border_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "BORDERS" +icon = ExtResource("4_jldgc") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="border_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/border_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "BUTTON SWAP " icon = ExtResource("4_caaxx") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 -[node name="Widescreen2" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="button_swap_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/button_swap_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +disabled = true text = "MODS" icon = ExtResource("5_vehlp") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "This feature is planned for a future release." -[node name="Widescreen5" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "QUICK RESUME" icon = ExtResource("12_3jrmi") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "Testing 1,2,3 .." -[node name="decorations_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true layout_mode = 2 -text = "BORDERS" -icon = ExtResource("4_jldgc") - -[node name="Widescreen" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] -layout_mode = 2 -text = "SHADERS" -icon = ExtResource("4_q6hd2") - -[node name="Widescreen3" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] -layout_mode = 2 -text = "QUICK REWIND" +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "REWIND" icon = ExtResource("11_c3qcy") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 -[node name="Widescreen4" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_rewind_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/quick_rewind_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +disabled = true text = "TATE MODE" icon = ExtResource("10_jm3oh") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "This feature is planned for a future release." -[node name="Widescreen7" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +disabled = true +text = "SHADERS" +icon = ExtResource("4_q6hd2") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "This feature is planned for a future release." + +[node name="widescreen_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "WIDESCREEN" +icon = ExtResource("4_jldgc") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="widescreen_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/widescreen_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RESET -RETROCECK" +RETRODECK" icon = ExtResource("11_g1uhn") +icon_alignment = 1 +vertical_icon_alignment = 0 expand_icon = true -[node name="Widescreen8" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="reset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_retrodeck_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true layout_mode = 2 -text = "RESET ALL +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET ALL EMULATORS" icon = ExtResource("45_qxd26") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true -[node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] +[node name="reset_all_emulators_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_all_emulators_button"] +unique_name_in_owner = true visible = false -layout_mode = 2 -columns = 5 - -[node name="wide_screen" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_WSCREEN" -text = "TK_WSCREEN" -icon = ExtResource("4_jldgc") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="shaders" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_SHADERS" -text = "TK_SHADERS" -icon = ExtResource("5_box56") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="mods" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_MODS" -text = "TK_MODS" -icon = ExtResource("6_u80kq") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="tate_mode" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_TATE" -text = "TK_TATE" -icon = ExtResource("7_i14ax") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="borders_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_BORDERS" -text = "TK_BORDERS" -icon = ExtResource("5_uiobi") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="hotkey_sound" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_HOTKEYSOUND" -text = "TK_HOTKEYSOUND" -icon = ExtResource("9_qwq2k") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="button_layout" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_BTNLAYOUT" -text = "TK_BTNLAYOUT" -icon = ExtResource("9_d2327") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="quick_resume" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_QRESUME" -text = "TK_QRESUME" -icon = ExtResource("11_c3qcy") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true -metadata/description = "This is a test description set to this element" - -[node name="rewind" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_REWIND" -text = "TK_REWIND" -icon = ExtResource("12_3jrmi") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true -metadata/description = "This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED. And I did it twice!!!This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED." - -[node name="quit_confirm" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -tooltip_text = "TK_CONFIRMEXIT" -text = "TK_CONFIRMEXIT" -icon = ExtResource("13_8kii4") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="cheats" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_CHEATS" -text = "TK_CHEATS" -icon = ExtResource("14_oe3l4") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="decorations_save" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -visible = false -custom_minimum_size = Vector2(125, 125) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -theme_override_styles/focus = SubResource("StyleBoxFlat_omewi") -text = "SAVE OR SELECT ALL?" -icon = ExtResource("11_p6y0k") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="borders_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] -visible = false -layout_mode = 2 -theme_override_constants/h_separation = 30 -columns = 6 - -[node name="CheckBox5" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("5_ja8to") -expand_icon = true - -[node name="CheckBox3" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("6_mvrie") -expand_icon = true - -[node name="CheckBox4" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("7_01lqn") -expand_icon = true - -[node name="CheckBox6" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("7_b8xj2") -expand_icon = true - -[node name="CheckBox" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("8_rvph4") -expand_icon = true - -[node name="CheckBox7" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("9_s3srh") -expand_icon = true - -[node name="CheckBox8" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("10_2jlmn") -expand_icon = true - -[node name="CheckBox9" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("5_4d7s7") -expand_icon = true - -[node name="CheckBox10" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("12_pp08o") -expand_icon = true - -[node name="systems_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] -visible = false -layout_mode = 2 -size_flags_vertical = 3 -theme_override_constants/h_separation = 10 -theme_override_constants/v_separation = 10 -columns = 6 - -[node name="Button3" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "RetroARCH" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "RetroArch" -icon = ExtResource("4_xcuib") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button8" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "Dolphin" -icon = ExtResource("11_61sak") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button7" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "CITRA" -text = "RPCS3" -icon = ExtResource("8_ec4gt") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button5" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "PSPSSPP" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "PSPSSPP" -icon = ExtResource("8_akxf7") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "Duckstation" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "DuckStation" -icon = ExtResource("6_winpq") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button2" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "Melon DS" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "MelonDS" -icon = ExtResource("7_4otos") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button9" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -visible = false -layout_mode = 2 -tooltip_text = "CITRA" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "CITRA" -icon = ExtResource("10_wbaif") -icon_alignment = 1 -vertical_icon_alignment = 0 +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false @@ -595,137 +517,216 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="sysems_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="systems_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] -layout_mode = 2 -text = "SYSTEMS & EMULATORS" - -[node name="systems_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] -layout_mode = 2 - -[node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] +[node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 -columns = 4 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 5 -[node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "RETROARCH" -icon = ExtResource("4_xcuib") - -[node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "MAME" -icon = ExtResource("36_dj81i") - -[node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "RUFFLE" -icon = ExtResource("37_7hhbn") - -[node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "MELONDS" -icon = ExtResource("7_4otos") - -[node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "PCSX2" -icon = ExtResource("38_44je8") - -[node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "DUCKSTATION" -icon = ExtResource("6_winpq") - -[node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "PPSSPP" -icon = ExtResource("8_akxf7") - -[node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "VITA3K" -icon = ExtResource("38_vsjf2") - -[node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "RPCS3" -icon = ExtResource("8_ec4gt") - -[node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "RYUJINX" -icon = ExtResource("40_7fdvq") - -[node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "DOLPHIN" -icon = ExtResource("11_61sak") - -[node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "PRIMEHACK" -icon = ExtResource("41_55e56") - -[node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "CEMU" -icon = ExtResource("42_n3n7j") - -[node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "XEMU" -icon = ExtResource("43_ifi6j") - -[node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "ES-DE" -icon = ExtResource("44_7lpj5") - -[node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] -unique_name_in_owner = true -visible = false -layout_mode = 2 - -[node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 -text = "HELP" -icon = ExtResource("46_feagl") +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RETROARCH" +icon = ExtResource("4_xcuib") +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/rekku = "This is my favourite emulator!" -[node name="launch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "MAME" +icon = ExtResource("36_dj81i") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RUFFLE" +icon = ExtResource("37_7hhbn") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "MELONDS" +icon = ExtResource("7_4otos") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "PCSX2" +icon = ExtResource("38_44je8") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "DUCKSTATION" +icon = ExtResource("6_winpq") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "PPSSPP" +icon = ExtResource("8_akxf7") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "VITA3K" +icon = ExtResource("38_vsjf2") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RPCS3" +icon = ExtResource("8_ec4gt") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RYUJINX" +icon = ExtResource("40_7fdvq") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "DOLPHIN" +icon = ExtResource("11_61sak") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "PRIMEHACK" +icon = ExtResource("41_55e56") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "CEMU" +icon = ExtResource("42_n3n7j") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "XEMU" +icon = ExtResource("43_ifi6j") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "ES-DE" +icon = ExtResource("44_7lpj5") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +theme_override_constants/h_separation = 25 +theme_override_constants/v_separation = 25 + +[node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 +action_mode = 0 +text = "HELP" +icon = ExtResource("46_feagl") +expand_icon = true + +[node name="launch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 action_mode = 0 text = "LAUNCH" icon = ExtResource("45_qxd26") +expand_icon = true -[node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 text = "RESET" icon = ExtResource("12_3jrmi") +expand_icon = true -[node name="reset_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer/reset_button"] +[node name="reset_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer/reset_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -737,9 +738,44 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false +[node name="rpcs3_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 +action_mode = 0 +text = "INSTALL FIRMWARE" +icon = ExtResource("8_ec4gt") +expand_icon = true + +[node name="vita3k_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 +action_mode = 0 +text = "INSTALL FIRMWARE" +icon = ExtResource("38_vsjf2") +expand_icon = true + +[node name="retroarch_quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 +action_mode = 0 +text = "QUICK RESUME" +icon = ExtResource("4_xcuib") +alignment = 1 +expand_icon = true + [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 +script = ExtResource("50_wqa5h") metadata/_tab_index = 2 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS"] @@ -752,19 +788,27 @@ theme_override_constants/separation = 64 [node name="troubleshoot_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 +theme_override_constants/separation = 15 [node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +toggle_mode = true text = "CHECK CONNECTION" icon = ExtResource("50_5d2ui") +expand_icon = true [node name="logs_button" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +alignment = 1 +expand_icon = true selected = 0 item_count = 4 -popup/item_0/text = " LOGS" -popup/item_0/icon = ExtResource("50_h3jx2") +popup/item_0/text = "LOGS" +popup/item_0/icon = ExtResource("52_1rasc") popup/item_0/disabled = true popup/item_0/separator = true popup/item_1/text = "RetroDECK Log" @@ -778,14 +822,40 @@ popup/item_3/icon = ExtResource("4_xcuib") popup/item_3/id = 3 [node name="bios_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "BIOS STANDARD" icon = ExtResource("50_tl5ty") +expand_icon = true [node name="bios_button_expert" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "BIOS EXPERT" icon = ExtResource("50_tl5ty") +expand_icon = true + +[node name="backup_user_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +text = "BACKUP USER DATA" +icon = ExtResource("54_f245y") +expand_icon = true + +[node name="progress_bar_backup" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/backup_user_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_8lrwm") +show_percentage = false +indeterminate = true +editor_preview_indeterminate = false [node name="controls_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 @@ -809,6 +879,7 @@ text = "TK_STEAMCONTEMP" layout_mode = 2 size_flags_horizontal = 10 size_flags_vertical = 4 +disabled = true text = "TK_INSTALL" [node name="button_layout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] @@ -859,12 +930,9 @@ layout_mode = 2 disabled = true text = "TK_GRIDINSTALL" -[node name="ps3_fw_install_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/tools_container"] -layout_mode = 2 -text = "TK_PS3FWINSTALL" - [node name="fav_steam" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/tools_container"] layout_mode = 2 +disabled = true text = "TK_FAVSTEAM" [node name="scan_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] @@ -877,11 +945,6 @@ text = "TK_SCAN" [node name="scan_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] layout_mode = 2 -[node name="ps3_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -disabled = true -text = "TK_PS3SCAN" - [node name="scummvm_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] layout_mode = 2 disabled = true @@ -889,16 +952,13 @@ text = "TK_SCUMMVMSCAN" [node name="multifile_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] layout_mode = 2 -text = "TK_MULTIFILE" - -[node name="3ds_decrypt_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 disabled = true -text = "TK_3DSDECRYPT" +text = "TK_MULTIFILE" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 +script = ExtResource("54_bxhvn") metadata/_tab_index = 3 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS"] @@ -908,91 +968,133 @@ follow_focus = true [node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 -size_flags_vertical = 3 -theme_override_constants/separation = 64 [node name="system_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 [node name="system_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 -text = "TK_SYSTEM" +text = "SYSTEM SETTINGS" [node name="system_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 -[node name="update_notification" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="update_notification_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 -button_pressed = true -text = "TK_UPDATENOTIF" +text = "AUTO UPDATES" +icon = ExtResource("55_x32s4") +alignment = 1 +expand_icon = true + +[node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +text = "SOUND EFFECTS" +icon = ExtResource("9_qwq2k") +alignment = 1 +expand_icon = true + +[node name="volume_effects_slider" type="HSlider" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 75) +layout_mode = 2 +min_value = 1.0 +max_value = 25.0 +value = 10.0 +rounded = true +tick_count = 25 + +[node name="font_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +alignment = 1 +expand_icon = true +selected = 0 +item_count = 4 +popup/item_0/text = "CHOOSE FONT" +popup/item_0/icon = ExtResource("54_dah1j") +popup/item_0/disabled = true +popup/item_0/separator = true +popup/item_1/text = "Default" +popup/item_1/icon = ExtResource("55_wv2p5") +popup/item_1/id = 1 +popup/item_2/text = "Modern" +popup/item_2/icon = ExtResource("55_wv2p5") +popup/item_2/id = 2 +popup/item_3/text = "OpenDyslexic3" +popup/item_3/icon = ExtResource("56_ubqc2") +popup/item_3/id = 2 + +[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +layout_mode = 2 +disabled = true +text = "TK_MUSIC" +icon = ExtResource("58_oismn") +alignment = 1 +expand_icon = true [node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 disabled = true button_pressed = true text = "TK_EASTEREGGS" +icon = ExtResource("56_witym") +alignment = 1 +expand_icon = true -[node name="multi_user_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 - -[node name="multi_user_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/multi_user_container"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 1 -text = "TK_MULTIUSR" - -[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/multi_user_container"] -layout_mode = 2 -size_flags_horizontal = 10 -selected = 0 -item_count = 3 -popup/item_0/text = "TK_OFF" -popup/item_1/text = "TK_STEAMUSR" -popup/item_1/id = 1 -popup/item_2/text = "TK_CUSTOMUSR" -popup/item_2/id = 2 - -[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -button_pressed = true -text = "TK_MUSIC" - -[node name="fancy_audio_player_here_(please_no)" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -size_flags_vertical = 1 -text = "|| ------( )--------" - -[node name="theme_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +[node name="locale_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +alignment = 1 selected = 0 -item_count = 5 -popup/item_0/text = "Choose Theme" -popup/item_0/disabled = true -popup/item_0/separator = true -popup/item_1/text = "Default" +fit_to_longest_item = false +item_count = 7 +popup/item_0/text = "DEFAULT LANGUAGE" +popup/item_0/icon = ExtResource("5_exkn2") +popup/item_1/icon = ExtResource("6_fiylw") popup/item_1/id = 1 -popup/item_2/text = "Retro" +popup/item_2/icon = ExtResource("7_qgxid") popup/item_2/id = 2 -popup/item_3/text = "Modern" +popup/item_3/icon = ExtResource("8_lptln") popup/item_3/id = 3 -popup/item_4/text = "OpenDyslexic3" +popup/item_4/icon = ExtResource("9_dp7oa") popup/item_4/id = 4 +popup/item_5/icon = ExtResource("10_e8mt0") +popup/item_5/id = 5 +popup/item_6/icon = ExtResource("11_ri2fv") +popup/item_6/id = 6 [node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 -[node name="cheevos" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +[node name="cheevos_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "TK_CHEEVOS" -[node name="cheevos_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] -layout_mode = 2 +[node name="cheevos_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false [node name="cheevos_login_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +unique_name_in_owner = true +visible = false layout_mode = 2 theme_override_constants/h_separation = 64 -columns = 2 [node name="cheevos_username_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] layout_mode = 2 @@ -1021,37 +1123,14 @@ placeholder_text = "password" secret = true secret_character = "*" -[node name="cheevos_advanced_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +[node name="cheevos_hardcore" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] layout_mode = 2 - -[node name="cheevos_advanced_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container"] -layout_mode = 2 -disabled = true -text = "TK_ADVANCED" - -[node name="cheevos_hardcore" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container"] -layout_mode = 2 -disabled = true text = "TK_CHEEVOSHARDCORE" -[node name="cheevos_loginout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container"] -layout_mode = 2 -size_flags_horizontal = 8 -theme_override_constants/separation = 10 - -[node name="cheevos_trophies_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_loginout_container"] -layout_mode = 2 -disabled = true -text = "TK_CHEEVOSTROPHYBTN" - -[node name="cheevos_loginout_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_loginout_container"] -layout_mode = 2 -text = "TK_LOGIN" - [node name="netplay_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 -[node name="netplay" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] +[node name="netplay" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] layout_mode = 2 text = "TK_NETPLAY" @@ -1097,20 +1176,35 @@ size_flags_vertical = 5 layout_mode = 2 text = "TK_NETPLAYCONNECT" +[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +disabled = true +alignment = 1 +expand_icon = true +selected = 0 +item_count = 4 +popup/item_0/text = "TK_MULTIUSR" +popup/item_0/icon = ExtResource("57_7b0kp") +popup/item_0/separator = true +popup/item_1/text = "TK_CUSTOMUSR" +popup/item_1/icon = ExtResource("58_mntxv") +popup/item_1/id = 1 +popup/item_2/text = "TK_OFF" +popup/item_2/icon = ExtResource("58_mntxv") +popup/item_2/id = 2 +popup/item_3/text = "TK_STEAMUSR" +popup/item_3/icon = ExtResource("58_mntxv") +popup/item_3/id = 3 + [node name="data_mng_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 -[node name="data_mng_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 -text = "TK_DATAMNG" - -[node name="data_mng_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 - [node name="saves_sync" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] layout_mode = 2 size_flags_horizontal = 3 disabled = true +toggle_mode = false text = "TK_SAVESSYNC" [node name="ftp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] @@ -1120,6 +1214,7 @@ disabled = true text = "TK_FTPBTN" [node name="ABOUT" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("4_m4rto") metadata/_tab_index = 4 @@ -1131,15 +1226,12 @@ layout_mode = 2 layout_mode = 2 alignment = 1 -[node name="rd_title" type="RichTextLabel" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] +[node name="rd_title" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] unique_name_in_owner = true -clip_contents = false custom_minimum_size = Vector2(300, 150) layout_mode = 2 text = "RetroDECK" -scroll_active = false autowrap_mode = 2 -tab_size = 2 [node name="logo" type="TextureRect" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container/rd_title"] custom_minimum_size = Vector2(128, 128) @@ -1154,27 +1246,23 @@ texture = ExtResource("1_axfei") expand_mode = 1 stretch_mode = 4 -[node name="about_header" type="RichTextLabel" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] -clip_contents = false +[node name="about_header" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] custom_minimum_size = Vector2(0, 40) layout_mode = 2 size_flags_vertical = 3 -theme_override_font_sizes/normal_font_size = 23 text = "ABOUT RETRODECK" -scroll_active = false [node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] unique_name_in_owner = true layout_mode = 2 -theme_override_constants/h_separation = 20 -theme_override_constants/v_separation = 20 -columns = 5 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 4 [node name="WIP" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true visible = false layout_mode = 2 -focus_neighbor_right = NodePath("../GLOBALS") metadata/_tab_index = 5 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP"] @@ -1194,6 +1282,7 @@ icon = ExtResource("4_q6hd2") [node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true +visible = false layout_mode = 2 columns = 5 @@ -1442,7 +1531,6 @@ icon = ExtResource("17_0kr64") [node name="systems_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 size_flags_vertical = 3 theme_override_constants/h_separation = 10 @@ -1511,12 +1599,6 @@ icon = ExtResource("10_wbaif") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="save_resume_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "FUNCTIONS - Save states, etc" -icon = ExtResource("18_h2o3e") - [node name="logo_animated" type="AnimatedSprite2D" parent="Background/SplitContainer/MarginContainer"] unique_name_in_owner = true visible = false @@ -1548,6 +1630,8 @@ mouse_default_cursor_shape = 8 script = ExtResource("4_nqqx3") [node name="speach_bubble" type="Panel" parent="Background/SplitContainer/side_logo/rekku"] +unique_name_in_owner = true +visible = false layout_mode = 0 offset_left = 371.0 offset_top = -1120.0 @@ -1555,7 +1639,8 @@ offset_right = 644.0 offset_bottom = -786.0 theme_override_styles/panel = SubResource("StyleBoxTexture_rf0rc") -[node name="helper_text" type="RichTextLabel" parent="Background/SplitContainer/side_logo/rekku/speach_bubble"] +[node name="helper_text" type="Label" parent="Background/SplitContainer/side_logo/rekku/speach_bubble"] +visible = false layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -1568,16 +1653,10 @@ offset_right = 129.5 offset_bottom = 191.0 grow_horizontal = 2 grow_vertical = 2 -text = "Rekku: - -When \"Quick Resume\" is enabled, a savestate is created upon quit and it will be loaded once the game is started. -This is mot working on the following systems: Switch, WiiU." -fit_content = true -scroll_following = true script = ExtResource("5_cprkf") [node name="rekku_sprite" type="Sprite2D" parent="Background/SplitContainer/side_logo/rekku"] -position = Vector2(536, -513) +position = Vector2(511, -826) scale = Vector2(0.5, 0.5) texture = ExtResource("57_1n3u5") @@ -1608,98 +1687,192 @@ expand_mode = 1 stream = ExtResource("3_xivj6") volume_db = -11.243 +[node name="pop_rtl" type="Label" parent="Background"] +unique_name_in_owner = true +visible = false +z_index = 2 +layout_mode = 2 +offset_left = 6.0 +offset_top = 703.0 +offset_right = 1271.0 +offset_bottom = 797.0 +theme_override_styles/normal = SubResource("StyleBoxFlat_4gcyr") +horizontal_alignment = 1 +autowrap_mode = 2 + [node name="CanvasModulate" type="CanvasModulate" parent="."] visible = false position = Vector2(134, 151) color = Color(0.858824, 0.890196, 1, 1) [node name="controller_guide" type="PanelContainer" parent="."] -layout_mode = 1 -anchors_preset = 7 -anchor_left = 0.5 -anchor_top = 1.0 -anchor_right = 0.5 -anchor_bottom = 1.0 -offset_left = -136.0 -offset_top = -72.0 -offset_right = 87.0 -grow_horizontal = 2 -grow_vertical = 0 +layout_mode = 0 +offset_left = 6.0 +offset_top = 731.0 +offset_right = 655.0 +offset_bottom = 793.0 script = ExtResource("68_ahvw4") [node name="HBoxContainer" type="HBoxContainer" parent="controller_guide"] layout_mode = 2 -theme_override_constants/separation = 25 +theme_override_constants/separation = 10 [node name="a_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(60, 60) +custom_minimum_size = Vector2(38, 38) layout_mode = 2 +size_flags_vertical = 4 texture_normal = ExtResource("30_glnve") texture_pressed = ExtResource("31_j5ri1") stretch_mode = 0 +[node name="Label" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270222, 0.270222, 0.270222, 1) +text = "CONFIRM" + [node name="b_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(60, 60) +custom_minimum_size = Vector2(38, 38) layout_mode = 2 +size_flags_vertical = 4 texture_normal = ExtResource("33_1ghye") texture_pressed = ExtResource("34_fum2b") stretch_mode = 0 -[node name="locale_option" type="OptionButton" parent="controller_guide/HBoxContainer"] -unique_name_in_owner = true +[node name="Label2" type="Label" parent="controller_guide/HBoxContainer"] layout_mode = 2 -selected = 0 -item_count = 7 -popup/item_0/icon = ExtResource("5_exkn2") -popup/item_1/icon = ExtResource("6_fiylw") -popup/item_1/id = 1 -popup/item_2/icon = ExtResource("7_qgxid") -popup/item_2/id = 2 -popup/item_3/icon = ExtResource("8_lptln") -popup/item_3/id = 3 -popup/item_4/icon = ExtResource("9_dp7oa") -popup/item_4/id = 4 -popup/item_5/icon = ExtResource("10_e8mt0") -popup/item_5/id = 5 -popup/item_6/icon = ExtResource("11_ri2fv") -popup/item_6/id = 6 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "BACK" + +[node name="x_button" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("92_xpwgw") +texture_pressed = ExtResource("93_rdk5c") +stretch_mode = 0 + +[node name="Label5" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "INFO" + +[node name="y_button" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("94_ybo5b") +texture_pressed = ExtResource("95_act8q") +stretch_mode = 0 + +[node name="Label6" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "REKKU" + +[node name="a_button2" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("90_xkj8e") +stretch_mode = 0 + +[node name="a_button3" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("99_km4fg") +stretch_mode = 0 + +[node name="Label4" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "QUIT" [node name="exit_button" type="TextureButton" parent="controller_guide/HBoxContainer"] -custom_minimum_size = Vector2(45, 45) +custom_minimum_size = Vector2(35, 35) layout_mode = 2 +size_flags_vertical = 4 texture_normal = ExtResource("87_1yqbe") stretch_mode = 0 +[node name="Label7" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "QUIT" + [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] unique_name_in_owner = true stream = ExtResource("71_ghxvk") volume_db = -5.0 -[node name="l1_button" type="TextureButton" parent="."] +[node name="l1_box" type="Panel" parent="."] unique_name_in_owner = true -layout_mode = 2 -offset_left = 14.0 -offset_top = 2.0 -offset_right = 105.0 -offset_bottom = 54.0 +layout_mode = 0 +offset_left = 15.0 +offset_top = 6.0 +offset_right = 75.0 +offset_bottom = 66.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_gie3e") + +[node name="l1_button" type="TextureButton" parent="l1_box"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -22.5 +offset_top = -22.5 +offset_right = 22.5 +offset_bottom = 22.5 +grow_horizontal = 2 +grow_vertical = 2 texture_normal = ExtResource("38_prt7u") texture_pressed = ExtResource("39_m4qgd") stretch_mode = 0 -[node name="r1_button" type="TextureButton" parent="."] +[node name="r1_box" type="Panel" parent="."] unique_name_in_owner = true layout_mode = 0 -offset_left = 1134.0 -offset_top = 1.0 -offset_right = 1225.0 -offset_bottom = 53.0 +offset_left = 1199.0 +offset_top = 6.0 +offset_right = 1259.0 +offset_bottom = 66.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_gie3e") + +[node name="r1_button" type="TextureButton" parent="r1_box"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -22.5 +offset_top = -22.5 +offset_right = 22.5 +offset_bottom = 22.5 +grow_horizontal = 2 +grow_vertical = 2 texture_normal = ExtResource("39_5ft88") texture_pressed = ExtResource("40_pnuor") stretch_mode = 0 +[node name="Retrodeck_Thread_Check" type="Sprite2D" parent="."] +visible = false +position = Vector2(1046, 238) +scale = Vector2(0.390625, 0.398438) +texture = ExtResource("93_f7ex4") +script = ExtResource("94_8nlr1") + [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button" to="." method="_on_bios_button_pressed"] [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] -[connection signal="item_selected" from="controller_guide/HBoxContainer/locale_option" to="." method="_on_locale_selected"] +[connection signal="item_selected" from="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/locale_option" to="." method="_on_locale_selected"] [connection signal="pressed" from="controller_guide/HBoxContainer/exit_button" to="." method="_on_exit_button_pressed"] diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 8a5ca29b..5f8ee59a 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -27,9 +27,7 @@ data_handler="*res://scripts/data_handler.gd" window/size/viewport_width=1280 window/size/viewport_height=800 -window/size/transparent=true window/stretch/mode="canvas_items" -window/per_pixel_transparency/allowed=true [filesystem] @@ -66,6 +64,11 @@ rekku_hide={ , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":true,"meta_pressed":false,"pressed":false,"keycode":72,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } +info={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null) +] +} quit={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":15,"pressure":0.0,"pressed":false,"script":null) @@ -100,22 +103,20 @@ action_button={ quit1={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } quit2={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":true,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } [internationalization] -locale/translation_remaps={ -"res://res/pixel_ui_theme/8x8_ui_elements.png": PackedStringArray("res://res/pixel_ui_theme/8x8_ui_elements_de.png:de", "res://res/pixel_ui_theme/8x8_ui_elements_sv.png:sv"), -"res://res/pixel_ui_theme/8x8_ui_elements2x.png": PackedStringArray("res://res/pixel_ui_theme/8x8_ui_elements2x_de.png:de", "res://res/pixel_ui_theme/8x8_ui_elements2x_sv.png:sv") -} -locale/translations=PackedStringArray("res://locales/interface.en.translation", "res://locales/interface.it.translation", "res://locales/interface.de.translation", "res://locales/interface.sv.translation", "res://locales/interface.ua.translation", "res://locales/interface.zh.translation", "res://locales/interface.ja.translation") +locale/translation_remaps={} [rendering] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 57543076..c043db89 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=132 format=4 uid="uid://bq8dsxeo34sl"] +[gd_resource type="Theme" load_steps=129 format=4 uid="uid://bq8dsxeo34sl"] [ext_resource type="Texture2D" uid="uid://dx0u5hiwxfgu5" path="res://res/pixel_ui_theme/8x8_ui_elements.png" id="1_ak8qr"] [ext_resource type="Texture2D" uid="uid://c4vntk8yri4yw" path="res://res/pixel_ui_theme/8x8_ui_elements2x.png" id="2_jrpaj"] @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_62emc"] +[sub_resource type="Image" id="Image_tqsvy"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_62emc") +image = SubResource("Image_tqsvy") -[sub_resource type="Image" id="Image_43yh4"] +[sub_resource type="Image" id="Image_7jqkq"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_43yh4") +image = SubResource("Image_7jqkq") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_g8qbb"] +[sub_resource type="Image" id="Image_t35s3"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_g8qbb") +image = SubResource("Image_t35s3") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_8hsq5"] +[sub_resource type="Image" id="Image_l4ovu"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_8hsq5") +image = SubResource("Image_l4ovu") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_xq8h4"] +[sub_resource type="Image" id="Image_4qxng"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_xq8h4") +image = SubResource("Image_4qxng") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_33w4k"] +[sub_resource type="Image" id="Image_yrid1"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_33w4k") +image = SubResource("Image_yrid1") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_dg6qs"] +[sub_resource type="Image" id="Image_dvad3"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_dg6qs") +image = SubResource("Image_dvad3") -[sub_resource type="Image" id="Image_d8gug"] +[sub_resource type="Image" id="Image_cdkbg"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_d8gug") +image = SubResource("Image_cdkbg") -[sub_resource type="Image" id="Image_r7rto"] +[sub_resource type="Image" id="Image_4x7uj"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_r7rto") +image = SubResource("Image_4x7uj") -[sub_resource type="Image" id="Image_emksd"] +[sub_resource type="Image" id="Image_nvr8u"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_emksd") +image = SubResource("Image_nvr8u") -[sub_resource type="Image" id="Image_kxpah"] +[sub_resource type="Image" id="Image_s2x2e"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_kxpah") +image = SubResource("Image_s2x2e") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1347,69 +1347,6 @@ border_width_top = 1 border_color = Color(0.2, 0.2, 0.2, 1) anti_aliasing = false -[sub_resource type="AtlasTexture" id="250"] -atlas = ExtResource("1_ak8qr") -region = Rect2(96, 64, 16, 16) - -[sub_resource type="AtlasTexture" id="251"] -atlas = ExtResource("1_ak8qr") -region = Rect2(96, 96, 16, 16) - -[sub_resource type="AtlasTexture" id="252"] -atlas = ExtResource("1_ak8qr") -region = Rect2(96, 80, 16, 16) - -[sub_resource type="Image" id="Image_nr33g"] -data = { -"data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), -"format": "RGBA8", -"height": 16, -"mipmaps": false, -"width": 4 -} - -[sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_nr33g") - -[sub_resource type="StyleBoxTexture" id="4"] -content_margin_left = 6.0 -content_margin_top = 3.0 -content_margin_right = 6.0 -content_margin_bottom = 3.0 -texture = ExtResource("1_ak8qr") -texture_margin_left = 2.0 -texture_margin_top = 2.0 -texture_margin_right = 2.0 -texture_margin_bottom = 2.0 -axis_stretch_horizontal = 2 -region_rect = Rect2(0, 40, 8, 8) - -[sub_resource type="StyleBoxTexture" id="248"] -content_margin_left = 6.0 -content_margin_top = 3.0 -content_margin_right = 6.0 -content_margin_bottom = 3.0 -texture = ExtResource("1_ak8qr") -texture_margin_left = 2.0 -texture_margin_top = 2.0 -texture_margin_right = 2.0 -texture_margin_bottom = 2.0 -axis_stretch_horizontal = 2 -region_rect = Rect2(32, 40, 8, 8) - -[sub_resource type="StyleBoxTexture" id="249"] -content_margin_left = 6.0 -content_margin_top = 3.0 -content_margin_right = 6.0 -content_margin_bottom = 3.0 -texture = ExtResource("1_ak8qr") -texture_margin_left = 2.0 -texture_margin_top = 2.0 -texture_margin_right = 2.0 -texture_margin_bottom = 2.0 -axis_stretch_horizontal = 2 -region_rect = Rect2(16, 40, 8, 8) - [sub_resource type="StyleBoxTexture" id="461"] texture = ExtResource("1_ak8qr") texture_margin_left = 2.0 @@ -1440,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_67hak"] +[sub_resource type="Image" id="Image_1die0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1450,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_67hak") +image = SubResource("Image_1die0") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2271,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_22qm6"] +[sub_resource type="Image" id="Image_hc0ng"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_22qm6") +image = SubResource("Image_hc0ng") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2305,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_mwlj8"] +[sub_resource type="Image" id="Image_b58s8"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2315,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_mwlj8") +image = SubResource("Image_b58s8") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2428,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_k0gxe"] +[sub_resource type="Image" id="Image_grieo"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2438,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_k0gxe") +image = SubResource("Image_grieo") -[sub_resource type="Image" id="Image_x5o30"] +[sub_resource type="Image" id="Image_63mmi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2450,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_x5o30") +image = SubResource("Image_63mmi") -[sub_resource type="Image" id="Image_r2uaw"] +[sub_resource type="Image" id="Image_ytg3x"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2462,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_r2uaw") +image = SubResource("Image_ytg3x") -[sub_resource type="Image" id="Image_mmk83"] +[sub_resource type="Image" id="Image_nffbk"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2474,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_mmk83") +image = SubResource("Image_nffbk") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2534,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_kak1t"] +[sub_resource type="Image" id="Image_qd4uq"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2544,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_kak1t") +image = SubResource("Image_qd4uq") -[sub_resource type="Image" id="Image_ds41u"] +[sub_resource type="Image" id="Image_gwa6g"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2556,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_ds41u") +image = SubResource("Image_gwa6g") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2632,7 +2569,19 @@ border_width_left = 1 border_color = Color(0.2, 0.2, 0.2, 1) anti_aliasing = false -[sub_resource type="Image" id="Image_1e2s7"] +[sub_resource type="AtlasTexture" id="250"] +atlas = ExtResource("1_ak8qr") +region = Rect2(96, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="251"] +atlas = ExtResource("1_ak8qr") +region = Rect2(96, 96, 16, 16) + +[sub_resource type="AtlasTexture" id="252"] +atlas = ExtResource("1_ak8qr") +region = Rect2(96, 80, 16, 16) + +[sub_resource type="Image" id="Image_4nked"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2591,33 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_1e2s7") +image = SubResource("Image_4nked") + +[sub_resource type="StyleBoxTexture" id="4"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +texture = ExtResource("1_ak8qr") +texture_margin_left = 2.0 +texture_margin_top = 2.0 +texture_margin_right = 2.0 +texture_margin_bottom = 2.0 +axis_stretch_horizontal = 2 +region_rect = Rect2(0, 40, 8, 8) + +[sub_resource type="StyleBoxTexture" id="249"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +texture = ExtResource("1_ak8qr") +texture_margin_left = 2.0 +texture_margin_top = 2.0 +texture_margin_right = 2.0 +texture_margin_bottom = 2.0 +axis_stretch_horizontal = 2 +region_rect = Rect2(16, 40, 8, 8) [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") @@ -2734,13 +2709,6 @@ HScrollBar/styles/grabber_pressed = SubResource("StyleBoxTexture_bfd3g") HScrollBar/styles/scroll = SubResource("StyleBoxTexture_lsn07") HScrollBar/styles/scroll_focus = SubResource("StyleBoxTexture_8681i") HSeparator/styles/separator = SubResource("576") -HSlider/icons/grabber = SubResource("250") -HSlider/icons/grabber_disabled = SubResource("251") -HSlider/icons/grabber_highlight = SubResource("252") -HSlider/icons/tick = SubResource("29") -HSlider/styles/grabber_area = SubResource("4") -HSlider/styles/grabber_area_highlight = SubResource("248") -HSlider/styles/slider = SubResource("249") ItemList/colors/font_color = Color(0.866667, 0.866667, 0.866667, 1) ItemList/colors/font_color_selected = Color(1, 1, 1, 1) ItemList/colors/guide_color = Color(0.266667, 0.266667, 0.266667, 1) @@ -2823,12 +2791,7 @@ TabContainer/constants/label_valign_bg = 0 TabContainer/constants/label_valign_fg = 0 TabContainer/constants/side_margin = 0 TabContainer/constants/top_margin = 0 -TabContainer/icons/decrement = null -TabContainer/icons/decrement_highlight = null -TabContainer/icons/increment = null -TabContainer/icons/increment_highlight = null TabContainer/icons/menu = null -TabContainer/icons/menu_highlight = null TabContainer/styles/panel = SubResource("420") TabContainer/styles/tab_bg = SubResource("525") TabContainer/styles/tab_disabled = SubResource("422") diff --git a/tools/configurator/scripts/Rekku.gd b/tools/configurator/scripts/Rekku.gd new file mode 100644 index 00000000..63e6bac2 --- /dev/null +++ b/tools/configurator/scripts/Rekku.gd @@ -0,0 +1,26 @@ +extends Control + + +func _input(event): + if event.is_action_released("rekku_hide"): + #self.visible = !self.visible + if class_functions.rekku_state == false: + self.visible = true + class_functions.rekku_state = true + %SplitContainer.split_offset=925 + %pop_rtl.visible = false + %TabContainer.set_tab_title(0, "GLOBALS") + %TabContainer.set_tab_title(1, "SYSTEM") + %TabContainer.set_tab_title(2, "TOOLS") + %TabContainer.set_tab_title(3, "SETTINGS") + %TabContainer.set_tab_title(4, "ABOUT") + elif event.is_action_released("rekku_hide") and class_functions.rekku_state == true: + %TabContainer.set_tab_title(0, " GLOBALS ") + %TabContainer.set_tab_title(1, " SYSTEM ") + %TabContainer.set_tab_title(2, " TOOLS ") + %TabContainer.set_tab_title(3, " SETTINGS ") + %TabContainer.set_tab_title(4, " ABOUT ") + class_functions.rekku_state = false + %pop_rtl.visible = false + self.visible = false + %SplitContainer.split_offset=1280 diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd deleted file mode 100644 index ab22ab8e..00000000 --- a/tools/configurator/scripts/SystemTab.gd +++ /dev/null @@ -1,103 +0,0 @@ -extends Control - -var app_data := AppData.new() -var current_system := Emulator.new() -var press_time: float = 0.0 -var is_reset_pressed: bool = false -var reset_result: Dictionary -@export var PRESS_DURATION: float = 3.0 - -func _ready(): - app_data = data_handler.app_data - _connect_signals() - -func _process(delta: float) -> void: - if is_reset_pressed: - press_time += delta - %reset_progress.value = press_time / PRESS_DURATION * 100.0 - if press_time >= PRESS_DURATION: - _do_complete() - press_time = 0.0 - is_reset_pressed = false - %reset_progress.value = 0.0 - -func _connect_signals() -> void: - %retroarch_button.pressed.connect(_hide_show_buttons.bind(%retroarch_button,%system_gridcontainer, %action_gridcontainer)) - %mame_button.pressed.connect(_hide_show_buttons.bind(%mame_button,%system_gridcontainer, %action_gridcontainer)) - %ruffle_button.pressed.connect(_hide_show_buttons.bind(%ruffle_button,%system_gridcontainer, %action_gridcontainer)) - %melonds_button.pressed.connect(_hide_show_buttons.bind(%melonds_button,%system_gridcontainer, %action_gridcontainer)) - %pcsx2_button.pressed.connect(_hide_show_buttons.bind(%pcsx2_button,%system_gridcontainer, %action_gridcontainer)) - %duckstation_button.pressed.connect(_hide_show_buttons.bind(%duckstation_button,%system_gridcontainer, %action_gridcontainer)) - %ppsspp_button.pressed.connect(_hide_show_buttons.bind(%ppsspp_button,%system_gridcontainer, %action_gridcontainer)) - %vita3k_button.pressed.connect(_hide_show_buttons.bind(%vita3k_button,%system_gridcontainer, %action_gridcontainer)) - %rpcs3_button.pressed.connect(_hide_show_buttons.bind(%rpcs3_button,%system_gridcontainer, %action_gridcontainer)) - %ryujinx_button.pressed.connect(_hide_show_buttons.bind(%ryujinx_button,%system_gridcontainer, %action_gridcontainer)) - %dolphin_button.pressed.connect(_hide_show_buttons.bind(%dolphin_button,%system_gridcontainer, %action_gridcontainer)) - %primehack_button.pressed.connect(_hide_show_buttons.bind(%primehack_button,%system_gridcontainer, %action_gridcontainer)) - %cemu_button.pressed.connect(_hide_show_buttons.bind(%cemu_button,%system_gridcontainer, %action_gridcontainer)) - %xemu_button.pressed.connect(_hide_show_buttons.bind(%xemu_button,%system_gridcontainer, %action_gridcontainer)) - %esde_button.pressed.connect(_hide_show_buttons.bind(%esde_button,%system_gridcontainer, %action_gridcontainer)) - %help_button.pressed.connect(_do_action.bind(%help_button)) - #%launch_button.pressed.connect(_do_action.bind(%launch_button)) - %launch_button.pressed.connect(_do_action.bind(%launch_button)) - %reset_button.button_down.connect(_do_action.bind(%reset_button)) - %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) - -func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: - current_system = app_data.emulators[button.text.to_lower()] - match button.name: - "retroarch_button", "mame_button", "ruffle_button", "melonds_button", "pcsx2_button", "duckstation_button", \ - "ppsspp_button", "vita3k_button", "rpcs3_button", "ryujinx_button", "dolphin_button", "primehack_button", \ - "cemu_button", "xemu_button", "esde_button": - %reset_button.text="RESET" - hidden_gridcontainer.visible = true - if button.toggle_mode == false: - for i in range(buttons_gridcontainer.get_child_count()): - var child = buttons_gridcontainer.get_child(i) - if child is Button and child != button: - child.visible=false - elif button.toggle_mode == true and hidden_gridcontainer.visible == true: - hidden_gridcontainer.visible = false - for i in range(buttons_gridcontainer.get_child_count()): - var child = buttons_gridcontainer.get_child(i) - if child is Button: - child.visible=true - child.toggle_mode = false - if hidden_gridcontainer.visible == true: - button.toggle_mode = true - -func _on_Button_released(progress: ProgressBar) -> void: - is_reset_pressed = false - %reset_progress.visible = false - press_time = 0.0 - progress.value = 0.0 - -func _do_action(button: Button) -> void: - match [button.name, current_system.name]: - ["help_button", current_system.name]: - class_functions.log_parameters[2] = class_functions.log_text + "Launching " + current_system.name + " Help" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - class_functions.launch_help(current_system.url) - ["launch_button", current_system.name]: - class_functions.log_parameters[2] = class_functions.log_text + "Launching " + current_system.name - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - var launch = class_functions.execute_command(current_system.launch,[], false) - class_functions.log_parameters[2] = class_functions.log_text + "Exit Code: " + str(launch["exit_code"]) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - ["reset_button", current_system.name]: - is_reset_pressed = true - %reset_progress.visible = true - -func _do_complete() ->void: - if is_reset_pressed: - var parameters = ["prepare_component","reset",current_system.name] - %reset_button.text = "RESETTING-NOW" - class_functions.log_parameters[2] = class_functions.log_text + "Resetting " + current_system.name - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - await run_thread_command(class_functions.wrapper_command,parameters, false) - class_functions.log_parameters[2] = class_functions.log_text + "Exit Code: " + str(reset_result["exit_code"]) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - %reset_button.text = "RESET COMPLETED" - -func run_thread_command(command: String, parameters: Array, console: bool) -> void: - reset_result = await class_functions.run_command_in_thread(command, parameters, console) diff --git a/tools/configurator/scripts/TabAbout.gd b/tools/configurator/scripts/TabAbout.gd new file mode 100644 index 00000000..9caf11f6 --- /dev/null +++ b/tools/configurator/scripts/TabAbout.gd @@ -0,0 +1,58 @@ +extends MarginContainer + +var rd_web_button:= Button.new() +var rd_changelog_button:= Button.new() +var rd_wiki_button:= Button.new() +var rd_credits_button:= Button.new() +var rd_donate_button:= Button.new() +var rd_contactus_button:= Button.new() +var rd_licenses_button:= Button.new() +var app_data:= AppData.new() +var button_array: Array = [rd_web_button, rd_changelog_button, rd_wiki_button, rd_credits_button, rd_donate_button, rd_contactus_button, rd_licenses_button] +var web_id: Array = ["rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses"] + +func _ready(): + #tk_about = class_functions.import_csv_data("res://tk_about.txt") + app_data = data_handler.app_data + _connect_signals() + create_buttons() + +func _connect_signals() -> void: + for i in button_array.size(): + button_array[i].pressed.connect(_about_button_pressed.bind(web_id[i], button_array[i])) + +func _about_button_pressed(id: String, button: Button) -> void: + var tmp_txt = button.text + if class_functions.desktop_mode != "gamescope": + class_functions.logger("i","Loading website for " + id) + class_functions.launch_help(button.get_meta("url")) + else: + button.text = "Help only in Desktop Mode" + await class_functions.wait(3.0) + button.text = tmp_txt + +func create_buttons() -> void: + for i in button_array.size(): + var button = button_array[i] + %GridContainer.add_child(button) + var id = web_id[i] + if id in app_data.about_links: + var web_data: Link = app_data.about_links[id] + _setup_button(button, web_data) + +func _setup_button(button: Button, web_data: Link) -> void: + button.size_flags_horizontal = Control.SIZE_EXPAND_FILL + button.size_flags_vertical = Control.SIZE_EXPAND_FILL + button.text = web_data.name + var vect2 = Vector2(200,100) + button.custom_minimum_size = vect2 + #button.tooltip_text = web_data.description + button.icon = ResourceLoader.load(web_data.icon) + button.set_meta("url", web_data.url) + button.set_meta("description", web_data.description) + button.icon_alignment = HORIZONTAL_ALIGNMENT_LEFT + button.vertical_icon_alignment = VERTICAL_ALIGNMENT_CENTER + button.add_theme_constant_override("icon_max_width", 64) + button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER + button.alignment = HORIZONTAL_ALIGNMENT_CENTER + button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd new file mode 100644 index 00000000..3d5af3ea --- /dev/null +++ b/tools/configurator/scripts/TabContainer.gd @@ -0,0 +1,85 @@ +extends TabContainer + +var icon_width: int = 32 +@onready var tcount: int = get_tab_count()-2 + +func _ready(): + focusFirstFocusableChild() #grab focus on first element to enable controller focusing + #%TabContainer.add_theme_icon_override("decrement",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png")) + #%TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) + #%TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) + #%TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) + if class_functions.font_select !=3: + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + elif class_functions.font_select == 3: + %TabContainer.add_theme_font_size_override("font_size", 15) + else: + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + set_tab_title(0, " GLOBALS ") + set_tab_title(1, " SYSTEM ") + set_tab_title(2, " TOOLS ") + set_tab_title(3, " SETTINGS ") + set_tab_title(4, " ABOUT ") + set_tab_hidden(5, true) + set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) + set_tab_icon_max_width(0,icon_width) + set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) + set_tab_icon_max_width(1,icon_width) + set_tab_icon(2, ResourceLoader.load("res://assets/icons/pixelitos/128/utilities-system-monitor.png")) + set_tab_icon_max_width(2,icon_width) + set_tab_icon(3, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-session-services.png")) + set_tab_icon_max_width(3,icon_width) + set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) + set_tab_icon_max_width(4,icon_width) + connect_focus_signals(self) + %volume_effects_slider.value = class_functions.volume_effects + +func connect_focus_signals(node): + for child in node.get_children(): + if child is Button: + child.focus_entered.connect(_on_button_focus_entered.bind(child)) + child.focus_exited.connect(_on_button_focus_exited.bind()) + elif child is Control: + connect_focus_signals(child) + +func _on_button_focus_exited() -> void: + %pop_rtl.visible = false + +func _on_button_focus_entered(button: Button): + if button and class_functions.sound_effects: + %AudioStreamPlayer2D.volume_db = class_functions.volume_effects + %AudioStreamPlayer2D.play() + if button and class_functions.rekku_state == false and button.has_meta("description"): + %pop_rtl.visible = true + %pop_rtl.text = button.get_meta("description") + elif class_functions.rekku_state == false: + %pop_rtl.visible = true + %pop_rtl.text = "Hey, there's no description" + +func _input(event): + if (event.is_action_pressed("next_tab")): + if current_tab == tcount: + current_tab = 0 + else: + self.select_next_available() + focusFirstFocusableChild() + if (event.is_action_pressed("previous_tab")): + if current_tab == 0: + current_tab = tcount + else: + self.select_previous_available() + focusFirstFocusableChild() + +func focusFirstFocusableChild(): + var children = findElements(get_current_tab_control(), "Control") + for n: Control in children: + if (n.focus_mode == FOCUS_ALL): + n.grab_focus.call_deferred() + break + +func findElements(node: Node, className: String, result: Array = []) -> Array: + if node.is_class(className): + result.push_back(node) + for child in node.get_children(): + result = findElements(child, className, result) + return result diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd new file mode 100644 index 00000000..29f8dc47 --- /dev/null +++ b/tools/configurator/scripts/TabGlobals.gd @@ -0,0 +1,40 @@ +extends MarginContainer + + +func _ready(): + _connect_signals() + +func _process(delta: float) -> void: + if class_functions.current_button != null: + update_progress(delta, class_functions.current_progress) + +func update_progress(delta: float, progress: ProgressBar) -> void: + if class_functions.press_time >= class_functions.PRESS_DURATION: + class_functions._do_complete(class_functions.current_button) + class_functions.is_state_pressed = false + #print ("Progress Bar: %s Button: %s" % [progress.name, current_button.name]) + elif class_functions.is_state_pressed and class_functions.current_state == "mixed": + class_functions.press_time += delta + progress.value = class_functions.press_time / class_functions.PRESS_DURATION * 100.0 + +func _connect_signals(): + %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button, "quick_resume")) + %button_swap_button.button_down.connect(class_functions._do_action.bind(%button_swap_progress, %button_swap_button, class_functions.abxy_state)) + %button_swap_button.button_up.connect(class_functions._on_button_released.bind(%button_swap_progress)) + %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button, "abxy_button_swap")) + %ask_to_exit_button.button_down.connect(class_functions._do_action.bind(%ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state)) + %ask_to_exit_button.button_up.connect(class_functions._on_button_released.bind(%ask_to_exit_progress)) + %ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button, "ask_to_exit")) + %border_button.button_down.connect(class_functions._do_action.bind(%border_progress, %border_button, class_functions.border_state)) + %border_button.button_up.connect(class_functions._on_button_released.bind(%border_progress)) + %border_button.pressed.connect(class_functions.run_function.bind(%border_button, "borders")) + %widescreen_button.button_down.connect(class_functions._do_action.bind(%widescreen_progress, %widescreen_button, class_functions.widescreen_state)) + %widescreen_button.button_up.connect(class_functions._on_button_released.bind(%widescreen_progress)) + %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen")) + %quick_rewind_button.button_down.connect(class_functions._do_action.bind(%quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)) + %quick_rewind_button.button_up.connect(class_functions._on_button_released.bind(%quick_rewind_progress)) + %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) + %reset_retrodeck_button.button_down.connect(class_functions._do_action.bind(%reset_retrodeck_progress, %reset_retrodeck_button, "mixed")) + %reset_retrodeck_button.button_up.connect(class_functions._on_button_released.bind(%reset_retrodeck_progress)) + %reset_all_emulators_button.button_down.connect(class_functions._do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) + %reset_all_emulators_button.button_up.connect(class_functions._on_button_released.bind(%reset_all_emulators_progress)) diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd new file mode 100644 index 00000000..1b0bc0f4 --- /dev/null +++ b/tools/configurator/scripts/TabSettings.gd @@ -0,0 +1,40 @@ +extends Control + +var ra_url = "https://retroachievements.org/dorequest.php?r=login&u=monkeyx&p=9LJX7**mie*9e4" +var cheevos_token: String + +func _ready(): + var http_request = HTTPRequest.new() + add_child(http_request) + _connect_signals() + http_request.request_completed.connect(self._on_request_completed) + http_request.request(ra_url) + +func _connect_signals() -> void: + %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) + %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) + %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) + #%cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) + %cheevos_button.button_down.connect(class_functions._do_action.bind(%cheevos_progress, %cheevos_button, class_functions.cheevos_state)) + %cheevos_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_progress)) + %cheevos_button.pressed.connect(class_functions.run_function.bind(%cheevos_button, "cheevos")) + +func _on_request_completed(_result, response_code, _headers, body): + var response_text = JSON.parse_string(body.get_string_from_utf8()) + print("Response Code: ", response_code) + print("Response Body: ", response_text) + print("Response Token: ", response_text.Token) + #print (_result,_headers) + cheevos_token = response_text.Token + if response_code == 200: + print("Request successful!") + else: + print("Request failed with code: ", response_code) + +func cheevos(button: Button): + set_process_input(false) + $"../..".visible=false + await class_functions.run_thread_command(class_functions.wrapper_command,["change_preset_dialog", "cheevos"], false) + set_process_input(true) + $"../..".visible=true + print ("FIN?") diff --git a/tools/configurator/scripts/TabSystem.gd b/tools/configurator/scripts/TabSystem.gd new file mode 100644 index 00000000..5004abd4 --- /dev/null +++ b/tools/configurator/scripts/TabSystem.gd @@ -0,0 +1,124 @@ +extends Control + +var app_data := AppData.new() +var current_system := Emulator.new() +var press_time: float = 0.0 +var is_reset_pressed: bool = false +var reset_result: Dictionary +@export var PRESS_DURATION: float = 3.0 + +func _ready(): + app_data = data_handler.app_data + _connect_signals() + +func _process(delta: float) -> void: + if is_reset_pressed: + press_time += delta + %reset_progress.value = press_time / PRESS_DURATION * 100.0 + if press_time >= PRESS_DURATION: + _do_complete() + press_time = 0.0 + is_reset_pressed = false + %reset_progress.value = 0.0 + +func _connect_signals() -> void: + #TODO make for loops for each function linked to button function call + # Change to follow hoe TabGlobals Works + %retroarch_button.pressed.connect(standard_buttons.bind(%retroarch_button,%system_gridcontainer, %action_gridcontainer)) + %mame_button.pressed.connect(standard_buttons.bind(%mame_button,%system_gridcontainer, %action_gridcontainer)) + %ruffle_button.pressed.connect(standard_buttons.bind(%ruffle_button,%system_gridcontainer, %action_gridcontainer)) + %melonds_button.pressed.connect(standard_buttons.bind(%melonds_button,%system_gridcontainer, %action_gridcontainer)) + %pcsx2_button.pressed.connect(standard_buttons.bind(%pcsx2_button,%system_gridcontainer, %action_gridcontainer)) + %duckstation_button.pressed.connect(standard_buttons.bind(%duckstation_button,%system_gridcontainer, %action_gridcontainer)) + %ppsspp_button.pressed.connect(standard_buttons.bind(%ppsspp_button,%system_gridcontainer, %action_gridcontainer)) + %vita3k_button.pressed.connect(standard_buttons.bind(%vita3k_button,%system_gridcontainer, %action_gridcontainer)) + %rpcs3_button.pressed.connect(standard_buttons.bind(%rpcs3_button,%system_gridcontainer, %action_gridcontainer)) + %ryujinx_button.pressed.connect(standard_buttons.bind(%ryujinx_button,%system_gridcontainer, %action_gridcontainer)) + %dolphin_button.pressed.connect(standard_buttons.bind(%dolphin_button,%system_gridcontainer, %action_gridcontainer)) + %primehack_button.pressed.connect(standard_buttons.bind(%primehack_button,%system_gridcontainer, %action_gridcontainer)) + %cemu_button.pressed.connect(standard_buttons.bind(%cemu_button,%system_gridcontainer, %action_gridcontainer)) + %xemu_button.pressed.connect(standard_buttons.bind(%xemu_button,%system_gridcontainer, %action_gridcontainer)) + %esde_button.pressed.connect(standard_buttons.bind(%esde_button,%system_gridcontainer, %action_gridcontainer)) + %help_button.pressed.connect(_do_action.bind(%help_button)) + #%launch_button.pressed.connect(_do_action.bind(%launch_button)) + %launch_button.pressed.connect(_do_action.bind(%launch_button)) + %reset_button.button_down.connect(_do_action.bind(%reset_button)) + %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) + %rpcs3_firmware_button.pressed.connect(_do_action.bind(%rpcs3_firmware_button)) + %vita3k_firmware_button.pressed.connect(_do_action.bind(%vita3k_firmware_button)) + %retroarch_quick_resume_button.pressed.connect(class_functions.run_function.bind(%retroarch_quick_resume_button, "abxy_button_swap")) + +func standard_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: + current_system = app_data.emulators[button.text.to_lower()] + %reset_button.text="RESET" + match button.name: + "vita3k_button": + %vita3k_firmware_button.visible = true + "rpcs3_button": + %rpcs3_firmware_button.visible = true + "retroarch_button": + %retroarch_quick_resume_button.visible = true + _: + %vita3k_firmware_button.visible = false + %rpcs3_firmware_button.visible = false + %retroarch_quick_resume_button.visible = false + hidden_gridcontainer.visible = true + if button.toggle_mode == false: + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + if child is Button and child != button: + child.visible=false + elif button.toggle_mode == true and hidden_gridcontainer.visible == true: + hidden_gridcontainer.visible = false + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + if child is Button: + child.visible=true + child.toggle_mode = false + if hidden_gridcontainer.visible == true: + button.toggle_mode = true + +func _on_Button_released(progress: ProgressBar) -> void: + is_reset_pressed = false + %reset_progress.visible = false + press_time = 0.0 + progress.value = 0.0 + +func _do_action(button: Button) -> void: + var original_txt = button.text + match [button.name, current_system.name]: + ["help_button", current_system.name]: + if class_functions.desktop_mode != "gamescope": + class_functions.logger("i", "Launching " + current_system.name + " Help") + class_functions.launch_help(current_system.url) + else: + button.text = "Help only works in Desktop Mode" + await class_functions.wait(3.0) + button.text = original_txt + ["launch_button", current_system.name]: + class_functions.logger("i", "Launching " + current_system.name) + var launch = class_functions.execute_command(current_system.launch,[], false) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) + ["reset_button", current_system.name]: + is_reset_pressed = true + %reset_progress.visible = true + ["rpcs3_firmware_button", current_system.name]: + class_functions.logger("i", "Firmware install " + current_system.name) + var launch = class_functions.execute_command(class_functions.wrapper_command,["update_rpcs3_firmware"], false) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) + ["vita3k_firmware_button", current_system.name]: + class_functions.logger("i", "Firmware install " + current_system.name) + var launch = class_functions.execute_command(class_functions.wrapper_command,["update_vita3k_firmware"], false) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) + +func _do_complete() ->void: + if is_reset_pressed: + var tmp_txt = %reset_button.text + %reset_button.text = "RESETTING-NOW" + class_functions.logger("i", "Resetting " + current_system.name) + var parameters = ["prepare_component","reset",current_system.name] + reset_result = await class_functions.run_thread_command(class_functions.wrapper_command,parameters, false) + class_functions.logger("d", "Exit Code: " + str(reset_result["exit_code"])) + %reset_button.text = "RESET COMPLETED" + await class_functions.wait(3.0) + %reset_button.text = tmp_txt diff --git a/tools/configurator/scripts/TabTools.gd b/tools/configurator/scripts/TabTools.gd new file mode 100644 index 00000000..3dd8a88a --- /dev/null +++ b/tools/configurator/scripts/TabTools.gd @@ -0,0 +1,51 @@ +extends Control + +@onready var http_request: HTTPRequest = HTTPRequest.new() + +func _ready(): + add_child(http_request) + http_request.request_completed.connect(_on_request_completed) + _connect_signals() + %backup_user_button.text += " - " + class_functions.rdhome + "/backup" + +func _connect_signals() -> void: + %check_conn_button.pressed.connect(check_internet_connection) + %backup_user_button.pressed.connect(run_function.bind(%backup_user_button, "Start User Backup")) + +func run_function(button: Button, message: String) -> void: + class_functions.logger("d",message) + match button.name: + "backup_user_button": + _run_backup(button) + +func _run_backup(button: Button) -> void: + var original_txt = button.text + %progress_bar_backup.visible = true + button.text = "Backup Running" + var parameters = ["backup_retrodeck_userdata"] + var run_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, true) + if run_result["exit_code"] == 0: + button.text = "Backup Complete - " + class_functions.rdhome + "/backup" + class_functions.logger("d","User Backup Completed") + await class_functions.wait(3.0) + button.text = original_txt + %progress_bar_backup.visible = false + else: + button.text = "Backup Failed" + class_functions.logger("e","User Backup Failed. " + run_result["exit_code"]) + %progress_bar_backup.visible = false + +func check_internet_connection(): + class_functions.logger("i","Check Internet Connection") + %check_conn_button.text = "CHECK CONNECTION" + http_request.request("https://retrodeck.net/") + +func _on_request_completed(_result, response_code, _headers, _body): + if response_code == 200: + class_functions.logger("i","Internet Connection Succesful") + %check_conn_button.button_pressed = true + %check_conn_button.text += " - CONNECTED" + else: + class_functions.logger("d","Internet Connection Failed") + %check_conn_button.button_pressed = false + %check_conn_button.text += " - NOT CONNECTED: " + str(response_code) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 699a752c..4beefe5f 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -1,40 +1,124 @@ class_name ClassFunctions extends Control -var log_text = "gdc_" +var log_result: Dictionary var log_parameters: Array -var wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" +const globals_sh_file_path: String = "/app/libexec/global.sh" +const wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" +const config_file_path = "/var/config/retrodeck/retrodeck.cfg" +const json_file_path = "/var/config/retrodeck/retrodeck.json" +const esde_file_path = "/var/config/ES-DE/settings/es_settings.xml" +var desktop_mode: String = OS.get_environment("XDG_CURRENT_DESKTOP") +var rd_conf: String +var lockfile: String +var rdhome: String +var roms_folder: String +var saves_folder: String +var states_folder: String +var bios_folder: String var rd_log: String var rd_log_folder: String var rd_version: String var gc_version: String +var sound_effects: bool +var volume_effects: int +var title: String +var quick_resume_status: bool +var update_check: bool +var abxy_state: String +var ask_to_exit_state: String +var border_state: String +var widescreen_state: String +var quick_rewind_state: String +var cheevos_state: String +var cheevos_hardcore_state: String +var font_select: int +var font_tab_size: int = 35 +var font_size: int = 20 +var locale: String +enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind, cheevos, cheevos_hardcore} +var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button", "cheevos_button"] +signal update_global_signal +var rekku_state: bool = false +var press_time: float = 0.0 +var is_state_pressed: bool = false +var PRESS_DURATION: float = 3.0 +var current_button: Button = null +var current_progress: ProgressBar = null +var current_state: String = "" -func read_cfg() -> String: - var title: String - var config_file_path = "/var/config/retrodeck/retrodeck.cfg" - var json_file_path = "/var/config/retrodeck/retrodeck.json" +func _ready(): + read_values_states() + +func read_values_states() -> void: var config = data_handler.parse_config_to_json(config_file_path) data_handler.config_save_json(config, json_file_path) rd_log_folder = config["paths"]["logs_folder"] rd_log = rd_log_folder + "/retrodeck.log" - #rd_log = "/var/config/retrodeck/logs/retrodeck.log" - log_parameters = ["log", "i", log_text, rd_log] + rdhome = config["paths"]["rdhome"] + roms_folder = config["paths"]["roms_folder"] + saves_folder = config["paths"]["saves_folder"] + states_folder = config["paths"]["states_folder"] + bios_folder = config["paths"]["bios_folder"] rd_version = config["version"] + rd_conf = extract_text(globals_sh_file_path, "rd_conf") + lockfile = extract_text(globals_sh_file_path, "lockfile") + locale = extract_text(esde_file_path, "esde") gc_version = ProjectSettings.get_setting("application/config/version") title = "\n " + rd_version + "\nConfigurator\n " + gc_version - print ("Make logging a function\nAlso add d,i,e,w: ", rd_log) - return title + quick_resume_status = config["quick_resume"]["retroarch"] + update_check = config["options"]["update_check"] + abxy_state = multi_state("abxy_button_swap", abxy_state) + ask_to_exit_state = multi_state("ask_to_exit", ask_to_exit_state) + border_state = multi_state("borders", border_state) + widescreen_state = multi_state("widescreen", widescreen_state) + quick_rewind_state = multi_state("rewind", quick_rewind_state) + sound_effects = config["options"]["sound_effects"] + volume_effects = int(config["options"]["volume_effects"]) + font_select = int(config["options"]["font"]) + cheevos_state = multi_state("cheevos", cheevos_state) + cheevos_hardcore_state = multi_state("cheevos_hardcore", cheevos_hardcore_state) -func logger() -> void: - pass +func multi_state(section: String, state: String) -> String: + var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, section) + var true_count: int = 0 + var false_count: int = 0 + for value in config_section.values(): + if value == "true": + true_count += 1 + else: + false_count += 1 + if true_count == config_section.size(): + state = "true" + elif false_count == config_section.size(): + state = "false" + else: + state = "mixed" + return state + +func logger(log_type: String, log_text: String) -> void: + # Type of log messages: + # log d - debug message: maybe in the future we can decide to hide them in main builds or if an option is toggled + # log i - normal informational message + # log w - waring: something is not expected but it's not a big deal + # log e - error: something broke + var log_header_text = "gdc_" + log_header_text+=log_text + log_parameters = ["log", log_type, log_header_text] + log_result = await run_thread_command(wrapper_command,log_parameters, false) + #log_result = await run_thread_command("find",["$HOME", "-name", "*.xml","-print"], false) + #print (log_result["exit_code"]) + #print (log_result["output"]) func array_to_string(arr: Array) -> String: var text: String for line in arr: - #text += line + "\n" text = line.strip_edges() + "\n" return text +func wait (seconds: float) -> void: + await get_tree().create_timer(seconds).timeout + # TODO This should be looked at again when GoDot 4.3 ships as has new OS.execute_with_pipe func execute_command(command: String, parameters: Array, console: bool) -> Dictionary: var result = {} @@ -42,8 +126,6 @@ func execute_command(command: String, parameters: Array, console: bool) -> Dicti var exit_code = OS.execute(command, parameters, output, console) ## add if exit == 0 etc result["output"] = array_to_string(output) result["exit_code"] = exit_code - #print (array_to_string(output)) - #print (result["exit_code"]) return result func run_command_in_thread(command: String, paramaters: Array, _console: bool) -> Dictionary: @@ -51,14 +133,12 @@ func run_command_in_thread(command: String, paramaters: Array, _console: bool) - thread.start(execute_command.bind(command,paramaters,false)) while thread.is_alive(): await get_tree().process_frame - var result = thread.wait_to_finish() - thread = null - return result - -func _threaded_command_execution(command: String, parameters: Array, console: bool) -> Dictionary: - var result = execute_command(command, parameters, console) - return result - + return thread.wait_to_finish() + +func run_thread_command(command: String, parameters: Array, console: bool) -> Dictionary: + log_result = await run_command_in_thread(command, parameters, console) + return log_result + func process_url_image(body) -> Texture: var image = Image.new() image.load_png_from_buffer(body) @@ -66,6 +146,10 @@ func process_url_image(body) -> Texture: return texture func launch_help(url: String) -> void: + #OS.unset_environment("LD_PRELOAD") + #OS.set_environment("XDG_CURRENT_DESKTOP", "KDE") + #var launch = class_functions.execute_command("xdg-open",[url], false) + #var launch = class_functions.execute_command("org.mozilla.firefox",[url], false) OS.shell_open(url) func import_csv_data(file_path: String) -> Dictionary: @@ -102,11 +186,11 @@ func import_text_file(file_path: String) -> String: var content: String = "" var file = FileAccess.open(file_path, FileAccess.READ) if file == null: - print("Failed to open file") + logger("e","Failed to open file %s" % file_path) return content while not file.eof_reached(): content += file.get_line() + "\n" - file.close + #file.close return content func map_locale_id(current_locale: String) -> int: @@ -127,3 +211,223 @@ func map_locale_id(current_locale: String) -> int: "cn": int_locale = 6 return int_locale + +func environment_data() -> void: + var env_result = execute_command("printenv",[], true) + var file = FileAccess.open(OS.get_environment("HOME") + "/sdenv.txt",FileAccess.WRITE) + if file != null: + file.store_string(env_result["output"]) + file.close() + +func display_json_data() -> void: + var app_data := AppData.new() + app_data = data_handler.app_data + #data_handler.add_emulator() + #data_handler.modify_emulator_test() + if app_data: + #var website_data: Link = app_data.about_links["rd_web"] + #print (website_data.name,"-",website_data.url,"-",website_data.description,"-",website_data.url) + ##print (app_data.about_links["rd_web"]["name"]) + #var core_data: Core = app_data.cores["gambatte_libetro"] + #print (core_data.name) + #for property: CoreProperty in core_data.properties: + #print("Cheevos: ", property.cheevos) + #print("Cheevos Hardcore: ", property.cheevos_hardcore) + #print("Quick Resume: ", property.quick_resume) + #print("Rewind: ", property.rewind) + #print("Borders: ", property.borders) + #print("Widescreen: ", property.widescreen) + #print("ABXY_button:", property.abxy_button) + for key in app_data.emulators.keys(): + var emulator = app_data.emulators[key] + # Display the properties of each emulator + print("System Name: ", emulator.name) + #print("Description: ", emulator.description) + #print("System: ", emulator.systen) + #print("Help URL: ", emulator.url) + #print("Properties:") + for property: EmulatorProperty in emulator.properties: + #print("Cheevos: ", property.cheevos) + #print("Borders: ", property.borders) + print("ABXY_button:", property.abxy_button) + #print("multi_user_config_dir: ", property.multi_user_config_dir) + + for key in app_data.cores.keys(): + var core = app_data.cores[key] + print("Core Name: ", core.name) + #print("Description: ", core.description) + #print("Properties:") + for property: CoreProperty in core.properties: + #print("Cheevos: ", property.cheevos) + #print("Cheevos Hardcore: ", property.cheevos_hardcore) + #print("Quick Resume: ", property.quick_resume) + #print("Rewind: ", property.rewind) + #print("Borders: ", property.borders) + #print("Widescreen: ", property.widescreen) + print("ABXY_button:", property.abxy_button) + else: + print ("No emulators") + +func slider_function(value: float, slide: HSlider) -> void: + volume_effects = int(slide.value) + data_handler.change_cfg_value(config_file_path, "volume_effects", "options", str(slide.value)) + +func run_function(button: Button, preset: String) -> void: + if button.button_pressed: + update_global(button, preset, true) + else: + update_global(button, preset, false) + +func update_global(button: Button, preset: String, state: bool) -> void: + #TODO pass state as an object in future version + var result: Array + var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, preset) + match button.name: + "quick_resume_button", "retroarch_quick_resume_button": + quick_resume_status = state + result = data_handler.change_cfg_value(config_file_path, "retroarch", preset, str(state)) + change_global(result, "build_preset_config", button, str(quick_resume_status)) + "update_notification_button": + update_check = state + result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) + change_global(result, "build_preset_config", button, str(result)) + "sound_button": + sound_effects = state + result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) + logger("i", "Enabled: %s" % (button.name)) + update_global_signal.emit([button.name]) + "button_swap_button": + if abxy_state != "mixed": + abxy_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, abxy_state) + "ask_to_exit_button": + if ask_to_exit_state != "mixed": + ask_to_exit_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, ask_to_exit_state) + "border_button": + if border_state != "mixed": + border_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, border_state) + if widescreen_state == "true" or widescreen_state == "mixed": + config_section = data_handler.get_elements_in_section(config_file_path, "widescreen") + widescreen_state = "false" + result = data_handler.change_all_cfg_values(config_file_path, config_section, "widescreen", widescreen_state) + change_global(result, "build_preset_config", button, widescreen_state) + "widescreen_button": + if widescreen_state != "mixed": + widescreen_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, widescreen_state) + if border_state == "true" or border_state == "mixed": + config_section = data_handler.get_elements_in_section(config_file_path, "borders") + border_state = "false" + result = data_handler.change_all_cfg_values(config_file_path, config_section, "borders", border_state) + change_global(result, "build_preset_config", button, border_state) + "quick_rewind_button": + if quick_rewind_state != "mixed": + quick_rewind_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, quick_rewind_state) + "cheevos_button": + if cheevos_state != "mixed": + cheevos_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, quick_rewind_state) + +func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: + #print (parameters) + match parameters[1]: + preset_list: + for system in parameters[0].keys(): + var command_parameter: Array = [preset, system, parameters[1]] + logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) + var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) + logger("d", "Exit code: %s" % result["exit_code"]) + _: + var command_parameter: Array = [preset, parameters] + logger("d", "Change Global: %s System: %s" % command_parameter) + var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) + logger("d", "Exit code: %s" % result["exit_code"]) + parameters.append(button) + parameters.append(state) + update_global_signal.emit(parameters) + +func extract_text(file_path: String, extract: String) -> String: + var file = FileAccess.open(file_path, FileAccess.ModeFlags.READ) + var pattern: String + if file: + var regex = RegEx.new() + if extract != "esde": + pattern = extract + '="([^"]+)"' + else: + pattern = '' + regex.compile(pattern) + while not file.eof_reached(): + var line: String = file.get_line().strip_edges() + var result: RegExMatch = regex.search(line) + if result: + return result.get_string(1) + file.close() + else: + logger("e", "Could not open file: %s" % file_path) + return "" + +func _on_button_released(progress: ProgressBar) -> void: + is_state_pressed = false + progress.visible = false + press_time = 0.0 + progress.value = 0.0 + current_button = null + current_progress = null + current_state == null + +func _do_action(progress: ProgressBar, button: Button, state: String) -> void: + match [class_functions.button_list]: + [class_functions.button_list]: + current_state = state + current_button = button + current_progress = progress + current_progress.visible = true + is_state_pressed = true + +func _do_complete(button: Button) ->void: + #TODO use object for state + if is_state_pressed and button == current_button: + match button.name: + "button_swap_button": + class_functions.abxy_state = "false" + "ask_to_exit_button": + class_functions.ask_to_exit_state = "false" + "border_button": + class_functions.border_state = "false" + "widescreen_button": + class_functions.widescreen_state = "false" + "quick_rewind_button": + class_functions.quick_rewind_state = "false" + "cheevos_button": + class_functions.cheevos_state = "false" + "cheevos_hardcore_button": + class_functions.cheevos_hardcore_state = "false" + "reset_retrodeck_button": + var dir = DirAccess.open(class_functions.rd_conf.get_base_dir()) + if dir is DirAccess: + dir.rename(class_functions.rd_conf,class_functions.rd_conf.get_base_dir() + "/retrodeck.bak") + dir.remove(class_functions.lockfile) + class_functions.change_global(["reset", "retrodeck"], "prepare_component", button, "") + button.text = "RESETTING-NOW" + await class_functions.wait(2.0) + button.text = "CONFIGURATOR WILL NOW CLOSE" + await class_functions.wait(1.0) + get_tree().quit() + "reset_all_emulators_button": + var tmp_txt = button.text + button.text = "RESETTING-NOW" + class_functions.change_global(["reset", "all"], "prepare_component", button, "") + await class_functions.wait(2.0) + button.text = "RESET COMPLETED" + await class_functions.wait(3.0) + button.text = tmp_txt + button.toggle_mode = true diff --git a/tools/configurator/controller_guide.gd b/tools/configurator/scripts/controller_guide.gd similarity index 94% rename from tools/configurator/controller_guide.gd rename to tools/configurator/scripts/controller_guide.gd index dda49c18..753efc99 100644 --- a/tools/configurator/controller_guide.gd +++ b/tools/configurator/scripts/controller_guide.gd @@ -1,6 +1,6 @@ extends PanelContainer -func _process(delta): +func _process(_delta): # TODO hack. Use state machine? if %action_gridcontainer.visible == true: if Input.is_action_pressed("back_button"): diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 2b24a79c..bcd17b92 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -34,7 +34,7 @@ func load_base_data() -> AppData: var emulator = Emulator.new() emulator.name = emulator_data["name"] emulator.description = emulator_data["description"] - emulator.url = emulator_data["url"] + #emulator.url = emulator_data["url"] #emulator.system = emulator_data["system"] emulator.launch = emulator_data["launch"] if emulator_data.has("properties"): @@ -61,6 +61,7 @@ func load_base_data() -> AppData: if core_data.has("properties"): for property_data in core_data["properties"]: #print (core.name,"----",property_data) + # inherit from RetroArch var property = CoreProperty.new() property.cheevos = true property.cheevos_hardcore = true @@ -82,9 +83,9 @@ func load_base_data() -> AppData: app_dict.cores = cores return app_dict else: - print("Error parsing JSON") + class_functions.logger("d","Error parsing JSON ") else: - print("Error opening file") + class_functions.logger("d","Error opening file: " + file) get_tree().quit() return null @@ -157,7 +158,6 @@ func save_base_data(app_dict: AppData): file = FileAccess.open(data_file_path, FileAccess.WRITE) file.store_string(json_text) file.close() - print("Data appended successfully") # Function to modify an existing link func modify_link(key: String, new_name: String, new_url: String, new_description: String): @@ -231,27 +231,22 @@ func parse_config_to_json(file_path: String) -> Dictionary: var current_section = "" var file = FileAccess.open(file_path, FileAccess.READ) if file == null: - print("Failed to open file") + class_functions.logger("e","Failed to open file: " + file_path) return config - while not file.eof_reached(): var line = file.get_line().strip_edges() if line.begins_with("[") and line.ends_with("]"): - # Start a new section current_section = line.substr(1, line.length() - 2) config[current_section] = {} elif line != "" and not line.begins_with("#"): - # Add key-value pair to the current section var parts = line.split("=") if parts.size() == 2: var key = parts[0].strip_edges() var value = parts[1].strip_edges() - # Convert value to proper type if value == "true": value = true elif value == "false": value = false - if key == "version": config[key] = value else: @@ -271,4 +266,93 @@ func config_save_json(config: Dictionary, json_file_path: String) -> void: file.store_string(json_string) file.close() else: - print("Failed to open JSON file for writing") + class_functions.logger("e", "File not found: %s" % json_file_path) + +func read_cfg_file(file_path: String) -> Array: + var lines: Array = [] + var file: FileAccess = FileAccess.open(file_path, FileAccess.ModeFlags.READ) + if file: + while not file.eof_reached(): + var line: String = file.get_line() + lines.append(line) + file.close() + else: + class_functions.logger("e", "File not found: %s" % file_path) + return lines + +func write_cfg_file(file_path: String, lines: Array, changes: Dictionary) -> void: + var file: FileAccess = FileAccess.open(file_path, FileAccess.ModeFlags.WRITE) + var current_section: String = "" + var line_count: int = lines.size() + for i in line_count: + var line: String = lines[i] + var trimmed_line: String = line.strip_edges() + if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): + current_section = trimmed_line.trim_prefix("[").trim_suffix("]")# trimmed_line.trim_prefix("["].trim_suffix("]") + file.store_line(line) + elif "=" in trimmed_line and current_section in changes: + var parts: Array = trimmed_line.split("=", false) + if parts.size() == 2: + var key: String = parts[0].strip_edges() + var original_value: String = parts[1].strip_edges() + if key in changes[current_section]: + var new_value: String = changes[current_section][key] + if new_value != original_value: + file.store_line("%s=%s" % [key, new_value]) + class_functions.logger("i", "Changed %s in section [%s] from %s to %s" % [key, current_section, original_value, new_value]) + else: + file.store_line(line) + else: + file.store_line(line) + else: + file.store_line(line) + else: + file.store_line(line) + if i == line_count - 2: + break + file.close() + +func change_cfg_value(file_path: String, system: String, section: String, new_value: String) -> Array: + var lines: Array = read_cfg_file(file_path) + var parameters: Array =[system, section] + var changes: Dictionary = {} + changes[section] = {system: new_value} + class_functions.logger("i", "Change: System: %s Section %s New Value: %s" % [system, section, new_value]) + write_cfg_file(file_path, lines, changes) + return parameters + +func change_all_cfg_values(file_path: String, systems: Dictionary, section: String, new_value: String) -> Array: + var lines: Array = read_cfg_file(file_path) + var parameters: Array =[systems, section] + var changes: Dictionary = {} + var current_section: String + for line in lines: + var trimmed_line: String = line.strip_edges() + if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): + current_section = trimmed_line.trim_prefix("[").trim_suffix("]") + if current_section == section: + changes[current_section] = {} + elif "=" in trimmed_line and current_section == section: + var parts: Array = trimmed_line.split("=", false) + if parts.size() >= 2: + var key: String = parts[0].strip_edges() + changes[section][key] = new_value + class_functions.logger("i", "Change: Systems: %s Section %s New Value: %s" % [systems, section, new_value]) + write_cfg_file(file_path, lines, changes) + return parameters + +func get_elements_in_section(file_path: String, section: String) -> Dictionary: + var lines: Array = read_cfg_file(file_path) + var elements: Dictionary = {} + var current_section: String = "" + for line in lines: + var trimmed_line: String = line.strip_edges() + if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): + current_section = trimmed_line.trim_prefix("[").trim_suffix("]") + elif "=" in trimmed_line and current_section == section: + var parts: Array = trimmed_line.split("=", false) + if parts.size() >= 2: + var key: String = parts[0].strip_edges() + var value: String = parts[1].strip_edges() + elements[key] = value + return elements diff --git a/tools/configurator/scripts/helper_text.gd b/tools/configurator/scripts/helper_text.gd new file mode 100644 index 00000000..0b60b35a --- /dev/null +++ b/tools/configurator/scripts/helper_text.gd @@ -0,0 +1,13 @@ +extends Label + +@onready var helper_text_node = self + +func _ready(): + # Connect the signal that gets fired on every focus change + get_viewport().connect("gui_focus_changed", _on_focus_changed) + +func _on_focus_changed(selected_element:Control) -> void: + if selected_element != null and selected_element.has_meta("rekku"): + #helper_text_node.text = selected_element.get_meta("rekku") + %pop_rtl.visible = true + %pop_rtl.text = selected_element.get_meta("rekku") diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd new file mode 100644 index 00000000..e1521e63 --- /dev/null +++ b/tools/configurator/scripts/main.gd @@ -0,0 +1,253 @@ +extends Control + +@onready var bios_type:int +var custom_theme: Theme +var log_option: OptionButton +var tab_container: TabContainer +var anim_logo: AnimatedSprite2D +var a_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0042.png") +var b_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png") +var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png") +var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") +var style_box_original: StyleBox = preload("res://assets/themes/default_theme.tres::StyleBoxFlat_0ahfc") +var font_size: int = 20 + +func _ready(): + _get_nodes() + _connect_signals() + _play_main_animations() + _set_up_globals([]) + custom_theme = get_tree().current_scene.custom_theme + $".".theme = custom_theme + if class_functions.locale == "automatic": + %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) + %rd_title.text += class_functions.title + class_functions.logger("i","Started Godot configurator") + #class_functions.display_json_data() + # set current startup tab to match IDE + tab_container.current_tab = 0 + #add_child(class_functions) # Needed for threaded results Not need autoload? + var children = findElements(self, "Control") + for n: Control in children: #iterate the children + if (n.focus_mode == FOCUS_ALL): + n.mouse_entered.connect(_on_control_mouse_entered.bind(n)) #grab focus on mouse hover + if (n.is_class("BaseButton") and n.disabled == true): #if button-like control and disabled + n.self_modulate.a = 0.5 #make it half transparent + #combine_tkeys() + change_font(class_functions.font_select) + +func _input(event): + if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): + _exit() + if Input.is_action_pressed("next_tab"): + %r1_button.texture_normal = %r1_button.texture_pressed + elif Input.is_action_pressed("previous_tab"): + %l1_button.texture_normal = %l1_button.texture_pressed + elif Input.is_action_pressed("back_button"): + %b_button.texture_normal = %b_button.texture_pressed + elif Input.is_action_pressed("action_button"): + %a_button.texture_normal = %a_button.texture_pressed + else: + %r1_button.texture_normal = r1_button_texture + %l1_button.texture_normal = l1_button_texture + %a_button.texture_normal = a_button_texture + %b_button.texture_normal = b_button_texture + if event.is_action_pressed("quit"): + _exit() + +func _exit(): + class_functions.logger("i","Exited Godot configurator") + get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) + get_tree().quit() + +func _get_nodes() -> void: + tab_container = get_node("%TabContainer") + anim_logo = get_node("%logo_animated") + log_option = get_node("%logs_button") + +func _connect_signals() -> void: + #signal_theme_changed.connect(_conf_theme) + %font_optionbutton.item_selected.connect(change_font) + log_option.item_selected.connect(_load_log) + %borders_button.pressed.connect(_hide_show_buttons.bind(%borders_button,%borders_gridcontainer,%decorations_gridcontainer)) + %button_layout.pressed.connect(_hide_show_buttons.bind(%button_layout,%borders_gridcontainer,%decorations_gridcontainer)) + %decorations_save.pressed.connect(_hide_show_buttons.bind(%decorations_save,%decorations_save.get_parent(),null)) + %decorations_button.pressed.connect(_hide_show_containers.bind(%decorations_button, %decorations_gridcontainer)) + %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) + class_functions.update_global_signal.connect(_set_up_globals) + +func _load_log(index: int) -> void: + var log_content:String + match index: + 1: + class_functions.logger("i","Loading RetroDeck log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retrodeck.log") + load_popup("RetroDeck Log", "res://components/popup.tscn", log_content) + 2: + class_functions.logger("i","Loading ES-DE log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/ES-DE/es_log.txt") + load_popup("ES-DE Log", "res://components/popup.tscn",log_content) + 3: + class_functions.logger("i","Loading RetroArch log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retroarch/logs/log.txt") + load_popup("Retroarch Log", "res://components/popup.tscn",log_content) + +func _play_main_animations() -> void: + anim_logo.play() + +func _hide_show_containers(button: Button, grid_container: GridContainer) -> void: + match button.name: + "decorations_button", "systems_button": + grid_container.visible = true + if button.toggle_mode: + button.toggle_mode=false + grid_container.visible = false + else: + button.toggle_mode=true + +# TODO Pass GridContainer(might need 2?) as above +# TODO load existing settings or default to enable all +func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: + match button.name: + "borders_button", "button_layout": + buttons_gridcontainer.visible = true + if button.toggle_mode == false: + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + child.button_pressed=true + for i in range(hidden_gridcontainer.get_child_count()): + var child = hidden_gridcontainer.get_child(i) + if child is Button and child != button: + child.visible=false + elif button.toggle_mode == true and %borders_gridcontainer.visible == true: + buttons_gridcontainer.visible = false + #button.toggle_mode = false + for i in range(hidden_gridcontainer.get_child_count()): + var child = hidden_gridcontainer.get_child(i) + if child is Button: + child.visible=true + child.toggle_mode = false + button.toggle_mode = true + +func findElements(node: Node, className: String, result: Array = []) -> Array: + if node.is_class(className): + result.push_back(node) + for child in node.get_children(): + result = findElements(child, className, result) + return result + +func _on_control_mouse_entered(control: Node): + control.grab_focus() + +func load_popup(title:String, content_path:String, display_text: String): + var popup = load("res://components/popup.tscn").instantiate() as Control + popup.set_title(title) + popup.set_content(content_path) + popup.set_display_text(display_text) + $Background.add_child(popup) + +func _on_bios_button_pressed(): + _play_main_animations() + bios_type = 1 + class_functions.logger("i","Bios Check") + load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") + bios_type = 0 + +func _on_bios_button_expert_pressed(): + _play_main_animations() + bios_type = 2 + class_functions.logger("i","Advanced Bios Check") + load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") + bios_type = 0 + +func _on_exit_button_pressed(): + _play_main_animations() + _exit() + _exit() + +#func _on_locale_selected(index): + #match index: + #0: + #TranslationServer.set_locale("en") + #_: + #TranslationServer.set_locale("en") + #combine_tkeys() + +#func combine_tkeys(): #More as a test + #pass + #%cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") # switched to access as a unique name as easier to refactor + #$Background/MarginContainer/TabContainer/TK_SYSTEM/ScrollContainer/VBoxContainer/HBoxContainer/GridContainer/cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") + #%tate_mode.text = tr("TK_TATE") + " " + tr("TK_SOON") + #%hotkey_sound.text = tr("TK_HOTKEYSOUND") + " " + tr("TK_SOON") + #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_hardcore.text = tr("TK_CHEEVOSHARDCORE") + " " + tr("TK_SOON") + #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container/saves_sync.text = tr("TK_SAVESSYNC") + " " + tr("TK_SOON") + #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") + +func _set_up_globals(state: Array) -> void: + #TODO on initial run pass array date? + #print (state) + %update_notification_button.button_pressed = class_functions.update_check + %quick_resume_button.button_pressed = class_functions.quick_resume_status + %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status + %sound_button.button_pressed = class_functions.sound_effects + %volume_effects_slider.visible = class_functions.sound_effects + mixed_mode(%button_swap_button, class_functions.abxy_state) + mixed_mode(%ask_to_exit_button, class_functions.ask_to_exit_state) + mixed_mode(%border_button, class_functions.border_state) + mixed_mode(%widescreen_button, class_functions.widescreen_state) + mixed_mode(%quick_rewind_button, class_functions.quick_rewind_state) + mixed_mode(%cheevos_button, class_functions.cheevos_state) + if class_functions.cheevos_state == "true": + %cheevos_login_container.visible = true + else: + %cheevos_login_container.visible = false + +func mixed_mode (button: Button, state: String) -> void: + match [class_functions.button_list]: + [class_functions.button_list]: + if state == "true": + button.button_pressed = true + button.add_theme_stylebox_override("normal", style_box_original) + elif state == "false": + button.button_pressed = false + button.add_theme_stylebox_override("normal", style_box_original) + elif state == "mixed": + mixed_status(button) + +func mixed_status (button: Button) -> void: + button.button_pressed = false + button.toggle_mode = false + var style_box = StyleBoxFlat.new() + style_box.bg_color = Color(0.941, 0.502, 0, 1) + style_box.border_color = Color(0.102, 0.624, 1, 1) + style_box.border_blend = true + style_box.corner_radius_top_left = 25 + style_box.corner_radius_top_right = 25 + style_box.corner_radius_bottom_right = 25 + style_box.corner_radius_bottom_left = 25 + style_box.border_width_left = 15 + style_box.border_width_top = 15 + style_box.border_width_right = 15 + style_box.border_width_bottom = 15 + button.add_theme_stylebox_override("normal", style_box) + +func change_font(index: int) -> void: + var font_file: FontFile + match index: + 1: + font_file = load("res://assets/fonts/munro/munro.ttf") + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + font_size = 30 + 2: + font_file = load("res://assets/fonts/akrobat/Akrobat-Regular.otf") + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + font_size = 25 + 3: + font_file = load("res://assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf") + %TabContainer.add_theme_font_size_override("font_size", 15) + font_size = 16 + custom_theme = load("res://assets/themes/default_theme.tres") + custom_theme.set_font("font", "Control", font_file) + custom_theme.default_font_size = font_size + $".".theme = custom_theme + data_handler.change_cfg_value(class_functions.config_file_path, "font", "options", str(index)) diff --git a/tools/configurator/scripts/retrodeck.gd b/tools/configurator/scripts/retrodeck.gd new file mode 100644 index 00000000..4f0203ac --- /dev/null +++ b/tools/configurator/scripts/retrodeck.gd @@ -0,0 +1,17 @@ +extends Sprite2D + +@export var rotation_speed: float = 45.0 +@export var speed = 400 +const SCALE_MIN = 0.01 +const SCALE_MAX = 0.35 +const SCALE_SPEED = 0.5 +var scale_direction = 1.0 + +func _process(delta) -> void: + # Rotate the sprite + rotation_degrees += rotation_speed * delta + var new_scale = scale + Vector2(scale_direction, scale_direction) * SCALE_SPEED * delta + if new_scale.x < SCALE_MIN or new_scale.x > SCALE_MAX: + scale_direction *= -1 # Reverse direction if scale limit is reached + else: + scale = new_scale diff --git a/tools/configurator/tk_about.gd b/tools/configurator/tk_about.gd deleted file mode 100644 index cf107e8c..00000000 --- a/tools/configurator/tk_about.gd +++ /dev/null @@ -1,94 +0,0 @@ -extends MarginContainer - -var rd_web_button := Button.new() -var rd_changelog_button := Button.new() -var rd_wiki_button := Button.new() -var rd_credits_button := Button.new() -var rd_donate_button := Button.new() -var rd_contactus_button := Button.new() -var rd_licenses_button := Button.new() -var app_data := AppData.new() -var bArray :Array = [rd_web_button,rd_changelog_button,rd_wiki_button, -rd_credits_button,rd_donate_button,rd_contactus_button,rd_licenses_button] - -func _ready(): - #tk_about = class_functions.import_csv_data("res://tk_about.txt") - _connect_signals() - create_buttons() - -func _connect_signals() -> void: - rd_web_button.pressed.connect(_about_button_pressed.bind("rd_web", rd_web_button)) - rd_changelog_button.pressed.connect(_about_button_pressed.bind("rd_changelog", rd_changelog_button)) - rd_wiki_button.pressed.connect(_about_button_pressed.bind("rd_wiki",rd_wiki_button)) - rd_credits_button.pressed.connect(_about_button_pressed.bind("rd_credits", rd_credits_button)) - rd_donate_button.pressed.connect(_about_button_pressed.bind("rd_donate", rd_donate_button)) - rd_contactus_button.pressed.connect(_about_button_pressed.bind("rd_contactus", rd_contactus_button)) - rd_licenses_button.pressed.connect(_about_button_pressed.bind("rd_licenses", rd_licenses_button)) - -func _about_button_pressed(id: String, button: Button) -> void: - match id: - "rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses": - class_functions.log_parameters[2] = class_functions.log_text + "Loading website for " + id - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - OS.shell_open(button.editor_description) - _: - class_functions.log_parameters[2] = class_functions.log_text + "Loading website - no matching ID found" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - print ("Website ID/Link not found") - -func create_buttons() -> void: - app_data = data_handler.app_data - for button in bArray: - %GridContainer.add_child(button) - for id in app_data.about_links: - var web_data: Link = app_data.about_links[id] - match id: - "rd_web": - rd_web_button.text = web_data.name - rd_web_button.tooltip_text = web_data.description - rd_web_button.icon = ResourceLoader.load(web_data.icon) - rd_web_button.editor_description = web_data.url - rd_web_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_web_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_changelog": - rd_changelog_button.text = web_data.name - rd_changelog_button.tooltip_text = web_data.description - rd_changelog_button.icon = ResourceLoader.load(web_data.icon) - rd_changelog_button.editor_description = web_data.url - rd_changelog_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_changelog_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_wiki": - rd_wiki_button.text = web_data.name - rd_wiki_button.tooltip_text = web_data.description - rd_wiki_button.icon = ResourceLoader.load(web_data.icon) - rd_wiki_button.editor_description = web_data.url - rd_wiki_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_wiki_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_credits": - rd_credits_button.text = web_data.name - rd_credits_button.tooltip_text = web_data.description - rd_credits_button.icon = ResourceLoader.load(web_data.icon) - rd_credits_button.editor_description = web_data.url - rd_credits_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_credits_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_donate": - rd_donate_button.text = web_data.name - rd_donate_button.tooltip_text = web_data.description - rd_donate_button.icon = ResourceLoader.load(web_data.icon) - rd_donate_button.editor_description = web_data.url - rd_donate_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_donate_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_contactus": - rd_contactus_button.text = web_data.name - rd_contactus_button.tooltip_text = web_data.description - rd_contactus_button.icon = ResourceLoader.load(web_data.icon) - rd_contactus_button.editor_description = web_data.url - rd_contactus_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_contactus_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_licenses": - rd_licenses_button.text = web_data.name - rd_licenses_button.tooltip_text = web_data.description - rd_licenses_button.icon = ResourceLoader.load(web_data.icon) - rd_licenses_button.editor_description = web_data.url - rd_licenses_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_licenses_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP diff --git a/tools/configurator/tk_about.txt b/tools/configurator/tk_about.txt index b40c235b..8683f08c 100644 --- a/tools/configurator/tk_about.txt +++ b/tools/configurator/tk_about.txt @@ -5,4 +5,4 @@ rd_wiki,https://retrodeck.readthedocs.io/en/latest/,Opens the RetroDECK Wiki in rd_credits,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens the RetroDECK Credits in your default browser rd_donate,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens Donations in your default browser rd_contactus,https://github.com/XargonWan/RetroDECK,Opens the RetroDECK contact us section in your default browser -rd_licenses,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens the RetroDECK licenses in your default browser \ No newline at end of file +rd_licenses,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens the RetroDECK licenses in your default browser From 7ca5087674cb00f9a2f769afa3e79f9e88349710 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 18:12:24 +0100 Subject: [PATCH 4/7] Tidying up --- .../retrodeck/reference_lists/features.json | 1 + .../assets/wiki_content/configurator.md | 171 ++++++++++++++++++ .../components/bios_check/bios_check.gd | 5 +- .../bios_check/bios_popup_content.tscn | 20 +- tools/configurator/main.tscn | 5 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 ++++----- tools/configurator/scripts/TabSettings.gd | 3 +- tools/configurator/scripts/TabSystem.gd | 1 + tools/configurator/scripts/data_handler.gd | 4 +- tools/configurator/scripts/main.gd | 2 +- 10 files changed, 240 insertions(+), 56 deletions(-) create mode 100644 tools/configurator/assets/wiki_content/configurator.md diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index 6da76574..44dfad7b 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -1131,6 +1131,7 @@ "portmaster": { "description": "PortMaster", "name": "PortMaster", + "url": "https://retrodeck.readthedocs.io/en/latest/wiki_about/what-is-retrodeck/", "system": "portmaster", "launch": "PortMaster" } diff --git a/tools/configurator/assets/wiki_content/configurator.md b/tools/configurator/assets/wiki_content/configurator.md new file mode 100644 index 00000000..2d7dda67 --- /dev/null +++ b/tools/configurator/assets/wiki_content/configurator.md @@ -0,0 +1,171 @@ +# The RetroDECK Configurator + +**Please note that we are going to rebuild the Configurator into a controller friendly GODOT application and that the current version is not the final design.** + + + +The `RetroDECK Configurator` is a unique multi-use utility that exists within RetroDECK to manage many aspects of the application and exposes functions from the `RetroDECK Framework` to the user. + +The `RetroDECK Configurator` can be opened from: + +- The main menu inside the ES-DE interface and choose `RetroDECK Configurator`. + + + +* From the `RetroDECK Configurator.desktop` desktop shortcut, available in your application menu. + + + +* From CLI by calling `flatpak run net.retrodeck.retrodeck --configurator` + +What follows are the commands you can use inside the Configurator (more commands will be added during development). + +## Presets & Settings +In this menu you can set various presets. + +#### Widescreen: Enable/Disable +Enables or disables Widescreen in all supported emulators and cores. + +#### Ask to Exit prompt: Enable/Disable +Enables or disables ask to exit prompts in all supported emulators and cores. +Note: If you disable this, the emulators will directly exit. + +### Global: Presets & Settings +In this menu you will find presets and settings that span over multiple emulators. + +#### RetroAchivements: Login +Login to RetroAchievements in all supported emulators and cores. + +#### RetroAchivements: Logut +Logut from RetroAchievements in all supported emulators and cores. + +#### RetroAchivements: Hardcore Mode +Enables `Hardcore Mode` from RetroAchievements in all supported emulators and cores. + +#### Swap A/B and X/Y: Enable/Disable +Swaps `A/B` `X/Y` in supported emulators and cores. + +#### Quick Resume: Enable/Disable +Enables `Quick Resume` aka `Auto Save` + `Auto Load` on exit in supported emulators and cores. + +### RetroArch: Presets & Settings +In this menu you will find presets and settings for RetroArch. + +#### Borders: Enable/Disable +Enable / Disable borders across the RetroArch cores you choose. + +#### Rewind: Enable/Disable +Enable / Disable rewind across all of RetroArch (this may impact performance on some more demanding systems). + +### Wii & Gamecube: Presets & Settings +In this menu you will find presets and settings for Dolphin and Primehack. + + + +#### Dolphin Textures: Universal Dynamic Input +Enable / Disable Venomalias's Universal Dynamic Input Texture for Dolphin. + + + +#### Primehack Textures: Universal Dynamic Input +Enable / Disable Venomalias's Universal Dynamic Input Texture for Primehack. + + + +## Open Emulator + +Here you launch and configure each emulator's settings, the option you choose will open that emulators GUI. For documentation on how to change the settings of each emulator's settings please check the website of each emulator. + +(Please note that most of the emulator interfaces where not designed with controller input in mind for handling the applications GUI, just the games. You might need to use other inputs like the Steam Decks touchscreen or a mouse and keyboard to navigate properly). + + +## RetroDECK: Tools + + +### Tool: Remove empty ROM folders + +This tool removes all the roms folders under retrodeck/roms/ that are empty to only leave those that are populated with content. + +### Tool: Rebuild all ROM folders + +This tool rebuilds rom folders you have accidentally removed or used the `Remove empty ROM folders` tool. + +### Tool: Move files +This option lets you choose the installation path of the RetroDECK folder that handles ROMS, Saves, BIOS, etc... to a new location. +You get the following three options. + +`Internal Storage` - Moves the folder to the internal storage. +`SD CARD` - Moves the folder to the SD CARD +`Custom Location` - Choose where you want the RetroDECK folder to be. + + + +### Tool: Compress games +This option enables you to compress disc-based game image files `.gdi` `.iso` `.bin` `.cue` to the less space demanding `.chd` format. +You can choose either a single game or many. + + + +### Install: RetroDECK SD Controller Profile +This option installs the Steam controller profiles that RetroDECK into Steam. + + +### Install: PS3 Firmware +This option downloads and installs the latest PS3 firmware. At the end of the download, RPCS3 will open requesting the user to install it (just press OK). + + + +### RetroDECK: Change update settings (cooker only) +This option lets you turn on or off automatic updates on launch. + + + +## RetroDECK: Troubleshooting +Various troubleshooting options. + + +### Backup: RetroDECK Userdata +Creates backups of the user data folders + + + +### Check & Verify: Multi-file structure +Verifies the structure of multi disc/file games that uses `.m3u` files. + + + +### Check & Verify: BIOS +Shows a detailed BIOS list of missing and current BIOS. + + + +### RetroDECK: Reset +The reset menu resets various features + + + +#### Reset Specific Emulator +Opens a menu where you can reset a specific emulator + + +#### Reset All Emulators +Resets all the emulators at once + + + +#### Reset RetroDECK +Resets the entirety of RetroDECK. +`⚠️ WARNING! BACK UP YOUR DATA BEFORE RUNNING THIS! ⚠️` + + + +## RetroDECK: About +This menu contains information about RetroDECK + +### Version history +Displays the changelogs + + + +### Credits +Displays the credits diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index a6c14f17..e60ce5bd 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -8,8 +8,10 @@ var BIOS_COLUMNS_EXPERT := ["BIOS File Name", "System", "Found", "Hash Match", " @onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): + #var font_size = get_theme_font_size("font") + #custom_theme.default_font_size = 16 $".".theme = custom_theme - var table := $Table + var table: Tree = %Table if bios_type == 1: #Basic BIOS button pressed table.columns = BIOS_COLUMNS_BASIC.size() for i in BIOS_COLUMNS_BASIC.size(): @@ -20,7 +22,6 @@ func _ready(): table.set_column_title(i, BIOS_COLUMNS_EXPERT[i]) var root = table.create_item() table.hide_root = true - if bios_type == 1: #Basic BIOS button pressed var parameters = ["check_bios_files","basic"] bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) diff --git a/tools/configurator/components/bios_check/bios_popup_content.tscn b/tools/configurator/components/bios_check/bios_popup_content.tscn index c82780ac..8eaad1aa 100644 --- a/tools/configurator/components/bios_check/bios_popup_content.tscn +++ b/tools/configurator/components/bios_check/bios_popup_content.tscn @@ -1,26 +1,34 @@ -[gd_scene load_steps=2 format=3 uid="uid://bihon3xtx45y7"] +[gd_scene load_steps=3 format=3 uid="uid://bihon3xtx45y7"] [ext_resource type="Script" path="res://components/bios_check/bios_check.gd" id="1_qrkee"] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8e2dh"] +bg_color = Color(0.133, 0.133, 0.133, 1) + [node name="PopupContent" type="Control"] top_level = true layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -offset_right = -355.0 +offset_right = -1.0 offset_bottom = -71.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_qrkee") [node name="Table" type="Tree" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 +unique_name_in_owner = true +clip_contents = false +layout_mode = 2 +offset_right = 1277.0 +offset_bottom = 723.0 grow_horizontal = 2 grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_font_sizes/font_size = 16 +theme_override_styles/panel = SubResource("StyleBoxFlat_8e2dh") columns = 5 column_titles_visible = true allow_reselect = true diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index e61cdab9..38d0e396 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -253,11 +253,12 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 0 +current_tab = 2 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true +visible = false layout_mode = 2 script = ExtResource("4_2jqfc") metadata/_tab_index = 0 @@ -773,7 +774,6 @@ alignment = 1 expand_icon = true [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("50_wqa5h") metadata/_tab_index = 2 @@ -1609,6 +1609,7 @@ frame = 4 frame_progress = 1.0 [node name="side_logo" type="Control" parent="Background/SplitContainer"] +z_index = 4 layout_mode = 2 [node name="rekku" type="Control" parent="Background/SplitContainer/side_logo"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index c043db89..479f0466 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_tqsvy"] +[sub_resource type="Image" id="Image_6ruq1"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_tqsvy") +image = SubResource("Image_6ruq1") -[sub_resource type="Image" id="Image_7jqkq"] +[sub_resource type="Image" id="Image_j3lry"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_7jqkq") +image = SubResource("Image_j3lry") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_t35s3"] +[sub_resource type="Image" id="Image_g7c3w"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_t35s3") +image = SubResource("Image_g7c3w") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_l4ovu"] +[sub_resource type="Image" id="Image_wkum4"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_l4ovu") +image = SubResource("Image_wkum4") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_4qxng"] +[sub_resource type="Image" id="Image_aavfs"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_4qxng") +image = SubResource("Image_aavfs") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_yrid1"] +[sub_resource type="Image" id="Image_um2rs"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_yrid1") +image = SubResource("Image_um2rs") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_dvad3"] +[sub_resource type="Image" id="Image_mptsq"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_dvad3") +image = SubResource("Image_mptsq") -[sub_resource type="Image" id="Image_cdkbg"] +[sub_resource type="Image" id="Image_tmepe"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_cdkbg") +image = SubResource("Image_tmepe") -[sub_resource type="Image" id="Image_4x7uj"] +[sub_resource type="Image" id="Image_nne54"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_4x7uj") +image = SubResource("Image_nne54") -[sub_resource type="Image" id="Image_nvr8u"] +[sub_resource type="Image" id="Image_d1wtb"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_nvr8u") +image = SubResource("Image_d1wtb") -[sub_resource type="Image" id="Image_s2x2e"] +[sub_resource type="Image" id="Image_mff7l"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_s2x2e") +image = SubResource("Image_mff7l") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_1die0"] +[sub_resource type="Image" id="Image_8qk5l"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_1die0") +image = SubResource("Image_8qk5l") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_hc0ng"] +[sub_resource type="Image" id="Image_j8f56"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_hc0ng") +image = SubResource("Image_j8f56") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_b58s8"] +[sub_resource type="Image" id="Image_qwcja"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_b58s8") +image = SubResource("Image_qwcja") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_grieo"] +[sub_resource type="Image" id="Image_k0qjt"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_grieo") +image = SubResource("Image_k0qjt") -[sub_resource type="Image" id="Image_63mmi"] +[sub_resource type="Image" id="Image_c6aj2"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_63mmi") +image = SubResource("Image_c6aj2") -[sub_resource type="Image" id="Image_ytg3x"] +[sub_resource type="Image" id="Image_ntlde"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_ytg3x") +image = SubResource("Image_ntlde") -[sub_resource type="Image" id="Image_nffbk"] +[sub_resource type="Image" id="Image_5br02"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_nffbk") +image = SubResource("Image_5br02") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_qd4uq"] +[sub_resource type="Image" id="Image_6wo5a"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_qd4uq") +image = SubResource("Image_6wo5a") -[sub_resource type="Image" id="Image_gwa6g"] +[sub_resource type="Image" id="Image_qqods"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_gwa6g") +image = SubResource("Image_qqods") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_4nked"] +[sub_resource type="Image" id="Image_dawr8"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_4nked") +image = SubResource("Image_dawr8") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index 1b0bc0f4..0818775e 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -14,7 +14,7 @@ func _connect_signals() -> void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) - #%cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) + %cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) %cheevos_button.button_down.connect(class_functions._do_action.bind(%cheevos_progress, %cheevos_button, class_functions.cheevos_state)) %cheevos_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_progress)) %cheevos_button.pressed.connect(class_functions.run_function.bind(%cheevos_button, "cheevos")) @@ -37,4 +37,3 @@ func cheevos(button: Button): await class_functions.run_thread_command(class_functions.wrapper_command,["change_preset_dialog", "cheevos"], false) set_process_input(true) $"../..".visible=true - print ("FIN?") diff --git a/tools/configurator/scripts/TabSystem.gd b/tools/configurator/scripts/TabSystem.gd index 5004abd4..733cbcd8 100644 --- a/tools/configurator/scripts/TabSystem.gd +++ b/tools/configurator/scripts/TabSystem.gd @@ -89,6 +89,7 @@ func _do_action(button: Button) -> void: match [button.name, current_system.name]: ["help_button", current_system.name]: if class_functions.desktop_mode != "gamescope": + print ("URL %s" %current_system.url) class_functions.logger("i", "Launching " + current_system.name + " Help") class_functions.launch_help(current_system.url) else: diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index bcd17b92..499f3b90 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -34,7 +34,9 @@ func load_base_data() -> AppData: var emulator = Emulator.new() emulator.name = emulator_data["name"] emulator.description = emulator_data["description"] - #emulator.url = emulator_data["url"] + print (emulator.name) + emulator.url = emulator_data["url"] + print (emulator.name +" : " +emulator.url) #emulator.system = emulator_data["system"] emulator.launch = emulator_data["launch"] if emulator_data.has("properties"): diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index e1521e63..91eccfa4 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -237,7 +237,7 @@ func change_font(index: int) -> void: 1: font_file = load("res://assets/fonts/munro/munro.ttf") %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) - font_size = 30 + font_size = 25 2: font_file = load("res://assets/fonts/akrobat/Akrobat-Regular.otf") %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) From c7c4bbd1b3546a01ed4d456900622169f5ca94cd Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 20:15:47 +0100 Subject: [PATCH 5/7] Pre Moving buttons! --- tools/configurator/components/popup.gd | 2 +- tools/configurator/main.tscn | 35 ++++++-- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabSettings.gd | 5 +- tools/configurator/scripts/class_functions.gd | 12 ++- tools/configurator/scripts/main.gd | 5 +- 6 files changed, 88 insertions(+), 55 deletions(-) diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index 4fc178b7..21611062 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -15,7 +15,7 @@ func _ready(): if (content != null and bios_type > 0): $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer.add_child(content) -func _process(delta): +func _process(_delta): if Input.is_action_pressed("back_button"): lbhide.visible=true rbhide.visible=true diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 38d0e396..ed309be2 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -253,7 +253,7 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 2 +current_tab = 3 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] @@ -774,6 +774,7 @@ alignment = 1 expand_icon = true [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("50_wqa5h") metadata/_tab_index = 2 @@ -956,7 +957,6 @@ disabled = true text = "TK_MULTIFILE" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -970,6 +970,7 @@ layout_mode = 2 size_flags_horizontal = 3 [node name="system_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +visible = false layout_mode = 2 [node name="system_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] @@ -1095,6 +1096,7 @@ unique_name_in_owner = true visible = false layout_mode = 2 theme_override_constants/h_separation = 64 +columns = 2 [node name="cheevos_username_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] layout_mode = 2 @@ -1123,20 +1125,41 @@ placeholder_text = "password" secret = true secret_character = "*" -[node name="cheevos_hardcore" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +[node name="blank_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 5 + +[node name="cheevos_disconnect_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +layout_mode = 2 +text = "TK_NETPLAYCONNECT" + +[node name="cheevos_hardcore_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "TK_CHEEVOSHARDCORE" +[node name="cheevos_hardcore_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container/cheevos_hardcore_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="netplay_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 [node name="netplay" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "TK_NETPLAY" -[node name="netplay_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] -layout_mode = 2 - [node name="netplay_id_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] layout_mode = 2 theme_override_constants/h_separation = 64 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 479f0466..08dc10f0 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_6ruq1"] +[sub_resource type="Image" id="Image_s2u7j"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_6ruq1") +image = SubResource("Image_s2u7j") -[sub_resource type="Image" id="Image_j3lry"] +[sub_resource type="Image" id="Image_ywuns"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_j3lry") +image = SubResource("Image_ywuns") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_g7c3w"] +[sub_resource type="Image" id="Image_t28ft"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_g7c3w") +image = SubResource("Image_t28ft") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_wkum4"] +[sub_resource type="Image" id="Image_qhyik"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_wkum4") +image = SubResource("Image_qhyik") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_aavfs"] +[sub_resource type="Image" id="Image_ekr2a"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_aavfs") +image = SubResource("Image_ekr2a") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_um2rs"] +[sub_resource type="Image" id="Image_h87ih"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_um2rs") +image = SubResource("Image_h87ih") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_mptsq"] +[sub_resource type="Image" id="Image_bj558"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_mptsq") +image = SubResource("Image_bj558") -[sub_resource type="Image" id="Image_tmepe"] +[sub_resource type="Image" id="Image_w5tx2"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_tmepe") +image = SubResource("Image_w5tx2") -[sub_resource type="Image" id="Image_nne54"] +[sub_resource type="Image" id="Image_yh7xd"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_nne54") +image = SubResource("Image_yh7xd") -[sub_resource type="Image" id="Image_d1wtb"] +[sub_resource type="Image" id="Image_yd56u"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_d1wtb") +image = SubResource("Image_yd56u") -[sub_resource type="Image" id="Image_mff7l"] +[sub_resource type="Image" id="Image_enhx0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_mff7l") +image = SubResource("Image_enhx0") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_8qk5l"] +[sub_resource type="Image" id="Image_f4rij"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_8qk5l") +image = SubResource("Image_f4rij") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_j8f56"] +[sub_resource type="Image" id="Image_7qt7v"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_j8f56") +image = SubResource("Image_7qt7v") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_qwcja"] +[sub_resource type="Image" id="Image_egl5k"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_qwcja") +image = SubResource("Image_egl5k") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_k0qjt"] +[sub_resource type="Image" id="Image_iapwv"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_k0qjt") +image = SubResource("Image_iapwv") -[sub_resource type="Image" id="Image_c6aj2"] +[sub_resource type="Image" id="Image_2dwu7"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_c6aj2") +image = SubResource("Image_2dwu7") -[sub_resource type="Image" id="Image_ntlde"] +[sub_resource type="Image" id="Image_m043m"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_ntlde") +image = SubResource("Image_m043m") -[sub_resource type="Image" id="Image_5br02"] +[sub_resource type="Image" id="Image_5ejur"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_5br02") +image = SubResource("Image_5ejur") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_6wo5a"] +[sub_resource type="Image" id="Image_gs0pd"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_6wo5a") +image = SubResource("Image_gs0pd") -[sub_resource type="Image" id="Image_qqods"] +[sub_resource type="Image" id="Image_ng2ns"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_qqods") +image = SubResource("Image_ng2ns") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_dawr8"] +[sub_resource type="Image" id="Image_knvok"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_dawr8") +image = SubResource("Image_knvok") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index 0818775e..f96797de 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -14,10 +14,13 @@ func _connect_signals() -> void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) - %cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) + #%cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) %cheevos_button.button_down.connect(class_functions._do_action.bind(%cheevos_progress, %cheevos_button, class_functions.cheevos_state)) %cheevos_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_progress)) %cheevos_button.pressed.connect(class_functions.run_function.bind(%cheevos_button, "cheevos")) + %cheevos_hardcore_button.button_down.connect(class_functions._do_action.bind(%cheevos_hardcore_progress, %cheevos_hardcore_button, class_functions.cheevos_hardcore_state)) + %cheevos_hardcore_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_hardcore_progress)) + %cheevos_hardcore_button.pressed.connect(class_functions.run_function.bind(%cheevos_hardcore_button, "cheevos_hardcore")) func _on_request_completed(_result, response_code, _headers, body): var response_text = JSON.parse_string(body.get_string_from_utf8()) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 4beefe5f..bc1c4808 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -37,7 +37,7 @@ var font_tab_size: int = 35 var font_size: int = 20 var locale: String enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind, cheevos, cheevos_hardcore} -var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button", "cheevos_button"] +var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button", "cheevos_button", "cheevos_hardcore_button"] signal update_global_signal var rekku_state: bool = false var press_time: float = 0.0 @@ -335,8 +335,14 @@ func update_global(button: Button, preset: String, state: bool) -> void: if cheevos_state != "mixed": cheevos_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, quick_rewind_state) - + change_global(result, "build_preset_config", button, cheevos_state) + + "cheevos_hardcore_button": + if cheevos_hardcore_state != "mixed": + cheevos_hardcore_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, cheevos_hardcore_state) + func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: #print (parameters) match parameters[1]: diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 91eccfa4..f03357b9 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -199,9 +199,10 @@ func _set_up_globals(state: Array) -> void: mixed_mode(%cheevos_button, class_functions.cheevos_state) if class_functions.cheevos_state == "true": %cheevos_login_container.visible = true - else: + elif class_functions.cheevos_state == "false": %cheevos_login_container.visible = false - + mixed_mode(%cheevos_hardcore_button, class_functions.cheevos_hardcore_state) + func mixed_mode (button: Button, state: String) -> void: match [class_functions.button_list]: [class_functions.button_list]: From 4d3c364ae58246610093881f13b00d5b42e18052 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 22:05:02 +0100 Subject: [PATCH 6/7] Rekku slides --- tools/configurator/main.tscn | 134 ++++++++++------------ tools/configurator/scripts/Rekku.gd | 13 ++- tools/configurator/scripts/TabGlobals.gd | 7 +- tools/configurator/scripts/TabSettings.gd | 4 + 4 files changed, 77 insertions(+), 81 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index ed309be2..6904769d 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -453,56 +453,6 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -theme_override_constants/icon_max_width = 64 -text = "RESET -RETRODECK" -icon = ExtResource("11_g1uhn") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="reset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_retrodeck_button"] -unique_name_in_owner = true -visible = false -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") -show_percentage = false - -[node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -theme_override_constants/icon_max_width = 64 -text = "RESET ALL -EMULATORS" -icon = ExtResource("45_qxd26") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="reset_all_emulators_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_all_emulators_button"] -unique_name_in_owner = true -visible = false -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") -show_percentage = false - [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 @@ -970,7 +920,6 @@ layout_mode = 2 size_flags_horizontal = 3 [node name="system_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] -visible = false layout_mode = 2 [node name="system_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] @@ -984,22 +933,23 @@ layout_mode = 2 unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +theme_override_constants/icon_max_width = 64 text = "AUTO UPDATES" icon = ExtResource("55_x32s4") alignment = 1 -expand_icon = true [node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +theme_override_constants/icon_max_width = 64 text = "SOUND EFFECTS" icon = ExtResource("9_qwq2k") alignment = 1 -expand_icon = true [node name="volume_effects_slider" type="HSlider" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true +visible = false custom_minimum_size = Vector2(0, 75) layout_mode = 2 min_value = 1.0 @@ -1012,8 +962,8 @@ tick_count = 25 unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +theme_override_constants/icon_max_width = 64 alignment = 1 -expand_icon = true selected = 0 item_count = 4 popup/item_0/text = "CHOOSE FONT" @@ -1030,23 +980,6 @@ popup/item_3/text = "OpenDyslexic3" popup/item_3/icon = ExtResource("56_ubqc2") popup/item_3/id = 2 -[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -disabled = true -text = "TK_MUSIC" -icon = ExtResource("58_oismn") -alignment = 1 -expand_icon = true - -[node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -disabled = true -button_pressed = true -text = "TK_EASTEREGGS" -icon = ExtResource("56_witym") -alignment = 1 -expand_icon = true - [node name="locale_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) @@ -1070,6 +1003,48 @@ popup/item_5/id = 5 popup/item_6/icon = ExtResource("11_ri2fv") popup/item_6/id = 6 +[node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET RETRODECK" +icon = ExtResource("11_g1uhn") + +[node name="reset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/reset_retrodeck_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET ALL EMULATORS" +icon = ExtResource("45_qxd26") + +[node name="reset_all_emulators_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/reset_all_emulators_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 @@ -1236,6 +1211,23 @@ size_flags_horizontal = 3 disabled = true text = "TK_FTPBTN" +[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] +layout_mode = 2 +theme_override_constants/icon_max_width = 64 +disabled = true +text = "TK_MUSIC" +icon = ExtResource("58_oismn") +alignment = 1 + +[node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] +layout_mode = 2 +theme_override_constants/icon_max_width = 64 +disabled = true +button_pressed = true +text = "TK_EASTEREGGS" +icon = ExtResource("56_witym") +alignment = 1 + [node name="ABOUT" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 diff --git a/tools/configurator/scripts/Rekku.gd b/tools/configurator/scripts/Rekku.gd index 63e6bac2..5a78f8fe 100644 --- a/tools/configurator/scripts/Rekku.gd +++ b/tools/configurator/scripts/Rekku.gd @@ -1,5 +1,6 @@ extends Control - +var split_max: int = 1280 +var split_min: int = 925 func _input(event): if event.is_action_released("rekku_hide"): @@ -7,7 +8,9 @@ func _input(event): if class_functions.rekku_state == false: self.visible = true class_functions.rekku_state = true - %SplitContainer.split_offset=925 + for n in range (split_max, split_min,-2): + await class_functions.wait(0.000000001) + %SplitContainer.split_offset=n %pop_rtl.visible = false %TabContainer.set_tab_title(0, "GLOBALS") %TabContainer.set_tab_title(1, "SYSTEM") @@ -20,7 +23,9 @@ func _input(event): %TabContainer.set_tab_title(2, " TOOLS ") %TabContainer.set_tab_title(3, " SETTINGS ") %TabContainer.set_tab_title(4, " ABOUT ") - class_functions.rekku_state = false %pop_rtl.visible = false + for n in range (split_min, split_max,2): + await class_functions.wait(0.000000001) + %SplitContainer.split_offset=n + class_functions.rekku_state = false self.visible = false - %SplitContainer.split_offset=1280 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 29f8dc47..657052b3 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -1,5 +1,4 @@ -extends MarginContainer - +extends Control func _ready(): _connect_signals() @@ -34,7 +33,3 @@ func _connect_signals(): %quick_rewind_button.button_down.connect(class_functions._do_action.bind(%quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)) %quick_rewind_button.button_up.connect(class_functions._on_button_released.bind(%quick_rewind_progress)) %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) - %reset_retrodeck_button.button_down.connect(class_functions._do_action.bind(%reset_retrodeck_progress, %reset_retrodeck_button, "mixed")) - %reset_retrodeck_button.button_up.connect(class_functions._on_button_released.bind(%reset_retrodeck_progress)) - %reset_all_emulators_button.button_down.connect(class_functions._do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) - %reset_all_emulators_button.button_up.connect(class_functions._on_button_released.bind(%reset_all_emulators_progress)) diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index f96797de..85c20f68 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -21,6 +21,10 @@ func _connect_signals() -> void: %cheevos_hardcore_button.button_down.connect(class_functions._do_action.bind(%cheevos_hardcore_progress, %cheevos_hardcore_button, class_functions.cheevos_hardcore_state)) %cheevos_hardcore_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_hardcore_progress)) %cheevos_hardcore_button.pressed.connect(class_functions.run_function.bind(%cheevos_hardcore_button, "cheevos_hardcore")) + %reset_retrodeck_button.button_down.connect(class_functions._do_action.bind(%reset_retrodeck_progress, %reset_retrodeck_button, "mixed")) + %reset_retrodeck_button.button_up.connect(class_functions._on_button_released.bind(%reset_retrodeck_progress)) + %reset_all_emulators_button.button_down.connect(class_functions._do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) + %reset_all_emulators_button.button_up.connect(class_functions._on_button_released.bind(%reset_all_emulators_progress)) func _on_request_completed(_result, response_code, _headers, body): var response_text = JSON.parse_string(body.get_string_from_utf8()) From 73ac44b858f1897ffc9b48cb80167f0f12ce06b3 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 23:53:32 +0100 Subject: [PATCH 7/7] Finally --- tools/configurator/main.tscn | 1 + .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- 2 files changed, 43 insertions(+), 42 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 3591d2ec..72a88dc2 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -258,6 +258,7 @@ script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true +visible = false layout_mode = 2 script = ExtResource("4_2jqfc") metadata/_tab_index = 0 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 08dc10f0..e69c0c44 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_s2u7j"] +[sub_resource type="Image" id="Image_hiwdq"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_s2u7j") +image = SubResource("Image_hiwdq") -[sub_resource type="Image" id="Image_ywuns"] +[sub_resource type="Image" id="Image_cakv4"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_ywuns") +image = SubResource("Image_cakv4") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_t28ft"] +[sub_resource type="Image" id="Image_4x6uc"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_t28ft") +image = SubResource("Image_4x6uc") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_qhyik"] +[sub_resource type="Image" id="Image_odx3h"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_qhyik") +image = SubResource("Image_odx3h") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_ekr2a"] +[sub_resource type="Image" id="Image_jx0w7"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_ekr2a") +image = SubResource("Image_jx0w7") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_h87ih"] +[sub_resource type="Image" id="Image_nfq1y"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_h87ih") +image = SubResource("Image_nfq1y") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_bj558"] +[sub_resource type="Image" id="Image_nfupi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_bj558") +image = SubResource("Image_nfupi") -[sub_resource type="Image" id="Image_w5tx2"] +[sub_resource type="Image" id="Image_jgbx6"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_w5tx2") +image = SubResource("Image_jgbx6") -[sub_resource type="Image" id="Image_yh7xd"] +[sub_resource type="Image" id="Image_5tcav"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_yh7xd") +image = SubResource("Image_5tcav") -[sub_resource type="Image" id="Image_yd56u"] +[sub_resource type="Image" id="Image_adbo0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_yd56u") +image = SubResource("Image_adbo0") -[sub_resource type="Image" id="Image_enhx0"] +[sub_resource type="Image" id="Image_fx31s"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_enhx0") +image = SubResource("Image_fx31s") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_f4rij"] +[sub_resource type="Image" id="Image_xmr6q"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_f4rij") +image = SubResource("Image_xmr6q") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_7qt7v"] +[sub_resource type="Image" id="Image_13i50"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_7qt7v") +image = SubResource("Image_13i50") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_egl5k"] +[sub_resource type="Image" id="Image_jtlgm"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_egl5k") +image = SubResource("Image_jtlgm") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_iapwv"] +[sub_resource type="Image" id="Image_io2yo"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_iapwv") +image = SubResource("Image_io2yo") -[sub_resource type="Image" id="Image_2dwu7"] +[sub_resource type="Image" id="Image_f15ac"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_2dwu7") +image = SubResource("Image_f15ac") -[sub_resource type="Image" id="Image_m043m"] +[sub_resource type="Image" id="Image_qxhfe"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_m043m") +image = SubResource("Image_qxhfe") -[sub_resource type="Image" id="Image_5ejur"] +[sub_resource type="Image" id="Image_y2yvs"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_5ejur") +image = SubResource("Image_y2yvs") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_gs0pd"] +[sub_resource type="Image" id="Image_l2hig"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_gs0pd") +image = SubResource("Image_l2hig") -[sub_resource type="Image" id="Image_ng2ns"] +[sub_resource type="Image" id="Image_jjthi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_ng2ns") +image = SubResource("Image_jjthi") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_knvok"] +[sub_resource type="Image" id="Image_npfsi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_knvok") +image = SubResource("Image_npfsi") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0