From 3dc6b188337a9d57b66cda1288c9990dfd58cb57 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 28 Oct 2024 10:02:17 +0900 Subject: [PATCH] Feat/godot (#962) * Table top mode * Button Colour and tables columns * Bob does regex * Bob does regex2 * Updates from feedback * Stuff * Ensure funnction array being passed correctly * Array to String needed afterall * Cooker Test * Test build * Fixed Bios display issue * Fixed dialogue logging * Full Screen is back * gGent Orange BIOS * GDScript Logger POC * Try to create log folder * GDScript Logger POC (#956) * GDScript Logger POC * Try to create log folder * Ensure all_systems array is empty every time build_preset_list_options() is run - This prevents all_systems array from having multiple copies of all systems when run multiple times in the same session, which would cause make_preset_changes() to run build_preset_config() multiple times. * logs2.0 * Parked up for the night * Don't truncate the log file * Timestamp, fix append * Time for a break * restore godot logger, default is still bash * Added real milliseconds to log timestamp (thanks, monkeyx), typing fixes * Time for a break * Update godot.yml * Update godot.yml * Update godot.yml * Update godot.yml * Update godot.yml * Update godot.yml * Update godot.yml * Translations with POT! * Comment to test PR (#960) Co-authored-by: Rekku --------- Co-authored-by: Rekku Co-authored-by: WallK Co-authored-by: MonkeyX Co-authored-by: icenine451 --- .github/workflows/godot.yml | 26 + functions/presets.sh | 1 + .../components/bios_check/bios_check.gd | 4 +- .../bios_check/bios_popup_content.tscn | 1 - .../configurator/components/popup_dialogue.gd | 11 +- tools/configurator/export_presets.cfg | 210 ++++++- tools/configurator/main.tscn | 4 +- tools/configurator/project.godot | 5 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +-- tools/configurator/scripts/class_functions.gd | 94 +++- tools/configurator/scripts/data_handler.gd | 2 +- tools/configurator/translations/en_US.mo | Bin 0 -> 377 bytes tools/configurator/translations/en_US.po | 515 ++++++++++++++++++ .../translations/translation_template.pot | 509 +++++++++++++++++ 14 files changed, 1394 insertions(+), 72 deletions(-) create mode 100644 .github/workflows/godot.yml create mode 100644 tools/configurator/translations/en_US.mo create mode 100644 tools/configurator/translations/en_US.po create mode 100644 tools/configurator/translations/translation_template.pot diff --git a/.github/workflows/godot.yml b/.github/workflows/godot.yml new file mode 100644 index 00000000..81d66edc --- /dev/null +++ b/.github/workflows/godot.yml @@ -0,0 +1,26 @@ +name: Building a mOnKeyX Project + +on: + push: + branches: [ feat/godot-uk ] + pull_request: + branches: [ feat/godot-uk ] + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name : exportGame + uses: firebelley/godot-export@v5.2.1 + with: + godot_executable_download_url: https://download.tuxfamily.org/godotengine/4.2.2/Godot_v4.2.2-stable_linux.x86_64.zip + godot_export_templates_download_url: https://download.tuxfamily.org/godotengine/4.2.2/Godot_v4.2.2-stable_export_templates.tpz + relative_project_path: tools/rd-config-test/ + create_release: true + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + diff --git a/functions/presets.sh b/functions/presets.sh index 6b75ed3f..af077ac6 100644 --- a/functions/presets.sh +++ b/functions/presets.sh @@ -49,6 +49,7 @@ build_preset_list_options() { current_disabled_systems=() changed_systems=() changed_presets=() + all_systems=() local section_results=$(sed -n '/\['"$preset"'\]/, /\[/{ /\['"$preset"'\]/! { /\[/! p } }' $rd_conf | sed '/^$/d') while IFS= read -r config_line diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index ea974ec0..d4b9fa6d 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -44,10 +44,10 @@ func _ready(): if bios_line.size() >= 5: if bios_line[2] == "No": table_line.set_custom_bg_color(i,Color(1,0,0,0.15)) + elif bios_line[2] == "Yes" and bios_line[3] == "No": + table_line.set_custom_bg_color(i,Color(1,0.6,0,0.35)) elif bios_line[2] == "Yes": table_line.set_custom_bg_color(i,Color(0,1,0,0.15)) - elif bios_line[2] == "Yes" and bios_line[3] == "No": - table_line.set_custom_bg_color(i,Color(1,0.6,0,0.15)) table_line.set_text(i, bios_line[i]) #if table_line.get_index() % 2 == 1: #table_line.set_custom_bg_color(i,Color(0.15, 0.15, 0.15, 1),false) diff --git a/tools/configurator/components/bios_check/bios_popup_content.tscn b/tools/configurator/components/bios_check/bios_popup_content.tscn index 2055cd0b..6b4111c7 100644 --- a/tools/configurator/components/bios_check/bios_popup_content.tscn +++ b/tools/configurator/components/bios_check/bios_popup_content.tscn @@ -40,4 +40,3 @@ columns = 5 column_titles_visible = true allow_reselect = true allow_rmb_select = true -select_mode = 1 diff --git a/tools/configurator/components/popup_dialogue.gd b/tools/configurator/components/popup_dialogue.gd index afdb8320..7d9c8f49 100644 --- a/tools/configurator/components/popup_dialogue.gd +++ b/tools/configurator/components/popup_dialogue.gd @@ -24,14 +24,13 @@ func _input(event): get_tree().quit() 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) + class_functions.logger("d", "Exited dialogue") get_tree().quit() func _on_ok_button_pressed() -> void: - class_functions.log_parameters[2] = class_functions.log_text + "Command to run:- " + command + " " + str(parameters) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("d", "Command to run " + command + " " + str(parameters)) var result = class_functions.execute_command(command,parameters , false) - class_functions.log_parameters[2] = class_functions.log_text + "Exit code: " + str(result["exit_code"]) + class_functions.logger("d", "Exit code: " + str(result["exit_code"])) %content_rtl.text = result["output"] - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + #get_tree().quit() + diff --git a/tools/configurator/export_presets.cfg b/tools/configurator/export_presets.cfg index 8ed4d864..3e2f39ac 100644 --- a/tools/configurator/export_presets.cfg +++ b/tools/configurator/export_presets.cfg @@ -9,7 +9,7 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="" +export_path="../../../../Desktop/godot_configurator.x86_64" encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false @@ -356,3 +356,211 @@ open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}" ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\") rm -rf \"{temp_dir}\"" + +[preset.3] + +name="Android" +platform="Android" +runnable=true +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.3.options] + +custom_template/debug="" +custom_template/release="" +gradle_build/use_gradle_build=false +gradle_build/gradle_build_directory="" +gradle_build/android_source_template="" +gradle_build/compress_native_libraries=false +gradle_build/export_format=0 +gradle_build/min_sdk="" +gradle_build/target_sdk="" +architectures/armeabi-v7a=false +architectures/arm64-v8a=true +architectures/x86=false +architectures/x86_64=false +version/code=1 +version/name="" +package/unique_name="net.retrodeck.$genname" +package/name="Configurator" +package/signed=true +package/app_category=2 +package/retain_data_on_uninstall=false +package/exclude_from_recents=false +package/show_in_android_tv=false +package/show_in_app_library=true +package/show_as_launcher_app=false +launcher_icons/main_192x192="" +launcher_icons/adaptive_foreground_432x432="" +launcher_icons/adaptive_background_432x432="" +graphics/opengl_debug=false +xr_features/xr_mode=0 +screen/immersive_mode=true +screen/support_small=true +screen/support_normal=true +screen/support_large=true +screen/support_xlarge=true +user_data_backup/allow=false +command_line/extra_args="" +apk_expansion/enable=false +apk_expansion/SALT="" +apk_expansion/public_key="" +permissions/custom_permissions=PackedStringArray() +permissions/access_checkin_properties=false +permissions/access_coarse_location=false +permissions/access_fine_location=false +permissions/access_location_extra_commands=false +permissions/access_mock_location=false +permissions/access_network_state=false +permissions/access_surface_flinger=false +permissions/access_wifi_state=false +permissions/account_manager=false +permissions/add_voicemail=false +permissions/authenticate_accounts=false +permissions/battery_stats=false +permissions/bind_accessibility_service=false +permissions/bind_appwidget=false +permissions/bind_device_admin=false +permissions/bind_input_method=false +permissions/bind_nfc_service=false +permissions/bind_notification_listener_service=false +permissions/bind_print_service=false +permissions/bind_remoteviews=false +permissions/bind_text_service=false +permissions/bind_vpn_service=false +permissions/bind_wallpaper=false +permissions/bluetooth=false +permissions/bluetooth_admin=false +permissions/bluetooth_privileged=false +permissions/brick=false +permissions/broadcast_package_removed=false +permissions/broadcast_sms=false +permissions/broadcast_sticky=false +permissions/broadcast_wap_push=false +permissions/call_phone=false +permissions/call_privileged=false +permissions/camera=false +permissions/capture_audio_output=false +permissions/capture_secure_video_output=false +permissions/capture_video_output=false +permissions/change_component_enabled_state=false +permissions/change_configuration=false +permissions/change_network_state=false +permissions/change_wifi_multicast_state=false +permissions/change_wifi_state=false +permissions/clear_app_cache=false +permissions/clear_app_user_data=false +permissions/control_location_updates=false +permissions/delete_cache_files=false +permissions/delete_packages=false +permissions/device_power=false +permissions/diagnostic=false +permissions/disable_keyguard=false +permissions/dump=false +permissions/expand_status_bar=false +permissions/factory_test=false +permissions/flashlight=false +permissions/force_back=false +permissions/get_accounts=false +permissions/get_package_size=false +permissions/get_tasks=false +permissions/get_top_activity_info=false +permissions/global_search=false +permissions/hardware_test=false +permissions/inject_events=false +permissions/install_location_provider=false +permissions/install_packages=false +permissions/install_shortcut=false +permissions/internal_system_window=false +permissions/internet=false +permissions/kill_background_processes=false +permissions/location_hardware=false +permissions/manage_accounts=false +permissions/manage_app_tokens=false +permissions/manage_documents=false +permissions/manage_external_storage=false +permissions/master_clear=false +permissions/media_content_control=false +permissions/modify_audio_settings=false +permissions/modify_phone_state=false +permissions/mount_format_filesystems=false +permissions/mount_unmount_filesystems=false +permissions/nfc=false +permissions/persistent_activity=false +permissions/post_notifications=false +permissions/process_outgoing_calls=false +permissions/read_calendar=false +permissions/read_call_log=false +permissions/read_contacts=false +permissions/read_external_storage=false +permissions/read_frame_buffer=false +permissions/read_history_bookmarks=false +permissions/read_input_state=false +permissions/read_logs=false +permissions/read_phone_state=false +permissions/read_profile=false +permissions/read_sms=false +permissions/read_social_stream=false +permissions/read_sync_settings=false +permissions/read_sync_stats=false +permissions/read_user_dictionary=false +permissions/reboot=false +permissions/receive_boot_completed=false +permissions/receive_mms=false +permissions/receive_sms=false +permissions/receive_wap_push=false +permissions/record_audio=false +permissions/reorder_tasks=false +permissions/restart_packages=false +permissions/send_respond_via_message=false +permissions/send_sms=false +permissions/set_activity_watcher=false +permissions/set_alarm=false +permissions/set_always_finish=false +permissions/set_animation_scale=false +permissions/set_debug_app=false +permissions/set_orientation=false +permissions/set_pointer_speed=false +permissions/set_preferred_applications=false +permissions/set_process_limit=false +permissions/set_time=false +permissions/set_time_zone=false +permissions/set_wallpaper=false +permissions/set_wallpaper_hints=false +permissions/signal_persistent_processes=false +permissions/status_bar=false +permissions/subscribed_feeds_read=false +permissions/subscribed_feeds_write=false +permissions/system_alert_window=false +permissions/transmit_ir=false +permissions/uninstall_shortcut=false +permissions/update_device_stats=false +permissions/use_credentials=false +permissions/use_sip=false +permissions/vibrate=false +permissions/wake_lock=false +permissions/write_apn_settings=false +permissions/write_calendar=false +permissions/write_call_log=false +permissions/write_contacts=false +permissions/write_external_storage=false +permissions/write_gservices=false +permissions/write_history_bookmarks=false +permissions/write_profile=false +permissions/write_secure_settings=false +permissions/write_settings=false +permissions/write_sms=false +permissions/write_social_stream=false +permissions/write_sync_settings=false +permissions/write_user_dictionary=false diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 83e08c84..20a83656 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -273,12 +273,11 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 3 +current_tab = 0 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 script = ExtResource("4_2jqfc") metadata/_tab_index = 0 @@ -935,6 +934,7 @@ disabled = true text = "TK_MULTIFILE" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 82b4b71f..1949196e 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -10,7 +10,7 @@ config_version=5 [application] -config/name="RetroDECK Configurator" +config/name="RetroDECKConfigurator" config/version="0.053" run/main_scene="res://main.tscn" config/features=PackedStringArray("4.3", "GL Compatibility") @@ -28,6 +28,7 @@ data_handler="*res://scripts/data_handler.gd" window/size/viewport_width=1280 window/size/viewport_height=800 window/stretch/mode="canvas_items" +window/stretch/aspect="ignore" [filesystem] @@ -117,6 +118,8 @@ quit2={ [internationalization] locale/translation_remaps={} +locale/translations=PackedStringArray("res://translations/en_US.po") +locale/translations_pot_files=PackedStringArray("res://main.tscn", "res://scripts/TabContainer.gd") [rendering] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 4589760d..e9dbe6d5 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_rprbs"] +[sub_resource type="Image" id="Image_3f0rd"] 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_rprbs") +image = SubResource("Image_3f0rd") -[sub_resource type="Image" id="Image_cf6bc"] +[sub_resource type="Image" id="Image_kyr1d"] 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_cf6bc") +image = SubResource("Image_kyr1d") [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_1cy53"] +[sub_resource type="Image" id="Image_p4fmj"] 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_1cy53") +image = SubResource("Image_p4fmj") [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_b3ady"] +[sub_resource type="Image" id="Image_4lbps"] 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_b3ady") +image = SubResource("Image_4lbps") [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_7hmcg"] +[sub_resource type="Image" id="Image_b8j2s"] 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_7hmcg") +image = SubResource("Image_b8j2s") [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_cg8le"] +[sub_resource type="Image" id="Image_fg85n"] 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_cg8le") +image = SubResource("Image_fg85n") [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_tpkot"] +[sub_resource type="Image" id="Image_6ujc8"] 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_tpkot") +image = SubResource("Image_6ujc8") -[sub_resource type="Image" id="Image_8d7tv"] +[sub_resource type="Image" id="Image_an2bn"] 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_8d7tv") +image = SubResource("Image_an2bn") -[sub_resource type="Image" id="Image_bwfne"] +[sub_resource type="Image" id="Image_cvk7t"] 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_bwfne") +image = SubResource("Image_cvk7t") -[sub_resource type="Image" id="Image_r6mai"] +[sub_resource type="Image" id="Image_hbobg"] 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_r6mai") +image = SubResource("Image_hbobg") -[sub_resource type="Image" id="Image_ikos2"] +[sub_resource type="Image" id="Image_2uton"] 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_ikos2") +image = SubResource("Image_2uton") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_h6a0p"] +[sub_resource type="Image" id="Image_74cmk"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_h6a0p") +image = SubResource("Image_74cmk") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_8nh6x"] +[sub_resource type="Image" id="Image_fgheo"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_8nh6x") +image = SubResource("Image_fgheo") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_hk701"] +[sub_resource type="Image" id="Image_uueco"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_hk701") +image = SubResource("Image_uueco") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_ll126"] +[sub_resource type="Image" id="Image_aet7u"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_ll126") +image = SubResource("Image_aet7u") -[sub_resource type="Image" id="Image_jfrub"] +[sub_resource type="Image" id="Image_jhqhk"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_jfrub") +image = SubResource("Image_jhqhk") -[sub_resource type="Image" id="Image_d7wny"] +[sub_resource type="Image" id="Image_w4jbr"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_d7wny") +image = SubResource("Image_w4jbr") -[sub_resource type="Image" id="Image_jacs1"] +[sub_resource type="Image" id="Image_u505n"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_jacs1") +image = SubResource("Image_u505n") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_nk8py"] +[sub_resource type="Image" id="Image_jtv2p"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_nk8py") +image = SubResource("Image_jtv2p") -[sub_resource type="Image" id="Image_iduya"] +[sub_resource type="Image" id="Image_ehswk"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_iduya") +image = SubResource("Image_ehswk") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_a5v57"] +[sub_resource type="Image" id="Image_jtti3"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_a5v57") +image = SubResource("Image_jtti3") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 73ffec96..a13b89e4 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -1,6 +1,10 @@ class_name ClassFunctions extends Control + +# Test comment + +@onready var main_scene = get_tree().root.get_node("Control") var log_result: Dictionary var log_parameters: Array const globals_sh_file_path: String = "/app/libexec/global.sh" @@ -97,21 +101,70 @@ func multi_state(section: String, state: String) -> String: else: state = "mixed" return state - + func logger(log_type: String, log_text: String) -> void: - # Type of log messages: - # log d - debug message: maybe in the future we can decide to hide them in main builds or if an option is toggled - # log i - normal informational message - # log w - waring: something is not expected but it's not a big deal - # log e - error: something broke var log_header_text = "gdc_" log_header_text+=log_text log_parameters = ["log", log_type, log_header_text] log_result = await run_thread_command(wrapper_command,log_parameters, false) - #log_result = await run_thread_command("find",["$HOME", "-name", "*.xml","-print"], false) - #print (log_result["exit_code"]) - #print (log_result["output"]) - + +func logger_godot(log_type: String, log_text: String) -> void: + var log_dir_path: String = "/var/config/retrodeck/logs/" + var log_path: String = '/var/config/retrodeck/logs/gd_logs.log' + + var log_dir: DirAccess = DirAccess.open(log_dir_path) + var log_file: FileAccess + + var log_header: String = " GD " + + var datetime: Dictionary = Time.get_datetime_dict_from_system() + var unixtime: float = Time.get_unix_time_from_system() + var msec: int = (unixtime - floor(unixtime)) * 1000 # finally, real ms! Thanks, monkeyx + + var timestamp: String = "[%d-%02d-%02d %02d:%02d:%02d.%03d]" % [ + datetime.year, datetime.month, datetime.day, + datetime.hour, datetime.minute, datetime.second, msec] # real ms!! + + var log_line: String = timestamp + log_header + + match log_type: + 'w': + log_line += "[Warning] " + # print("Warning, mate") + 'e': + log_line += "[Error] " + # print("Error, mate") + 'i': + log_line += "[Info] " + # print("Info, mate") + 'd': + log_line += "[Debug] " + # print("Debug, mate") + _: + log_line += " " + print("No idea, mate") + log_line += log_text + # print(log_line) + + if not log_dir: + log_dir = DirAccess.open("res://") #open something valid to create an instance + print(log_dir.make_dir_recursive(log_dir_path)) + if log_dir.make_dir_recursive(log_dir_path) != OK: + print("Something wrong with log directory") + return + + if not FileAccess.open(log_path, FileAccess.READ): + log_file = FileAccess.open(log_path, FileAccess.WRITE_READ) # to create a file if not there + else: + log_file = FileAccess.open(log_path, FileAccess.READ_WRITE) # to not truncate + + if log_file: + log_file.seek_end() + log_file.store_line(log_line) + log_file.close() + else: + print("Something wrong with log file") + func array_to_string(arr: Array) -> String: var text: String for line in arr: @@ -130,9 +183,9 @@ func execute_command(command: String, parameters: Array, console: bool) -> Dicti result["exit_code"] = exit_code return result -func run_command_in_thread(command: String, paramaters: Array, _console: bool) -> Dictionary: +func run_command_in_thread(command: String, paramaters: Array, console: bool) -> Dictionary: var thread = Thread.new() - thread.start(execute_command.bind(command,paramaters,true)) + thread.start(execute_command.bind(command,paramaters,console)) while thread.is_alive(): await get_tree().process_frame return thread.wait_to_finish() @@ -290,6 +343,7 @@ func update_global(button: Button, preset: String, state: bool) -> void: quick_resume_status = state result.append_array(data_handler.change_cfg_value(config_file_path, "retroarch", preset, str(state))) change_global(result, button, str(quick_resume_status)) + #var resultT: Dictionary = await run_thread_command("/home/tim/bin/mult.sh", [], false) "update_notification_button": update_check = state result.append_array(data_handler.change_cfg_value(config_file_path, preset, "options", str(state))) @@ -313,13 +367,17 @@ func update_global(button: Button, preset: String, state: bool) -> void: if ask_to_exit_state != "mixed": ask_to_exit_state = str(state) result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))) - change_global(result, button, ask_to_exit_state) + await change_global(result, button, ask_to_exit_state) "border_button": if border_state != "mixed": border_state = str(state) result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))) - change_global(result, button, border_state) + await change_global(result, button, border_state) if widescreen_state == "true" or widescreen_state == "mixed": + var button_tmp = main_scene.get_node("%widescreen_button") + #Remove last array item or tries to append again + result.clear() + result.append("build_preset_config") config_section = data_handler.get_elements_in_section(config_file_path, "widescreen") widescreen_state = "false" result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, "widescreen", widescreen_state)) @@ -328,12 +386,16 @@ func update_global(button: Button, preset: String, state: bool) -> void: if widescreen_state != "mixed": widescreen_state = str(state) result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))) - change_global(result, button, widescreen_state) + await change_global(result, button, widescreen_state) if border_state == "true" or border_state == "mixed": + var button_tmp = main_scene.get_node("%border_button") + #Remove last array item or tries to append again + result.clear() + result.append("build_preset_config") config_section = data_handler.get_elements_in_section(config_file_path, "borders") border_state = "false" result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, "borders", border_state)) - change_global(result, button, border_state) + change_global(result, button_tmp, border_state) "quick_rewind_button": if quick_rewind_state != "mixed": quick_rewind_state = str(state) diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 8b21b1cc..45af85df 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -85,7 +85,7 @@ func load_base_data() -> AppData: else: class_functions.logger("d","Error parsing JSON ") else: - class_functions.logger("d","Error opening file: " + file) + class_functions.logger("d","Error opening file: %s" % file) get_tree().quit() return null diff --git a/tools/configurator/translations/en_US.mo b/tools/configurator/translations/en_US.mo new file mode 100644 index 0000000000000000000000000000000000000000..17b8a664b8faffa10a6f372f48b1580ff378ca91 GIT binary patch literal 377 zcmYk1&rZTX5XS4jON|%L9_9tM{^LMuJRnrkP|}7L!wr{qsHFVfaX_tWfAboYJDxFuQ<=-d=amp*hCirkqPqQ-Vr9}, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: RetroDECKConfigurator\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: en_US\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.4.2\n" + +#: main.tscn +msgid "GLOBALS" +msgstr "" + +#: main.tscn +msgid "ASK TO EXIT" +msgstr "Ask to EXit" + +#: main.tscn +msgid "BORDERS" +msgstr "" + +#: main.tscn +msgid "BUTTON SWAP\n" +msgstr "" + +#: main.tscn +msgid "MODS" +msgstr "" + +#: main.tscn +msgid "QUICK RESUME" +msgstr "" + +#: main.tscn +msgid "REWIND" +msgstr "" + +#: main.tscn +msgid "TATE MODE" +msgstr "" + +#: main.tscn +msgid "SHADERS" +msgstr "" + +#: main.tscn +msgid "WIDESCREEN" +msgstr "" + +#: main.tscn +msgid "SYSTEMS" +msgstr "" + +#: main.tscn +msgid "RETROARCH" +msgstr "" + +#: main.tscn +msgid "MAME" +msgstr "" + +#: main.tscn +msgid "RUFFLE" +msgstr "" + +#: main.tscn +msgid "MELONDS" +msgstr "" + +#: main.tscn +msgid "PCSX2" +msgstr "" + +#: main.tscn +msgid "DUCKSTATION" +msgstr "" + +#: main.tscn +msgid "PPSSPP" +msgstr "" + +#: main.tscn +msgid "VITA3K" +msgstr "" + +#: main.tscn +msgid "RPCS3" +msgstr "" + +#: main.tscn +msgid "RYUJINX" +msgstr "" + +#: main.tscn +msgid "DOLPHIN" +msgstr "" + +#: main.tscn +msgid "PRIMEHACK" +msgstr "" + +#: main.tscn +msgid "CEMU" +msgstr "" + +#: main.tscn +msgid "XEMU" +msgstr "" + +#: main.tscn +msgid "ES-DE" +msgstr "" + +#: main.tscn +msgid "HELP" +msgstr "" + +#: main.tscn +msgid "LAUNCH" +msgstr "" + +#: main.tscn +msgid "RESET" +msgstr "" + +#: main.tscn +msgid "INSTALL FIRMWARE" +msgstr "" + +#: main.tscn +msgid "TOOLS" +msgstr "" + +#: main.tscn +msgid "CHECK CONNECTION" +msgstr "" + +#: main.tscn +msgid "LOGS" +msgstr "" + +#: main.tscn +msgid "RetroDECK Log" +msgstr "" + +#: main.tscn +msgid "ES_DE Log" +msgstr "" + +#: main.tscn +msgid "Retroarch" +msgstr "" + +#: main.tscn +msgid "BIOS STANDARD" +msgstr "" + +#: main.tscn +msgid "BIOS EXPERT" +msgstr "" + +#: main.tscn +msgid "BACKUP USER DATA" +msgstr "" + +#: main.tscn +msgid "TK_CONTROLS" +msgstr "" + +#: main.tscn +msgid "TK_STEAMCONTEMP" +msgstr "" + +#: main.tscn +msgid "TK_INSTALL" +msgstr "" + +#: main.tscn +msgid "TK_FILETOOLS" +msgstr "" + +#: main.tscn +msgid "TK_USBTOOL" +msgstr "" + +#: main.tscn +msgid "TK_COMPRESSGAMES" +msgstr "" + +#: main.tscn +msgid "TK_MOVEFILES" +msgstr "" + +#: main.tscn +msgid "TK_GENTOOLS" +msgstr "" + +#: main.tscn +msgid "TK_GRIDINSTALL" +msgstr "" + +#: main.tscn +msgid "TK_FAVSTEAM" +msgstr "" + +#: main.tscn +msgid "TK_SCAN" +msgstr "" + +#: main.tscn +msgid "TK_SCUMMVMSCAN" +msgstr "" + +#: main.tscn +msgid "TK_MULTIFILE" +msgstr "" + +#: main.tscn +msgid "SETTINGS" +msgstr "" + +#: main.tscn +msgid "SYSTEM SETTINGS" +msgstr "" + +#: main.tscn +msgid "SOUND EFFECTS" +msgstr "" + +#: main.tscn +msgid "AUTO UPDATES" +msgstr "" + +#: main.tscn +msgid "CHOOSE FONT" +msgstr "" + +#: main.tscn +msgid "Default" +msgstr "" + +#: main.tscn +msgid "Modern" +msgstr "" + +#: main.tscn +msgid "OpenDyslexic3" +msgstr "" + +#: main.tscn +msgid "DEFAULT LANGUAGE" +msgstr "" + +#: main.tscn +msgid "RESET RETRODECK" +msgstr "" + +#: main.tscn +msgid "RESET ALL EMULATORS" +msgstr "" + +#: main.tscn +msgid "ACHIEVEMENTS" +msgstr "" + +#: main.tscn +msgid "RETRO ACHIEVEMENTS" +msgstr "" + +#: main.tscn +msgid "RETRO ACHIEVMENTS USERNAME" +msgstr "" + +#: main.tscn +msgid "username" +msgstr "" + +#: main.tscn +msgid "RETRO ACHIEVMENTS PASSWORD" +msgstr "" + +#: main.tscn +msgid "password" +msgstr "" + +#: main.tscn +msgid "LOGIN" +msgstr "" + +#: main.tscn +msgid "RETRO ACHIEVEMENTS HARDCORE" +msgstr "" + +#: main.tscn +msgid "NETPLAY" +msgstr "" + +#: main.tscn +msgid "TK_NETPLAY" +msgstr "" + +#: main.tscn +msgid "TK_NETPLAYID" +msgstr "" + +#: main.tscn +msgid "RetroDECK" +msgstr "" + +#: main.tscn +msgid "TK_NETPLAYADDRESS" +msgstr "" + +#: main.tscn +msgid "127.0.0.1" +msgstr "" + +#: main.tscn +msgid "TK_NETPLAYCONNECT" +msgstr "" + +#: main.tscn +msgid "FUTURE FEATURES" +msgstr "" + +#: main.tscn +msgid "TK_MULTIUSR" +msgstr "" + +#: main.tscn +msgid "TK_CUSTOMUSR" +msgstr "" + +#: main.tscn +msgid "TK_OFF" +msgstr "" + +#: main.tscn +msgid "TK_STEAMUSR" +msgstr "" + +#: main.tscn +msgid "TK_SAVESSYNC" +msgstr "" + +#: main.tscn +msgid "TK_FTPBTN" +msgstr "" + +#: main.tscn +msgid "TK_MUSIC" +msgstr "" + +#: main.tscn +msgid "TK_EASTEREGGS" +msgstr "" + +#: main.tscn +msgid "ABOUT" +msgstr "" + +#: main.tscn +msgid "ABOUT RETRODECK" +msgstr "" + +#: main.tscn +msgid "WIP" +msgstr "" + +#: main.tscn +msgid "DECORATIONS - Borders, Widescreen" +msgstr "" + +#: main.tscn +msgid "TK_WSCREEN" +msgstr "" + +#: main.tscn +msgid "TK_SHADERS" +msgstr "" + +#: main.tscn +msgid "TK_MODS" +msgstr "" + +#: main.tscn +msgid "TK_TATE" +msgstr "" + +#: main.tscn +msgid "TK_BORDERS" +msgstr "" + +#: main.tscn +msgid "TK_HOTKEYSOUND" +msgstr "" + +#: main.tscn +msgid "TK_BTNLAYOUT" +msgstr "" + +#: main.tscn +msgid "TK_QRESUME" +msgstr "" + +#: main.tscn +msgid "TK_REWIND" +msgstr "" + +#: main.tscn +msgid "TK_CONFIRMEXIT" +msgstr "" + +#: main.tscn +msgid "TK_CHEATS" +msgstr "" + +#: main.tscn +msgid "SAVE OR SELECT ALL?" +msgstr "" + +#: main.tscn +msgid "SYSTEMS - Emulators, Console, Computers" +msgstr "" + +#: main.tscn +msgid "RetroARCH" +msgstr "" + +#: main.tscn +msgid "RetroArch" +msgstr "" + +#: main.tscn +msgid "Dolphin" +msgstr "" + +#: main.tscn +msgid "CITRA" +msgstr "" + +#: main.tscn +msgid "PSPSSPP" +msgstr "" + +#: main.tscn +msgid "Duckstation" +msgstr "" + +#: main.tscn +msgid "DuckStation" +msgstr "" + +#: main.tscn +msgid "Melon DS" +msgstr "" + +#: main.tscn +msgid "MelonDS" +msgstr "" + +#: main.tscn +msgid "CONFIRM" +msgstr "" + +#: main.tscn +msgid "BACK" +msgstr "" + +#: main.tscn +msgid "INFO" +msgstr "" + +#: main.tscn +msgid "REKKU" +msgstr "" + +#: main.tscn +msgid "QUIT" +msgstr "" + +#: scripts/TabContainer.gd +msgid " GLOBALS " +msgstr " Globals " + +#: scripts/TabContainer.gd +msgid " SYSTEMS " +msgstr "" + +#: scripts/TabContainer.gd +msgid " TOOLS " +msgstr "" + +#: scripts/TabContainer.gd +msgid " SETTINGS " +msgstr "" + +#: scripts/TabContainer.gd +msgid " ABOUT " +msgstr "" + +#: scripts/TabContainer.gd +msgid "Hey, there's no description" +msgstr "" diff --git a/tools/configurator/translations/translation_template.pot b/tools/configurator/translations/translation_template.pot new file mode 100644 index 00000000..2c48b26f --- /dev/null +++ b/tools/configurator/translations/translation_template.pot @@ -0,0 +1,509 @@ +# LANGUAGE translation for RetroDECKConfigurator for the following files: +# res://main.tscn +# res://scripts/TabContainer.gd +# +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: RetroDECKConfigurator\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: main.tscn +msgid "GLOBALS" +msgstr "" + +#: main.tscn +msgid "ASK TO EXIT" +msgstr "" + +#: main.tscn +msgid "BORDERS" +msgstr "" + +#: main.tscn +msgid "BUTTON SWAP\n" +msgstr "" + +#: main.tscn +msgid "MODS" +msgstr "" + +#: main.tscn +msgid "QUICK RESUME" +msgstr "" + +#: main.tscn +msgid "REWIND" +msgstr "" + +#: main.tscn +msgid "TATE MODE" +msgstr "" + +#: main.tscn +msgid "SHADERS" +msgstr "" + +#: main.tscn +msgid "WIDESCREEN" +msgstr "" + +#: main.tscn +msgid "SYSTEMS" +msgstr "" + +#: main.tscn +msgid "RETROARCH" +msgstr "" + +#: main.tscn +msgid "MAME" +msgstr "" + +#: main.tscn +msgid "RUFFLE" +msgstr "" + +#: main.tscn +msgid "MELONDS" +msgstr "" + +#: main.tscn +msgid "PCSX2" +msgstr "" + +#: main.tscn +msgid "DUCKSTATION" +msgstr "" + +#: main.tscn +msgid "PPSSPP" +msgstr "" + +#: main.tscn +msgid "VITA3K" +msgstr "" + +#: main.tscn +msgid "RPCS3" +msgstr "" + +#: main.tscn +msgid "RYUJINX" +msgstr "" + +#: main.tscn +msgid "DOLPHIN" +msgstr "" + +#: main.tscn +msgid "PRIMEHACK" +msgstr "" + +#: main.tscn +msgid "CEMU" +msgstr "" + +#: main.tscn +msgid "XEMU" +msgstr "" + +#: main.tscn +msgid "ES-DE" +msgstr "" + +#: main.tscn +msgid "HELP" +msgstr "" + +#: main.tscn +msgid "LAUNCH" +msgstr "" + +#: main.tscn +msgid "RESET" +msgstr "" + +#: main.tscn +msgid "INSTALL FIRMWARE" +msgstr "" + +#: main.tscn +msgid "TOOLS" +msgstr "" + +#: main.tscn +msgid "CHECK CONNECTION" +msgstr "" + +#: main.tscn +msgid "LOGS" +msgstr "" + +#: main.tscn +msgid "RetroDECK Log" +msgstr "" + +#: main.tscn +msgid "ES_DE Log" +msgstr "" + +#: main.tscn +msgid "Retroarch" +msgstr "" + +#: main.tscn +msgid "BIOS STANDARD" +msgstr "" + +#: main.tscn +msgid "BIOS EXPERT" +msgstr "" + +#: main.tscn +msgid "BACKUP USER DATA" +msgstr "" + +#: main.tscn +msgid "TK_CONTROLS" +msgstr "" + +#: main.tscn +msgid "TK_STEAMCONTEMP" +msgstr "" + +#: main.tscn +msgid "TK_INSTALL" +msgstr "" + +#: main.tscn +msgid "TK_FILETOOLS" +msgstr "" + +#: main.tscn +msgid "TK_USBTOOL" +msgstr "" + +#: main.tscn +msgid "TK_COMPRESSGAMES" +msgstr "" + +#: main.tscn +msgid "TK_MOVEFILES" +msgstr "" + +#: main.tscn +msgid "TK_GENTOOLS" +msgstr "" + +#: main.tscn +msgid "TK_GRIDINSTALL" +msgstr "" + +#: main.tscn +msgid "TK_FAVSTEAM" +msgstr "" + +#: main.tscn +msgid "TK_SCAN" +msgstr "" + +#: main.tscn +msgid "TK_SCUMMVMSCAN" +msgstr "" + +#: main.tscn +msgid "TK_MULTIFILE" +msgstr "" + +#: main.tscn +msgid "SETTINGS" +msgstr "" + +#: main.tscn +msgid "SYSTEM SETTINGS" +msgstr "" + +#: main.tscn +msgid "SOUND EFFECTS" +msgstr "" + +#: main.tscn +msgid "AUTO UPDATES" +msgstr "" + +#: main.tscn +msgid "CHOOSE FONT" +msgstr "" + +#: main.tscn +msgid "Default" +msgstr "" + +#: main.tscn +msgid "Modern" +msgstr "" + +#: main.tscn +msgid "OpenDyslexic3" +msgstr "" + +#: main.tscn +msgid "DEFAULT LANGUAGE" +msgstr "" + +#: main.tscn +msgid "RESET RETRODECK" +msgstr "" + +#: main.tscn +msgid "RESET ALL EMULATORS" +msgstr "" + +#: main.tscn +msgid "ACHIEVEMENTS" +msgstr "" + +#: main.tscn +msgid "RETRO ACHIEVEMENTS" +msgstr "" + +#: main.tscn +msgid "RETRO ACHIEVMENTS USERNAME" +msgstr "" + +#: main.tscn +msgid "username" +msgstr "" + +#: main.tscn +msgid "RETRO ACHIEVMENTS PASSWORD" +msgstr "" + +#: main.tscn +msgid "password" +msgstr "" + +#: main.tscn +msgid "LOGIN" +msgstr "" + +#: main.tscn +msgid "RETRO ACHIEVEMENTS HARDCORE" +msgstr "" + +#: main.tscn +msgid "NETPLAY" +msgstr "" + +#: main.tscn +msgid "TK_NETPLAY" +msgstr "" + +#: main.tscn +msgid "TK_NETPLAYID" +msgstr "" + +#: main.tscn +msgid "RetroDECK" +msgstr "" + +#: main.tscn +msgid "TK_NETPLAYADDRESS" +msgstr "" + +#: main.tscn +msgid "127.0.0.1" +msgstr "" + +#: main.tscn +msgid "TK_NETPLAYCONNECT" +msgstr "" + +#: main.tscn +msgid "FUTURE FEATURES" +msgstr "" + +#: main.tscn +msgid "TK_MULTIUSR" +msgstr "" + +#: main.tscn +msgid "TK_CUSTOMUSR" +msgstr "" + +#: main.tscn +msgid "TK_OFF" +msgstr "" + +#: main.tscn +msgid "TK_STEAMUSR" +msgstr "" + +#: main.tscn +msgid "TK_SAVESSYNC" +msgstr "" + +#: main.tscn +msgid "TK_FTPBTN" +msgstr "" + +#: main.tscn +msgid "TK_MUSIC" +msgstr "" + +#: main.tscn +msgid "TK_EASTEREGGS" +msgstr "" + +#: main.tscn +msgid "ABOUT" +msgstr "" + +#: main.tscn +msgid "ABOUT RETRODECK" +msgstr "" + +#: main.tscn +msgid "WIP" +msgstr "" + +#: main.tscn +msgid "DECORATIONS - Borders, Widescreen" +msgstr "" + +#: main.tscn +msgid "TK_WSCREEN" +msgstr "" + +#: main.tscn +msgid "TK_SHADERS" +msgstr "" + +#: main.tscn +msgid "TK_MODS" +msgstr "" + +#: main.tscn +msgid "TK_TATE" +msgstr "" + +#: main.tscn +msgid "TK_BORDERS" +msgstr "" + +#: main.tscn +msgid "TK_HOTKEYSOUND" +msgstr "" + +#: main.tscn +msgid "TK_BTNLAYOUT" +msgstr "" + +#: main.tscn +msgid "TK_QRESUME" +msgstr "" + +#: main.tscn +msgid "TK_REWIND" +msgstr "" + +#: main.tscn +msgid "TK_CONFIRMEXIT" +msgstr "" + +#: main.tscn +msgid "TK_CHEATS" +msgstr "" + +#: main.tscn +msgid "SAVE OR SELECT ALL?" +msgstr "" + +#: main.tscn +msgid "SYSTEMS - Emulators, Console, Computers" +msgstr "" + +#: main.tscn +msgid "RetroARCH" +msgstr "" + +#: main.tscn +msgid "RetroArch" +msgstr "" + +#: main.tscn +msgid "Dolphin" +msgstr "" + +#: main.tscn +msgid "CITRA" +msgstr "" + +#: main.tscn +msgid "PSPSSPP" +msgstr "" + +#: main.tscn +msgid "Duckstation" +msgstr "" + +#: main.tscn +msgid "DuckStation" +msgstr "" + +#: main.tscn +msgid "Melon DS" +msgstr "" + +#: main.tscn +msgid "MelonDS" +msgstr "" + +#: main.tscn +msgid "CONFIRM" +msgstr "" + +#: main.tscn +msgid "BACK" +msgstr "" + +#: main.tscn +msgid "INFO" +msgstr "" + +#: main.tscn +msgid "REKKU" +msgstr "" + +#: main.tscn +msgid "QUIT" +msgstr "" + +#: scripts/TabContainer.gd +msgid " GLOBALS " +msgstr "" + +#: scripts/TabContainer.gd +msgid " SYSTEMS " +msgstr "" + +#: scripts/TabContainer.gd +msgid " TOOLS " +msgstr "" + +#: scripts/TabContainer.gd +msgid " SETTINGS " +msgstr "" + +#: scripts/TabContainer.gd +msgid " ABOUT " +msgstr "" + +#: scripts/TabContainer.gd +msgid "Hey, there's no description" +msgstr ""