From 1519846bb35e2d80c3616deacaaf9e0909fcc092 Mon Sep 17 00:00:00 2001 From: MonkeyX Date: Thu, 5 Sep 2024 15:16:09 +0100 Subject: [PATCH] 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 --- .../retrodeck/reference_lists/features.json | 1 + developer_toolbox/inject_framework.sh | 24 +- functions/post_update.sh | 1 + tools/configurator/TabContainer.gd | 10 +- .../components/bios_check/bios_check.gd | 8 +- .../bios_check/bios_popup_content.tscn | 16 +- tools/configurator/components/popup.gd | 7 +- tools/configurator/components/popup.tscn | 1 + .../configurator/components/popup_dialogue.gd | 34 +- tools/configurator/main.gd | 65 +- tools/configurator/main.tscn | 1004 ++++++++--------- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +- .../scripts/{system.gd => SystemTab.gd} | 64 +- tools/configurator/scripts/data_handler.gd | 15 +- tools/configurator/scripts/emulator.gd | 1 + 15 files changed, 668 insertions(+), 671 deletions(-) rename tools/configurator/scripts/{system.gd => SystemTab.gd} (58%) diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index 7e5d9d50..b63d6fd0 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -790,6 +790,7 @@ "name": "RetroArch", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/retroarch/retroarch-guide/", "launch": "retroarch", + "system": "retroarch", "properties": [ { "cheevos": true, diff --git a/developer_toolbox/inject_framework.sh b/developer_toolbox/inject_framework.sh index fd3dedd7..ca05e638 100755 --- a/developer_toolbox/inject_framework.sh +++ b/developer_toolbox/inject_framework.sh @@ -5,12 +5,31 @@ # This script is used to inject framework and config files inside a RetroDECK cooker installation # To apply the injected config you have to reset the targeted component from the Configurator # Please know what you're doing, if you need to undo this you need to completely uninstall and reinstall RetroDECK flatpak -# Please not that this may create a dirty situation where older files are still in place as the action is add and overwrite +# Please note that this may create a dirty situation where older files are still in place as the action is add and overwrite flatpak_user_installation="$HOME/.local/share/flatpak/app/net.retrodeck.retrodeck/current/active/files" flatpak_system_installation="/var/lib/flatpak/app/net.retrodeck.retrodeck/current/active/files" +force_user=false +force_system=false -if [ -d "$flatpak_user_installation" ]; then +# Parse arguments +while [[ "$#" -gt 0 ]]; do + case $1 in + --force-user) force_user=true ;; + --force-system) force_system=true ;; + *) echo "Unknown parameter: $1"; exit 1 ;; + esac + shift +done + +# Determine installation path +if [ "$force_user" = true ]; then + echo "Forcing user mode installation." + app="$flatpak_user_installation" +elif [ "$force_system" = true ]; then + echo "Forcing system mode installation." + app="$flatpak_system_installation" +elif [ -d "$flatpak_user_installation" ]; then echo "RetroDECK is installed in user mode, proceeding." app="$flatpak_user_installation" elif [ -d "$flatpak_system_installation" ]; then @@ -21,6 +40,7 @@ else exit 1 fi +# Copying files to the installation sudo cp -vfr "res/binding_icons" "$app/retrodeck/binding_icons" sudo cp -vfr "config/"** "$app/retrodeck/config/" sudo cp -vfr "tools" "$app" diff --git a/functions/post_update.sh b/functions/post_update.sh index 8fa5338e..d7176aec 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -434,6 +434,7 @@ post_update() { set_setting_value "$raconf" "libretro_info_path" "/var/config/retroarch/cores" "retroarch" prepare_component "reset" "ruffle" + update_rd_conf # TODO: check this # rm /var/config/emulationstation/.emulationstation # remving the old symlink to .emulationstation as it might be not needed anymore diff --git a/tools/configurator/TabContainer.gd b/tools/configurator/TabContainer.gd index 272671be..be7ee80f 100644 --- a/tools/configurator/TabContainer.gd +++ b/tools/configurator/TabContainer.gd @@ -12,16 +12,12 @@ func _ready(): 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(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/network-workgroup.png")) + 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/utilities-system-monitor.png")) + set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) set_tab_icon_max_width(4,icon_width) - set_tab_icon(5, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-session-services.png")) - set_tab_icon_max_width(5,icon_width) - set_tab_icon(6, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) - set_tab_icon_max_width(6,icon_width) #%TK_GRAPHICS.name="BOB" connect_focus_signals(self) diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index 4d62da58..514b2f19 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -12,8 +12,7 @@ var BIOS_COLUMNS_EXPERT := ["BIOS File Name", "System", "Found", "Hash Match", " func _ready(): $".".theme = custom_theme var table := $Table - - if bios_type == 0: #Basic BIOS button pressed + 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,9 +24,12 @@ func _ready(): var root = table.create_item() table.hide_root = true - if bios_type == 0: #Basic BIOS button pressed + 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) + else: #Assume advanced BIOS button pressed var parameters = ["check_bios_files"] class_functions.execute_command(class_functions.wrapper_command, parameters, false) diff --git a/tools/configurator/components/bios_check/bios_popup_content.tscn b/tools/configurator/components/bios_check/bios_popup_content.tscn index 7c7b8ca6..1cd728ea 100644 --- a/tools/configurator/components/bios_check/bios_popup_content.tscn +++ b/tools/configurator/components/bios_check/bios_popup_content.tscn @@ -14,21 +14,6 @@ grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_qrkee") -[node name="RichTextLabel" type="RichTextLabel" parent="."] -visible = false -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -text = "This is a list of problematic BIOS? -Very multiline text -Why do we use it? - -PS3 BIOS IS VERY BAD -I'm not sure what else?" - [node name="Table" type="Tree" parent="."] layout_mode = 1 anchors_preset = 15 @@ -38,4 +23,5 @@ grow_horizontal = 2 grow_vertical = 2 columns = 5 column_titles_visible = true +allow_rmb_select = true select_mode = 1 diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index 3f384faa..1289df48 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -5,14 +5,16 @@ var content = null #@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 bios_type:int = get_tree().current_scene.bios_type func _ready(): lbhide.visible=false rbhide.visible=false + print (bios_type) $".".theme = custom_theme - if (content != null): + # 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) - func _process(delta): if Input.is_action_pressed("back_button"): @@ -22,6 +24,7 @@ func _process(delta): func set_content(new_content): content = load(new_content).instantiate() + func set_title(new_title): $Panel/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/Label.text = new_title func set_display_text(new_display_text): diff --git a/tools/configurator/components/popup.tscn b/tools/configurator/components/popup.tscn index a5810685..5d714218 100644 --- a/tools/configurator/components/popup.tscn +++ b/tools/configurator/components/popup.tscn @@ -73,6 +73,7 @@ layout_mode = 2 focus_mode = 2 scroll_following = true context_menu_enabled = true +shortcut_keys_enabled = false selection_enabled = true [connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/BackButton" to="." method="_on_back_pressed"] diff --git a/tools/configurator/components/popup_dialogue.gd b/tools/configurator/components/popup_dialogue.gd index 8b16d1a3..9aca731d 100644 --- a/tools/configurator/components/popup_dialogue.gd +++ b/tools/configurator/components/popup_dialogue.gd @@ -9,24 +9,27 @@ var parameters: Array func _ready(): $".".theme = custom_theme - #%title_label.text = "FRED" + var args = OS.get_cmdline_args() + for arg in range(args.size()): + if args[arg] == "--title" and arg + 1 < args.size(): + %title_label.text = args[arg + 1] + elif args[arg] == "--content" and arg + 1 < args.size(): + %content_rtl.text = args[arg + 1] + elif args[arg] == "--command" and arg + 1 < args.size(): + command = args[arg + 1] + elif args[arg] == "--parameters" and arg + 1 < args.size(): + parameters.append(args[arg + 1]) + elif args[arg] == "--fullscreen" and arg + 1 < args.size(): + DisplayServer.window_set_mode(DisplayServer.WindowMode.WINDOW_MODE_FULLSCREEN) -func _process(delta): +#func _process(delta): + #if Input.is_action_pressed("back_button"): + #get_tree().quit() + +func _input(event): if Input.is_action_pressed("back_button"): get_tree().quit() - -func set_title(new_title): - %title_label.text = new_title -func set_content(new_content_text): - %content_rtl.text=new_content_text - -func set_ok_command(ok_command): - command = ok_command - -func set_parameters(new_parameters: Array): - parameters = new_parameters - func _on_cancel_pressed(): class_functions.log_parameters[2] = class_functions.log_text + "Exited dialogue" class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) @@ -39,6 +42,3 @@ func _on_ok_button_pressed() -> void: class_functions.log_parameters[2] = class_functions.log_text + "Exit code: " + str(result["exit_code"]) %content_rtl.text = result["output"] class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - - - diff --git a/tools/configurator/main.gd b/tools/configurator/main.gd index 3c40df42..57dd0742 100644 --- a/tools/configurator/main.gd +++ b/tools/configurator/main.gd @@ -3,8 +3,7 @@ extends Control -var bios_type:int -var status_code_label: Label +@onready var bios_type:int var log_results: Dictionary var theme_option: OptionButton #signal signal_theme_changed @@ -15,41 +14,20 @@ var anim_logo: AnimatedSprite2D var rd_logs: String var rd_version: String var gc_version: String -var dialogue_title: String -var dialogue_content: String -var dialogue_command: String -var dialogue_parameters: Array 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 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() -var dialogue_mode: bool = false func _ready(): _get_nodes() _connect_signals() _play_main_animations() - var args = OS.get_cmdline_args() - for arg in range(args.size()): - if args[arg] == "--dialogue" and arg + 1 < args.size(): - dialogue_mode = true - elif args[arg] == "--title" and arg + 1 < args.size(): - dialogue_title = args[arg + 1] - elif args[arg] == "--content" and arg + 1 < args.size(): - dialogue_content = args[arg + 1] - elif args[arg] == "--command" and arg + 1 < args.size(): - dialogue_command = args[arg + 1] - elif args[arg] == "--parameters" and arg + 1 < args.size(): - dialogue_parameters.append(args[arg + 1]) - elif args[arg] == "--fullscreen" and arg + 1 < args.size(): - DisplayServer.window_set_mode(DisplayServer.WindowMode.WINDOW_MODE_FULLSCREEN) - if dialogue_mode: - load_and_change_scene("res://components/popup_dialogue.tscn") #%locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) #app_data = data_handler.app_data - #data_handler.add_emulator() - #data_handler.modify_emulator_test() + ##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) @@ -69,6 +47,8 @@ func _ready(): ## 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) @@ -76,8 +56,8 @@ func _ready(): #print("ABXY_button:", property.abxy_button) #print("multi_user_config_dir: ", property.multi_user_config_dir) # - #for key in app_data.retroarch_cores.keys(): - #var core = app_data.retroarch_cores[key] + #for key in app_data.cores.keys(): + #var core = app_data.cores[key] #print("Core Name: ", core.name) #print("Description: ", core.description) #print("Properties:") @@ -117,22 +97,6 @@ func _ready(): n.self_modulate.a = 0.5 #make it half transparent combine_tkeys() -func load_and_change_scene(scene_load: String): - var popup = load(scene_load).instantiate() as Control - if dialogue_title != "": - popup.set_title(dialogue_title) - if dialogue_content != "": - popup.set_content(dialogue_content) - if dialogue_command != "": - popup.set_ok_command(dialogue_command) - if dialogue_parameters != []: - popup.set_parameters(dialogue_parameters) - $Background.add_child(popup) - - #var scene = ResourceLoader.load(scene_load) - #get_tree().change_scene_to_packed(scene) - - func _input(event): if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): get_tree().quit() @@ -156,9 +120,7 @@ func _exit(): get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) get_tree().quit() - func _get_nodes() -> void: - status_code_label = get_node("%status_code_label") theme_option = get_node("%theme_optionbutton") tab_container = get_node("%TabContainer") anim_logo = get_node("%logo_animated") @@ -276,20 +238,21 @@ func _on_quickresume_advanced_pressed(): func _on_bios_button_pressed(): _play_main_animations() - bios_type = 0 + 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","") - status_code_label.text = str(log_results["exit_code"]) - + bios_type = 0 + func _on_bios_button_expert_pressed(): _play_main_animations() - bios_type = 1 + 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","") - status_code_label.text = str(log_results["exit_code"]) - + bios_type = 0 + func _on_exit_button_pressed(): _play_main_animations() class_functions.log_parameters[2] = class_functions.log_text + "Exited" diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 75685ee8..083db3d0 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=91 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=99 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"] @@ -6,6 +6,7 @@ [ext_resource type="Script" path="res://TabContainer.gd" id="3_id6l4"] [ext_resource type="AudioStream" uid="uid://dig4pco500pyt" path="res://res/configurator.mp3" id="3_xivj6"] [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"] @@ -19,6 +20,7 @@ [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"] [ext_resource type="Texture2D" uid="uid://cboyy7fkdijwg" path="res://assets/icons/pixelitos/128/cs-desktop-effects.png" id="5_uiobi"] +[ext_resource type="Texture2D" uid="uid://do3mc6sg5mfek" path="res://assets/icons/pixelitos/128/system-software-install.png" id="5_vehlp"] [ext_resource type="Texture2D" uid="uid://cjv6lhd4g63m3" path="res://assets/graphics/retrodeck_base_shake1.png" id="6_d43n7"] [ext_resource type="Texture2D" uid="uid://cru43y7hco6kh" path="res://res/flags/italy_32.png" id="6_fiylw"] [ext_resource type="Texture2D" uid="uid://du4mupvvwbusy" path="res://assets/icons/banner/gbc.png" id="6_mvrie"] @@ -42,9 +44,11 @@ [ext_resource type="Texture2D" uid="uid://dgdennwyj5g2l" path="res://assets/icons/banner/mastersystem.png" id="9_s3srh"] [ext_resource type="Texture2D" uid="uid://cpq0em8j2bank" path="res://assets/icons/banner/megadrive.png" id="10_2jlmn"] [ext_resource type="Texture2D" uid="uid://dtwjo7co226dw" path="res://res/flags/japan_32.png" id="10_e8mt0"] +[ext_resource type="Texture2D" uid="uid://clvsisb38lk72" path="res://assets/icons/pixelitos/128/accesories-screenshoot.png" id="10_jm3oh"] [ext_resource type="Texture2D" uid="uid://bevamv2c8knnn" path="res://assets/icons/pixelitos/128/org.citra_emu.citra.png" id="10_wbaif"] [ext_resource type="Texture2D" uid="uid://dbvjugxp84gsj" path="res://assets/icons/pixelitos/128/org.DolphinEmu.dolphin-emu.png" id="11_61sak"] [ext_resource type="Texture2D" uid="uid://c0pbart7aj657" path="res://assets/icons/pixelitos/128/preferences-system-time.png" id="11_c3qcy"] +[ext_resource type="Texture2D" uid="uid://do6o02gxjxneh" path="res://assets/icons/pixelitos/128/net.retrodeck.retrodeck.png" id="11_g1uhn"] [ext_resource type="Texture2D" uid="uid://blwtj4of6fb5y" path="res://assets/icons/pixelitos/128/spacefm.png" id="11_p6y0k"] [ext_resource type="Texture2D" uid="uid://cbwhpqip43aei" path="res://res/flags/china_32.png" id="11_ri2fv"] [ext_resource type="Texture2D" uid="uid://b763qnm02o5bd" path="res://assets/icons/pixelitos/128/system-reboot.png" id="12_3jrmi"] @@ -60,7 +64,7 @@ [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://cfa5mn3dsdvw6" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0729.png" id="36_3qttl"] [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/system.gd" id="36_wv31h"] +[ext_resource type="Script" path="res://scripts/SystemTab.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"] @@ -75,6 +79,9 @@ [ext_resource type="Texture2D" uid="uid://dhf620jyq75t1" path="res://assets/icons/pixelitos/128/es-de.png" id="44_7lpj5"] [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="Texture2D" uid="uid://l3bredurb11m" path="res://assets/graphics/rekku2/rekku_base.png" id="57_1n3u5"] [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"] @@ -89,6 +96,9 @@ [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] bg_color = Color(0.712505, 0, 0.175592, 1) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1161k"] +bg_color = Color(0.101961, 0.623529, 1, 0.376471) + [sub_resource type="SpriteFrames" id="SpriteFrames_lhf2y"] animations = [{ "frames": [{ @@ -218,19 +228,20 @@ columns = 3 [node name="Widescreen6" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 +tooltip_text = "Change to Nintendo style button mappings." text = "BUTTON SWAP " -icon = ExtResource("4_q6hd2") +icon = ExtResource("4_caaxx") [node name="Widescreen2" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "MODS" -icon = ExtResource("4_q6hd2") +icon = ExtResource("5_vehlp") [node name="Widescreen5" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "QUICK RESUME" -icon = ExtResource("4_q6hd2") +icon = ExtResource("12_3jrmi") [node name="decorations_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 @@ -245,12 +256,25 @@ icon = ExtResource("4_q6hd2") [node name="Widescreen3" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "QUICK REWIND" -icon = ExtResource("4_q6hd2") +icon = ExtResource("11_c3qcy") [node name="Widescreen4" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "TATE MODE" -icon = ExtResource("4_q6hd2") +icon = ExtResource("10_jm3oh") + +[node name="Widescreen7" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "RESET +RETROCECK" +icon = ExtResource("11_g1uhn") +expand_icon = true + +[node name="Widescreen8" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +layout_mode = 2 +text = "RESET ALL +EMULATORS" +icon = ExtResource("45_qxd26") [node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] visible = false @@ -679,30 +703,488 @@ icon = ExtResource("44_7lpj5") unique_name_in_owner = true visible = false layout_mode = 2 -columns = 3 [node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] unique_name_in_owner = true layout_mode = 2 -text = "Help" +size_flags_horizontal = 3 +text = "HELP" icon = ExtResource("46_feagl") [node name="launch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] unique_name_in_owner = true layout_mode = 2 +action_mode = 0 text = "LAUNCH" icon = ExtResource("45_qxd26") +[node name="launch_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer/launch_button"] +unique_name_in_owner = true +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_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +unique_name_in_owner = true layout_mode = 2 text = "RESET" icon = ExtResource("12_3jrmi") +[node name="reset_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer/reset_button"] +unique_name_in_owner = true +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="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false +layout_mode = 2 +metadata/_tab_index = 2 + +[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS"] +layout_mode = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_constants/separation = 64 + +[node name="troubleshoot_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] +layout_mode = 2 + +[node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +layout_mode = 2 +text = "CHECK CONNECTION" +icon = ExtResource("50_5d2ui") + +[node name="logs_button" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +unique_name_in_owner = true +layout_mode = 2 +selected = 0 +item_count = 4 +popup/item_0/text = " LOGS" +popup/item_0/icon = ExtResource("50_h3jx2") +popup/item_0/disabled = true +popup/item_0/separator = true +popup/item_1/text = "RetroDECK Log" +popup/item_1/icon = ExtResource("11_g1uhn") +popup/item_1/id = 1 +popup/item_2/text = "ES_DE Log" +popup/item_2/icon = ExtResource("44_7lpj5") +popup/item_2/id = 2 +popup/item_3/text = "Retroarch" +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"] +layout_mode = 2 +text = "BIOS STANDARD" +icon = ExtResource("50_tl5ty") + +[node name="bios_button_expert" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +layout_mode = 2 +text = "BIOS EXPERT" +icon = ExtResource("50_tl5ty") + +[node name="controls_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] +layout_mode = 2 + +[node name="controls_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] +layout_mode = 2 +text = "TK_CONTROLS" + +[node name="controls_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] +layout_mode = 2 + +[node name="controller_templates_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] +layout_mode = 2 + +[node name="controller_templates" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container/controller_templates_container"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "TK_STEAMCONTEMP" + +[node name="controller_templater_install_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container/controller_templates_container"] +layout_mode = 2 +size_flags_horizontal = 10 +size_flags_vertical = 4 +text = "TK_INSTALL" + +[node name="button_layout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] +layout_mode = 2 + +[node name="file_tools_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] +layout_mode = 2 + +[node name="file_tools_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] +layout_mode = 2 +text = "TK_FILETOOLS" + +[node name="file_tools_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] +layout_mode = 2 + +[node name="usb_tool_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] +layout_mode = 2 +disabled = true +text = "TK_USBTOOL" + +[node name="backup_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] +layout_mode = 2 +disabled = true +text = "TK_BACKUPBTN" + +[node name="compress_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] +layout_mode = 2 +disabled = true +text = "TK_COMPRESSGAMES" + +[node name="move_files_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] +layout_mode = 2 +disabled = true +text = "TK_MOVEFILES" + +[node name="tools_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] +layout_mode = 2 + +[node name="tools_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/tools_container"] +layout_mode = 2 +text = "TK_GENTOOLS" + +[node name="tools_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/tools_container"] +layout_mode = 2 + +[node name="steamgrid_install_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/tools_container"] +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 +text = "TK_FAVSTEAM" + +[node name="scan_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] +layout_mode = 2 + +[node name="scan_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] +layout_mode = 2 +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 +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" + +[node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false +layout_mode = 2 +metadata/_tab_index = 3 + +[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS"] +layout_mode = 2 +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" + +[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"] +layout_mode = 2 +button_pressed = true +text = "TK_UPDATENOTIF" + +[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" + +[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"] +unique_name_in_owner = true +layout_mode = 2 +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" +popup/item_1/id = 1 +popup/item_2/text = "Retro" +popup/item_2/id = 2 +popup/item_3/text = "Modern" +popup/item_3/id = 3 +popup/item_4/text = "OpenDyslexic3" +popup/item_4/id = 4 + +[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"] +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_login_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +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 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "TK_CHEEVOSUNAME" + +[node name="cheevos_username" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +custom_minimum_size = Vector2(256, 0) +layout_mode = 2 +size_flags_horizontal = 3 +text = "username" +placeholder_text = "username" + +[node name="cheevos_pass_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 = 1 +text = "TK_CHEEVOSPWD" + +[node name="cheevos_pass" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "password" +placeholder_text = "password" +secret = true +secret_character = "*" + +[node name="cheevos_advanced_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_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"] +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 +columns = 2 + +[node name="netplay_id_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 5 +text = "TK_NETPLAYID" + +[node name="netplay_id" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] +custom_minimum_size = Vector2(256, 0) +layout_mode = 2 +size_flags_horizontal = 3 +text = "RetroDECK" +placeholder_text = "RetroDECK" + +[node name="netplay_address_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 5 +text = "TK_NETPLAYADDRESS" + +[node name="netplay_address" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] +layout_mode = 2 +size_flags_horizontal = 3 +text = "127.0.0.1" +placeholder_text = "127.0.0.1" + +[node name="blank_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 5 + +[node name="netplay_connect_disconnect_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] +layout_mode = 2 +text = "TK_NETPLAYCONNECT" + +[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 +text = "TK_SAVESSYNC" + +[node name="ftp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] +layout_mode = 2 +size_flags_horizontal = 3 +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 + +[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT"] +layout_mode = 2 + +[node name="about_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer"] +layout_mode = 2 +alignment = 1 + +[node name="rd_title" type="RichTextLabel" 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) +layout_mode = 2 +offset_left = 166.0 +offset_top = -14.0 +offset_right = 294.0 +offset_bottom = 114.0 +size_flags_horizontal = 4 +size_flags_vertical = 0 +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 +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 + [node name="WIP" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true visible = false layout_mode = 2 -metadata/_tab_index = 2 +metadata/_tab_index = 5 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP"] layout_mode = 2 @@ -1044,504 +1526,6 @@ layout_mode = 2 text = "FUNCTIONS - Save states, etc" icon = ExtResource("18_h2o3e") -[node name="TK_TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 3 - -[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS"] -layout_mode = 2 -follow_focus = true - -[node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_constants/separation = 36 - -[node name="scan_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="scan_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -text = "TK_SCAN" - -[node name="scan_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 - -[node name="ps3_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -disabled = true -text = "TK_PS3SCAN" - -[node name="scummvm_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -disabled = true -text = "TK_SCUMMVMSCAN" - -[node name="multifile_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -text = "TK_MULTIFILE" - -[node name="3ds_decrypt_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -disabled = true -text = "TK_3DSDECRYPT" - -[node name="bios_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -text = "TK_BIOS" - -[node name="bios_button_expert" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -text = "TK_BIOS_EXPERT" - -[node name="tools_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="tools_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"] -layout_mode = 2 -text = "TK_GENTOOLS" - -[node name="tools_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"] -layout_mode = 2 - -[node name="emu_open_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"] -layout_mode = 2 -text = "TK_EMUOPEN" - -[node name="steamgrid_install_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"] -layout_mode = 2 -disabled = true -text = "TK_GRIDINSTALL" - -[node name="ps3_fw_install_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"] -layout_mode = 2 -text = "TK_PS3FWINSTALL" - -[node name="fav_steam" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/tools_container"] -layout_mode = 2 -text = "TK_FAVSTEAM" - -[node name="file_tools_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="file_tools_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] -layout_mode = 2 -text = "TK_FILETOOLS" - -[node name="file_tools_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] -layout_mode = 2 - -[node name="usb_tool_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] -layout_mode = 2 -disabled = true -text = "TK_USBTOOL" - -[node name="backup_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] -layout_mode = 2 -disabled = true -text = "TK_BACKUPBTN" - -[node name="compress_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] -layout_mode = 2 -disabled = true -text = "TK_COMPRESSGAMES" - -[node name="move_files_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] -layout_mode = 2 -disabled = true -text = "TK_MOVEFILES" - -[node name="TK_NETWORK" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 4 - -[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK"] -layout_mode = 2 -follow_focus = true - -[node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -theme_override_constants/separation = 64 - -[node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="cheevos" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container"] -layout_mode = 2 -text = "TK_CHEEVOS" - -[node name="cheevos_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container"] -layout_mode = 2 - -[node name="cheevos_login_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container"] -layout_mode = 2 -theme_override_constants/h_separation = 64 -columns = 2 - -[node name="cheevos_username_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -text = "TK_CHEEVOSUNAME" - -[node name="cheevos_username" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] -custom_minimum_size = Vector2(256, 0) -layout_mode = 2 -size_flags_horizontal = 3 -text = "username" -placeholder_text = "username" - -[node name="cheevos_pass_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 1 -text = "TK_CHEEVOSPWD" - -[node name="cheevos_pass" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "password" -placeholder_text = "password" -secret = true -secret_character = "*" - -[node name="cheevos_advanced_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container"] -layout_mode = 2 - -[node name="cheevos_advanced_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/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/TK_NETWORK/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/TK_NETWORK/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/TK_NETWORK/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/TK_NETWORK/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/TK_NETWORK/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="netplay" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/netplay_container"] -layout_mode = 2 -text = "TK_NETPLAY" - -[node name="netplay_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/netplay_container"] -layout_mode = 2 - -[node name="netplay_id_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/netplay_container"] -layout_mode = 2 -theme_override_constants/h_separation = 64 -columns = 2 - -[node name="netplay_id_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 5 -text = "TK_NETPLAYID" - -[node name="netplay_id" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] -custom_minimum_size = Vector2(256, 0) -layout_mode = 2 -size_flags_horizontal = 3 -text = "RetroDECK" -placeholder_text = "RetroDECK" - -[node name="netplay_address_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 5 -text = "TK_NETPLAYADDRESS" - -[node name="netplay_address" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "127.0.0.1" -placeholder_text = "127.0.0.1" - -[node name="blank_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 5 - -[node name="netplay_connect_disconnect_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/netplay_container/netplay_id_container"] -layout_mode = 2 -text = "TK_NETPLAYCONNECT" - -[node name="data_mng_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="data_mng_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 -text = "TK_DATAMNG" - -[node name="data_mng_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 - -[node name="saves_sync" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 -size_flags_horizontal = 3 -disabled = true -text = "TK_SAVESSYNC" - -[node name="ftp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 -size_flags_horizontal = 3 -disabled = true -text = "TK_FTPBTN" - -[node name="TK_TROUBLESHOOT" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 5 - -[node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT"] -layout_mode = 2 -theme_override_constants/separation = 64 - -[node name="troubleshoot_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer"] -layout_mode = 2 - -[node name="troubleshoot_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/troubleshoot_container"] -layout_mode = 2 -text = "TK_TROUBLESHOOTLBL" - -[node name="troubleshoot_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/troubleshoot_container"] -layout_mode = 2 - -[node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/troubleshoot_container"] -layout_mode = 2 -text = "TK_CHECKCONN" - -[node name="logs_button" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/troubleshoot_container"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 4 -selected = 0 -item_count = 4 -popup/item_0/text = "TK_LOGSBTN" -popup/item_0/disabled = true -popup/item_0/separator = true -popup/item_1/text = "RetroDECK Log" -popup/item_1/id = 1 -popup/item_2/text = "ES_DE Log" -popup/item_2/id = 2 -popup/item_3/text = "Retroarch" -popup/item_3/id = 3 - -[node name="reset_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer"] -layout_mode = 2 - -[node name="reset_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/reset_container"] -layout_mode = 2 -text = "TK_RESET" - -[node name="reset_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/reset_container"] -layout_mode = 2 - -[node name="reset_single_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/reset_container"] -layout_mode = 2 -text = "TK_RESETSINGLE" - -[node name="reset_all_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/reset_container"] -layout_mode = 2 -text = "TK_RESETALL" - -[node name="reset_full_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/reset_container"] -layout_mode = 2 -text = "TK_RESETFULL" - -[node name="controls_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer"] -layout_mode = 2 - -[node name="controls_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/controls_container"] -layout_mode = 2 -text = "TK_CONTROLS" - -[node name="controls_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/controls_container"] -layout_mode = 2 - -[node name="controller_templates_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/controls_container"] -layout_mode = 2 - -[node name="controller_templates" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/controls_container/controller_templates_container"] -layout_mode = 2 -size_flags_horizontal = 3 -text = "TK_STEAMCONTEMP" - -[node name="controller_templater_install_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/controls_container/controller_templates_container"] -layout_mode = 2 -size_flags_horizontal = 10 -size_flags_vertical = 4 -text = "TK_INSTALL" - -[node name="button_layout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/VBoxContainer/controls_container"] -layout_mode = 2 - -[node name="status_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT"] -unique_name_in_owner = true -layout_mode = 2 -text = "Status:" - -[node name="status_code_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_TROUBLESHOOT/status_label"] -unique_name_in_owner = true -layout_mode = 0 -offset_left = 87.0 -offset_top = 3.0 -offset_right = 144.0 -offset_bottom = 35.0 - -[node name="Settings" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false -layout_mode = 2 -metadata/_tab_index = 6 - -[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/Settings"] -layout_mode = 2 -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" - -[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"] -layout_mode = 2 -button_pressed = true -text = "TK_UPDATENOTIF" - -[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" - -[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"] -unique_name_in_owner = true -layout_mode = 2 -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" -popup/item_1/id = 1 -popup/item_2/text = "Retro" -popup/item_2/id = 2 -popup/item_3/text = "Modern" -popup/item_3/id = 3 -popup/item_4/text = "OpenDyslexic3" -popup/item_4/id = 4 - -[node name="TK_ABOUT" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false -layout_mode = 2 -script = ExtResource("4_m4rto") -metadata/_tab_index = 7 - -[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_ABOUT"] -layout_mode = 2 - -[node name="about_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_ABOUT/ScrollContainer"] -layout_mode = 2 -alignment = 1 - -[node name="rd_title" type="RichTextLabel" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_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/TK_ABOUT/ScrollContainer/about_container/rd_title"] -custom_minimum_size = Vector2(128, 128) -layout_mode = 2 -offset_left = 166.0 -offset_top = -14.0 -offset_right = 294.0 -offset_bottom = 114.0 -size_flags_horizontal = 4 -size_flags_vertical = 0 -texture = ExtResource("1_axfei") -expand_mode = 1 -stretch_mode = 4 - -[node name="about_header" type="RichTextLabel" parent="Background/SplitContainer/MarginContainer/TabContainer/TK_ABOUT/ScrollContainer/about_container"] -clip_contents = false -custom_minimum_size = Vector2(0, 40) -layout_mode = 2 -size_flags_vertical = 3 -theme_override_font_sizes/normal_font_size = 23 -text = "TK_ABOUTHEADER" -scroll_active = false - -[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 -columns = 5 - [node name="logo_animated" type="AnimatedSprite2D" parent="Background/SplitContainer/MarginContainer"] unique_name_in_owner = true visible = false @@ -1757,7 +1741,7 @@ unique_name_in_owner = true stream = ExtResource("71_ghxvk") volume_db = -5.0 -[connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container/bios_button" to="." method="_on_bios_button_pressed"] -[connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TK_TOOLS/ScrollContainer/VBoxContainer/scan_container/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] +[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="pressed" from="controller_guide/controller_guide_text/exit_button" to="." method="_on_exit_button_pressed"] [connection signal="item_selected" from="controller_guide/controller_guide_text/locale_option" to="." method="_on_locale_selected"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 9ee85030..88e0b552 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_6j0mq"] +[sub_resource type="Image" id="Image_vwjgb"] 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_6j0mq") +image = SubResource("Image_vwjgb") -[sub_resource type="Image" id="Image_nkeke"] +[sub_resource type="Image" id="Image_ywacb"] 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_nkeke") +image = SubResource("Image_ywacb") [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_pgfg0"] +[sub_resource type="Image" id="Image_haatj"] 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_pgfg0") +image = SubResource("Image_haatj") [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_r1knd"] +[sub_resource type="Image" id="Image_kwe71"] 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_r1knd") +image = SubResource("Image_kwe71") [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_1bm80"] +[sub_resource type="Image" id="Image_op27n"] 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_1bm80") +image = SubResource("Image_op27n") [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_ecepe"] +[sub_resource type="Image" id="Image_pjro5"] 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_ecepe") +image = SubResource("Image_pjro5") [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_w7xhj"] +[sub_resource type="Image" id="Image_5uy45"] 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_w7xhj") +image = SubResource("Image_5uy45") -[sub_resource type="Image" id="Image_kua1f"] +[sub_resource type="Image" id="Image_ec5ho"] 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_kua1f") +image = SubResource("Image_ec5ho") -[sub_resource type="Image" id="Image_4g6w0"] +[sub_resource type="Image" id="Image_34hhs"] 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_4g6w0") +image = SubResource("Image_34hhs") -[sub_resource type="Image" id="Image_gx508"] +[sub_resource type="Image" id="Image_p5y3q"] 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_gx508") +image = SubResource("Image_p5y3q") -[sub_resource type="Image" id="Image_tejfn"] +[sub_resource type="Image" id="Image_soojw"] 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_tejfn") +image = SubResource("Image_soojw") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1359,7 +1359,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_xv3ue"] +[sub_resource type="Image" id="Image_2m260"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_xv3ue") +image = SubResource("Image_2m260") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 @@ -1440,7 +1440,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_34prg"] +[sub_resource type="Image" id="Image_vuhl3"] 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 +1450,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_34prg") +image = SubResource("Image_vuhl3") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2271,7 +2271,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_emvb3"] +[sub_resource type="Image" id="Image_ri2jg"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_emvb3") +image = SubResource("Image_ri2jg") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2305,7 +2305,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_i0faf"] +[sub_resource type="Image" id="Image_1syv2"] 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 +2315,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_i0faf") +image = SubResource("Image_1syv2") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2428,7 +2428,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_tu0li"] +[sub_resource type="Image" id="Image_du17m"] 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 +2438,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_tu0li") +image = SubResource("Image_du17m") -[sub_resource type="Image" id="Image_anhek"] +[sub_resource type="Image" id="Image_ydl7p"] 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 +2450,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_anhek") +image = SubResource("Image_ydl7p") -[sub_resource type="Image" id="Image_s7ntx"] +[sub_resource type="Image" id="Image_xttex"] 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 +2462,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_s7ntx") +image = SubResource("Image_xttex") -[sub_resource type="Image" id="Image_gtdmv"] +[sub_resource type="Image" id="Image_vx2db"] 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 +2474,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_gtdmv") +image = SubResource("Image_vx2db") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2534,7 +2534,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_g1b8s"] +[sub_resource type="Image" id="Image_4bgii"] 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 +2544,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_g1b8s") +image = SubResource("Image_4bgii") -[sub_resource type="Image" id="Image_b42us"] +[sub_resource type="Image" id="Image_1s0ky"] 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 +2556,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_b42us") +image = SubResource("Image_1s0ky") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2632,7 +2632,7 @@ border_width_left = 1 border_color = Color(0.2, 0.2, 0.2, 1) anti_aliasing = false -[sub_resource type="Image" id="Image_56kpx"] +[sub_resource type="Image" id="Image_t5208"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_56kpx") +image = SubResource("Image_t5208") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/system.gd b/tools/configurator/scripts/SystemTab.gd similarity index 58% rename from tools/configurator/scripts/system.gd rename to tools/configurator/scripts/SystemTab.gd index d7b92025..af806414 100644 --- a/tools/configurator/scripts/system.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -2,11 +2,31 @@ extends Control var app_data := AppData.new() var current_system := Emulator.new() +var press_time: float = 0.0 +var is_launch_pressed: bool = false +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_launch_pressed: + press_time += delta + %launch_progress.value = press_time / PRESS_DURATION * 100.0 + 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_launch_pressed = false + is_reset_pressed = false + %launch_progress.value = 0.0 + %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)) @@ -24,8 +44,12 @@ func _connect_signals() -> void: %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)) + %launch_button.button_down.connect(_do_action.bind(%launch_button)) + %launch_button.button_up.connect(_on_Button_released.bind(%launch_progress)) + %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: @@ -48,17 +72,39 @@ func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hi if hidden_gridcontainer.visible == true: button.toggle_mode = true +func _on_Button_released(progress: ProgressBar) -> void: + is_launch_pressed = false + is_reset_pressed = 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) - #Log the result TODO - 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) + is_launch_pressed = true + ["reset_button", current_system.name]: + is_reset_pressed = true + +func _do_complete() ->void: + if is_launch_pressed: + 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) + 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/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 710e2359..2b24a79c 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -35,6 +35,7 @@ func load_base_data() -> AppData: emulator.name = emulator_data["name"] emulator.description = emulator_data["description"] emulator.url = emulator_data["url"] + #emulator.system = emulator_data["system"] emulator.launch = emulator_data["launch"] if emulator_data.has("properties"): for property_data in emulator_data["properties"]: @@ -50,7 +51,6 @@ func load_base_data() -> AppData: property.multi_user_config_dir = property_data.get("multi_user_config_dir",true) emulator.properties.append(property) emulators[key] = emulator - #TODO add systems too var cores = {} for key in data_dict["emulator"]["retroarch"]["cores"].keys(): @@ -131,6 +131,7 @@ func save_base_data(app_dict: AppData): "name": emulator.name, "description": emulator.description, "launch": emulator.launch, + "system": emulator.system, "url": emulator.url, "properties": properties } @@ -190,9 +191,7 @@ func modify_emulator(key: String, new_name: String, new_launch: String, new_desc new_property.abxy_button = property.abxy_button new_property.ask_to_exit = property.ask_to_exit new_property.cheevos = property.cheevos - emulator.properties.append(new_property) - app_dict.emulators[key] = emulator save_base_data(app_dict) print("Emulator modified successfully") @@ -207,7 +206,6 @@ func add_emulator() -> void: link.url = "https://example.com" link.description = "An example description." app_data.about_links["example_site"] = link - var emulator = Emulator.new() emulator.name = "Example System" emulator.description = "An example emulator." @@ -231,15 +229,13 @@ func modify_emulator_test() -> void: func parse_config_to_json(file_path: String) -> Dictionary: var config = {} var current_section = "" - var file = FileAccess.open(file_path, FileAccess.READ) if file == null: print("Failed to open file") 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) @@ -249,8 +245,7 @@ func parse_config_to_json(file_path: String) -> Dictionary: var parts = line.split("=") if parts.size() == 2: var key = parts[0].strip_edges() - var value = parts[1].strip_edges() - + var value = parts[1].strip_edges() # Convert value to proper type if value == "true": value = true @@ -264,10 +259,8 @@ func parse_config_to_json(file_path: String) -> Dictionary: config[key] = value else: config[current_section][key] = value - file.close() return config - func config_save_json(config: Dictionary, json_file_path: String) -> void: #var json = JSON.new() diff --git a/tools/configurator/scripts/emulator.gd b/tools/configurator/scripts/emulator.gd index 52092c80..4eda2798 100644 --- a/tools/configurator/scripts/emulator.gd +++ b/tools/configurator/scripts/emulator.gd @@ -6,4 +6,5 @@ class_name Emulator @export var description: String @export var launch: String @export var url: String +@export var system: String @export var properties: Array[EmulatorProperty]