diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json
index b0b8e8a3..d270d0a1 100644
--- a/config/retrodeck/reference_lists/features.json
+++ b/config/retrodeck/reference_lists/features.json
@@ -1148,6 +1148,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 49274bb0..6ca21d1b 100644
--- a/tools/configurator/components/bios_check/bios_check.gd
+++ b/tools/configurator/components/bios_check/bios_check.gd
@@ -11,10 +11,11 @@ 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
-
- if bios_type == 0: #Basic BIOS button pressed
+ 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():
table.set_column_title(i, BIOS_COLUMNS_BASIC[i])
@@ -25,11 +26,7 @@ func _ready():
var root = table.create_item()
table.hide_root = true
-
- if bios_type == 0: #Basic BIOS button pressed
- #OS.execute("/app/tools/retrodeck_function_wrapper.sh",["check_bios_files", "basic"])
- #var parameters = ["log", "i", "Configurator: " + "check_bios_files"]
- # classFunctions.execute_command(command, parameters, false)
+ 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)
else: #Assume advanced BIOS button pressed
diff --git a/tools/configurator/components/bios_check/bios_popup_content.tscn b/tools/configurator/components/bios_check/bios_popup_content.tscn
index 7c7b8ca6..0c9e9177 100644
--- a/tools/configurator/components/bios_check/bios_popup_content.tscn
+++ b/tools/configurator/components/bios_check/bios_popup_content.tscn
@@ -1,14 +1,17 @@
-[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
@@ -30,12 +33,17 @@ PS3 BIOS IS VERY BAD
I'm not sure what else?"
[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
select_mode = 1
diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd
index 55972713..63d1a91f 100644
--- a/tools/configurator/components/popup.gd
+++ b/tools/configurator/components/popup.gd
@@ -16,7 +16,7 @@ func _ready():
$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 27ee645d..5903408f 100644
--- a/tools/configurator/main.tscn
+++ b/tools/configurator/main.tscn
@@ -77,7 +77,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"]
@@ -268,33 +268,25 @@ 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 = 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."
+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
@@ -310,14 +302,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
@@ -333,15 +326,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
@@ -356,39 +350,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
@@ -403,39 +400,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
@@ -449,50 +449,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
-custom_minimum_size = Vector2(375, 125)
-layout_mode = 2
-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
-custom_minimum_size = Vector2(375, 125)
-layout_mode = 2
-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
@@ -510,144 +466,175 @@ 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
+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
-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
@@ -856,7 +843,7 @@ theme_override_constants/separation = 64
[node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/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
@@ -1231,22 +1218,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
@@ -1259,8 +1247,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"
@@ -1277,23 +1265,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)
@@ -1317,6 +1288,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
@@ -1371,20 +1384,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
@@ -1461,6 +1495,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
@@ -1503,8 +1554,8 @@ text = "ABOUT RETRODECK"
[node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_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"]
@@ -1857,6 +1908,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"]
@@ -1895,6 +1947,7 @@ autoplay = "speech"
[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
@@ -1902,7 +1955,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"]
+[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
@@ -1915,14 +1969,26 @@ offset_right = 668.0
offset_bottom = -420.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(511, -826)
+scale = Vector2(0.5, 0.5)
+texture = ExtResource("57_1n3u5")
+
+[node name="blink_anim" type="AnimatedSprite2D" parent="Background/SplitContainer/side_logo/rekku/rekku_sprite"]
+position = Vector2(-72, -252)
+sprite_frames = SubResource("SpriteFrames_k7pd1")
+animation = &"blink"
+autoplay = "blink"
+frame_progress = 0.188668
+
+[node name="speech_anim" type="AnimatedSprite2D" parent="Background/SplitContainer/side_logo/rekku/rekku_sprite"]
+position = Vector2(-76, -198)
+sprite_frames = SubResource("SpriteFrames_l20mt")
+animation = &"speech"
+autoplay = "speech"
+
[node name="TextureRect" type="TextureRect" parent="Background/SplitContainer/side_logo"]
visible = false
layout_mode = 0
@@ -1947,7 +2013,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 ff37252d..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_cx80n"]
+[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_cx80n")
+image = SubResource("Image_hiwdq")
-[sub_resource type="Image" id="Image_o7ypa"]
+[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_o7ypa")
+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_1mjn7"]
+[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_1mjn7")
+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_nx1w6"]
+[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_nx1w6")
+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_645t5"]
+[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_645t5")
+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_6cwok"]
+[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_6cwok")
+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_yq8x5"]
+[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_yq8x5")
+image = SubResource("Image_nfupi")
-[sub_resource type="Image" id="Image_osx3u"]
+[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_osx3u")
+image = SubResource("Image_jgbx6")
-[sub_resource type="Image" id="Image_e358d"]
+[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_e358d")
+image = SubResource("Image_5tcav")
-[sub_resource type="Image" id="Image_sc2ny"]
+[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_sc2ny")
+image = SubResource("Image_adbo0")
-[sub_resource type="Image" id="Image_f4p5c"]
+[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_f4p5c")
+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_4no34"]
+[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_4no34")
+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_81fer"]
+[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_81fer")
+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_o4hso"]
+[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_o4hso")
+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_1giar"]
+[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_1giar")
+image = SubResource("Image_io2yo")
-[sub_resource type="Image" id="Image_shov6"]
+[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_shov6")
+image = SubResource("Image_f15ac")
-[sub_resource type="Image" id="Image_txvms"]
+[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_txvms")
+image = SubResource("Image_qxhfe")
-[sub_resource type="Image" id="Image_nqxn3"]
+[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_nqxn3")
+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_7ahc2"]
+[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_7ahc2")
+image = SubResource("Image_l2hig")
-[sub_resource type="Image" id="Image_n6ur5"]
+[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_n6ur5")
+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_iyjpi"]
+[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_iyjpi")
+image = SubResource("Image_npfsi")
[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..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,9 +8,24 @@ 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")
+ %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 ")
+ %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/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 20addfde..e69de29b 100644
--- a/tools/configurator/scripts/TabContainer.gd
+++ b/tools/configurator/scripts/TabContainer.gd
@@ -1,90 +0,0 @@
-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"))
-<<<<<<< HEAD
- set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/applications-graphics.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"))
->>>>>>> be95a1bf935fae24a2ab447f99022a39ae7a896a
- 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-tweak-tool.png"))
- set_tab_icon_max_width(2,icon_width)
- set_tab_icon(3, ResourceLoader.load("res://assets/icons/pixelitos/128/network-workgroup.png"))
- set_tab_icon_max_width(3,icon_width)
- set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/utilities-system-monitor.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():
- %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")
- else:
- %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
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 1b0bc0f4..85c20f68 100644
--- a/tools/configurator/scripts/TabSettings.gd
+++ b/tools/configurator/scripts/TabSettings.gd
@@ -18,6 +18,13 @@ func _connect_signals() -> void:
%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"))
+ %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())
@@ -37,4 +44,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/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
diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd
index 9d84a28c..17fbd0f1 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
diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd
index 642801a8..1eff6725 100644
--- a/tools/configurator/scripts/data_handler.gd
+++ b/tools/configurator/scripts/data_handler.gd
@@ -34,9 +34,9 @@ func load_base_data() -> AppData:
var emulator = Emulator.new()
emulator.name = emulator_data["name"]
emulator.description = emulator_data["description"]
-<<<<<<< HEAD
-=======
- #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"]
>>>>>>> be95a1bf935fae24a2ab447f99022a39ae7a896a
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")
diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd
index 088606ec..2d990389 100644
--- a/tools/configurator/scripts/main.gd
+++ b/tools/configurator/scripts/main.gd
@@ -217,9 +217,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]:
@@ -255,7 +256,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)